Skip to content
orashusPublic

About

rlc is a cli tool where given a list of URLs, check which are alive and how fast they respond - concurrently

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

rlc

A concurrent link checker. Checks a list of URLs and reports which are alive, their HTTP status, and how long each took.

Statuses:

  • HTTP status (e.g. 200 OK) — the URL responded
  • DEAD — the request failed (timeout after 7 seconds, DNS, network error)
  • INVALID — the input is not a valid URL (e.g. missing a scheme)

Install

Requires Go installed (download).

go install github.com/orashus/rlc@latest

This puts the rlc binary in your Go bin directory (usually ~/go/bin).

Usage

  • Basic

    rlc <url1> <url2> ...

    Each request times out after 7 seconds.

  • Print the version:

    rlc --version
    # or: rlc -v / rlc version
  • Run with no arguments to check a built-in demo list:

    rlc

Example

rlc https://go.dev https://google.com https://example.com https://thisurldoesnotexist.example not-a-url

Output:

URL                                           STATUS               TIME
--------------------------------------------------------------------------------
not-a-url                                     INVALID              0s
https://thisurldoesnotexist.example           DEAD                 190ms
https://example.com                           200 OK               300ms
https://go.dev                                200 OK               250ms
https://google.com                            200 OK               180ms
--------------------------------------------------------------------------------
Checked 5 links (3 alive, 1 dead, 1 invalid) in 300ms

Results print as each check finishes (fast links first). Total time is roughly the slowest link — not the sum — because checks run concurrently.

Develop locally

From this directory:

go run .
# or install your local copy
go install .

Version tagging on github

  • Create the version tag
  git tag -a v1.0.0 -m "Release version 1.0.0"
  # or the lightweight tag with
  ## git tag v1.0.0
  • Push the code to that tag
  git push origin v1.0.0
  • To delete a tag
  git tag -d v1.0.0 # locally
  git push --delete origin v1.0.0 # remote tags
  # Make your new changes, commit and push to a fresh tag...

About

rlc is a cli tool where given a list of URLs, check which are alive and how fast they respond - concurrently

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages