{
  "recordedAt": "2026-10-02T19:30:01.997Z",
  "allowedHost": "example.com",
  "blockedHost": "example.org",
  "policyProxy": "http://127.0.0.1:41745",
  "authProxy": "http://127.0.0.1:42119",
  "cases": {
    "curl 8.15.0": {
      "version": "curl 8.15.0 (x86_64-pc-linux-gnu) libcurl/8.15.0 OpenSSL/3.5.1 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 c-ares/1.34.5 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.66.0 nghttp3/1.10.1",
      "httpsBlockedVerbose": {
        "command": "curl-8.15.0 --disable -v -sS -o /dev/null -x http://127.0.0.1:41745 https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "*   Trying 127.0.0.1:41745...\n* CONNECT tunnel: HTTP/1.1 negotiated\n* allocate connect buffer\n* Establish HTTP proxy tunnel to example.org:443\n> CONNECT example.org:443 HTTP/1.1\r\n> Host: example.org:443\r\n> User-Agent: curl/8.15.0\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Content-Length: 32\r\n< Connection: close\r\n< \r\n* CONNECT tunnel failed, response 403\n* closing connection #0\ncurl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpsAllowed": {
        "command": "curl-8.15.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 connect=200 exit=0\n",
        "stderr": ""
      },
      "httpsBlockedWriteOut": {
        "command": "curl-8.15.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpBlockedVerbose": {
        "command": "curl-8.15.0 --disable -v -sS -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 0,
        "stdout": "403 Forbidden: lab proxy policy\n",
        "stderr": "*   Trying 127.0.0.1:41745...\n* Connected to 127.0.0.1 (127.0.0.1) port 41745\n* using HTTP/1.x\n> GET http://example.org/ HTTP/1.1\r\n> Host: example.org\r\n> User-Agent: curl/8.15.0\r\n> Accept: */*\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n* Request completely sent off\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n{ [43 bytes data]\n* shutting down connection #0\n"
      },
      "httpBlockedFail": {
        "command": "curl-8.15.0 --disable -sS --fail -o /dev/null -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 22,
        "stdout": "",
        "stderr": "curl: (22) The requested URL returned error: 403\n"
      },
      "httpAllowed": {
        "command": "curl-8.15.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} exit=%{exitcode}\n http://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 exit=0\n",
        "stderr": ""
      },
      "https407": {
        "command": "curl-8.15.0 --disable -sS -o /dev/null -x http://127.0.0.1:42119 https://example.com/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "curl: (56) CONNECT tunnel failed, response 407\n"
      },
      "httpsAllowedHostPort8443": {
        "command": "curl-8.15.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com:8443/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      }
    },
    "curl 8.16.0": {
      "version": "curl 8.16.0 (x86_64-pc-linux-gnu) libcurl/8.16.0 OpenSSL/3.5.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 c-ares/1.34.5 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.67.0 nghttp3/1.11.0",
      "httpsBlockedVerbose": {
        "command": "curl-8.16.0 --disable -v -sS -o /dev/null -x http://127.0.0.1:41745 https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "*   Trying 127.0.0.1:41745...\n* CONNECT: no ALPN negotiated\n* allocate connect buffer\n* Establish HTTP proxy tunnel to example.org:443\n> CONNECT example.org:443 HTTP/1.1\r\n> Host: example.org:443\r\n> User-Agent: curl/8.16.0\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Content-Length: 32\r\n< Connection: close\r\n< \r\n* CONNECT tunnel failed, response 403\n* closing connection #0\ncurl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpsAllowed": {
        "command": "curl-8.16.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 connect=200 exit=0\n",
        "stderr": ""
      },
      "httpsBlockedWriteOut": {
        "command": "curl-8.16.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpBlockedVerbose": {
        "command": "curl-8.16.0 --disable -v -sS -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 0,
        "stdout": "403 Forbidden: lab proxy policy\n",
        "stderr": "*   Trying 127.0.0.1:41745...\n* Established connection to 127.0.0.1 (127.0.0.1 port 41745) from 127.0.0.1 port 58046 \n* using HTTP/1.x\n> GET http://example.org/ HTTP/1.1\r\n> Host: example.org\r\n> User-Agent: curl/8.16.0\r\n> Accept: */*\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n* Request completely sent off\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n{ [43 bytes data]\n* shutting down connection #0\n"
      },
      "httpBlockedFail": {
        "command": "curl-8.16.0 --disable -sS --fail -o /dev/null -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 22,
        "stdout": "",
        "stderr": "curl: (22) The requested URL returned error: 403\n"
      },
      "httpAllowed": {
        "command": "curl-8.16.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} exit=%{exitcode}\n http://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 exit=0\n",
        "stderr": ""
      },
      "https407": {
        "command": "curl-8.16.0 --disable -sS -o /dev/null -x http://127.0.0.1:42119 https://example.com/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "curl: (56) CONNECT tunnel failed, response 407\n"
      },
      "httpsAllowedHostPort8443": {
        "command": "curl-8.16.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com:8443/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      }
    },
    "curl 8.17.0": {
      "version": "curl 8.17.0 (x86_64-pc-linux-gnu) libcurl/8.17.0 OpenSSL/3.6.0 zlib/1.3.1 brotli/1.2.0 zstd/1.5.7 c-ares/1.34.5 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.68.0 nghttp3/1.12.0",
      "httpsBlockedVerbose": {
        "command": "curl-8.17.0 --disable -v -sS -o /dev/null -x http://127.0.0.1:41745 https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "*   Trying 127.0.0.1:41745...\n* CONNECT: no ALPN negotiated\n* allocate connect buffer\n* Establish HTTP proxy tunnel to example.org:443\n> CONNECT example.org:443 HTTP/1.1\r\n> Host: example.org:443\r\n> User-Agent: curl/8.17.0\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Content-Length: 32\r\n< Connection: close\r\n< \r\n* CONNECT tunnel failed, response 403\n* closing connection #0\ncurl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpsAllowed": {
        "command": "curl-8.17.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 connect=200 exit=0\n",
        "stderr": ""
      },
      "httpsBlockedWriteOut": {
        "command": "curl-8.17.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.org/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      },
      "httpBlockedVerbose": {
        "command": "curl-8.17.0 --disable -v -sS -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 0,
        "stdout": "403 Forbidden: lab proxy policy\n",
        "stderr": "*   Trying 127.0.0.1:41745...\n* Established connection to 127.0.0.1 (127.0.0.1 port 41745) from 127.0.0.1 port 58082 \n* using HTTP/1.x\n> GET http://example.org/ HTTP/1.1\r\n> Host: example.org\r\n> User-Agent: curl/8.17.0\r\n> Accept: */*\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n* Request completely sent off\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n{ [43 bytes data]\n* shutting down connection #0\n"
      },
      "httpBlockedFail": {
        "command": "curl-8.17.0 --disable -sS --fail -o /dev/null -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 22,
        "stdout": "",
        "stderr": "curl: (22) The requested URL returned error: 403\n"
      },
      "httpAllowed": {
        "command": "curl-8.17.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} exit=%{exitcode}\n http://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 exit=0\n",
        "stderr": ""
      },
      "https407": {
        "command": "curl-8.17.0 --disable -sS -o /dev/null -x http://127.0.0.1:42119 https://example.com/",
        "env": {},
        "exitCode": 56,
        "stdout": "",
        "stderr": "curl: (56) CONNECT tunnel failed, response 407\n"
      },
      "httpsAllowedHostPort8443": {
        "command": "curl-8.17.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com:8443/",
        "env": {},
        "exitCode": 56,
        "stdout": "http=000 connect=403 exit=56\n",
        "stderr": "curl: (56) CONNECT tunnel failed, response 403\n"
      }
    },
    "curl 8.18.0": {
      "version": "curl 8.18.0 (x86_64-pc-linux-gnu) libcurl/8.18.0 OpenSSL/3.5.5 zlib/1.3.1 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.2 libssh2/1.11.1 nghttp2/1.68.0 librtmp/2.3 mit-krb5/1.22.1 OpenLDAP/2.6.10",
      "httpsBlockedVerbose": {
        "command": "curl --disable -v -sS -o /dev/null -x http://127.0.0.1:41745 https://example.org/",
        "env": {},
        "exitCode": 7,
        "stdout": "",
        "stderr": "*   Trying 127.0.0.1:41745...\n* CONNECT: no ALPN negotiated\n* allocate connect buffer\n* Establish HTTP proxy tunnel to example.org:443\n> CONNECT example.org:443 HTTP/1.1\r\n> Host: example.org:443\r\n> User-Agent: curl/8.18.0\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Content-Length: 32\r\n< Connection: close\r\n< \r\n* CONNECT tunnel failed, response 403\n* closing connection #0\ncurl: (7) CONNECT tunnel failed, response 403\n"
      },
      "httpsAllowed": {
        "command": "curl --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 connect=200 exit=0\n",
        "stderr": ""
      },
      "httpsBlockedWriteOut": {
        "command": "curl --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.org/",
        "env": {},
        "exitCode": 7,
        "stdout": "http=000 connect=403 exit=7\n",
        "stderr": "curl: (7) CONNECT tunnel failed, response 403\n"
      },
      "httpBlockedVerbose": {
        "command": "curl --disable -v -sS -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 0,
        "stdout": "403 Forbidden: lab proxy policy\n",
        "stderr": "*   Trying 127.0.0.1:41745...\n* Established connection to 127.0.0.1 (127.0.0.1 port 41745) from 127.0.0.1 port 58150 \n* using HTTP/1.x\n> GET http://example.org/ HTTP/1.1\r\n> Host: example.org\r\n> User-Agent: curl/8.18.0\r\n> Accept: */*\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n* Request completely sent off\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n{ [43 bytes data]\n* shutting down connection #0\n"
      },
      "httpBlockedFail": {
        "command": "curl --disable -sS --fail -o /dev/null -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 22,
        "stdout": "",
        "stderr": "curl: (22) The requested URL returned error: 403\n"
      },
      "httpAllowed": {
        "command": "curl --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} exit=%{exitcode}\n http://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 exit=0\n",
        "stderr": ""
      },
      "https407": {
        "command": "curl --disable -sS -o /dev/null -x http://127.0.0.1:42119 https://example.com/",
        "env": {},
        "exitCode": 7,
        "stdout": "",
        "stderr": "curl: (7) CONNECT tunnel failed, response 407\n"
      },
      "httpsAllowedHostPort8443": {
        "command": "curl --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com:8443/",
        "env": {},
        "exitCode": 7,
        "stdout": "http=000 connect=403 exit=7\n",
        "stderr": "curl: (7) CONNECT tunnel failed, response 403\n"
      }
    },
    "curl 8.22.0": {
      "version": "curl 8.22.0 (x86_64-pc-linux-gnu) libcurl/8.22.0 OpenSSL/4.0.2 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 c-ares/1.34.8 libidn2/2.3.8 libpsl/0.23.3 libssh2/1.11.1 nghttp2/1.70.0 ngtcp2/1.25.0 nghttp3/1.18.0",
      "httpsBlockedVerbose": {
        "command": "curl-8.22.0 --disable -v -sS -o /dev/null -x http://127.0.0.1:41745 https://example.org/",
        "env": {},
        "exitCode": 7,
        "stdout": "",
        "stderr": "* HTTPS-RR example.org:443: 1 . alpn=h3,h2 ipv6hint=2606:4700:10::6814:1a88,2606:4700:10::ac42:9ded ipv4hint=104.20.26.136,172.66.157.237\n*   Trying 127.0.0.1:41745...\n* CONNECT-UDP: no ALPN negotiated\n* Establishing HTTP proxy UDP tunnel to example.org:443\n> GET http://127.0.0.1:41745/.well-known/masque/udp/example.org/443/ HTTP/1.1\r\n> Host: 127.0.0.1:41745\r\n> User-Agent: curl/8.22.0\r\n> Proxy-Connection: Keep-Alive\r\n> Connection: Upgrade\r\n> Upgrade: connect-udp\r\n> Capsule-Protocol: ?1\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n* CONNECT-UDP tunnel failed, response 403\n*   Trying 127.0.0.1:41745...\n* CONNECT: no ALPN negotiated\n* Establishing HTTP proxy tunnel to example.org:443\n> CONNECT example.org:443 HTTP/1.1\r\n> Host: example.org:443\r\n> User-Agent: curl/8.22.0\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Content-Length: 32\r\n< Connection: close\r\n< \r\n* CONNECT tunnel failed, response 403\n* closing connection #0\ncurl: (7) CONNECT tunnel failed, response 403\n"
      },
      "httpsAllowed": {
        "command": "curl-8.22.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 connect=200 exit=0\n",
        "stderr": ""
      },
      "httpsBlockedWriteOut": {
        "command": "curl-8.22.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.org/",
        "env": {},
        "exitCode": 7,
        "stdout": "http=000 connect=403 exit=7\n",
        "stderr": "curl: (7) CONNECT tunnel failed, response 403\n"
      },
      "httpBlockedVerbose": {
        "command": "curl-8.22.0 --disable -v -sS -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 0,
        "stdout": "403 Forbidden: lab proxy policy\n",
        "stderr": "*   Trying 127.0.0.1:41745...\n* Established connection to 127.0.0.1 (127.0.0.1 port 41745) from 127.0.0.1 port 58202 \n* using HTTP/1.x\n> GET http://example.org/ HTTP/1.1\r\n> Host: example.org\r\n> User-Agent: curl/8.22.0\r\n> Accept: */*\r\n> Proxy-Connection: Keep-Alive\r\n> \r\n* Request completely sent off\n< HTTP/1.1 403 Forbidden\r\n< Content-Type: text/plain\r\n< Connection: close\r\n< Date: Fri, 02 Oct 2026 19:30:00 GMT\r\n< Transfer-Encoding: chunked\r\n< \r\n{ [43 bytes data]\n* shutting down connection #0\n"
      },
      "httpBlockedFail": {
        "command": "curl-8.22.0 --disable -sS --fail -o /dev/null -x http://127.0.0.1:41745 http://example.org/",
        "env": {},
        "exitCode": 22,
        "stdout": "",
        "stderr": "curl: (22) The requested URL returned error: 403\n"
      },
      "httpAllowed": {
        "command": "curl-8.22.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} exit=%{exitcode}\n http://example.com/",
        "env": {},
        "exitCode": 0,
        "stdout": "http=200 exit=0\n",
        "stderr": ""
      },
      "https407": {
        "command": "curl-8.22.0 --disable -sS -o /dev/null -x http://127.0.0.1:42119 https://example.com/",
        "env": {},
        "exitCode": 7,
        "stdout": "",
        "stderr": "curl: (7) CONNECT tunnel failed, response 407\n"
      },
      "httpsAllowedHostPort8443": {
        "command": "curl-8.22.0 --disable -sS -o /dev/null -x http://127.0.0.1:41745 -w http=%{http_code} connect=%{http_connect} exit=%{exitcode}\n https://example.com:8443/",
        "env": {},
        "exitCode": 7,
        "stdout": "http=000 connect=403 exit=7\n",
        "stderr": "curl: (7) CONNECT tunnel failed, response 403\n"
      }
    },
    "python": {
      "version": "3.14.4 requests 2.34.2 urllib3 2.8.0",
      "httpsBlocked": {
        "command": "python3 -c \nimport requests, sys\nproxies = {\"http\": \"http://127.0.0.1:41745\", \"https\": \"http://127.0.0.1:41745\"}\ntry:\n    r = requests.get(\"https://example.org/\", proxies=proxies, timeout=15)\n    print(\"status\", r.status_code, repr(r.text))\nexcept Exception as e:\n    print(type(e).__module__ + \".\" + type(e).__qualname__)\n    print(str(e))\n",
        "env": {},
        "exitCode": 0,
        "stdout": "requests.exceptions.ProxyError\nHTTPSConnectionPool(host='example.org', port=443): Max retries exceeded with url: / (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 403 Forbidden')))\n",
        "stderr": ""
      },
      "httpsAllowed": {
        "command": "python3 -c \nimport requests, sys\nproxies = {\"http\": \"http://127.0.0.1:41745\", \"https\": \"http://127.0.0.1:41745\"}\ntry:\n    r = requests.get(\"https://example.com/\", proxies=proxies, timeout=15)\n    print(\"status\", r.status_code, len(r.text))\nexcept Exception as e:\n    print(type(e).__module__ + \".\" + type(e).__qualname__)\n    print(str(e))\n",
        "env": {},
        "exitCode": 0,
        "stdout": "status 200 577\n",
        "stderr": ""
      },
      "httpBlocked": {
        "command": "python3 -c \nimport requests, sys\nproxies = {\"http\": \"http://127.0.0.1:41745\", \"https\": \"http://127.0.0.1:41745\"}\ntry:\n    r = requests.get(\"http://example.org/\", proxies=proxies, timeout=15)\n    print(\"status\", r.status_code, repr(r.text))\nexcept Exception as e:\n    print(type(e).__module__ + \".\" + type(e).__qualname__)\n    print(str(e))\n",
        "env": {},
        "exitCode": 0,
        "stdout": "status 403 '403 Forbidden: lab proxy policy\\n'\n",
        "stderr": ""
      }
    },
    "node": {
      "version": "v24.20.0",
      "httpsBlocked": {
        "command": "node --input-type=module -e \ntry {\n  const r = await fetch(\"https://example.org/\", { signal: AbortSignal.timeout(15000) });\n  console.log('status', r.status);\n} catch (e) {\n  let depth = 0;\n  for (let err = e; err; err = err.cause, depth++) console.log('depth ' + depth + ': ' + err.constructor.name + (err.code ? ' [' + err.code + ']' : '') + ': ' + err.message);\n}",
        "env": {
          "NODE_USE_ENV_PROXY": "1",
          "HTTPS_PROXY": "http://127.0.0.1:41745",
          "HTTP_PROXY": "http://127.0.0.1:41745"
        },
        "exitCode": 0,
        "stdout": "depth 0: TypeError: fetch failed\ndepth 1: DOMException: Request was cancelled.\ndepth 2: RequestAbortedError [UND_ERR_ABORTED]: Proxy response (403) !== 200 when HTTP Tunneling\n",
        "stderr": ""
      },
      "httpsAllowed": {
        "command": "node --input-type=module -e \ntry {\n  const r = await fetch(\"https://example.com/\", { signal: AbortSignal.timeout(15000) });\n  console.log('status', r.status);\n} catch (e) {\n  let depth = 0;\n  for (let err = e; err; err = err.cause, depth++) console.log('depth ' + depth + ': ' + err.constructor.name + (err.code ? ' [' + err.code + ']' : '') + ': ' + err.message);\n}",
        "env": {
          "NODE_USE_ENV_PROXY": "1",
          "HTTPS_PROXY": "http://127.0.0.1:41745",
          "HTTP_PROXY": "http://127.0.0.1:41745"
        },
        "exitCode": 0,
        "stdout": "status 200\n",
        "stderr": ""
      },
      "httpBlocked": {
        "command": "node --input-type=module -e \ntry {\n  const r = await fetch(\"http://example.org/\", { signal: AbortSignal.timeout(15000) });\n  console.log('status', r.status);\n} catch (e) {\n  let depth = 0;\n  for (let err = e; err; err = err.cause, depth++) console.log('depth ' + depth + ': ' + err.constructor.name + (err.code ? ' [' + err.code + ']' : '') + ': ' + err.message);\n}",
        "env": {
          "NODE_USE_ENV_PROXY": "1",
          "HTTPS_PROXY": "http://127.0.0.1:41745",
          "HTTP_PROXY": "http://127.0.0.1:41745"
        },
        "exitCode": 0,
        "stdout": "depth 0: TypeError: fetch failed\ndepth 1: DOMException: Request was cancelled.\ndepth 2: RequestAbortedError [UND_ERR_ABORTED]: Proxy response (403) !== 200 when HTTP Tunneling\n",
        "stderr": ""
      }
    }
  },
  "proxyLog": [
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.com"
    },
    {
      "port": 42119,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:8443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.com"
    },
    {
      "port": 42119,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:8443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.com"
    },
    {
      "port": 42119,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:8443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.com"
    },
    {
      "port": 42119,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:8443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "127.0.0.1:41745"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "127.0.0.1:41745"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.com"
    },
    {
      "port": 42119,
      "method": "GET",
      "target": "127.0.0.1:42119"
    },
    {
      "port": 42119,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:8443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "GET",
      "target": "example.org"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.com:443"
    },
    {
      "port": 41745,
      "method": "CONNECT",
      "target": "example.org:80"
    }
  ]
}
