bdb591af9e
- Added ipv6 listening to hosts when configured, fixes #236 and #149 - Added documentation about disabling ipv6 - Updated npm packages
47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# This command reads the `DISABLE_IPV6` env var and will either enable
|
||
# or disable ipv6 in all nginx configs based on this setting.
|
||
|
||
# Lowercase
|
||
DISABLE_IPV6=$(echo "${DISABLE_IPV6:-}" | tr '[:upper:]' '[:lower:]')
|
||
|
||
CYAN='\E[1;36m'
|
||
BLUE='\E[1;34m'
|
||
YELLOW='\E[1;33m'
|
||
RED='\E[1;31m'
|
||
RESET='\E[0m'
|
||
|
||
FOLDER=$1
|
||
if [ "$FOLDER" == "" ]; then
|
||
echo -e "${RED}❯ $0 requires a absolute folder path as the first argument!${RESET}"
|
||
echo -e "${YELLOW} ie: $0 /data/nginx${RESET}"
|
||
exit 1
|
||
fi
|
||
|
||
FILES=$(find "$FOLDER" -type f -name "*.conf")
|
||
if [ "$DISABLE_IPV6" == "true" ] || [ "$DISABLE_IPV6" == "on" ] || [ "$DISABLE_IPV6" == "1" ] || [ "$DISABLE_IPV6" == "yes" ]; then
|
||
# IPV6 is disabled
|
||
echo "Disabling IPV6 in hosts"
|
||
echo -e "${BLUE}❯ ${CYAN}Disabling IPV6 in hosts: ${YELLOW}${FOLDER}${RESET}"
|
||
|
||
# Iterate over configs and run the regex
|
||
for FILE in $FILES
|
||
do
|
||
echo -e " ${BLUE}❯ ${YELLOW}${FILE}${RESET}"
|
||
sed -E -i 's/^([^#]*)listen \[::\]/\1#listen [::]/g' "$FILE"
|
||
done
|
||
|
||
else
|
||
# IPV6 is enabled
|
||
echo -e "${BLUE}❯ ${CYAN}Enabling IPV6 in hosts: ${YELLOW}${FOLDER}${RESET}"
|
||
|
||
# Iterate over configs and run the regex
|
||
for FILE in $FILES
|
||
do
|
||
echo -e " ${BLUE}❯ ${YELLOW}${FILE}${RESET}"
|
||
sed -E -i 's/^(\s*)#listen \[::\]/\1listen [::]/g' "$FILE"
|
||
done
|
||
|
||
fi
|