Compare commits

..

2 Commits

Author SHA1 Message Date
CanbiZ
62c17c1410 Refactor IPv6 disable logic and add 'disable' option
Replaces previous IPv6 disabling method with a dedicated 'disable' option, storing sysctl settings in /etc/sysctl.d/99-disable-ipv6.conf. Updates build and install scripts to clarify the difference between 'none' (no assignment) and 'disable' (fully disables IPv6), adds user warnings, and disables IPv6 listeners in nginx if present.
2025-11-21 08:51:00 +01:00
しぐれ
636b0d3afd fix: update website URL in filebrowser.json (#9322) 2025-11-21 07:25:12 +01:00
4 changed files with 34 additions and 18 deletions

View File

@@ -11,7 +11,7 @@
"privileged": false, "privileged": false,
"interface_port": 8080, "interface_port": 8080,
"documentation": null, "documentation": null,
"website": "https://filebrowser.org/features", "website": "https://filebrowser.org/index.html#features",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/file-browser.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/file-browser.webp",
"config_path": "", "config_path": "",
"description": "File Browser offers a user-friendly web interface for managing files within a designated directory. It allows you to perform various actions such as uploading, deleting, previewing, renaming, and editing files.", "description": "File Browser offers a user-friendly web interface for managing files within a designated directory. It allows you to perform various actions such as uploading, deleting, previewing, renaming, and editing files.",

View File

@@ -13,14 +13,17 @@ load_functions
verb_ip6() { verb_ip6() {
set_std_mode # Set STD mode based on VERBOSE set_std_mode # Set STD mode based on VERBOSE
if [ "$IPV6_METHOD" == "none" ] || [ "$DISABLEIPV6" == "yes" ]; then if [ "$IPV6_METHOD" == "disable" ]; then
msg_info "Disabling IPv6" msg_info "Disabling IPv6 (this may affect some services)"
$STD sysctl -w net.ipv6.conf.all.disable_ipv6=1 $STD sysctl -w net.ipv6.conf.all.disable_ipv6=1
$STD sysctl -w net.ipv6.conf.default.disable_ipv6=1 $STD sysctl -w net.ipv6.conf.default.disable_ipv6=1
$STD sysctl -w net.ipv6.conf.lo.disable_ipv6=1 $STD sysctl -w net.ipv6.conf.lo.disable_ipv6=1
echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf mkdir -p /etc/sysctl.d
echo "net.ipv6.conf.default.disable_ipv6 = 1" >>/etc/sysctl.conf $STD tee /etc/sysctl.d/99-disable-ipv6.conf >/dev/null <<EOF
echo "net.ipv6.conf.lo.disable_ipv6 = 1" >>/etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF
$STD rc-update add sysctl default $STD rc-update add sysctl default
msg_ok "Disabled IPv6" msg_ok "Disabled IPv6"
fi fi

View File

@@ -627,11 +627,12 @@ advanced_settings() {
# IPv6 Address Management selection # IPv6 Address Management selection
while true; do while true; do
IPV6_METHOD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --menu \ IPV6_METHOD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --menu \
"Select IPv6 Address Management Type:" 15 58 4 \ "Select IPv6 Address Management Type:" 16 70 5 \
"auto" "SLAAC/AUTO (recommended, default)" \ "auto" "SLAAC/AUTO (recommended) - Dynamic IPv6 from network" \
"dhcp" "DHCPv6" \ "dhcp" "DHCPv6 - DHCP-assigned IPv6 address" \
"static" "Static (manual entry)" \ "static" "Static - Manual IPv6 address configuration" \
"none" "Disabled" \ "none" "None - No IPv6 assignment (most containers)" \
"disable" "Fully Disabled - (breaks some services)" \
--default-item "auto" 3>&1 1>&2 2>&3) --default-item "auto" 3>&1 1>&2 2>&3)
[ $? -ne 0 ] && exit_script [ $? -ne 0 ] && exit_script
@@ -680,7 +681,15 @@ advanced_settings() {
break break
;; ;;
none) none)
echo -e "${NETWORK}${BOLD}${DGN}IPv6: ${BGN}Disabled${CL}" echo -e "${NETWORK}${BOLD}${DGN}IPv6: ${BGN}None${CL}"
IPV6_ADDR="none"
IPV6_GATE=""
break
;;
disable)
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox \
"⚠️ WARNING - FULLY DISABLE IPv6:\n\nThis will completely disable IPv6 inside the container via sysctl.\n\nSide Effects:\n • Services requiring IPv6 will fail\n • Localhost IPv6 (::1) will not work\n • Some applications may not start\n\nOnly use if you have a specific reason to completely disable IPv6.\n\nFor most use cases, select 'None' instead." 14 70
echo -e "${NETWORK}${BOLD}${DGN}IPv6: ${BGN}Fully Disabled (IPv6 disabled via sysctl)${CL}"
IPV6_ADDR="none" IPV6_ADDR="none"
IPV6_GATE="" IPV6_GATE=""
break break

View File

@@ -15,12 +15,16 @@ load_functions
verb_ip6() { verb_ip6() {
set_std_mode # Set STD mode based on VERBOSE set_std_mode # Set STD mode based on VERBOSE
if [ "$IPV6_METHOD" == "none" ] || [ "$DISABLEIPV6" == "yes" ]; then if [ "$IPV6_METHOD" == "disable" ]; then
msg_info "Disabling IPv6" msg_info "Disabling IPv6 (this may affect some services)"
$STD echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf mkdir -p /etc/sysctl.d
$STD echo "net.ipv6.conf.default.disable_ipv6 = 1" >>/etc/sysctl.conf $STD tee /etc/sysctl.d/99-disable-ipv6.conf >/dev/null <<EOF
$STD echo "net.ipv6.conf.lo.disable_ipv6 = 1" >>/etc/sysctl.conf # Disable IPv6 (set by community-scripts)
$STD sysctl -p net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF
$STD sysctl -p /etc/sysctl.d/99-disable-ipv6.conf
msg_ok "Disabled IPv6" msg_ok "Disabled IPv6"
fi fi
} }