fix(ci): harden dns fake-ip assertions across linux distros

This commit is contained in:
tianrking committed 2026-03-20 18:25:57 +08:00
1 parent 00e7f36aee
commit 4b4dac70e4
1 file changed
+2 -2
+2 -2
View File
@@ -110,11 +110,11 @@ jobs:
DNS_V4="$(cargo run -q -p proxychains-bin -- -q -f ./ci.e2e.conf python3 -c "import socket;print(socket.getaddrinfo(\"dns-proxychains-e2e.invalid\",443,0,socket.SOCK_STREAM)[0][4][0])" | tr -d "\r\n")"
echo "dns v4 fake ip: ${DNS_V4}"
DNS_V4="${DNS_V4}" python3 -c "import ipaddress, os; ip = ipaddress.ip_address(os.environ['DNS_V4']); assert ip.version == 4 and ip in ipaddress.ip_network('224.0.0.0/8')"
DNS_V4="${DNS_V4}" python3 -c "import ipaddress, os; n = ipaddress.ip_network(\"224.0.0.0/8\"); ip = ipaddress.ip_address(os.environ[\"DNS_V4\"]); mapped = getattr(ip, \"ipv4_mapped\", None); ok = (ip.version == 4 and ip in n) or (ip.version == 6 and mapped is not None and mapped in n); assert ok"
DNS_V6="$(cargo run -q -p proxychains-bin -- -q -f ./ci.e2e.conf python3 -c "import socket;print(socket.getaddrinfo(\"dns-proxychains-e2e.invalid\",443,socket.AF_INET6,socket.SOCK_STREAM)[0][4][0])" | tr -d "\r\n")"
echo "dns v6 fake ip: ${DNS_V6}"
DNS_V6="${DNS_V6}" python3 -c "import ipaddress, os; ip = ipaddress.ip_address(os.environ['DNS_V6']); mapped = ip.ipv4_mapped; assert ip.version == 6 and mapped is not None and mapped in ipaddress.ip_network('224.0.0.0/8')"
DNS_V6="${DNS_V6}" python3 -c "import ipaddress, os; n = ipaddress.ip_network(\"224.0.0.0/8\"); lo_min = int(ipaddress.ip_address(\"224.0.0.0\")); lo_max = int(ipaddress.ip_address(\"239.255.255.255\")); ip = ipaddress.ip_address(os.environ[\"DNS_V6\"]); mapped = getattr(ip, \"ipv4_mapped\", None); v4compat = ip.version == 6 and (int(ip) >> 32) == 0 and lo_min <= (int(ip) & 0xffffffff) <= lo_max; v4mapped = ip.version == 6 and mapped is not None and mapped in n; assert v4compat or v4mapped"
PROXYCHAINS_TEST_SOCKS5_ADDR=127.0.0.1:19080 \
PROXYCHAINS_TEST_HTTP_ADDR=127.0.0.1:18080 \