diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2024-02-21 15:46:45 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2024-02-21 15:46:45 +0300 |
| commit | 0baa204ce951184e3567705532eaace215834714 (patch) | |
| tree | ece592e6e2df6d0b2f19847f1e8851830594c7f9 /x-ui.sh | |
| parent | 660e5ad101e41dffa94c5775491108f359cd8359 (diff) | |
Bash - BBR Disable Option
Diffstat (limited to 'x-ui.sh')
| -rw-r--r-- | x-ui.sh | 43 |
1 files changed, 42 insertions, 1 deletions
@@ -345,6 +345,47 @@ show_banlog() { fi } +bbr_menu() { + echo -e "${green}\t1.${plain} Enable BBR" + echo -e "${green}\t2.${plain} Disable BBR" + echo -e "${green}\t0.${plain} Back to Main Menu" + read -p "Choose an option: " choice + case "$choice" in + 0) + show_menu + ;; + 1) + enable_bbr + ;; + 2) + disable_bbr + ;; + *) echo "Invalid choice" ;; + esac +} + +disable_bbr() { + + if ! grep -q "net.core.default_qdisc=fq" /etc/sysctl.conf || ! grep -q "net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf; then + echo -e "${yellow}BBR is not currently enabled.${plain}" + exit 0 + fi + + # Replace BBR with CUBIC configurations + sed -i 's/net.core.default_qdisc=fq/net.core.default_qdisc=pfifo_fast/' /etc/sysctl.conf + sed -i 's/net.ipv4.tcp_congestion_control=bbr/net.ipv4.tcp_congestion_control=cubic/' /etc/sysctl.conf + + # Apply changes + sysctl -p + + # Verify that BBR is replaced with CUBIC + if [[ $(sysctl net.ipv4.tcp_congestion_control | awk '{print $3}') == "cubic" ]]; then + echo -e "${green}BBR has been replaced with CUBIC successfully.${plain}" + else + echo -e "${red}Failed to replace BBR with CUBIC. Please check your system configuration.${plain}" + fi +} + enable_bbr() { if grep -q "net.core.default_qdisc=fq" /etc/sysctl.conf && grep -q "net.ipv4.tcp_congestion_control=bbr" /etc/sysctl.conf; then echo -e "${green}BBR is already enabled!${plain}" @@ -1263,7 +1304,7 @@ show_menu() { firewall_menu ;; 21) - enable_bbr + bbr_menu ;; 22) update_geo |
