Fix YouTube hangs: MTU 1280->1380, add MSS clamping (TCPMSS --clamp-mss-to-pmtu) for warp interface

Made-with: Cursor
This commit is contained in:
anten-ka
2026-03-22 12:31:36 +03:00
parent 27133e3cf9
commit 6ff27a8bd9

11
warp.sh
View File

@@ -665,7 +665,7 @@ awg_build_warp_conf() {
[Interface] [Interface]
PrivateKey = ${pk} PrivateKey = ${pk}
Address = ${addr} Address = ${addr}
MTU = 1280 MTU = 1380
Table = off Table = off
[Peer] [Peer]
@@ -1033,6 +1033,10 @@ awg_cleanup_rules() {
rule=$(echo "$line" | sed "s/^-A /-D /") rule=$(echo "$line" | sed "s/^-A /-D /")
iptables -t nat $rule || true iptables -t nat $rule || true
done done
iptables -t mangle -S FORWARD 2>/dev/null | grep "\-o warp.*TCPMSS" | while read -r line; do
rule=$(echo "$line" | sed "s/^-A /-D /")
iptables -t mangle $rule || true
done
ip route flush table 100 2>/dev/null || true ip route flush table 100 2>/dev/null || true
' >/dev/null 2>&1 || true ' >/dev/null 2>&1 || true
} }
@@ -1041,6 +1045,10 @@ awg_apply_rules() {
awg_cleanup_rules awg_cleanup_rules
[ ${#AWG_SELECTED_IPS[@]} -eq 0 ] && return 0 [ ${#AWG_SELECTED_IPS[@]} -eq 0 ] && return 0
docker exec "$CONTAINER" sh -c "ip route add default dev warp table 100 2>/dev/null || ip route replace default dev warp table 100 2>/dev/null || true" docker exec "$CONTAINER" sh -c "ip route add default dev warp table 100 2>/dev/null || ip route replace default dev warp table 100 2>/dev/null || true"
docker exec "$CONTAINER" sh -c "
iptables -t mangle -C FORWARD -o warp -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2>/dev/null || \
iptables -t mangle -A FORWARD -o warp -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2>/dev/null || true
"
local prio=100 local prio=100
for ip in "${AWG_SELECTED_IPS[@]}"; do for ip in "${AWG_SELECTED_IPS[@]}"; do
docker exec "$CONTAINER" sh -c " docker exec "$CONTAINER" sh -c "
@@ -1067,6 +1075,7 @@ awg_patch_start_sh() {
if [ ${#AWG_SELECTED_IPS[@]} -gt 0 ]; then if [ ${#AWG_SELECTED_IPS[@]} -gt 0 ]; then
warp_block+="ip route add default dev warp table 100 2>/dev/null || ip route replace default dev warp table 100 2>/dev/null || true"$'\n' warp_block+="ip route add default dev warp table 100 2>/dev/null || ip route replace default dev warp table 100 2>/dev/null || true"$'\n'
warp_block+="iptables -t mangle -C FORWARD -o warp -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2>/dev/null || iptables -t mangle -A FORWARD -o warp -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 2>/dev/null || true"$'\n'
warp_block+=""$'\n' warp_block+=""$'\n'
local prio=100 local prio=100
for ip in "${AWG_SELECTED_IPS[@]}"; do for ip in "${AWG_SELECTED_IPS[@]}"; do