Все Новый

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 #!/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: 100ms⋅

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