nuno bu gisti düzenledi 1 month ago. Düzenlemeye git
1 file changed, 17 insertions
gistfile1.txt(dosya oluşturuldu)
| @@ -0,0 +1,17 @@ | |||
| 1 | + | grep -A 15 "function rule::reapply_all" /etc/wireguard/wgctl/modules/rule.module.sh | |
| 2 | + | function rule::reapply_all() { | |
| 3 | + | local rule_name="${1:-}" | |
| 4 | + | rule::require_exists "$rule_name" || return 1 | |
| 5 | + | ||
| 6 | + | local peers=() | |
| 7 | + | mapfile -t peers < <(peers::with_rule "$rule_name") | |
| 8 | + | [[ ${#peers[@]} -eq 0 ]] && return 0 | |
| 9 | + | ||
| 10 | + | local count=0 | |
| 11 | + | for peer_name in "${peers[@]}"; do | |
| 12 | + | local client_ip | |
| 13 | + | client_ip=$(peers::get_ip "$peer_name") | |
| 14 | + | [[ -z "$client_ip" ]] && continue | |
| 15 | + | rule::unapply "$rule_name" "$client_ip" | |
| 16 | + | rule::apply "$rule_name" "$client_ip" "$peer_name" | |
| 17 | + | (( count++ )) || true | |
Daha yeni
Daha eski