accessyo
v0.1.0
Published
Network debugging CLI — see why your users can't connect
Downloads
13
Maintainers
Readme
Accessyo
Stop guessing why your users can't connect — see it from their network.
Work in progress. Not yet published to npm.
What is Accessyo?
Accessyo is a network debugging CLI that shows why your users can't connect — not just that something is down.
"Your server is fine. Your users still fail."
Current monitoring tools (UptimeRobot, Datadog) see your servers. They don't see:
- ISP-level issues (Orange, Vodafone, Comcast)
- VPN / corporate proxy problems
- DNS resolution failures
- TLS handshake errors
- CDN edge routing issues
- Browser-level blocks (CORS, extensions)
Accessyo does.
Status
The CLI is in active development. Currently supports:
- Network context (public IP, country, DNS resolver)
- DNS resolution (A, AAAA, CNAME records, TTL, resolver, split-horizon check vs 1.1.1.1)
- TCP connectivity check
- TLS handshake (protocol, cipher, certificate info + expiry, hostname match, HTTP/2 via ALPN)
- HTTP request (status, TTFB, redirects, IPv4/IPv6, browser UA comparison, CDN detection, WAF blocking, www/non-www canonical check, HSTS validation)
- Timings summary (per-check + total)
- Root cause diagnosis with actionable suggestions
- Batch mode — check multiple domains at once with per-domain warnings (HSTS, cert expiry, IPv6, split-horizon DNS, slow response)
Single domain (full detailed output):
npx accessyo example.comMultiple domains (compact summary + auto-details for failures):
npx accessyo example.com api.example.com cdn.example.comOptions:
--timeout <ms> per-check timeout in milliseconds (default: 5000)
--json output results as JSONnpx accessyo example.com --json
npx accessyo example.com --timeout 3000How diagnosis works
Accessyo runs checks in order:
- DNS
- TCP (port 443)
- TLS handshake
- HTTP request
Each step depends on the previous one. Example: if DNS fails, TCP/TLS/HTTP are skipped for that host.
At the end, Accessyo builds a summary with:
- overall status (
ok) - likely root cause (
problem,likelyCause) - actionable hints (
whatYouCanDo)
How to read output
✓ WORKING: all hard checks passed✗ NOT WORKING: one of DNS/TCP/TLS/HTTP failed⚠ warning: non-fatal issue (for example short HSTS, split-horizon DNS, slow response)
In batch mode, hosts with the same failure type are grouped and shown with one detailed diagnostic block.
JSON output (CI / integrations)
--json returns machine-readable output with no spinner/table formatting.
Single host:
npx accessyo example.com --jsonBatch (multiple hosts):
npx accessyo example.com api.example.com cdn.example.com --jsonSingle output shape:
{
"host": "example.com",
"timestamp": "2026-04-11T10:00:00.000Z",
"checks": {
"dns": { "ok": true, "durationMs": 12 },
"tcp": { "ok": true, "durationMs": 30 },
"tls": { "ok": true, "durationMs": 80 },
"http": { "ok": true, "durationMs": 150, "statusCode": 200 }
},
"summary": {
"ok": true,
"problem": null,
"likelyCause": null,
"whatYouCanDo": [],
"totalMs": 272
}
}Batch output is an array of the same objects.
Important fields:
checks.dns/checks.tcp/checks.tls/checks.http: raw check datasummary.ok: final pass/fail boolean for automationsummary.problem: short root-cause label when failedsummary.likelyCause: human-readable likely causesummary.whatYouCanDo: suggested next actionssummary.totalMs: summed runtime across checks
CI examples:
# Fail pipeline when any host is not OK
npx accessyo example.com api.example.com --json | jq -e 'all(.[]; .summary.ok == true)'
# Print failing hosts only
npx accessyo example.com api.example.com --json | jq -r '.[] | select(.summary.ok != true) | .host'
# Fail only when TLS fails
npx accessyo example.com api.example.com --json | jq -e 'all(.[]; .checks.tls == null or .checks.tls.ok == true)'Exit codes:
0when all checked hosts are OK1when any checked host fails (single or batch, including--jsonmode)
example.com ✓ WORKING
api.example.com ✗ NOT WORKING (TLS)
cdn.example.com ✓ WORKING
────────────────────────────────────────
1 working, 2 failing
api.example.com
✗ TLS
certificate has expired
...Domains failing with the same error are grouped into a single debug block.
Known limitations
- Some CDNs may rate-limit quick consecutive probes; IPv4/IPv6 quick checks can show timeout warnings.
- DNS comparison for split-horizon currently uses system resolver vs
1.1.1.1. - Results depend on your local network path (ISP, VPN, corporate proxy, firewall).
Not yet published to npm. Follow the repo to stay updated.
Open source
Accessyo CLI is open source (MIT). The backend, dashboard, alerting, and root cause engine are proprietary.
This is an open-core model.
