Skip to content

ba0v/user-snipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

username sniper

checks all possible combinations of short usernames against a platform's api and saves any available ones to a file. defaults to roblox 4-character usernames (a–z + 0–9), but can be configured for any platform.

requirements

  • python 3.8+
  • aiohttp

pip install aiohttp

usage

python check_usernames.py

results are printed to the terminal in real time. any available usernames are saved to available_usernames.txt when the run finishes or if you stop early with ctrl+c.

cool features

  • checks all combinations concurrently for maximum speed
  • saves progress to checkpoint.txt after every batch. if the script stops, it resumes where it left off automatically
  • sends a discord notification the moment an available username is found (for the mods)
  • supports proxy rotation to avoid rate limits

configuration

edit the platform config block at the top of check_usernames.py:

setting description
PLATFORM_NAME display name shown in the output
CHECK_URL api endpoint, use {} where the username goes
USERNAME_LENGTH how many characters to check
CHARS base allowed characters (e.g. a–z + 0–9)
SPECIAL_CHARS extra characters like . and _, leave empty if the platform doesn't allow them
ALLOW_SPECIAL_AT_ENDS set to True if special characters are allowed at the start and end of a username
PROXIES list of proxy urls to rotate through, leave empty to disable
DISCORD_WEBHOOK paste your discord webhook url here to get pinged when a username is found

also update parse_response to match the platform's json response:

def parse_response(data: dict) -> bool:
    return True  # return True if the username is available, False if taken

to find the right check, test the api manually in your browser or a tool like postman. call the endpoint with a username you know is taken and one you know is available, then look at what's different in the json response.

for example, roblox returns:

  • taken: {"Id": 123456, "Username": "abc"}
  • available: {"errorMessage": "User not found"}

so the check becomes return "Id" not in data. every platform is different, just find the pattern.

examples

roblox (default. all taken, don't waste ya time)

PLATFORM_NAME         = "Roblox"
CHECK_URL             = "https://api.roblox.com/users/get-by-username?username={}"
SPECIAL_CHARS         = "_"
ALLOW_SPECIAL_AT_ENDS = False

def parse_response(data: dict) -> bool:
    return "Id" not in data

discord

PLATFORM_NAME         = "Discord"
CHECK_URL             = "https://..."  # replace with correct endpoint
SPECIAL_CHARS         = "._"
ALLOW_SPECIAL_AT_ENDS = True

def parse_response(data: dict) -> bool:
    return True  # update to match discord's response format

rate limits

rate limits vary by platform; do your own research on the platform's api limits before running this tool to avoid getting blocked.

disclaimer

this tool interacts with platform apis. by using it, you acknowledge that:

  • you are solely responsible for any consequences, including account bans, suspensions, or violations of a platform's terms of service
  • the author (ba0v) is not responsible for any bans, penalties, or legal action resulting from the use of this tool
  • use it at your own risk
  • script takes around 2-4 hours to complete, but rate limits can delay this severely if you don't have proxies

if this helped you get a clean username, consider donating!

https://buymeacoffee.com/ba0v

About

customizable async username sniping for any platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages