A new, super-fast PTC account generator
The Klinklang stack consists of a MongoDB database, a Stats collector, a mail reader/server, and the account_generation Python script. The account_generation script gets run outside of Docker while the rest of the components are separated into their own Docker containers.
The Docker containers and the account_generation script can run on separate hosts or on the same host. Each host has its own requirements, if using one host for all components you must meet all requirements:
- Linux (x86/ARM), Mac OS (x86/ARM), or Windows (x86) are supported
- The Docker containers can run headless
- The account_generation script requires a desktop environment despite running headless
- Host running account_generation script:
- Google Chrome installed on host OS
- Python 3.11
- pip
- PyYAML (
pip install pyYaml
)
- Host running Docker containers:
- Docker, with Docker components
- Klinklang license (
$help
in any channel in the Klinklang Discord server) - Optional: Proxies (Basic Auth and IP Auth supported, see FAQ)
- Install additional requirements for account_generation script host:
pip install -r account_generation/requirements.txt
- Create and customize configurations:
python configgenerator.py
- Answer all questions, it will create your configs based on your answers
- Create config for account_generation script:
cp account_generation/config.example.yml account_generation/config.yml
- Edit config.yml from the previous step according to your needs (see AccountGeneration Config for more info)
- Start Docker containers if not started (
docker compose up -d
). Start Account Generation script (python account_generation/account_generator.py
)
Example config.yml with default values:
database:
database_name: klinklang
host: databasehost
password: mongoadmin
username: mongodb
domains:
- domain_name: mail.i-love-imperva.de
proxies:
- proxy: 123.123.123
rotating: false
- proxy: 123.123.124
accounts:
save_to_file : true
format: '{email}, {username}, {password}, {dob}'
proxy_file: proxies.txt
license: my_fancy_license
show_total_accounts: false
headless : true
account_password : 'MYFancyPassword99#'
mail_prefix: my_fancy_prefix
proxy_region: Germany
random_subdomain: true
subdomain_length: 32
proxy_cooldown : 1900
binary_location: ''
-
*
database
: Configuration for your Database Connectiondatabase_name
: the name of your databasehost
: the host of your database (can be ip or hostname)password
: the password of your databaseusername
: the username of your database
-
*
domains
: Configuration for the domains, which should be used for account generation, this is a listdomain_name
: the domain used for emails, example:mail.i-love-imperva.de
would generate emails with format{account_name}@mail.i-love-imperva.de
-
*
proxies
: List of proxies to use. Not required if using proxy_file or if not using proxies at allproxy
: The ip and port of your proxy examplehttps://123.123.123.3:9000
rotating
: defaultFalse
, ifTrue
the proxy will not have any cooldown between usages, your proxy provider will handle the rotation
-
*
accounts
: Configuration for storing your generated accounts to filessave_to_file
: ifTrue
the accounts will be saved to a fileformat
: The format in which the accounts should be stored in the file.{email}
will be replace with the account email,{username}
with the username,password
with the password,{dob}
with the date of birth,{region}
will be replaced with the region
-
*
proxy_file
: The name of the file containing a list of proxies to use. Not required if using proxies list in config or not using proxies at all- format is
ip:port
oruser:pass@host:port
. If you add a/rotating
behind the proxy it will be marked as rotating, for example:ip:port/rotating
- format is
-
*
license
: Your license key, if not given the program will give you a prompt -
show_total_accounts
: if set to true, will display the total count of generated accounts after each generation attempt -
headless
:true
is the default, set it tofalse
if you want to see the browser window, nice for debugging -
account_password
: if set all accounts will have the same password, if not a new random password will be generated -
mail_prefix
: if set klinklang will generate accounts using the plus technique. This will generate emails like{prefix}+{username}@{domain}
-
proxy_region
: if set klinklang will not attempt to auto-detect the region of the proxy, it will use the defined region for account information -
random_subdomain
: if set to true, klinklang will generate random subdomains for every account, for this your domain should support a catch all (e.g.true
results inrandomsubdomain.i-love-imperva.de
) -
subdomain_length
: set a custom length for random subdomains, if enabled -
proxy_cooldown
: default 1900, the cooldown between the usage of the proxies in seconds. Decreasing this will increase the risk of your proxies getting blocked but increases the potential speed at which you can create accounts. -
binary_location
: if set the defined binary will be used instead of the installed chrome version. For example if you have both Google Chrome and Brave installed on your mac (Chrome as default browser) and you want to use Brave you would add to your configbinary_location: '/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'
-
email_code_waiting_max
: set the max attempts for waiting for the code from the email, default is 180
MailServer is an IMAP server (mailserver) that you host yourself. For it to function properly you need to add all needed MX-Records to your domain so that the server can get emails. You can send a test email to your domain, and test if the message appears in the logs. If the received message contains a verification code from PTC, the code will be added to the database for later usage in account activation.
MailReader is a service which can be used to read emails from a provider, e.g. if your domain provider already provides you with a mail server. It will login using the provided username and password to your mail account and will read all messages. If the message contains a verification code it will be saved to the database for later usage in account activation. Messages from niantic will be deleted after they are read.
You need one or the other, not both.
No. One of the included Docker containers is a MongoDB container which is already set up as needed - just customize your configuration files and start it up.
These settings can be ignored, they are left over from previous code and are not used.
This is something that is generally kept secret as higher usage increases the chance of the proxy being banned. Based on user reports in Discord, Webshare is generally banned. Residential proxies are often considered "better" when it comes to not being banned already however this is anecdotal.
While technically supported most users report this does not work for them. If you want to try using BasicAuth make sure you use the format USER:PASS@IP:PORT
Yes. It is suggested you set your license in your config, then you can pm2 start
as normal. If you need to specify your Python interpreter / if using venv just include the --interpreter
flag.
Example: pm2 start path/account_generator.py --name klinklang --interpreter /path/to/venv/bin/python
Wrong Python version in use, make sure you are using Python 3.11
Reinstall requirements: pip install -r account_generation/requirements.txt