Zuletzt aktiv 1 month ago

gistfile1.txt Originalformat
1function cmd::group::_logs_impl() {
2 local name="$1" limit="$2" since="$3" fw="$4" wg="$5"
3 local peers_list=()
4 mapfile -t peers_list < <(group::peers "$name")
5 [[ -z "${peers_list[0]:-}" ]] && \
6 log::wg_warning "Group '${name}' has no peers" && return 0
7
8 load_command logs
9
10 log::section "Logs: group ${name}"; echo ""
11 for peer in "${peers_list[@]}"; do
12 [[ -z "$peer" ]] && continue
13 local filter_ip; filter_ip=$(peers::get_ip "$peer")
14 local fw_out="" wg_out=""
15 [[ "$wg" != "true" ]] && fw_out=$(cmd::logs::show_fw_events \
16 "$filter_ip" "$peer" "" "$limit" "$(ctx::net)" \
17 "1" "$since" "" "" "desc" "false" 2>/dev/null)
18 [[ "$fw" != "true" ]] && wg_out=$(cmd::logs::show_wg_events \
19 "$filter_ip" "$peer" "" "$limit" \
20 "1" "$since" "" "desc" "false" 2>/dev/null)
21 [[ -z "$fw_out" && -z "$wg_out" ]] && continue
22 printf " \033[1m%s\033[0m\n" "$peer"
23 [[ -n "$fw_out" ]] && printf "%s\n" "$fw_out"
24 [[ -n "$wg_out" ]] && printf "%s\n" "$wg_out"
25 echo ""
26 done
27}