Merge pull request #1318 from rponeawa/codex/udp-buffer-limit-setting

feat: 增加可选的 UDP 缓冲上限设置
This commit is contained in:
juewuy
2026-10-24 10:26:57 +08:00
committed by GitHub
4 changed files with 42 additions and 0 deletions
+20
View File
@@ -23,6 +23,24 @@
[ -z "$redir_mod" ] && firewall_area='4'
routing_mark=$((fwmark + 2))
set_udp_buffer_limit() {
[ "$udp_buffer" = "ON" ] || return 0
udp_buffer_limit=16777216
#同时提高上限与默认值:部分Mihomo/quic-go构建不显式setsockopt,仅继承default
for udp_buffer_file in /proc/sys/net/core/rmem_max /proc/sys/net/core/wmem_max \
/proc/sys/net/core/rmem_default /proc/sys/net/core/wmem_default; do
[ -w "$udp_buffer_file" ] || continue
udp_buffer_current=$(cat "$udp_buffer_file" 2>/dev/null)
case "$udp_buffer_current" in
'' | *[!0-9]*) continue ;;
esac
[ "$udp_buffer_current" -lt "$udp_buffer_limit" ] &&
printf '%s\n' "$udp_buffer_limit" >"$udp_buffer_file"
done
unset udp_buffer_limit udp_buffer_file udp_buffer_current
}
makehtml() { #生成面板跳转文件
cat >"$BINDIR"/ui/index.html <<EOF
<!DOCTYPE html>
@@ -78,6 +96,8 @@ EOF
[ "$network_check" != "OFF" ] && [ ! -f "$TMPDIR"/crash_start_time ] && ckcmd ping && . "$CRASHDIR"/starts/check_network.sh && check_network
[ ! -d "$BINDIR"/ui ] && mkdir -p "$BINDIR"/ui
[ -z "$crashcore" ] && crashcore=meta
#按需提高UDP套接字缓冲上限,改善Hysteria2等QUIC协议的吞吐
set_udp_buffer_limit
#执行条件任务
[ -s "$TASKCFGDIR"/bfstart ] && . "$TASKCFGDIR"/bfstart
#检查内核配置文件