npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

accessyo

v0.1.0

Published

Network debugging CLI — see why your users can't connect

Downloads

13

Readme

Accessyo

Stop guessing why your users can't connect — see it from their network.

CI License: MIT

Work in progress. Not yet published to npm.

🌐 accessyo.com


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.com

Multiple domains (compact summary + auto-details for failures):

npx accessyo example.com api.example.com cdn.example.com

Options:

--timeout <ms>   per-check timeout in milliseconds (default: 5000)
--json           output results as JSON
npx accessyo example.com --json
npx accessyo example.com --timeout 3000

How diagnosis works

Accessyo runs checks in order:

  1. DNS
  2. TCP (port 443)
  3. TLS handshake
  4. 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 --json

Batch (multiple hosts):

npx accessyo example.com api.example.com cdn.example.com --json

Single 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 data
  • summary.ok: final pass/fail boolean for automation
  • summary.problem: short root-cause label when failed
  • summary.likelyCause: human-readable likely cause
  • summary.whatYouCanDo: suggested next actions
  • summary.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:

  • 0 when all checked hosts are OK
  • 1 when any checked host fails (single or batch, including --json mode)
  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.


License

MIT