Basic Installation

These instructions cover an installation from the develop branch in git.

Prerequisites

Follow one of the guides below to get the basic prerequisites installed:

You will also need a MySQL server installed:

Credentials

Downloading the Application

To run a copy from the latest develop branch in git you can clone the repository:

git clone https://github.com/darkelement1987/DarkFork.git

Installing Modules

At this point you should have the following:

  • Python 2.7
  • pip
  • DarkFork application folder

First, open up your shell (cmd.exe/terminal.app) and change to the directory of DarkFork.

You can verify your installation like this:

python --version
pip --version

The output should look something like:

$ python --version
Python 2.7.12
$ pip --version
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)

Now you can install all the Python dependencies, make sure you’re still in the directory of DarkFork:

Windows:

pip install -r requirements.txt

Linux/OSX:

sudo -H pip install -r requirements.txt

Building Front-End Assets

In order to run from a git clone, you must compile the front-end assets with node. Make sure you have node installed for your platform:

Once node/npm is installed, open a command window and validation your install:

node --version
npm --version

The output should look something like:

$ node --version
v4.7.0
$ npm --version
3.8.9

Once node/npm is installed, you can install the node dependencies and build the front-end assets:

npm install

# The assets should automatically build (you'd see something about "grunt build")
# If that doesn't happen, you can directly run the build process:
npm run build

Basic Launching

Once those have run, you should be able to start using the application, make sure you’re in the directory of DarkFork then:

python ./runserver.py --help

Read through the available options and set all the required CLI flags to start your own server. At a minimum you will need to provide a location, account login credentials, and a google maps key.

The most basic config you could use would look something like this:

python ./runserver.py -ac accounts.csv -st 10 \
-l "a street address or lat/lng coords here" -k "MAPS_KEY_HERE" \
-hk "HASH_KEY_HERE" -cs -ck "CAPTCHA_KEY"

Let’s run through this startup command to make sure you understand what flags are being set.

  • -ac accounts.csv

Load accounts from CSV (Comma Seperated Values) file containing “auth_service,username,password” lines. More Info

  • -hk “HASH_KEY_HERE”

Key used to access the hash server. More Info

  • -cs -ck “CAPTCHA_KEY”

Enables captcha solving and 2Captcha API key. (Manual captcha available, see Full Info )

Once your setup is running, open your browser to http://localhost:5000 and your pokemon will begin to show up! Happy hunting!

Things to Know

  • You may want to use more than one account to scan with DarkFork. Here is how to use as many accounts as your heart desires.
  • Your accounts need to complete the tutorial before they will be any use to DarkFork! Here is how do that with RM.
  • You might experience your accounts encountering Captchas at some point. Here is how we handle those.
  • Due to recent updates, you might experience a shaddow ban. Here is what you need to know.
  • All of these flags can be set inside of a configuration file to avoid clutter in the command line. Go here to see how.
  • A full list of all commands are available here.
  • A few tools to help you along the way are located here.

Updating the Application

DarkFork is a very active project and updates often. You can follow the latest changes to see what’s changing.

You can update with a few quick commands:

git pull
pip install -r requirements.txt --upgrade (Prepend sudo -H on Linux)
npm run build

Watch the latest changes on Discord to know when updating will require commands other than above.

IMPORTANT Some updates will include database changes that run on first startup. You should run only one runserver.py command until you are certain that the DB has been updated. You will know almost immediately that your DB needs updating if Detected database version x, updating to x is printed in the console. This can take a while so please be patient. Once it’s done, you can start all your instances like you normally would.