Все Новый

user:thomas фрагментов создано пользователем

title:mygist фрагментов с указанным заголовком

description:sync gists with given description

filename:myfile.txt фрагменты содержащие файлы с указанным именем

extension:yml фрагменты, содержащие файлы с указанным расширением

language:go фрагменты, содержащие файлы с указанным языком

topic:homelab фрагменты с заданной темой

all:systemctl search all fields

Регистрация

Войти

Все Новый Регистрация Войти

Все фрагменты

Свежие сверху по дате создания
Свежие снизу по дате создания
Свежие сверху по дате обновления
Свежие снизу по дате обновления

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 def config_load(file):
2 """
3 Load wgctl.json and output KEY=value pairs for all config fields.
4 Automatically handles nested sections — add fields to JSON, they appear here.
5 """
6 import os
7 if not os.path.exists(file):
8 return
9 try:
10 with open(file) as f:

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 def accept_aggregate(file, net_file, clients_dir, since='',
2 filter_peer='', external_only='0'):
3 """
4 Aggregate accept events per peer — total bytes, packets, top destinations.
5 Used by wgctl activity to show accepted traffic alongside drops.
6
7 external_only='1': only show traffic to external IPs (non-private)
8 external_only='0': only show traffic to internal IPs (default)
9
10 Output:

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function ui::activity::service_row() {
2 local dest_display="${1:-}" drop_count="${2:-0}" drop_word="${3:-drops}" \
3 drops_col="${4:-30}" w_drops="${5:-1}"
4
5 # Align drop count with peer drop column
6 # Service row visible prefix: " → " (6 visible) + ${#dest_display}
7 # But "→" is 3 bytes, 1 visible — arrow_prefix bytes = 8, visible = 6
8 local arrow_prefix=" → "
9 local prefix_bytes=${#arrow_prefix} # 8 bytes due to → being 3 bytes
10 local prefix_len=$(( prefix_bytes + ${#dest_display} ))

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1
2 function cmd::activity::run() {
3 local filter_peer="" filter_service="" filter_ip="" filter_type=""
4 local hours=24 dropped_only=false
5 local accept_only=false drop_only=false external_only=false
6
7 while [[ $# -gt 0 ]]; do
8 case "$1" in
9 --peer) filter_peer="$2"; shift 2 ;;
10 --service) filter_service="$2"; shift 2 ;;

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function ui::activity::peer_row() {
2 local name_pad="${1:-}" rx_pad="${2:-}" tx_pad="${3:-}" \
3 drops="${4:-0}" drop_word="${5:-drops}" w_drops="${6:-1}"
4
5 printf " \033[1m%s\033[0m \033[2m↓\033[0m%s \033[2m↑\033[0m%s %${w_drops}s %s\n" \
6 "$name_pad" "$rx_pad" "$tx_pad" "$drops" "$drop_word"
7 }
8
9 function ui::activity::peer_row_table() {
10 local name="${1:-}" rx_fmt="${2:-}" tx_fmt="${3:-}" \

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function cmd::activity::run() {
2 local filter_peer="" filter_service="" filter_ip="" filter_type=""
3 local hours=24 dropped_only=false
4 local accept_only=false drop_only=false external_only=false
5
6 while [[ $# -gt 0 ]]; do
7 case "$1" in
8 --peer) filter_peer="$2"; shift 2 ;;
9 --service) filter_service="$2"; shift 2 ;;
10 --ip) filter_ip="$2"; shift 2 ;;

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 root@wireguard:/etc/wireguard/wgctl# wgctl activity
2
3 ────────────────────────────────────────────────
4 Activity Monitor (last 24h)
5 ────────────────────────────────────────────────
6
7 desktop-roboclean ↓14MB ↑509MB 0 drops
8
9 laptop-nuno ↓270MB ↑217MB 0 drops
10 laptop-nuno ↓ 585KB ↑ 187KB 810 conns

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 #!/usr/bin/env bash
2 # activity.command.sh — WireGuard activity snapshot
3
4 # ============================================
5 # Lifecycle
6 # ============================================
7
8 function cmd::activity::on_load() {
9 load_module net

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 log::error "Service not found: ${filter_service}"
2 return 1
3 fi
4 fi
5 [[ -n "$filter_ip" ]] && service_ip="$filter_ip"
6
7 # Fetch aggregated data
8 local data
9 data=$(json::activity_aggregate \
10 "$(ctx::fw_events_log)" \

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 98: data=$(json::activity_aggregate \
2 99: "$(ctx::fw_events_log)" \
3 100: "$(ctx::events_log)" \
4 102: "$(ctx::net)" \
5 103: "$(ctx::clients)" \
6 104: "$(ctx::meta)" \
7 234: data=$(json::activity_aggregate \
8 235: "$(ctx::fw_events_log)" "$(ctx::events_log)" \
9 236: "$(config::interface)" "$(ctx::net)" \
10 237: "$(ctx::clients)" "$(ctx::meta)" \
Новее Позже

Работает на Opengist ⋅ Load: 110ms⋅

Русский
Čeština Deutsch English Español Français Magyar Italiano 日本語 Polski Português Русский Türkçe Українська 中文 繁體中文
⋅ KrilHub