mirror of
https://github.com/anten-ka/go_warp_pro.git
synced 2026-05-19 16:06:06 +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() {
|
awg_save_clients() {
|
||||||
local content=""
|
local content=""
|
||||||
for ip in "${AWG_SELECTED_IPS[@]}"; do content+="${ip}"$'\n'; done
|
for ip in "${AWG_SELECTED_IPS[@]}"; do
|
||||||
docker exec "$CONTAINER" sh -c "mkdir -p '$AWG_WARP_DIR' && cat > '$AWG_WARP_CLIENTS' <<'EOF'
|
content+="${ip}"$'\n'
|
||||||
${content}EOF
|
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() {
|
awg_parse_clients_table() {
|
||||||
@@ -1038,6 +1039,9 @@ awg_cleanup_rules() {
|
|||||||
awg_apply_rules() {
|
awg_apply_rules() {
|
||||||
awg_cleanup_rules
|
awg_cleanup_rules
|
||||||
[ ${#AWG_SELECTED_IPS[@]} -eq 0 ] && return 0
|
[ ${#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"
|
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
|
local prio=100
|
||||||
for ip in "${AWG_SELECTED_IPS[@]}"; do
|
for ip in "${AWG_SELECTED_IPS[@]}"; do
|
||||||
@@ -1059,6 +1063,7 @@ awg_patch_start_sh() {
|
|||||||
warp_block+=""$'\n'
|
warp_block+=""$'\n'
|
||||||
warp_block+="if [ -f '${AWG_WARP_CONF}' ]; then"$'\n'
|
warp_block+="if [ -f '${AWG_WARP_CONF}' ]; then"$'\n'
|
||||||
warp_block+=" wg-quick up '${AWG_WARP_CONF}' || true"$'\n'
|
warp_block+=" wg-quick up '${AWG_WARP_CONF}' || true"$'\n'
|
||||||
|
warp_block+=" sleep 3"$'\n'
|
||||||
warp_block+="fi"$'\n'
|
warp_block+="fi"$'\n'
|
||||||
warp_block+=""$'\n'
|
warp_block+=""$'\n'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user