grep -A 15 "function block::restore_peer" \ > /etc/wireguard/wgctl/modules/block.module.sh function block::restore_peer() { local name="${1:?}" client_ip="${2:?}" fw::unblock_all "$client_ip" fw::flush_peer "$client_ip" monitor::unwatch_client "$name" if ! peers::exists_in_server "$name"; then local public_key public_key=$(keys::public "$name") || return 1 peers::add_to_server "$name" "$public_key" "$client_ip" peers::reload fi } function block::restore_all() { while IFS= read -r peer_name; do block::has_file "$peer_name" || continue grep -A 20 "function block::restore_peer" \ > /etc/wireguard/wgctl/modules/block.module.sh function block::restore_peer() { local name="${1:?}" client_ip="${2:?}" fw::unblock_all "$client_ip" fw::flush_peer "$client_ip" monitor::unwatch_client "$name" if ! peers::exists_in_server "$name"; then local public_key public_key=$(keys::public "$name") || return 1 peers::add_to_server "$name" "$public_key" "$client_ip" peers::reload fi } function block::restore_all() { while IFS= read -r peer_name; do block::has_file "$peer_name" || continue local client_ip client_ip=$(peers::get_ip "$peer_name") [[ -z "$client_ip" ]] && continue while IFS="|" read -r bname btype target port proto; do [[ -z "$btype" ]] && continue