mirror of
https://github.com/anten-ka/go_warp_pro.git
synced 2026-05-19 14:45:59 +00:00
Fix AWG client rules: sleep after wg-quick up, safe save via pipe, skip rules if warp not up
Made-with: Cursor
This commit is contained in:
13
warp.sh
13
warp.sh
@@ -846,10 +846,11 @@ awg_load_clients() {
|
||||
|
||||
awg_save_clients() {
|
||||
local content=""
|
||||
for ip in "${AWG_SELECTED_IPS[@]}"; do content+="${ip}"$'\n'; done
|
||||
docker exec "$CONTAINER" sh -c "mkdir -p '$AWG_WARP_DIR' && cat > '$AWG_WARP_CLIENTS' <<'EOF'
|
||||
${content}EOF
|
||||
"
|
||||
for ip in "${AWG_SELECTED_IPS[@]}"; do
|
||||
content+="${ip}"$'\n'
|
||||
done
|
||||
docker exec "$CONTAINER" sh -c "mkdir -p '${AWG_WARP_DIR}'"
|
||||
echo -n "$content" | docker exec -i "$CONTAINER" sh -c "cat > '${AWG_WARP_CLIENTS}'"
|
||||
}
|
||||
|
||||
awg_parse_clients_table() {
|
||||
@@ -1038,6 +1039,9 @@ awg_cleanup_rules() {
|
||||
awg_apply_rules() {
|
||||
awg_cleanup_rules
|
||||
[ ${#AWG_SELECTED_IPS[@]} -eq 0 ] && return 0
|
||||
if ! docker exec "$CONTAINER" sh -c "ip link show warp >/dev/null 2>&1"; then
|
||||
return 0
|
||||
fi
|
||||
docker exec "$CONTAINER" sh -c "ip route add default dev warp table 100 2>/dev/null || ip route replace default dev warp table 100"
|
||||
local prio=100
|
||||
for ip in "${AWG_SELECTED_IPS[@]}"; do
|
||||
@@ -1059,6 +1063,7 @@ awg_patch_start_sh() {
|
||||
warp_block+=""$'\n'
|
||||
warp_block+="if [ -f '${AWG_WARP_CONF}' ]; then"$'\n'
|
||||
warp_block+=" wg-quick up '${AWG_WARP_CONF}' || true"$'\n'
|
||||
warp_block+=" sleep 3"$'\n'
|
||||
warp_block+="fi"$'\n'
|
||||
warp_block+=""$'\n'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user