An automation script based on Nightmare.js that can create any number of Nintendo Pokémon Trainer Club accounts with a single e-mail address. This only works because Nintendo doesn't check for "[email protected]" e-mail tricks, where the e-mail host completely ignores any part after (and including) the plus sign and sends it to "[email protected]".
This project was started as a proof of concept: even multi-billion dollar companies that just released the single most popular mobile game (Pokémon Go) sometimes miss the details.
More about plus signs in e-mail addresses on StackExchange.
If you're using Gmail and want to automatically verify all accounts, use this gist: https://gist.github.com/sebastienvercammen/e7e0e9e57db246d7f941b789d8508186 or https://github.com/FrostTheFox/ptc-acc-gen/blob/master/gmailverify.js
The new version on Nightmare.js now:
- Checks for usernames/e-mails that are already taken
- Can screenshot the result page
- Handles server issues better
- Doesn't require PhantomJS/CasperJS or fiddling with the PATH environment variable
Linux users, you cannot run this from SSH or a plain terminal. You need to run from a GUI.
- Install requirements with
npm install
- Open index.js and edit the settings at the top of the file.
- Run using makeaccounts.sh on Linux, or makeaccounts.bat on Windows.
- Find the generated accounts in PogoPlayer/accounts.csv.
Note: This message: ... Run this to try different name!:nown as username node name.js -a ptc -u username -p password -l LATITUDE,LONGITUDE -u TRAINER-NAME
Is NOT an error and you should not be concerned by it.
This example corresponds to the default settings. It will generate 10 accounts in the same format: user0, user1, ...
In index.js:
var start = 0; // Start from x (NAMEx, [email protected])
var end = 10; // Up to x, but not including (exclusive)
var useNicknamesFile = false; // Use nicknames file, or just append numbers to username?
var outputFile = 'accounts.txt'; // File which will contain the generated "username password" combinations.
var outputFormat = '%NICK% %PASS%\r\n'; // Format used to save the account data in outputFile. Supports %NICK%, %PASS%.
var useNicknamesFile = false; // Use nicknames file, or just append numbers to username?
var useRandomPassword = true; // Generate a random password?
var screenshotResult = true; // Saves a screenshot per account creation if set to true
var screenshotOnFailure = true; // Saves a screenshot even if registration failed
- Set
var useRandomPassword = true;
in index.js.
var screenshotResult = true; // Saves a screenshot per account creation if set to true
var screenshotOnFailure = true; // Saves a screenshot even if registration failed
var screenshotFolder = "output/screenshots/";
The list of unique usernames must be stored in nicknames.json. An example is available on the repo.
To create a number of accounts with custom usernames instead of user + number combinations, change index.js:
var useNicknamesFile = true;