Niche Portobello Mushroom


    2.1.0 • Public • Published


    pokemon npm version dependencies license

    Pokemon Go MITM Proxy - Intercepts the traffic between your Pokemon Go App and their servers, decodes the protocol and gives you a handy tool to enrich your own game experience by altering the data on the fly.

    Take a look at the examples to get started. Feel happily invited to contribute more!

    How to use it?

    Setting up the server

    • Get nodejs

    • Get protobuf >= 3

      • Linux: libprotobuf must be present (apt-get install libprotobuf-dev)
      • OSX: Use homebrew to install protobuf with brew install pkg-config and brew install --devel protobuf
      • Windows: hard to compile - follow advices
    • Clone the code to experiment with the examples! (otherwise use it as a npm package)

      git clone && cd pokemon-go-mitm-node

      npm install

    • Setup the CoffeeScript interpreter (optional if using npm scripts) npm install -g coffee-script

    Setting up your device

    Prepare your phone to accept the MITM certificate

    Using Xposed on Android

    If you are using pokemon-go-xposed, set the custom endpoint to your machines IP (default port it 8082). All done!

    Using iOS or Android without Xposed

    • Generate a CA MITM certificate

      • Run npm start (or coffee to generate a CA certificate
      • Download the generated certificate from the started server via http://host:8082/ca.crt (or copy the file .http-mitm-proxy/certs/ca.pem)
      • Add the certificate to the "trusted certificates" of your mobile (for "VPN and apps" on Android)
    • Setup your mobile's connection to use your machine as a proxy (default proxy port is 8081)

    • Done!


    • Android N requires a different certificate format, make sure you download http://host:8082/ca.crt to your mobile

    • To let an iPhone or iPad trust the certificate, you might have to save and email http://host:8082/ca.crt to yourself to open it in the Mail app

    • On very few systems (Raspberry Pi) the CA certificate has to be generated manually:

      openssl genrsa -out .http-mitm-proxy/keys/ca.private.key 2048
      openssl rsa -in .http-mitm-proxy/keys/ca.private.key -pubout > .http-mitm-proxy/keys/ca.public.key
      openssl req -x509 -new -nodes -key .http-mitm-proxy/keys/ca.private.key -days 1024 -out .http-mitm-proxy/certs/ca.pem -subj "/C=US/ST=Utah/L=Provo/O=PokemonCA/"
    • If you are unable to log in after installing the certificate on Android, you may have to reboot for apps to see the new CA (#208)

    How to code it?

    PokemonGoMITM = require './lib/pokemon-go-mitm'
    server = new PokemonGoMITM port: 8081
    # Replace all PokeStops with kittys! 
    server.addResponseHandler "FortDetails"(data) -> = "Pokemon GO MitM PoC"
        data.description = "meow!"
        data.image_urls = [""]

    What's the status?

    Thanks to the awesom work done around POGOProtos, all requests and responses can be intercepted and altered on the fly by now!

    • AddFortModifier
    • AttackGym
    • CatchPokemon
    • CheckAwardedBadges
    • CheckCodenameAvailable
    • ClaimCodename
    • CollectDailyBonus
    • CollectDailyDefenderBonus
    • DiskEncounter
    • DownloadItemTemplates
    • DownloadRemoteConfigVersion
    • DownloadSettings
    • Echo
    • Encounter
    • EncounterTutorialComplete
    • EquipBadge
    • EvolvePokemon
    • FortDeployPokemon
    • FortDetails
    • FortRecallPokemon
    • FortSearch
    • GetAssetDigest
    • GetDownloadUrls
    • GetGymDetails
    • GetHatchedEggs
    • GetIncensePokemon
    • GetInventory
    • GetMapObjects
    • GetPlayer
    • GetPlayerProfile
    • GetSuggestedCodenames
    • IncenseEncounter
    • LevelUpRewards
    • NicknamePokemon
    • PlayerUpdate
    • RecycleInventoryItem
    • ReleasePokemon
    • SetAvatar
    • SetContactSettings
    • SetFavoritePokemon
    • SetPlayerTeam
    • StartGymBattle
    • UpgradePokemon
    • UseIncense
    • UseItemCapture
    • UseItemEggIncubator
    • UseItemGym
    • UseItemPotion
    • UseItemRevive
    • UseItemXpBoost

    Enjoy! And heaps of thanks to everyone who contributed here and on slack!




    npm i pokemon-go-mitm

    DownloadsWeekly Downloads






    Last publish


    • rastapasta