Остання активність 1 month ago

gistfile1.txt Неформатований
1/etc/wireguard/wgctl/commands/list.command.sh \
2 /etc/wireguard/wgctl/commands/block.command.sh \
3 /etc/wireguard/wgctl/commands/unblock.command.sh \
4 /etc/wireguard/wgctl/commands/inspect.command.sh 2>/dev/null
5/etc/wireguard/wgctl/commands/list.command.sh:function cmd::list::help() {
6/etc/wireguard/wgctl/commands/list.command.sh- cat <<EOF
7/etc/wireguard/wgctl/commands/list.command.sh-Usage: wgctl list [options]
8/etc/wireguard/wgctl/commands/list.command.sh-
9/etc/wireguard/wgctl/commands/list.command.sh-List all WireGuard clients.
10/etc/wireguard/wgctl/commands/list.command.sh-
11/etc/wireguard/wgctl/commands/list.command.sh-Options:
12/etc/wireguard/wgctl/commands/list.command.sh- --type <type> Filter by device type
13/etc/wireguard/wgctl/commands/list.command.sh- --online Show only connected clients
14/etc/wireguard/wgctl/commands/list.command.sh- --offline Show only disconnected clients
15/etc/wireguard/wgctl/commands/list.command.sh- --allowed Show only fully allowed clients
16/etc/wireguard/wgctl/commands/list.command.sh- --restricted Show only restricted clients
17/etc/wireguard/wgctl/commands/list.command.sh- --blocked Show only blocked clients
18/etc/wireguard/wgctl/commands/list.command.sh- --detailed Show full detail cards for all clients
19/etc/wireguard/wgctl/commands/list.command.sh- --name <name> Show detail card for a single client
20/etc/wireguard/wgctl/commands/list.command.sh-
21/etc/wireguard/wgctl/commands/list.command.sh-Examples:
22/etc/wireguard/wgctl/commands/list.command.sh- wgctl list
23/etc/wireguard/wgctl/commands/list.command.sh- wgctl list --type phone
24/etc/wireguard/wgctl/commands/list.command.sh- wgctl list --online
25/etc/wireguard/wgctl/commands/list.command.sh- wgctl list --blocked
26/etc/wireguard/wgctl/commands/list.command.sh- wgctl list --detailed
27/etc/wireguard/wgctl/commands/list.command.sh- wgctl list --name phone-nuno
28/etc/wireguard/wgctl/commands/list.command.sh-EOF
29/etc/wireguard/wgctl/commands/list.command.sh-}
30/etc/wireguard/wgctl/commands/list.command.sh-
31/etc/wireguard/wgctl/commands/list.command.sh-# ============================================
32/etc/wireguard/wgctl/commands/list.command.sh-# Status / Display helpers
33/etc/wireguard/wgctl/commands/list.command.sh-# ============================================
34/etc/wireguard/wgctl/commands/list.command.sh-
35/etc/wireguard/wgctl/commands/list.command.sh-function cmd::list::_is_connected() {
36--
37/etc/wireguard/wgctl/commands/block.command.sh:function cmd::block::help() {
38/etc/wireguard/wgctl/commands/block.command.sh- cat <<EOF
39/etc/wireguard/wgctl/commands/block.command.sh-Usage: wgctl block --name <name> [options]
40/etc/wireguard/wgctl/commands/block.command.sh-
41/etc/wireguard/wgctl/commands/block.command.sh-Block a client entirely or restrict access to specific IPs/ports/subnets.
42/etc/wireguard/wgctl/commands/block.command.sh-Block rules are persisted and restored on WireGuard restart.
43/etc/wireguard/wgctl/commands/block.command.sh-
44/etc/wireguard/wgctl/commands/block.command.sh-Options:
45/etc/wireguard/wgctl/commands/block.command.sh- --name <name> Client name (e.g. phone-nuno)
46/etc/wireguard/wgctl/commands/block.command.sh- --ip <ip> Block access to specific IP (repeatable)
47/etc/wireguard/wgctl/commands/block.command.sh- --subnet <cidr> Block access to subnet (repeatable)
48/etc/wireguard/wgctl/commands/block.command.sh- --port <ip:port:proto> Block specific port, e.g. 10.0.0.210:9000:tcp (repeatable)
49/etc/wireguard/wgctl/commands/block.command.sh-
50/etc/wireguard/wgctl/commands/block.command.sh-Examples:
51/etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno
52/etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --ip 10.0.0.210
53/etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --subnet 10.0.0.0/24
54/etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --port 10.0.0.210:9000:tcp
55/etc/wireguard/wgctl/commands/block.command.sh- wgctl ban --name phone-nuno --ip 10.0.0.100 --ip 10.0.0.200
56/etc/wireguard/wgctl/commands/block.command.sh-EOF
57/etc/wireguard/wgctl/commands/block.command.sh-}
58/etc/wireguard/wgctl/commands/block.command.sh-
59/etc/wireguard/wgctl/commands/block.command.sh-# ============================================
60/etc/wireguard/wgctl/commands/block.command.sh-# Block Run
61/etc/wireguard/wgctl/commands/block.command.sh-# ============================================
62/etc/wireguard/wgctl/commands/block.command.sh-
63/etc/wireguard/wgctl/commands/block.command.sh-function cmd::block::run() {
64/etc/wireguard/wgctl/commands/block.command.sh- local name=""
65/etc/wireguard/wgctl/commands/block.command.sh- local type=""
66/etc/wireguard/wgctl/commands/block.command.sh- local ips=()
67/etc/wireguard/wgctl/commands/block.command.sh- local subnets=()
68--
69/etc/wireguard/wgctl/commands/unblock.command.sh:function cmd::unblock::help() {
70/etc/wireguard/wgctl/commands/unblock.command.sh- cat <<EOF
71/etc/wireguard/wgctl/commands/unblock.command.sh-Usage: wgctl unblock --name <name> [options]
72/etc/wireguard/wgctl/commands/unblock.command.sh-
73/etc/wireguard/wgctl/commands/unblock.command.sh-Remove block rules for a client.
74/etc/wireguard/wgctl/commands/unblock.command.sh-
75/etc/wireguard/wgctl/commands/unblock.command.sh-Options:
76/etc/wireguard/wgctl/commands/unblock.command.sh- --name <name> Client name (e.g. phone-nuno)
77/etc/wireguard/wgctl/commands/unblock.command.sh- --ip <ip> Unblock specific IP (repeatable)
78/etc/wireguard/wgctl/commands/unblock.command.sh- --subnet <cidr> Unblock specific subnet (repeatable)
79/etc/wireguard/wgctl/commands/unblock.command.sh- --port <ip:port:proto> Unblock specific port (repeatable)
80/etc/wireguard/wgctl/commands/unblock.command.sh- --all Remove all block rules for this client
81/etc/wireguard/wgctl/commands/unblock.command.sh-
82/etc/wireguard/wgctl/commands/unblock.command.sh-Examples:
83/etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unblock --name phone-nuno --all
84/etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unblock --name phone-nuno --ip 10.0.0.210
85/etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unban --name phone-nuno --all
86/etc/wireguard/wgctl/commands/unblock.command.sh-EOF
87/etc/wireguard/wgctl/commands/unblock.command.sh-}
88/etc/wireguard/wgctl/commands/unblock.command.sh-
89/etc/wireguard/wgctl/commands/unblock.command.sh-# ============================================
90/etc/wireguard/wgctl/commands/unblock.command.sh-# Unblock Run
91/etc/wireguard/wgctl/commands/unblock.command.sh-# ============================================
92/etc/wireguard/wgctl/commands/unblock.command.sh-
93/etc/wireguard/wgctl/commands/unblock.command.sh-function cmd::unblock::run() {
94/etc/wireguard/wgctl/commands/unblock.command.sh- local name=""
95/etc/wireguard/wgctl/commands/unblock.command.sh- local type=""
96/etc/wireguard/wgctl/commands/unblock.command.sh- local ips=()
97/etc/wireguard/wgctl/commands/unblock.command.sh- local subnets=()
98/etc/wireguard/wgctl/commands/unblock.command.sh- local ports=()
99/etc/wireguard/wgctl/commands/unblock.command.sh- local all=false
100--
101/etc/wireguard/wgctl/commands/inspect.command.sh:function cmd::inspect::help() {
102/etc/wireguard/wgctl/commands/inspect.command.sh- cat <<EOF
103/etc/wireguard/wgctl/commands/inspect.command.sh-Usage: wgctl inspect --name <name> [--type <type>]
104/etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect <full-name>
105/etc/wireguard/wgctl/commands/inspect.command.sh-
106/etc/wireguard/wgctl/commands/inspect.command.sh-Show detailed information for a single client.
107/etc/wireguard/wgctl/commands/inspect.command.sh-
108/etc/wireguard/wgctl/commands/inspect.command.sh-Options:
109/etc/wireguard/wgctl/commands/inspect.command.sh- --name <name> Client name
110/etc/wireguard/wgctl/commands/inspect.command.sh- --type <type> Device type (optional, combines with --name)
111/etc/wireguard/wgctl/commands/inspect.command.sh- --config Show raw client config
112/etc/wireguard/wgctl/commands/inspect.command.sh- --qr Show QR code
113/etc/wireguard/wgctl/commands/inspect.command.sh-
114/etc/wireguard/wgctl/commands/inspect.command.sh-Examples:
115/etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno
116/etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name nuno --type phone
117/etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno --config
118/etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno --qr
119/etc/wireguard/wgctl/commands/inspect.command.sh-EOF
120/etc/wireguard/wgctl/commands/inspect.command.sh-}
121/etc/wireguard/wgctl/commands/inspect.command.sh-
122/etc/wireguard/wgctl/commands/inspect.command.sh-# ============================================
123/etc/wireguard/wgctl/commands/inspect.command.sh-# Private helpers
124/etc/wireguard/wgctl/commands/inspect.command.sh-# ============================================
125/etc/wireguard/wgctl/commands/inspect.command.sh-
126/etc/wireguard/wgctl/commands/inspect.command.sh-function cmd::inspect::_section() {
127/etc/wireguard/wgctl/commands/inspect.command.sh- local title="$1"
128/etc/wireguard/wgctl/commands/inspect.command.sh- printf "\n \033[0;37m── %s ──────────────────────────────────\033[0m\n" "$title"
129/etc/wireguard/wgctl/commands/inspect.command.sh-}
130/etc/wireguard/wgctl/commands/inspect.command.sh-
131/etc/wireguard/wgctl/commands/inspect.command.sh-function cmd::inspect::_row() {