All New

user:thomas gists created by user

title:mygist gists with given title

description:sync gists with given description

filename:myfile.txt gists having files with given name

extension:yml gists having files with given extension

language:go gists having files with given language

topic:homelab gists with given topic

all:systemctl search all fields

Register

Login

All New Register Login

All gists

Recently created
Least recently created
Recently updated
Least recently updated

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 22: local is_blocked="${1:-false}" is_restricted="${2:-false}" status="${3:-}"
2 23: if [[ "$is_blocked" == "true" && "$status" == "online"* ]]; then
3 24: echo "\033[1;31m"
4 25: elif [[ "$is_blocked" == "true" ]]; then
5 39:function ui::peer::_row_color() {
6 40: local is_blocked="${1:-false}" is_restricted="${2:-false}" status="${3:-}"
7 45: if [[ "$is_blocked" == "true" ]]; then
8 53: if [[ "$is_blocked" == "true" ]]; then
9 54: echo "\033[1;31m" # bold red — blocked active
10 67:function ui::peer::list_row_compact() {

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 function peers::format_status() {
2 local name="${1:-}" public_key="${2:-}" is_blocked="${3:-false}"
3 local is_restricted="${4:-false}" handshake_ts="${5:-0}" last_ts="${6:-}"
4
5 local state
6 state=$(peers::connection_state "$is_blocked" "$is_restricted" \
7 "$handshake_ts" "$last_ts")
8
9 local conn_str modifier color
10 IFS="|" read -r conn_str modifier color <<< "$state"

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 /etc/wireguard/wgctl/modules/ui/activity.module.sh:32:function ui::activity::header_table() {
2 /etc/wireguard/wgctl/modules/ui/activity.module.sh:37:function ui::activity::peer_row_table() {
3 /etc/wireguard/wgctl/modules/ui/activity.module.sh:44:function ui::activity::service_row_table() {
4 /etc/wireguard/wgctl/modules/ui/group.module.sh:52:function ui::group::list_header_table() {
5 /etc/wireguard/wgctl/modules/ui/group.module.sh:57:function ui::group::list_row_table() {
6 /etc/wireguard/wgctl/modules/ui/group.module.sh:101:function ui::group::show_header_table() {
7 /etc/wireguard/wgctl/modules/ui/group.module.sh:106:function ui::group::show_member_row_table() {
8 /etc/wireguard/wgctl/modules/ui/hosts.module.sh:34:function ui::hosts::list_row_table() {
9 /etc/wireguard/wgctl/modules/ui/hosts.module.sh:40:function ui::hosts::list_header_table() {
10 /etc/wireguard/wgctl/modules/ui/identity.module.sh:67:function ui::identity::list_row_table() {

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 Default labels — which fields should show labels by default? My lean: rule, group, subnet (not obvious from value alone). Not status (color-coded), not ip (obvious), not name (always first).
2 Where does it live? — modules/display.module.sh loaded in wgctl alongside others, or core/display.sh always available? I'd say module since it's optional functionality.

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 {
2 "peer": {
3 "style": "compact",
4 "fields": ["name", "ip", "type", "rule", "group", "status", "last_seen"],
5 "labels": ["rule", "group"],
6 "hidden": []
7 },
8 "identity": {
9 "style": "compact",
10 "fields": ["name", "peers", "rules", "policy"],

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 This will:
2 1. Create /etc/wireguard/.wgctl/config/ and /etc/wireguard/.wgctl/data/
3 2. Convert wgctl.conf → wgctl.json
4 3. Move data files to data/
5
6 Would create: /etc/wireguard/.wgctl/config/
7 Would create: /etc/wireguard/.wgctl/data/
8 [dry-run] wgctl.conf → config/wgctl.json
9 [dry-run] hosts.json → data/hosts.json
10 [dry-run] services.json → data/services.json

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 function cmd::config::run() {
2 local name=""
3 local type=""
4
5 while [[ $# -gt 0 ]]; do
6 case "$1" in
7 --name) name="$2"; shift 2 ;;
8 --type) type="$2"; shift 2 ;;
9 --help) cmd::config::help; return ;;
10 *)

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 #!/usr/bin/env bash
2
3 # ============================================
4 # Static Context — resolved once at source time
5 # ============================================
6
7 _CTX_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
8 _CTX_WG="/etc/wireguard"
9 _CTX_CORE="${_CTX_ROOT}/core"
10 _CTX_MODULES="${_CTX_ROOT}/modules"

nuno / gistfile1.txt

0 likes
0 forks
1 files
Last active 5 months ago
1 /etc/wireguard/.wgctl
2 /etc/wireguard/.wgctl/blocks
3 /etc/wireguard/.wgctl/daemon
4 /etc/wireguard/.wgctl/groups
5 /etc/wireguard/.wgctl/hosts.json
6 /etc/wireguard/.wgctl/identities
7 /etc/wireguard/.wgctl/meta
8 /etc/wireguard/.wgctl/peer-history
9 /etc/wireguard/.wgctl/policies.json
10 /etc/wireguard/.wgctl/rules

nuno / config.module.sh

0 likes
0 forks
1 files
Last active 5 months ago
1 #!/usr/bin/env bash
2
3 # ============================================
4 # Lifecycle
5 # ============================================
6
7 function config::on_load() {
8 config::_init_defaults
9 config::load
10 config::validate
Newer Older

Powered by Opengist ⋅ Load: 102ms⋅

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