/username-checker

✅ No selenium ✅ Supports multi-threading ✅ Allows custom websites added ✅ FOSS ✅ Has TikTok, Instagram, Minecraft, Roblox, GitHub, Pastebin, Replit, YouTube, Twitter, Twitch, and more!

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Username checker

Collection of username checkers for various platforms. Proxyless and proxy support!

[WARNING]
Using this without proxies will likely leave you ratelimited and possibly banned from using any of these services.

Python 3.10 and up GitHub license

Current progress:

List of supported websites

There is also support for adding your own checkers by supplying an API endpoint.

Star goals
  • ⭐5 - Adding multi-threading
  • ⭐7 - More advanced custom checkers
  • ⭐10 - Improved speeds
  • ⭐15 - 1 new checker
  • ⭐20 - 1 new checker
  • ⭐30 - 5 new checkers
  • ⭐35 - 2 new checkers
  • ⭐40 - Improved speeds

How do you use the checkers?

While you can use each checker individually in the checkers directory, the easiest way to use the checkers, is by using the launcher. The launcher is available in the Releases tab.

All you need is Python installed and the necessary requirements. I wrote the scripts in Python 3.10.6, so I'd recommend you install that version. However, later versions should work too.

How can I integrate the checkers in my projects?

You can easily integrate the checkers in your project, just make sure to follow the license!

Each script has a function inside of it called "run" which can be called with the necessary parameters.

Here's an example on how to integrate an example script in your project:

import checkers.example
example.run(
    "words.txt", # usernames list path
    "proxies.txt" # proxies path (leave empty if no proxies)
) # returns list of hits

For the run function, if you check the code, you might see a "usernames" parameters. DO NOT USE THAT PARAMETER, that is used by previous versions of the launcher, and allows for backwards compatability support. If you use that rather than the "usernames_path" parameter, instead of returning a set of all the valid usernames, it will rather return nothing and automatically download the valid usernames to a file called "hits.txt". Make what you will of this information.

You can also check 1 username at a time, here's an example:

import checkers.example
example.check(
    "Example", # username
    "127.0.0.1:80" # proxy (leave empty if no proxy)
) # returns the username if valid, or None if its not

As far as I know, the "custom" checker doesn't work with the individual "check" function, however the "run" function should work.

How do I use proxies in the checker?

In the same directory as the launcher, add a file named proxies.txt and format it like this:

type|protocol://host:port

an example is:

http|http://[redacted]:80
http|http://[redacted]:9992
http|http://[redacted]:80
https|https://[redacted]:8080
http|http://[redacted]:8085
http|http://[redacted]:3128

Do I need to re-download each update?

In short, no.

The launcher automatically updates checkers, however some larger features such as multi-threading (support added in launcher beta 0.2) require launcher updates to use, however launcher updates are mostly QOL or bug fixes and are recommended! My goal is to make it so you can use this in any launcher version possible, with full backwards compatibility!