Pokemon GO server emulator
Go to file
Felix c93eaf1900 Update
- Removed proto files
- Removed protobufjs, replaced by node-pogo-protos
- Remove *remaining_codename_claims* from GetPlayer packet to support
new proto lib
- Remove *gps_settings* from DownloadSettings for reasons described
above
2016-08-15 22:54:51 +02:00
src Update 2016-08-15 22:54:51 +02:00
.babelrc Adding files 2016-08-05 17:48:47 +02:00
.gitattributes Update 2016-08-06 13:56:54 +02:00
.gitignore Update 2016-08-05 20:43:56 +02:00
.greet Update 2016-08-08 00:57:16 +02:00
.travis.yml Update 2016-08-05 20:43:56 +02:00
asset_digest Update 2016-08-15 16:51:17 +02:00
cfg.js Update 2016-08-15 20:50:25 +02:00
package.json Update 2016-08-15 22:54:51 +02:00
README.md Update 2016-08-15 20:50:25 +02:00
run-linux.sh Adding files 2016-08-05 17:48:47 +02:00
run-windows.bat Adding files 2016-08-05 17:48:47 +02:00

______ _____ _____ _____                               
| ___ \  _  |  __ \  _  |                              
| |_/ / | | | |  \/ | | | ___  ___ _ ____   _____ _ __ 
|  __/| | | | | __| | | |/ __|/ _ \ '__\ \ / / _ \ '__|
| |   \ \_/ / |_\ \ \_/ /\__ \  __/ |   \ V /  __/ |   
\_|    \___/ \____/\___/ |___/\___|_|    \_/ \___|_|   

Getting started

Tunneling setup

You need to intercept the traffic between the app and original server and forward it to this custom server implementation. I'm using Fiddler for this purpose. After installing Fiddler, go to Rules->Customize Rules and search for the function OnBeforeRequest. Append the following code into the functions body:

if (oSession.HostnameIs("pgorelease.nianticlabs.com")) {
  if (oSession.HTTPMethodIs("CONNECT")) {
    oSession["x-replywithtunnel"] = "127.0.0.1:3000";
    return;
  }
  oSession.fullUrl = "http://127.0.0.1:3000" + oSession.PathAndQuery;
}

Now go to Tools->Telerik Fiddler Options->HTTPS and enable Decrypt HTTPS traffic. I'm using Nox App Player for android emulation, so open Settings->Wi-Fi->WiredSSID->Modify network and setup a proxy with the following settings:

Hostname: 192.168.178.x // your local ip4
Port: 8888 // fiddler default port

By 0.31.0 certificate pinning was added. To bypass it, you need to install this great app. Just follow the readme guide to install it.

Server setup

You need a running mongodb service, enter your credentials into ./cfg.js.

If everything went fine, it should look like:

Preview

Todo

  • Viewing a pokemon shows invalid data (wrong weight, height, type etc.)
  • Transfer button doesnt trigger (maybe related to above?)
  • Items doesnt show
  • Pokemon models get downloaded correctly, but somehow they dont load properly. They show on map, but not in pokemon info screen, pokedex or while encountering.
  • Players exp bar is bugged, proto related?