/etc/wireguard/wgctl/commands/list.command.sh \ /etc/wireguard/wgctl/commands/block.command.sh \ /etc/wireguard/wgctl/commands/unblock.command.sh \ /etc/wireguard/wgctl/commands/inspect.command.sh 2>/dev/null /etc/wireguard/wgctl/commands/list.command.sh:function cmd::list::help() { /etc/wireguard/wgctl/commands/list.command.sh- cat < Filter by device type /etc/wireguard/wgctl/commands/list.command.sh- --online Show only connected clients /etc/wireguard/wgctl/commands/list.command.sh- --offline Show only disconnected clients /etc/wireguard/wgctl/commands/list.command.sh- --allowed Show only fully allowed clients /etc/wireguard/wgctl/commands/list.command.sh- --restricted Show only restricted clients /etc/wireguard/wgctl/commands/list.command.sh- --blocked Show only blocked clients /etc/wireguard/wgctl/commands/list.command.sh- --detailed Show full detail cards for all clients /etc/wireguard/wgctl/commands/list.command.sh- --name Show detail card for a single client /etc/wireguard/wgctl/commands/list.command.sh- /etc/wireguard/wgctl/commands/list.command.sh-Examples: /etc/wireguard/wgctl/commands/list.command.sh- wgctl list /etc/wireguard/wgctl/commands/list.command.sh- wgctl list --type phone /etc/wireguard/wgctl/commands/list.command.sh- wgctl list --online /etc/wireguard/wgctl/commands/list.command.sh- wgctl list --blocked /etc/wireguard/wgctl/commands/list.command.sh- wgctl list --detailed /etc/wireguard/wgctl/commands/list.command.sh- wgctl list --name phone-nuno /etc/wireguard/wgctl/commands/list.command.sh-EOF /etc/wireguard/wgctl/commands/list.command.sh-} /etc/wireguard/wgctl/commands/list.command.sh- /etc/wireguard/wgctl/commands/list.command.sh-# ============================================ /etc/wireguard/wgctl/commands/list.command.sh-# Status / Display helpers /etc/wireguard/wgctl/commands/list.command.sh-# ============================================ /etc/wireguard/wgctl/commands/list.command.sh- /etc/wireguard/wgctl/commands/list.command.sh-function cmd::list::_is_connected() { -- /etc/wireguard/wgctl/commands/block.command.sh:function cmd::block::help() { /etc/wireguard/wgctl/commands/block.command.sh- cat < [options] /etc/wireguard/wgctl/commands/block.command.sh- /etc/wireguard/wgctl/commands/block.command.sh-Block a client entirely or restrict access to specific IPs/ports/subnets. /etc/wireguard/wgctl/commands/block.command.sh-Block rules are persisted and restored on WireGuard restart. /etc/wireguard/wgctl/commands/block.command.sh- /etc/wireguard/wgctl/commands/block.command.sh-Options: /etc/wireguard/wgctl/commands/block.command.sh- --name Client name (e.g. phone-nuno) /etc/wireguard/wgctl/commands/block.command.sh- --ip Block access to specific IP (repeatable) /etc/wireguard/wgctl/commands/block.command.sh- --subnet Block access to subnet (repeatable) /etc/wireguard/wgctl/commands/block.command.sh- --port Block specific port, e.g. 10.0.0.210:9000:tcp (repeatable) /etc/wireguard/wgctl/commands/block.command.sh- /etc/wireguard/wgctl/commands/block.command.sh-Examples: /etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno /etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --ip 10.0.0.210 /etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --subnet 10.0.0.0/24 /etc/wireguard/wgctl/commands/block.command.sh- wgctl block --name phone-nuno --port 10.0.0.210:9000:tcp /etc/wireguard/wgctl/commands/block.command.sh- wgctl ban --name phone-nuno --ip 10.0.0.100 --ip 10.0.0.200 /etc/wireguard/wgctl/commands/block.command.sh-EOF /etc/wireguard/wgctl/commands/block.command.sh-} /etc/wireguard/wgctl/commands/block.command.sh- /etc/wireguard/wgctl/commands/block.command.sh-# ============================================ /etc/wireguard/wgctl/commands/block.command.sh-# Block Run /etc/wireguard/wgctl/commands/block.command.sh-# ============================================ /etc/wireguard/wgctl/commands/block.command.sh- /etc/wireguard/wgctl/commands/block.command.sh-function cmd::block::run() { /etc/wireguard/wgctl/commands/block.command.sh- local name="" /etc/wireguard/wgctl/commands/block.command.sh- local type="" /etc/wireguard/wgctl/commands/block.command.sh- local ips=() /etc/wireguard/wgctl/commands/block.command.sh- local subnets=() -- /etc/wireguard/wgctl/commands/unblock.command.sh:function cmd::unblock::help() { /etc/wireguard/wgctl/commands/unblock.command.sh- cat < [options] /etc/wireguard/wgctl/commands/unblock.command.sh- /etc/wireguard/wgctl/commands/unblock.command.sh-Remove block rules for a client. /etc/wireguard/wgctl/commands/unblock.command.sh- /etc/wireguard/wgctl/commands/unblock.command.sh-Options: /etc/wireguard/wgctl/commands/unblock.command.sh- --name Client name (e.g. phone-nuno) /etc/wireguard/wgctl/commands/unblock.command.sh- --ip Unblock specific IP (repeatable) /etc/wireguard/wgctl/commands/unblock.command.sh- --subnet Unblock specific subnet (repeatable) /etc/wireguard/wgctl/commands/unblock.command.sh- --port Unblock specific port (repeatable) /etc/wireguard/wgctl/commands/unblock.command.sh- --all Remove all block rules for this client /etc/wireguard/wgctl/commands/unblock.command.sh- /etc/wireguard/wgctl/commands/unblock.command.sh-Examples: /etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unblock --name phone-nuno --all /etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unblock --name phone-nuno --ip 10.0.0.210 /etc/wireguard/wgctl/commands/unblock.command.sh- wgctl unban --name phone-nuno --all /etc/wireguard/wgctl/commands/unblock.command.sh-EOF /etc/wireguard/wgctl/commands/unblock.command.sh-} /etc/wireguard/wgctl/commands/unblock.command.sh- /etc/wireguard/wgctl/commands/unblock.command.sh-# ============================================ /etc/wireguard/wgctl/commands/unblock.command.sh-# Unblock Run /etc/wireguard/wgctl/commands/unblock.command.sh-# ============================================ /etc/wireguard/wgctl/commands/unblock.command.sh- /etc/wireguard/wgctl/commands/unblock.command.sh-function cmd::unblock::run() { /etc/wireguard/wgctl/commands/unblock.command.sh- local name="" /etc/wireguard/wgctl/commands/unblock.command.sh- local type="" /etc/wireguard/wgctl/commands/unblock.command.sh- local ips=() /etc/wireguard/wgctl/commands/unblock.command.sh- local subnets=() /etc/wireguard/wgctl/commands/unblock.command.sh- local ports=() /etc/wireguard/wgctl/commands/unblock.command.sh- local all=false -- /etc/wireguard/wgctl/commands/inspect.command.sh:function cmd::inspect::help() { /etc/wireguard/wgctl/commands/inspect.command.sh- cat < [--type ] /etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-Show detailed information for a single client. /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-Options: /etc/wireguard/wgctl/commands/inspect.command.sh- --name Client name /etc/wireguard/wgctl/commands/inspect.command.sh- --type Device type (optional, combines with --name) /etc/wireguard/wgctl/commands/inspect.command.sh- --config Show raw client config /etc/wireguard/wgctl/commands/inspect.command.sh- --qr Show QR code /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-Examples: /etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno /etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name nuno --type phone /etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno --config /etc/wireguard/wgctl/commands/inspect.command.sh- wgctl inspect --name phone-nuno --qr /etc/wireguard/wgctl/commands/inspect.command.sh-EOF /etc/wireguard/wgctl/commands/inspect.command.sh-} /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-# ============================================ /etc/wireguard/wgctl/commands/inspect.command.sh-# Private helpers /etc/wireguard/wgctl/commands/inspect.command.sh-# ============================================ /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-function cmd::inspect::_section() { /etc/wireguard/wgctl/commands/inspect.command.sh- local title="$1" /etc/wireguard/wgctl/commands/inspect.command.sh- printf "\n \033[0;37m── %s ──────────────────────────────────\033[0m\n" "$title" /etc/wireguard/wgctl/commands/inspect.command.sh-} /etc/wireguard/wgctl/commands/inspect.command.sh- /etc/wireguard/wgctl/commands/inspect.command.sh-function cmd::inspect::_row() {