Skip to content

Repository files navigation

isdown

Check if a service is down. From your terminal.

CI License: MIT


A fast CLI tool that checks the live status of third-party services by querying their public status APIs. No API keys needed.

$ isdown check github slack

GitHub:  Up
Slack:   Degraded
  · Slow API (investigating)

Installation

From source (requires Rust toolchain)

git clone https://github.com/dariush624/isdown.git
cd isdown
cargo install --path .

Usage

Check one or more services

isdown check github
isdown check github slack aws cloudflare

Check any URL

isdown check https://example.com
isdown check github https://my-api.example.com

JSON output

isdown check github slack --json
[
  {
    "Success": {
      "provider": "GitHub",
      "status": "Up",
      "causes": []
    }
  },
  {
    "Success": {
      "provider": "Slack",
      "status": "Up",
      "causes": []
    }
  }
]

Custom timeout

isdown -t 5 check aws

Options

Flag Default Description
-t, --timeout 10 Request timeout in seconds
-j, --json off Output results as JSON

How It Works

isdown queries public status APIs for each service:

  • Statuspage-based services (GitHub, Cloudflare, Discord, etc.) use the Atlassian Statuspage /api/v2/summary.json endpoint
  • AWS parses the AWS Health Dashboard events feed, reporting per-service and per-region incidents
  • URL targets perform a simple HTTP GET and report Up (200) or Down (non-200)

Contributing

Contributions are welcome! To add a new Statuspage-based service, it's a one-liner:

// in src/check/statuspageio.rs
statuspage_provider!(MyServiceCheck, "MyService", "status.myservice.com");

Then register it in src/registry.rs and src/check.rs.

# Run tests
cargo test

# Run lints
cargo clippy
cargo fmt --check

License

MIT

About

CLI tool to detect services status

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages