Última actividad 1 month ago

nuno revisó este gist 1 month ago. Ir a la revisión

1 file changed, 26 insertions

gistfile1.txt(archivo creado)

@@ -0,0 +1,26 @@
1 + def follow_logs(fw_file, wg_file, filter_ip, filter_type, clients_dir, filter_peers=""):
2 + """Follow both log files and output formatted events"""
3 + import glob, time, select
4 +
5 + proto_map = {1: 'icmp', 6: 'tcp', 17: 'udp'}
6 + peer_filter = set(filter_peers.split(',')) if filter_peers else set()
7 + function cmd::group::watch() {
8 + local name=""
9 +
10 + while [[ $# -gt 0 ]]; do
11 + case "$1" in
12 + --name) util::require_flag "--name" "${2:-}" || return 1; name="$2"; shift 2 ;;
13 + --help) cmd::group::help; return ;;
14 + *) log::error "Unknown flag: $1"; return 1 ;;
15 + esac
16 + done
17 +
18 + [[ -z "$name" ]] && log::error "Missing required flag: --name" && return 1
19 + group::require_exists "$name" || return 1
20 +
21 + local peers_list=()
22 + mapfile -t peers_list < <(group::peers "$name")
23 + [[ -z "${peers_list[0]}" ]] && log::wg_warning "Group '${name}' has no peers" && return 0
24 +
25 + local peer_filter
26 + peer_filter=$(IFS=','; echo "${peers_list[*]}")
Siguiente Anterior