# Large mixed run — 30 URLs, 20 expected to succeed and 10 to fail, covering # all five failure classes (dns/connect/timeout/tls/http) at once. A bigger # sibling of mixed.txt, and a good demo of the multi-URL summary footer # (only shown when more than one URL is probed) — the footer tallies exactly # how many of the 10 fall into each class, since the single worst exit code # can't show that on its own. # # --timeout 2s shortens the two timeout entries from the 10s default; --fail # is required for the two 404s to count as failures (without it they're # "successful" 404 responses, per Go http.DefaultClient semantics, and only # 8 of the 30 would fail). # # Requires internet access. # # Run: uv run python -m hxprobe --fail --timeout 2s -f configs/large-mixed.txt # Expected exit code: 6 (http wins — the highest class present) # Expected: at least 10 of 30 fail, spanning all 5 classes. The *exact* # per-class mix can shift with network conditions — same caveat as # tls-errors.txt (badssl.com may reset/timeout instead of a clean TLS error) # and timeout.txt (a sandboxed network may refuse instantly instead of # timing out); a couple of the "OK" sites were swapped out during testing # for being unreliable in some sandboxes (Wikipedia's bot detection, # httpbin.org's frequent overload). Verified by an actual run: # 30 URLs — 20 ok, 10 failed (dns: 2, connect: 3, timeout: 1, tls: 2, # http: 2) → exit 6. # ── OK (20) ────────────────────────────────────────────────────────────── https://example.com https://example.org https://example.net https://www.google.com https://www.iana.org https://github.com https://www.debian.org https://www.postgresql.org https://www.mozilla.org https://developer.mozilla.org https://www.python.org https://pypi.org https://www.cloudflare.com https://www.apache.org https://www.rust-lang.org https://go.dev https://nodejs.org https://www.w3.org https://www.ietf.org https://stackoverflow.com # ── DNS failure (2) — .invalid is IANA-reserved, RFC 2606 ────────────────── https://this-host-does-not-exist.invalid http://no.such.host.invalid # ── Connection refused (2) — loopback ports with no listener ─────────────── http://127.0.0.1:9999 http://127.0.0.1:19999 # ── Timeout (2) — RFC 5737 TEST-NET-1, non-routable ───────────────────────── http://10.255.255.1/ http://192.0.2.1/ # ── TLS certificate errors (2) — badssl.com ───────────────────────────────── https://expired.badssl.com/ https://self-signed.badssl.com/ # ── HTTP errors (2) — real 404s, need --fail to count as failures ────────── https://www.google.com/this-page-does-not-exist-at-all-1234567890 https://github.com/this-repo-does-not-exist-abcxyz123/no-way