Все Новый

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

Зарегистрирован 2 months ago

Свежие сверху по дате создания
Свежие снизу по дате создания
Свежие сверху по дате обновления
Свежие снизу по дате обновления
Все фрагменты 570

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 #!/usr/bin/env bash
2
3 # ============================================
4 # Lifecycle
5 # ============================================
6
7 function cmd::rule::on_load() {
8 flag::register --name
9 flag::register --desc
10 flag::register --block-ip

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function cmd::rule::add() {
2 local name="" desc=""
3 local allow_ips=() block_ips=() block_ports=()
4 local dns_redirect=false
5
6 while [[ $# -gt 0 ]]; do
7 case "$1" in
8 --name) name="$2"; shift 2 ;;
9 --desc) desc="$2"; shift 2 ;;
10 --allow-ip) allow_ips+=("$2"); shift 2 ;;

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 def rule_list_data(rules_dir, meta_dir):
2 """Return all rule data including base rules and extends"""
3 import glob
4
5 # Count peers per rule from meta files
6 rule_peer_counts = {}
7 for f in glob.glob(f"{meta_dir}/*.meta"):
8 try:
9 with open(f) as mf:
10 meta = json.load(mf)

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function cmd::rule::list() {
2 local rules_dir
3 rules_dir="$(ctx::rules)"
4
5 local rules=("${rules_dir}"/*.rule)
6 if [[ ! -f "${rules[0]}" ]]; then
7 log::wg "No rules configured"
8 return 0
9 fi

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 ef rule_inspect(rules_dir, rule_name):
2 """Show inheritance tree for a rule"""
3 try:
4 rule_file = find_rule_file(rules_dir, rule_name)
5 with open(rule_file) as f:
6 rule = json.load(f)
7 resolved = _rule_resolve_internal(rules_dir, rule_name)
8
9 # Output format: section|key|value
10 # Own rules

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 def rule_resolve(rules_dir, rule_name, visited=None):
2 """Recursively resolve a rule with all its base rules merged"""
3 if visited is None:
4 visited = set()
5
6 if rule_name in visited:
7 raise ValueError(f"Circular dependency detected: {rule_name}")
8 visited.add(rule_name)
9
10 rule_file = os.path.join(rules_dir, f"{rule_name}.rule")

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 # ============================================
2 # Rule File Parsing
3 # ============================================
4
5 function rule::is_base() {
6 local name="${1:-}"
7 [[ -f "$(ctx::rules::base)/${name}.rule" ]]
8 }
9
10 function rule::exists() {

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 function cmd::list::show_client() {
2 local name="$1"
3 local conf
4 conf="$(ctx::clients)/${name}.conf"
5
6 if [[ ! -f "$conf" ]]; then
7 log::error "Client not found: ${name}"
8 return 1
9 fi

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month 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 connected=false modifier="" color
6
7 if [[ "$is_blocked" == "true" ]]; then
8 local now attempt_ts diff
9 now=$(date +%s)
10 attempt_ts=$(json::iso_to_ts "$last_ts")

nuno / gistfile1.txt

0 лайк(-ов)
0 форк(-ов)
1 файл(-ов)
Последняя активность 1 month ago
1 Firewall Drops:
2 TIME CLIENT DESTINATION PROTOCOL
3 ───────────────────────────────────────────────────────────────────────────
4 11/05/2026 00:58 guest-zephyr-test 10.0.0.37:47988 tcp
5 11/05/2026 00:58 guest-zephyr-test 10.0.0.3:47989 tcp
6 11/05/2026 00:58 guest-zephyr-test 10.0.0.12:47989 tcp
7 11/05/2026 00:58 guest-zephyr-test 10.0.0.198:47989 tcp
8 11/05/2026 00:58 guest-zephyr-test 10.0.0.2:47989 tcp
9 11/05/2026 00:59 guest-zephyr-test 10.0.0.3:47989 tcp
10 11/05/2026 00:59 guest-zephyr-test 10.0.0.37:47988 tcp
Новее Позже

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

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