Merge branch 'fix-port-forwarding' into 'master'

Update VPN configuration to ask for port forwarding

Closes #42

See merge request rogs/yams!23
This commit is contained in:
Roger Gonzalez 2025-01-11 22:13:44 +00:00
commit 32d606c8de
2 changed files with 32 additions and 4 deletions

View File

@ -273,8 +273,16 @@ configure_vpn() {
read -p "VPN username (without spaces): " vpn_user
[ -z "$vpn_user" ] && log_error "VPN username cannot be empty"
# Port forwarding configuration
echo
log_info "Port forwarding allows for better connectivity in certain applications."
log_info "However, not all VPN providers support this feature."
log_info "Please check your VPN provider's documentation to see if they support port forwarding."
read -p "Enable port forwarding? (y/N) [Default = n]: " enable_port_forwarding
enable_port_forwarding=${enable_port_forwarding:-"n"}
# Handle special cases for VPN providers
if [ "$vpn_service" = "protonvpn" ] && [[ ! "$vpn_user" =~ \+pmp$ ]]; then
if [ "$vpn_service" = "protonvpn" ] && [ "${enable_port_forwarding,,}" = "y" ] && [[ ! "$vpn_user" =~ \+pmp$ ]]; then
vpn_user="${vpn_user}+pmp"
log_info "Added +pmp suffix to username for ProtonVPN port forwarding"
fi
@ -312,7 +320,7 @@ configure_vpn() {
fi
# Export for use in other functions
export vpn_service vpn_user vpn_password setup_vpn
export vpn_service vpn_user vpn_password setup_vpn enable_port_forwarding
}
running_services_location() {
@ -444,9 +452,15 @@ fi
# Configure VPN settings if enabled
if [ "${setup_vpn,,}" == "y" ]; then
log_info "Configuring VPN settings..."
local port_forward_settings="off"
[ "${enable_port_forwarding,,}" = "y" ] && port_forward_settings="on"
sed -i -e "s|vpn_service|$vpn_service|g" \
-e "s|vpn_user|$vpn_user|g" \
-e "s|vpn_password|$vpn_password|g" \
-e "s|PORT_FORWARD_ONLY=on|PORT_FORWARD_ONLY=$port_forward_settings|g" \
-e "s|VPN_PORT_FORWARDING=on|VPN_PORT_FORWARDING=$port_forward_settings|g" \
-e 's|#network_mode: "service:gluetun"|network_mode: "service:gluetun"|g' \
-e 's|ports: # qbittorrent|#ports: # qbittorrent|g' \
-e 's|ports: # sabnzbd|#ports: # sabnzbd|g' \

View File

@ -206,8 +206,16 @@ configure_vpn() {
read -p "VPN username (without spaces): " vpn_user
[ -z "$vpn_user" ] && log_error "VPN username cannot be empty"
# Port forwarding configuration
echo
log_info "Port forwarding allows for better connectivity in certain applications."
log_info "However, not all VPN providers support this feature."
log_info "Please check your VPN provider's documentation to see if they support port forwarding."
read -p "Enable port forwarding? (y/N) [Default = n]: " enable_port_forwarding
enable_port_forwarding=${enable_port_forwarding:-"n"}
# Handle special cases for VPN providers
if [ "$vpn_service" = "protonvpn" ] && [[ ! "$vpn_user" =~ \+pmp$ ]]; then
if [ "$vpn_service" = "protonvpn" ] && [ "${enable_port_forwarding,,}" = "y" ] && [[ ! "$vpn_user" =~ \+pmp$ ]]; then
vpn_user="${vpn_user}+pmp"
log_info "Added +pmp suffix to username for ProtonVPN port forwarding"
fi
@ -245,7 +253,7 @@ configure_vpn() {
fi
# Export for use in other functions
export vpn_service vpn_user vpn_password setup_vpn
export vpn_service vpn_user vpn_password setup_vpn enable_port_forwarding
}
running_services_location() {
@ -370,9 +378,15 @@ fi
# Configure VPN settings if enabled
if [ "${setup_vpn,,}" == "y" ]; then
log_info "Configuring VPN settings..."
local port_forward_settings="off"
[ "${enable_port_forwarding,,}" = "y" ] && port_forward_settings="on"
sed -i -e "s|vpn_service|$vpn_service|g" \
-e "s|vpn_user|$vpn_user|g" \
-e "s|vpn_password|$vpn_password|g" \
-e "s|PORT_FORWARD_ONLY=on|PORT_FORWARD_ONLY=$port_forward_settings|g" \
-e "s|VPN_PORT_FORWARDING=on|VPN_PORT_FORWARDING=$port_forward_settings|g" \
-e 's|#network_mode: "service:gluetun"|network_mode: "service:gluetun"|g' \
-e 's|ports: # qbittorrent|#ports: # qbittorrent|g' \
-e 's|ports: # sabnzbd|#ports: # sabnzbd|g' \