最後活躍 1 month ago

gistfile1.txt 原始檔案
1local filter_peer="" filter_service="" filter_ip="" filter_type=""
2 local hours=24
3 local accept_only=false drop_only=false external_only=false
4
5 while [[ $# -gt 0 ]]; do
6 case "$1" in
7 --peer) filter_peer="$2"; shift 2 ;;
8 --service) filter_service="$2"; shift 2 ;;
9 --ip) filter_ip="$2"; shift 2 ;;
10 --type) filter_type="$2"; shift 2 ;;
11 --hours) hours="$2"; shift 2 ;;
12 --accept) accept_only=true; shift ;;
13 --drop) drop_only=true; shift ;;
14 --external) external_only=true; shift ;;
15 --help) cmd::activity::help; return ;;
16 *)
17 log::error "Unknown flag: $1"
18 cmd::activity::help
19 return 1
20 ;;
21 esac
22 done
23
24 if command::json; then
25 cmd::activity::_output_json "$hours"
26 return 0
27 fi
28
29 if [[ -n "$filter_peer" && -n "$filter_type" ]]; then
30 filter_peer=$(peers::resolve_and_require "$filter_peer" "$filter_type") || return 1
31 fi
32
33 local service_ip=""
34 if [[ -n "$filter_service" ]]; then
35 service_ip=$(net::resolve "$filter_service" 2>/dev/null | head -1 | cut -d: -f1) || true
36 [[ -z "$service_ip" ]] && log::error "Service not found: ${filter_service}" && return 1
37 fi
38 [[ -n "$filter_ip" ]] && service_ip="$filter_ip"
39
40 # ── Fetch data ──
41 local data=""
42