Last active 1 month ago

gistfile1.txt Raw
1# Create client config
2 peers::create_client_config "$full_name" "$effective_type" "$ip" "$allowed_ips" || return 1
3
4 # Store subtype in meta
5 if [[ -n "$subtype" ]]; then
6 peers::set_meta "$full_name" "subtype" "$subtype"
7 fi
8
9 # Add peer to server config
10 local public_key
11 public_key=$(keys::public "$full_name") || return 1
12 peers::add_to_server "$full_name" "$public_key" "$ip" || return 1
13
14 log::wg_add "Rule: ${rule:-none}"
15
16 # Apply presets
17 for preset in "${presets[@]}"; do
18 firewall::apply_preset "$preset" "${ip}" || return 1
19 done
20
21 # Apply rule
22 if [[ -n "$rule" ]]; then
23 rule::apply "$rule" "$ip" || return 1
24 fi
25
26 # Reload WireGuard
27 peers::reload || return 1
28
29 log::wg_success "Client added successfully: ${full_name} (${ip}) [${tunnel} tunnel]"
30