Skip to content

xbubbo/Github-Username-Checker

Repository files navigation

GitHub Username Checker

Warning

Using this script may violate GitHub's Terms of Service. If your account gets suspended due to using this script, it's your responsibility.

Table of Contents

Features

  • Quickly checks large numbers of usernames
  • Uses your GitHub Auth Token to verify which usernames are available
  • Reports usernames as available, taken, or unknown/unavailable

Prerequisites

  • Node.js
  • GitHub Account(s)

Installation

  1. Clone the repository:

    git clone https://github.com/xbubbo/Github-Username-Checker
    cd Username-Checker
  2. Install dependencies and start the script: This script checks if usernames are taken by examining public GitHub accounts. Note that private accounts aren’t considered, so a second script will verify the username’s availability more thoroughly.

    • With PNPM:

      pnpm install
      pnpm checker
    • With NPM:

      npm install
      npm checker

Set up API & Cookie in Environment

  1. GitHub Settings:

    • Go to GitHub Settings and select "Change username."
    • Open DevTools (Ctrl + Shift + I), enter any random username, then check the network tab for "rename_check?suggest_usernames=true."
    • Copy the Cookie from Request Headers and the authenticity_token from Form Data.
  2. Add Variables:

    • In your project's .env file, add the Cookie and authenticity_token from two different accounts.
  3. Run the Scripts:

    • First, run the path-checker script to verify the setup. This checks usernames without hitting rate limits.

Note

You CANNOT use this script on a Github Codespace.

  • Run with PNPM:

    pnpm start
  • Run with NPM:

    npm start
  1. Output:
    • The script categorizes usernames from NotTaken.txt:
      • Available Usernames: /Status/Available.txt
      • Taken Usernames: /Status/Taken.txt

Credits

Usernames

As of September 10th, 2024 all possible 2 Character/2 Letter usernames are in use or cannot be used - Taken.txt.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published