mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-28 04:52:58 +00:00
fix: apply only the x-ui sysctl config when toggling BBR (#5160)
Some checks are pending
CI / go-test (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / frontend (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
Some checks are pending
CI / go-test (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / frontend (push) Waiting to run
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (push) Waiting to run
sysctl --system re-applies every sysctl file on the host, surfacing unrelated "Invalid argument" errors from the distro's own defaults (e.g. Ubuntu 22.04's 50-default.conf on kernels 5.14+). Apply only /etc/sysctl.d/99-bbr-x-ui.conf on enable, and drop the redundant re-apply on disable since sysctl -w already restores the live values.
This commit is contained in:
parent
554d85c2f7
commit
2db48174b0
1 changed files with 7 additions and 2 deletions
9
x-ui.sh
9
x-ui.sh
|
|
@ -688,10 +688,12 @@ disable_bbr() {
|
|||
|
||||
if [ -f "/etc/sysctl.d/99-bbr-x-ui.conf" ]; then
|
||||
old_settings=$(head -1 /etc/sysctl.d/99-bbr-x-ui.conf | tr -d '#')
|
||||
# sysctl -w already restores the live values, so no `sysctl --system`
|
||||
# afterwards — it would re-apply every sysctl file on the host and
|
||||
# surface unrelated errors from the distro's own defaults (see issue #5160)
|
||||
sysctl -w net.core.default_qdisc="${old_settings%:*}"
|
||||
sysctl -w net.ipv4.tcp_congestion_control="${old_settings#*:}"
|
||||
rm /etc/sysctl.d/99-bbr-x-ui.conf
|
||||
sysctl --system
|
||||
else
|
||||
# Replace BBR with CUBIC configurations
|
||||
if [ -f "/etc/sysctl.conf" ]; then
|
||||
|
|
@ -726,7 +728,10 @@ enable_bbr() {
|
|||
sed -i 's/^net.core.default_qdisc/# &/' /etc/sysctl.conf
|
||||
sed -i 's/^net.ipv4.tcp_congestion_control/# &/' /etc/sysctl.conf
|
||||
fi
|
||||
sysctl --system
|
||||
# Apply only our config file; `sysctl --system` would re-apply every
|
||||
# sysctl file on the host and surface unrelated errors from the distro's
|
||||
# own defaults (see issue #5160)
|
||||
sysctl -p /etc/sysctl.d/99-bbr-x-ui.conf
|
||||
else
|
||||
sed -i '/net.core.default_qdisc/d' /etc/sysctl.conf
|
||||
sed -i '/net.ipv4.tcp_congestion_control/d' /etc/sysctl.conf
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue