A simple CLI and server to check a name availability on several websites, like GitHub, GitLab, Reddit, Bluesky, Mastodon and Hacker News.
| Website | How the check works |
|---|---|
| GitHub | https://github.com/<username> answers 404 when the username is available |
| GitLab | public REST API https://gitlab.com/api/v4/users?username=<username> answers [] when the username is available |
https://www.reddit.com/user/<username>/about.json answers 404 when the username is available |
|
| Bluesky | public AT Protocol API com.atproto.identity.resolveHandle answers 400 when the handle <username>.bsky.social is available |
| Mastodon | public REST API https://mastodon.social/api/v1/accounts/lookup?acct=<username> answers 404 when the username is available (on the mastodon.social instance) |
| Hacker News | official Firebase API https://hacker-news.firebaseio.com/v0/user/<username>.json answers null when the username is available |
| Tinder | profile page scraping (https://tinder.com/@<username>) |
| simulated through a GCP Cloud Function (see Remarks below) | |
| profile page scraping (disabled by default) |
Source: https://gitdiagram.com/davidaparicio/namecheck
If you have already Docker installed on your laptop
docker run davidaparicio/namecheck:<TAG/VERSION_LIKE_v0.0.5> <PSEUDO_TO_CHECK>
If not, you need Go and all dependencies
go run cmd/cli/main.go <PSEUDO_TO_CHECK>
or the server with
go run cmd/server/main.go
and check with a curl command curl http://localhost:8080/check?username=<PSEUDO_TO_CHECK>
For more information, you can see examples here
Twitter checker is using a GCP Cloud Function, adding a network latency simulation, configurable through a parameter.
Server handles timeouts as recommended Filippo Valsorda on the Cloudflare blog (post 1 / post 2) and Ilija Eftimov.
ADR (Architecture decision record) about the usage of gorilla/mux can be found here.
Works on my machine - and yours ! Spin up pre-configured, standardized dev environments of this repository, by clicking on the button below.
Fork of the opensource project by @jub0bs, available on GitHub at https://github.com/jub0bs/namecheck.
Licensed under the MIT License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License here.
If needed some help, there are a "Licenses 101" by FOSSA, a Snyk explanation of MIT license and a French conference talk by Jean-Michael Legait about licenses.

