diff --git a/advanced/index.php b/advanced/index.php
index 8f33cf5d..a38cd365 100644
--- a/advanced/index.php
+++ b/advanced/index.php
@@ -78,7 +78,7 @@ if ($serverName === "pi.hole"
diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh
index 07683204..eb52aea3 100755
--- a/automated install/basic-install.sh
+++ b/automated install/basic-install.sh
@@ -1025,9 +1025,8 @@ valid_ip() {
# Regex matching one IPv4 component, i.e. an integer from 0 to 255.
# See https://tools.ietf.org/html/rfc1340
local ipv4elem="(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|0)";
- # Regex matching an optional port beginning with : from 0 to 65535
- # See https://tools.ietf.org/html/rfc1340#page-33
- local portelem="(:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))?";
+ # Regex matching an optional port (starting with '#') range of 1-65536
+ local portelem="(#(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))?";
# Build a full IPv4 regex from the above subexpressions
local regex="^${ipv4elem}\.${ipv4elem}\.${ipv4elem}\.${ipv4elem}${portelem}$"
@@ -1046,8 +1045,8 @@ valid_ip6() {
local ipv6elem="[0-9a-fA-F]{1,4}"
# Regex matching an IPv6 CIDR, i.e. 1 to 128
local v6cidr="(\\/([1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8])){0,1}"
- # Regex matching an optional port beginning with # matching optional port number starting '#' with range of 1-65536
- local portelem="(#([1-9]|[1-8][0-9]|9[0-9]|[1-8][0-9]{2}|9[0-8][0-9]|99[0-9]|[1-8][0-9]{3}|9[0-8][0-9]{2}|99[0-8][0-9]|999[0-9]|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-6]))?"
+ # Regex matching an optional port (starting with '#') range of 1-65536
+ local portelem="(#(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}|0))?";
# Build a full IPv6 regex from the above subexpressions
local regex="^(((${ipv6elem}))*((:${ipv6elem}))*::((${ipv6elem}))*((:${ipv6elem}))*|((${ipv6elem}))((:${ipv6elem})){7})${v6cidr}${portelem}$"
diff --git a/test/test_automated_install.py b/test/test_automated_install.py
index 1266f46b..44624082 100644
--- a/test/test_automated_install.py
+++ b/test/test_automated_install.py
@@ -546,23 +546,23 @@ def test_validate_ip(Pihole):
test_address('256.255.255.255', False)
test_address('1092.168.1.1', False)
test_address('not an IP', False)
- test_address('8.8.8.8:', False)
- test_address('8.8.8.8:0')
- test_address('8.8.8.8:1')
- test_address('8.8.8.8:42')
- test_address('8.8.8.8:888')
- test_address('8.8.8.8:1337')
- test_address('8.8.8.8:65535')
- test_address('8.8.8.8:65536', False)
- test_address('8.8.8.8:-1', False)
+ test_address('8.8.8.8#', False)
+ test_address('8.8.8.8#0')
+ test_address('8.8.8.8#1')
+ test_address('8.8.8.8#42')
+ test_address('8.8.8.8#888')
+ test_address('8.8.8.8#1337')
+ test_address('8.8.8.8#65535')
+ test_address('8.8.8.8#65536', False)
+ test_address('8.8.8.8#-1', False)
test_address('00.0.0.0', False)
test_address('010.0.0.0', False)
test_address('001.0.0.0', False)
- test_address('0.0.0.0:00', False)
- test_address('0.0.0.0:01', False)
- test_address('0.0.0.0:001', False)
- test_address('0.0.0.0:0001', False)
- test_address('0.0.0.0:00001', False)
+ test_address('0.0.0.0#00', False)
+ test_address('0.0.0.0#01', False)
+ test_address('0.0.0.0#001', False)
+ test_address('0.0.0.0#0001', False)
+ test_address('0.0.0.0#00001', False)
def test_os_check_fails(Pihole):