From 39d0596f945fa485ac400e0e2bd54ab5369331ca Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:29:29 +0200 Subject: [PATCH 01/35] Update installation.md --- docs/installation.md | 187 +------------------------------------------ 1 file changed, 2 insertions(+), 185 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 3f68512d1b..58214f9b92 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -22,188 +22,5 @@ This will reset and makes sure you have no changes made to any code since it will overide it 3. Rerun the bot `./run.sh` -note: we do not support windows at this time - - -# Manual installation -### Protobuf 3 installation - -- OS X: `brew update && brew install --devel protobuf` -- Windows: Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. - -### Get encrypt.so (Windows part writing need fine tune) -Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. - -Ensure you are in the PokemonGo-Bot main folder and run: - -`wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` - -### Note on branch -Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version. - -## Update -To update your project do (in the project folder): `git pull` - -To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` - -### Linux Installation -####on the Example of Ubuntu -(change dev to master for the lastest master version) - -if you are on a different Linux OS you maybe have to adapt things like: - -- package mananger (for example yum instead of apt-get) -- package names - -```bash -##install -#change to root -sudo -i -#go to your home directory with the console -apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git -#install pip -wget https://bootstrap.pypa.io/get-pip.py -python2.7 get-pip.py -rm -f get-pip.py -#get git repo -git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot -cd PokemonGo-Bot -#install and enable virtualenv -#You need to make shure your python version and virtualenv verison work together -#install virtualenv and activate it -pip install virtualenv -virtualenv . -source bin/activate -#then install the requierements -pip install -r requirements.txt - -##get the encryption.so and move to right folder -wget http://pgoapi.com/pgoencrypt.tar.gz -tar -xzvf pgoencrypt.tar.gz -cd pgoencrypt/src/ -make -cd ../../ -#make the encrypt able to load -mv pgoencrypt/src/libencrypt.so encrypt.so - -##edit the configuration file -cp configs/config.json.example configs/config.json -vi configs/config.json -# gedit is possible too with 'gedit configs/config.json' -#edit "google" to "ptc" if you have a pokemon trainer account -#edit all settings - - -##update to newest -#if you need to do more i'll update this file -#make shure virtualenv is enabled and you are in the correct folder -git pull -pip install -r requirements.txt - -##start the bot -./run.sh configs/config.json - -##after reboot or closing the terminal -#at every new start go into the folder of the PokemonGo-Bot by -#going into the folder where you startet installing it an then -cd PokemonGo-Bot -#activate virtualenv and start -source bin/activate -./run.sh configs/config.json -``` - - -### Installation Mac -(change master to dev for the latest version) - -```bash -##install -#go to your home directory with the console -brew install --devel protobuf -brew install autoconf libtool pkg-config wget git -#install pip -wget https://bootstrap.pypa.io/get-pip.py -python2.7 get-pip.py -rm -f get-pip.py -#get git repo -git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot -cd PokemonGo-Bot -#install and enable virtualenv -#You need to make shure your python version and virtualenv verison work together -#install virtualenv and activate it -pip install virtualenv -virtualenv . -source bin/activate -#then install the requierements -pip install -r requirements.txt - -##get the encryption.so and move to right folder -wget http://pgoapi.com/pgoencrypt.tar.gz -tar -xzvf pgoencrypt.tar.gz -cd pgoencrypt/src/ -make -cd ../../ -#make the encrypt able to load -mv pgoencrypt/src/libencrypt.so encrypt.so - -##edit the configuration file -cp configs/config.json.example configs/config.json -vi configs/config.json -# gedit is possible too with 'gedit configs/config.json' -#edit "google" to "ptc" if you have a pokemon trainer account -#edit all settings - - -##update to newest -#if you need to do more i'll update this file -#make shure virtualenv is enabled and you are in the correct folder -git pull -pip install -r requirements.txt - -##start the bot -./run.sh configs/config.json - -##after reboot or closing the terminal -#at every new start go into the folder of the PokemonGo-Bot by -#going into the folder where you startet installing it an then -cd PokemonGo-Bot -#activate virtualenv and start -source bin/activate -./run.sh configs/config.json -``` - -### Installation Windows -(change master to dev for the latest version) - -On Windows, you will need to install PyYaml through the installer and not through requirements.txt. - -##### Windows vista, 7, 8: -Go to : http://pyyaml.org/wiki/PyYAML , download the right version for your pc and install it - -##### Windows 10: -Go to [this](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyyaml) page and download: PyYAML-3.11-cp27-cp27m-win32.whl -(If running 64-bit python or if you get a 'not a supported wheel on this platform' error, -download the 64 bit version instead: PyYAML-3.11-cp27-cp27m-win_amd64.whl ) - -*(Run the following commands from Git Bash.)* - -``` -// switch to the directory where you downloaded PyYAML -$ cd download-directory -// install 32-bit version -$ pip2 install PyYAML-3.11-cp27-cp27m-win32.whl -// if you need to install the 64-bit version, do this instead: -// pip2 install PyYAML-3.11-cp27-cp27m-win_amd64.whl -``` - -After this, just do: - -``` -$ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot -$ cd PokemonGo-Bot -$ virtualenv . -$ script\activate -$ pip2 install -r requirements.txt -$ git submodule init -$ git submodule update -``` +#Windows Automatic installation +###TBA From ecb6db0fe41231fd74a7bf26612bca5909cda4c1 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:29:40 +0200 Subject: [PATCH 02/35] Create manual_installation.md --- docs/manual_installation.md | 182 ++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 docs/manual_installation.md diff --git a/docs/manual_installation.md b/docs/manual_installation.md new file mode 100644 index 0000000000..be2ac47d5f --- /dev/null +++ b/docs/manual_installation.md @@ -0,0 +1,182 @@ +# Manual installation +### Protobuf 3 installation + +- OS X: `brew update && brew install --devel protobuf` +- Windows: Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. + +### Get encrypt.so (Windows part writing need fine tune) +Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. + +Ensure you are in the PokemonGo-Bot main folder and run: + +`wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` + +### Note on branch +Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version. + +## Update +To update your project do (in the project folder): `git pull` + +To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` + +### Linux Installation +####on the Example of Ubuntu +(change dev to master for the lastest master version) + +if you are on a different Linux OS you maybe have to adapt things like: + +- package mananger (for example yum instead of apt-get) +- package names + +```bash +##install +#change to root +sudo -i +#go to your home directory with the console +apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git +#install pip +wget https://bootstrap.pypa.io/get-pip.py +python2.7 get-pip.py +rm -f get-pip.py +#get git repo +git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot +cd PokemonGo-Bot +#install and enable virtualenv +#You need to make shure your python version and virtualenv verison work together +#install virtualenv and activate it +pip install virtualenv +virtualenv . +source bin/activate +#then install the requierements +pip install -r requirements.txt + +##get the encryption.so and move to right folder +wget http://pgoapi.com/pgoencrypt.tar.gz +tar -xzvf pgoencrypt.tar.gz +cd pgoencrypt/src/ +make +cd ../../ +#make the encrypt able to load +mv pgoencrypt/src/libencrypt.so encrypt.so + +##edit the configuration file +cp configs/config.json.example configs/config.json +vi configs/config.json +# gedit is possible too with 'gedit configs/config.json' +#edit "google" to "ptc" if you have a pokemon trainer account +#edit all settings + + +##update to newest +#if you need to do more i'll update this file +#make shure virtualenv is enabled and you are in the correct folder +git pull +pip install -r requirements.txt + +##start the bot +./run.sh configs/config.json + +##after reboot or closing the terminal +#at every new start go into the folder of the PokemonGo-Bot by +#going into the folder where you startet installing it an then +cd PokemonGo-Bot +#activate virtualenv and start +source bin/activate +./run.sh configs/config.json +``` + + +### Installation Mac +(change master to dev for the latest version) + +```bash +##install +#go to your home directory with the console +brew install --devel protobuf +brew install autoconf libtool pkg-config wget git +#install pip +wget https://bootstrap.pypa.io/get-pip.py +python2.7 get-pip.py +rm -f get-pip.py +#get git repo +git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot +cd PokemonGo-Bot +#install and enable virtualenv +#You need to make shure your python version and virtualenv verison work together +#install virtualenv and activate it +pip install virtualenv +virtualenv . +source bin/activate +#then install the requierements +pip install -r requirements.txt + +##get the encryption.so and move to right folder +wget http://pgoapi.com/pgoencrypt.tar.gz +tar -xzvf pgoencrypt.tar.gz +cd pgoencrypt/src/ +make +cd ../../ +#make the encrypt able to load +mv pgoencrypt/src/libencrypt.so encrypt.so + +##edit the configuration file +cp configs/config.json.example configs/config.json +vi configs/config.json +# gedit is possible too with 'gedit configs/config.json' +#edit "google" to "ptc" if you have a pokemon trainer account +#edit all settings + + +##update to newest +#if you need to do more i'll update this file +#make shure virtualenv is enabled and you are in the correct folder +git pull +pip install -r requirements.txt + +##start the bot +./run.sh configs/config.json + +##after reboot or closing the terminal +#at every new start go into the folder of the PokemonGo-Bot by +#going into the folder where you startet installing it an then +cd PokemonGo-Bot +#activate virtualenv and start +source bin/activate +./run.sh configs/config.json +``` + +### Installation Windows +(change master to dev for the latest version) + +On Windows, you will need to install PyYaml through the installer and not through requirements.txt. + +##### Windows vista, 7, 8: +Go to : http://pyyaml.org/wiki/PyYAML , download the right version for your pc and install it + +##### Windows 10: +Go to [this](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyyaml) page and download: PyYAML-3.11-cp27-cp27m-win32.whl +(If running 64-bit python or if you get a 'not a supported wheel on this platform' error, +download the 64 bit version instead: PyYAML-3.11-cp27-cp27m-win_amd64.whl ) + +*(Run the following commands from Git Bash.)* + +``` +// switch to the directory where you downloaded PyYAML +$ cd download-directory +// install 32-bit version +$ pip2 install PyYAML-3.11-cp27-cp27m-win32.whl +// if you need to install the 64-bit version, do this instead: +// pip2 install PyYAML-3.11-cp27-cp27m-win_amd64.whl +``` + +After this, just do: + +``` +$ git clone -b master https://github.com/PokemonGoF/PokemonGo-Bot +$ cd PokemonGo-Bot +$ virtualenv . +$ script\activate +$ pip2 install -r requirements.txt +$ git submodule init +$ git submodule update +``` From d0bf21f0150f8b81b14730320d3255b07d718503 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:31:07 +0200 Subject: [PATCH 03/35] Update installation.md --- docs/installation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index 58214f9b92..5f740cd8f8 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -22,5 +22,7 @@ This will reset and makes sure you have no changes made to any code since it will overide it 3. Rerun the bot `./run.sh` +for manual installation please refer to [here](https://github.com/nivong/PokemonGo-Bot/blob/dev/docs/manual_installation.md) + #Windows Automatic installation ###TBA From fbefff89d848894b53446662a142b019b877aee2 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:37:15 +0200 Subject: [PATCH 04/35] Update manual_installation.md --- docs/manual_installation.md | 45 ++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index be2ac47d5f..cf67b08e00 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -1,23 +1,9 @@ # Manual installation -### Protobuf 3 installation - -- OS X: `brew update && brew install --devel protobuf` -- Windows: Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. -### Get encrypt.so (Windows part writing need fine tune) -Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. - -Ensure you are in the PokemonGo-Bot main folder and run: - -`wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` - -### Note on branch -Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version. - -## Update -To update your project do (in the project folder): `git pull` - -To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` +## Table of Contents +- [Linux Installation](#Linux Installation) +- [Mac Installation](#mac) +- [Windows](#windows) ### Linux Installation ####on the Example of Ubuntu @@ -180,3 +166,26 @@ $ pip2 install -r requirements.txt $ git submodule init $ git submodule update ``` + + + +### Protobuf 3 installation + +- OS X: `brew update && brew install --devel protobuf` +- Windows: Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. + +### Get encrypt.so (Windows part writing need fine tune) +Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. + +Ensure you are in the PokemonGo-Bot main folder and run: + +`wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` + +### Note on branch +Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version. + +## Update +To update your project do (in the project folder): `git pull` + +To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` + From 17b5422f63c1849cf02a3abcf2d872d0d52b9c27 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:38:18 +0200 Subject: [PATCH 05/35] Update manual_installation.md --- docs/manual_installation.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index cf67b08e00..df02b0119b 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -1,19 +1,12 @@ # Manual installation ## Table of Contents -- [Linux Installation](#Linux Installation) +- [Linux Installation](#linux) - [Mac Installation](#mac) - [Windows](#windows) -### Linux Installation -####on the Example of Ubuntu -(change dev to master for the lastest master version) - -if you are on a different Linux OS you maybe have to adapt things like: - -- package mananger (for example yum instead of apt-get) -- package names - +### Linux +####We use Ubuntu for the example ```bash ##install #change to root @@ -71,8 +64,13 @@ source bin/activate ./run.sh configs/config.json ``` +if you are on a different Linux OS you maybe have to adapt things like: + +- package mananger (for example yum instead of apt-get) +- package names + -### Installation Mac +### Mac (change master to dev for the latest version) ```bash From 5fc5fccddfc0ff5795a3c1e5f73164bdca9f2724 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:39:15 +0200 Subject: [PATCH 06/35] Update manual_installation.md --- docs/manual_installation.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index df02b0119b..cbc7d3ecf8 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -6,7 +6,7 @@ - [Windows](#windows) ### Linux -####We use Ubuntu for the example +We use Ubuntu for this example ```bash ##install #change to root @@ -71,7 +71,6 @@ if you are on a different Linux OS you maybe have to adapt things like: ### Mac -(change master to dev for the latest version) ```bash ##install @@ -129,10 +128,8 @@ source bin/activate ./run.sh configs/config.json ``` -### Installation Windows -(change master to dev for the latest version) - -On Windows, you will need to install PyYaml through the installer and not through requirements.txt. +### Windows +WIP ##### Windows vista, 7, 8: Go to : http://pyyaml.org/wiki/PyYAML , download the right version for your pc and install it From 5151a1279352aa13e4240bb8f450e61bcb05842c Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 21:39:54 +0200 Subject: [PATCH 07/35] Update manual_installation.md --- docs/manual_installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index cbc7d3ecf8..2fa2de43a5 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -78,7 +78,7 @@ if you are on a different Linux OS you maybe have to adapt things like: brew install --devel protobuf brew install autoconf libtool pkg-config wget git #install pip -wget https://bootstrap.pypa.io/get-pip.py +curl -o https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py rm -f get-pip.py #get git repo @@ -94,7 +94,7 @@ source bin/activate pip install -r requirements.txt ##get the encryption.so and move to right folder -wget http://pgoapi.com/pgoencrypt.tar.gz +curl -o http://pgoapi.com/pgoencrypt.tar.gz tar -xzvf pgoencrypt.tar.gz cd pgoencrypt/src/ make From 0c8b13bd65ce7b7bd51818cfe45fd7aa651aa23b Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 21:59:14 +0200 Subject: [PATCH 08/35] Update manual_installation.md --- docs/manual_installation.md | 137 ++++++++++++------------------------ 1 file changed, 45 insertions(+), 92 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 2fa2de43a5..3e165ff578 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -5,129 +5,82 @@ - [Mac Installation](#mac) - [Windows](#windows) -### Linux -We use Ubuntu for this example +### Linux and Mac +Ubuntu will be used for the Linux Example + +####First install requierd packages + +#####Linux +```bash +sudo apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git +``` +#####Mac +```bash +brew install --devel protobuf +brew install autoconf libtool pkg-config wget git +``` +####Mac + Linux install +make shure you installed everything above + +- get pip for pyton2.7 ```bash -##install -#change to root -sudo -i -#go to your home directory with the console -apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git -#install pip wget https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py rm -f get-pip.py -#get git repo +``` +- switch to the location where you want to install it +- get git Repository and switch into the downloaded Folder +```bash git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot cd PokemonGo-Bot -#install and enable virtualenv -#You need to make shure your python version and virtualenv verison work together -#install virtualenv and activate it +``` +- install virtualenv and activate it +```bash pip install virtualenv virtualenv . -source bin/activate -#then install the requierements +``` +- install the requirements and get the needen encryption.so +(we move `encrypt.so` to the root folder of the Bot so no need to edit the config regarding that) +```bash pip install -r requirements.txt - -##get the encryption.so and move to right folder wget http://pgoapi.com/pgoencrypt.tar.gz tar -xzvf pgoencrypt.tar.gz cd pgoencrypt/src/ make cd ../../ -#make the encrypt able to load mv pgoencrypt/src/libencrypt.so encrypt.so - -##edit the configuration file +``` +- copy and edit the config +(after copying it you can use any editor you like if you don't like `vi`) +```bash cp configs/config.json.example configs/config.json vi configs/config.json -# gedit is possible too with 'gedit configs/config.json' -#edit "google" to "ptc" if you have a pokemon trainer account -#edit all settings - - -##update to newest -#if you need to do more i'll update this file -#make shure virtualenv is enabled and you are in the correct folder +``` +- make shure your git repo is up to date +(make shure you are in the bot folder and activated virtualenv) +```bash git pull pip install -r requirements.txt - -##start the bot +``` +- finaly start the bot +```bash ./run.sh configs/config.json - -##after reboot or closing the terminal -#at every new start go into the folder of the PokemonGo-Bot by -#going into the folder where you startet installing it an then +``` +after reboot or closing the terminal +at every new start go into the folder of the PokemonGo-Bot by +going into the folder where you startet installing it an then +```bash cd PokemonGo-Bot #activate virtualenv and start source bin/activate ./run.sh configs/config.json ``` - if you are on a different Linux OS you maybe have to adapt things like: - package mananger (for example yum instead of apt-get) - package names -### Mac - -```bash -##install -#go to your home directory with the console -brew install --devel protobuf -brew install autoconf libtool pkg-config wget git -#install pip -curl -o https://bootstrap.pypa.io/get-pip.py -python2.7 get-pip.py -rm -f get-pip.py -#get git repo -git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot -cd PokemonGo-Bot -#install and enable virtualenv -#You need to make shure your python version and virtualenv verison work together -#install virtualenv and activate it -pip install virtualenv -virtualenv . -source bin/activate -#then install the requierements -pip install -r requirements.txt - -##get the encryption.so and move to right folder -curl -o http://pgoapi.com/pgoencrypt.tar.gz -tar -xzvf pgoencrypt.tar.gz -cd pgoencrypt/src/ -make -cd ../../ -#make the encrypt able to load -mv pgoencrypt/src/libencrypt.so encrypt.so - -##edit the configuration file -cp configs/config.json.example configs/config.json -vi configs/config.json -# gedit is possible too with 'gedit configs/config.json' -#edit "google" to "ptc" if you have a pokemon trainer account -#edit all settings - - -##update to newest -#if you need to do more i'll update this file -#make shure virtualenv is enabled and you are in the correct folder -git pull -pip install -r requirements.txt - -##start the bot -./run.sh configs/config.json - -##after reboot or closing the terminal -#at every new start go into the folder of the PokemonGo-Bot by -#going into the folder where you startet installing it an then -cd PokemonGo-Bot -#activate virtualenv and start -source bin/activate -./run.sh configs/config.json -``` - ### Windows WIP From 11e18fcdcb8f0e06e5dd3c7f69d3da2314fba38d Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:00:16 +0200 Subject: [PATCH 09/35] Update manual_installation.md --- docs/manual_installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 3e165ff578..0ed1e727dd 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -19,7 +19,7 @@ sudo apt-get install build-essential autoconf libtool pkg-config make python-dev brew install --devel protobuf brew install autoconf libtool pkg-config wget git ``` -####Mac + Linux install +####Mac + Linux installation make shure you installed everything above - get pip for pyton2.7 From 980747fb640856869638781817cc3f8a6d57a693 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:02:20 +0200 Subject: [PATCH 10/35] Update manual_installation.md --- docs/manual_installation.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 0ed1e727dd..930675a301 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -40,6 +40,7 @@ pip install virtualenv virtualenv . ``` - install the requirements and get the needen encryption.so +- (we move `encrypt.so` to the root folder of the Bot so no need to edit the config regarding that) ```bash pip install -r requirements.txt From 717a0e6ed572efe86b242db9ab1bfbe5490479ff Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:03:03 +0200 Subject: [PATCH 11/35] Update manual_installation.md --- docs/manual_installation.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 930675a301..dfbb50db88 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -67,9 +67,7 @@ pip install -r requirements.txt ```bash ./run.sh configs/config.json ``` -after reboot or closing the terminal -at every new start go into the folder of the PokemonGo-Bot by -going into the folder where you startet installing it an then +- after reboot or closing the terminal at every new start go into the folder of the PokemonGo-Bot by going into the folder where you startet installing it an then ```bash cd PokemonGo-Bot #activate virtualenv and start From 0602f41d79125f2251591e08c3e0d7ee4342e41b Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:08:16 +0200 Subject: [PATCH 12/35] Update manual_installation.md --- docs/manual_installation.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index dfbb50db88..067055840b 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -30,8 +30,10 @@ rm -f get-pip.py ``` - switch to the location where you want to install it - get git Repository and switch into the downloaded Folder +- +(Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version.) ```bash -git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot +git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot cd PokemonGo-Bot ``` - install virtualenv and activate it @@ -116,10 +118,8 @@ $ git submodule update -### Protobuf 3 installation - -- OS X: `brew update && brew install --devel protobuf` -- Windows: Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. +### Protobuf 3 installation Windows +Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. ### Get encrypt.so (Windows part writing need fine tune) Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. @@ -128,11 +128,7 @@ Ensure you are in the PokemonGo-Bot main folder and run: `wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` -### Note on branch -Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version. - ## Update To update your project do (in the project folder): `git pull` To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` - From afe9b3ebe867a2cf056c9600346293977d067316 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:09:24 +0200 Subject: [PATCH 13/35] Update manual_installation.md --- docs/manual_installation.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 067055840b..5f612d3cd1 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -22,27 +22,27 @@ brew install autoconf libtool pkg-config wget git ####Mac + Linux installation make shure you installed everything above -- get pip for pyton2.7 +-get pip for pyton2.7 ```bash wget https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py rm -f get-pip.py ``` -- switch to the location where you want to install it -- get git Repository and switch into the downloaded Folder -- +-switch to the location where you want to install it +-get git Repository and switch into the downloaded Folder + (Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version.) ```bash git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot cd PokemonGo-Bot ``` -- install virtualenv and activate it +-install virtualenv and activate it ```bash pip install virtualenv virtualenv . ``` -- install the requirements and get the needen encryption.so -- +-install the requirements and get the needen encryption.so + (we move `encrypt.so` to the root folder of the Bot so no need to edit the config regarding that) ```bash pip install -r requirements.txt @@ -53,23 +53,23 @@ make cd ../../ mv pgoencrypt/src/libencrypt.so encrypt.so ``` -- copy and edit the config +-copy and edit the config (after copying it you can use any editor you like if you don't like `vi`) ```bash cp configs/config.json.example configs/config.json vi configs/config.json ``` -- make shure your git repo is up to date +-make shure your git repo is up to date (make shure you are in the bot folder and activated virtualenv) ```bash git pull pip install -r requirements.txt ``` -- finaly start the bot +-finaly start the bot ```bash ./run.sh configs/config.json ``` -- after reboot or closing the terminal at every new start go into the folder of the PokemonGo-Bot by going into the folder where you startet installing it an then +-after reboot or closing the terminal at every new start go into the folder of the PokemonGo-Bot by going into the folder where you startet installing it an then ```bash cd PokemonGo-Bot #activate virtualenv and start @@ -78,8 +78,8 @@ source bin/activate ``` if you are on a different Linux OS you maybe have to adapt things like: -- package mananger (for example yum instead of apt-get) -- package names +-package mananger (for example yum instead of apt-get) +-package names ### Windows From 0f8dfd46911be02a65999b872b46d22d6cfb0762 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:10:45 +0200 Subject: [PATCH 14/35] Update manual_installation.md --- docs/manual_installation.md | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 5f612d3cd1..c371d69a79 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -22,26 +22,29 @@ brew install autoconf libtool pkg-config wget git ####Mac + Linux installation make shure you installed everything above --get pip for pyton2.7 +- get pip for pyton2.7 ```bash wget https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py rm -f get-pip.py ``` --switch to the location where you want to install it --get git Repository and switch into the downloaded Folder +#### +- switch to the location where you want to install it +- get git Repository and switch into the downloaded Folder (Please keep in mind that master is not always up-to-date whereas 'dev' is. In the installation note below change `master` to `dev` if you want to get and use the latest version.) ```bash git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot cd PokemonGo-Bot ``` --install virtualenv and activate it +#### +- install virtualenv and activate it ```bash pip install virtualenv virtualenv . ``` --install the requirements and get the needen encryption.so +#### +- install the requirements and get the needen encryption.so (we move `encrypt.so` to the root folder of the Bot so no need to edit the config regarding that) ```bash @@ -53,33 +56,38 @@ make cd ../../ mv pgoencrypt/src/libencrypt.so encrypt.so ``` --copy and edit the config +#### +- copy and edit the config (after copying it you can use any editor you like if you don't like `vi`) ```bash cp configs/config.json.example configs/config.json vi configs/config.json ``` --make shure your git repo is up to date +#### +- make shure your git repo is up to date (make shure you are in the bot folder and activated virtualenv) ```bash git pull pip install -r requirements.txt ``` --finaly start the bot +#### +- finaly start the bot ```bash ./run.sh configs/config.json ``` --after reboot or closing the terminal at every new start go into the folder of the PokemonGo-Bot by going into the folder where you startet installing it an then +#### +- after reboot or closing the terminal at every new start go into the folder of the PokemonGo-Bot by going into the folder where you startet installing it an then ```bash cd PokemonGo-Bot #activate virtualenv and start source bin/activate ./run.sh configs/config.json ``` +#### if you are on a different Linux OS you maybe have to adapt things like: --package mananger (for example yum instead of apt-get) --package names +- package mananger (for example yum instead of apt-get) +- package names ### Windows From 108432177856b27cae1613179251a5a9b72206fe Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:11:45 +0200 Subject: [PATCH 15/35] Update manual_installation.md --- docs/manual_installation.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index c371d69a79..809aaced65 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -14,6 +14,12 @@ Ubuntu will be used for the Linux Example ```bash sudo apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git ``` +#### +if you are on a different Linux OS you maybe have to adapt things like: + +- package mananger (for example yum instead of apt-get) +- package names + #####Mac ```bash brew install --devel protobuf @@ -83,11 +89,6 @@ cd PokemonGo-Bot source bin/activate ./run.sh configs/config.json ``` -#### -if you are on a different Linux OS you maybe have to adapt things like: - -- package mananger (for example yum instead of apt-get) -- package names ### Windows From 7250a05ace0d4fe53225fe4c2601f2cb0b09d2f3 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:12:01 +0200 Subject: [PATCH 16/35] added windows deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hopefully it works I don’t have windows. --- docs/installation.md | 50 ++++++- run.bat | 10 -- windows bat/PokemonGo-Bot-Install.bat | 125 ++++++++++++++++++ windows bat/PokemonGo-Bot-Repair.bat | 117 ++++++++++++++++ windows bat/PokemonGo-Bot-StartBot.bat | 48 +++++++ windows bat/PokemonGo-Bot-StartServer.bat | 101 ++++++++++++++ windows bat/PokemonGo-Bot-StatusWebpage.url | 5 + windows bat/PyYAML-3.11-cp27-cp27m-win32.whl | Bin 0 -> 120232 bytes .../PyYAML-3.11-cp27-cp27m-win_amd64.whl | Bin 0 -> 131006 bytes 9 files changed, 439 insertions(+), 17 deletions(-) delete mode 100644 run.bat create mode 100755 windows bat/PokemonGo-Bot-Install.bat create mode 100755 windows bat/PokemonGo-Bot-Repair.bat create mode 100755 windows bat/PokemonGo-Bot-StartBot.bat create mode 100755 windows bat/PokemonGo-Bot-StartServer.bat create mode 100755 windows bat/PokemonGo-Bot-StatusWebpage.url create mode 100755 windows bat/PyYAML-3.11-cp27-cp27m-win32.whl create mode 100755 windows bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl diff --git a/docs/installation.md b/docs/installation.md index 5f740cd8f8..b5e18b840b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,13 +1,18 @@ -### Requirements (click each one for install guide) +#Install the bot +## Table of Contents +- [Linux or Mac Automatic Installation](#Linux/Mac) +- [Windows Automatic Installation](#windows) +- [Docker Automatic Installation](#docker) + + +#Linux/Mac +### Requirements (click each one for install guide) - [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) - [pip](https://pip.pypa.io/en/stable/installing/) - [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - [virtualenv](https://virtualenv.pypa.io/en/stable/installation/) (Recommended) -- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) -- [protobuf 3](https://github.com/google/protobuf) (OS Dependent, see below) -#Linux/Mac Automatic installation ### Easy installation 1. Clone the git: `git clone https://github.com/PokemonGoF/PokemonGo-Bot` 2. Go into the new directory: `cd PokemonGo-Bot` @@ -16,7 +21,7 @@ 4. Run `./run.sh` After you are done following it this will start your bot. -### To update +### To update the bot 1. Stop the bot if it's running. (use control + c twice to stop it) 2. Run `./setup.sh -r` This will reset and makes sure you have no changes made to any code since it will overide it @@ -24,5 +29,36 @@ for manual installation please refer to [here](https://github.com/nivong/PokemonGo-Bot/blob/dev/docs/manual_installation.md) -#Windows Automatic installation -###TBA +#Windows +##Requirements + +[Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) + +[git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) + +[Protoc](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) + +[Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) + +###Easy Installation +1. Go into the folder/dir named: Windows bot +2. Run `PokemonGo-Bot-install.bat` +After that has done the bot will be installed +3. Run `PokemonGo-Bot-StartBot.bat` +This will start the bot itself +OPTIONAL: 4. Run `PokemonGo-Bot-StartServer.bat` +This will start the web interface and is optional stap + +### To update the bot +1. Stop the bot by closing everything +2. Run `PokemonGo-Bot-Update.bat` +3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` + +### To repair the bot if it isn't working for some reason +1. Stop the bot by closing everything +2. Run `PokemonGo-Bot-Repair.bat` +3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` + +#Docker +##Requirements +- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) \ No newline at end of file diff --git a/run.bat b/run.bat deleted file mode 100644 index 047c8f6fd4..0000000000 --- a/run.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off -set /a x=0 -:LOOP -echo Running pokecli.py for count: %x% -REM Change the path for python.exe if it's different for you -C:\Python27\python.exe pokecli.py -REM Waits for 60 seconds -ping 127.0.0.1 -n 60 > nul -set /a x+=1 -goto :LOOP diff --git a/windows bat/PokemonGo-Bot-Install.bat b/windows bat/PokemonGo-Bot-Install.bat new file mode 100755 index 0000000000..871c6ea2c0 --- /dev/null +++ b/windows bat/PokemonGo-Bot-Install.bat @@ -0,0 +1,125 @@ +@echo off +CLS + +:init +setlocal DisableDelayedExpansion +set "batchPath=%~0" +for %%k in (%0) do set batchName=%%~nk +set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" +setlocal EnableDelayedExpansion + +:checkPrivileges +NET FILE 1>NUL 2>NUL +if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) + +:getPrivileges +if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) +ECHO. + +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" +ECHO args = "ELEV " >> "%vbsGetPrivileges%" +ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" +ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" +ECHO Next >> "%vbsGetPrivileges%" +ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" +"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* +exit /B + +:gotPrivileges +setlocal & pushd . +cd /d %~dp0 +if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) + +:::::::::::::::::::::::::::: +::START +:::::::::::::::::::::::::::: +@ECHO ON +@ECHO. +@ECHO --------------------PokemonGo-Bot Installer-------------------- +@ECHO. +@ECHO Before proceeding, please install the following software: +@ECHO. +@ECHO ---- Python 2.7.x +@ECHO ---- http://docs.python-guide.org/en/latest/starting/installation/ +@ECHO. +@ECHO ---- git +@ECHO ---- https://git-scm.com/book/en/v2/Getting-Started-Installing-Git +@ECHO. +@ECHO ---- Protoc +@ECHO ---- https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip +@ECHO. +@ECHO ---- Microsoft Visual C++ Compiler for Python 2.7 +@ECHO ---- http://www.microsoft.com/en-us/download/details.aspx?id=44266 +@ECHO. +@PAUSE +@ECHO. +@ECHO --------------------Downloading PokemonGo-Bot-------------------- +@ECHO. +RMDIR C:\Python27\PokemonGo-Bot /s /q +cd C:\Python27\ +pip2 install --upgrade pip +pip2 install --upgrade virtualenv +pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win32.whl" +pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win_amd64.whl" +cd C:\Python27\ +git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot +cd C:\Python27\PokemonGo-Bot +pip2 install --upgrade -r requirements.txt +git submodule init +git submodule update +virtualenv . +@ECHO OFF +set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" + +if defined _OLD_VIRTUAL_PROMPT ( + set "PROMPT=%_OLD_VIRTUAL_PROMPT%" +) else ( + if not defined PROMPT ( + set "PROMPT=$P$G" + ) + set "_OLD_VIRTUAL_PROMPT=%PROMPT%" +) +set "PROMPT=(PokemonGo-Bot) %PROMPT%" + +REM Don't use () to avoid problems with them in %PATH% +if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME + set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" +:ENDIFVHOME + +set PYTHONHOME= + +REM if defined _OLD_VIRTUAL_PATH ( +if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 + set "PATH=%_OLD_VIRTUAL_PATH%" +:ENDIFVPATH1 +REM ) else ( +if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 + set "_OLD_VIRTUAL_PATH=%PATH%" +:ENDIFVPATH2 + +set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" +pip2 install --upgrade -r requirements.txt +@ECHO ON +@ECHO. +@ECHO Created by danielsdian based on information gathered from the wiki +@ECHO. +@ECHO --------------------Copying additional files-------------------- +@ECHO. +COPY "%~dp0\encrypt*.*" C:\Python27\PokemonGo-Bot\ +cd C:\Python27\PokemonGo-Bot\configs\ +REN config.json.example config.json +cd C:\Python27\PokemonGo-Bot\web\config\ +REN userdata.js.example userdata.js +@ECHO. +@ECHO --------------------File customization-------------------- +@ECHO. +@ECHO Remember to configure both config.json and userdata.js! +@ECHO. +@ECHO "C:/Python27/PokemonGo-Bot/configs/config.json" +@ECHO. +@ECHO "C:/Python27/PokemonGo-Bot/web/config/userdata.js" +@ECHO. +@ECHO To get an Google Map API Key: +@ECHO https://developers.google.com/maps/documentation/javascript/get-api-key +@ECHO. +@PAUSE \ No newline at end of file diff --git a/windows bat/PokemonGo-Bot-Repair.bat b/windows bat/PokemonGo-Bot-Repair.bat new file mode 100755 index 0000000000..7e720e263d --- /dev/null +++ b/windows bat/PokemonGo-Bot-Repair.bat @@ -0,0 +1,117 @@ +@echo off +CLS + +:init +setlocal DisableDelayedExpansion +set "batchPath=%~0" +for %%k in (%0) do set batchName=%%~nk +set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" +setlocal EnableDelayedExpansion + +:checkPrivileges +NET FILE 1>NUL 2>NUL +if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) + +:getPrivileges +if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) +ECHO. + +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" +ECHO args = "ELEV " >> "%vbsGetPrivileges%" +ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" +ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" +ECHO Next >> "%vbsGetPrivileges%" +ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" +"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* +exit /B + +:gotPrivileges +setlocal & pushd . +cd /d %~dp0 +if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) + +:::::::::::::::::::::::::::: +::START +:::::::::::::::::::::::::::: +@ECHO ON +@ECHO. +@ECHO Created by danielsdian based on information gathered from the wiki +@ECHO. +@ECHO --------------------Creating Backup-------------------- +ECHO. +RMDIR C:\Python27\Backup /s /q +MKDIR C:\Python27\Backup +COPY C:\Python27\PokemonGo-Bot\encrypt*.* C:\Python27\Backup +COPY C:\Python27\PokemonGo-Bot\configs\config.json C:\Python27\Backup +COPY C:\Python27\PokemonGo-Bot\web\config\userdata.js C:\Python27\Backup +@ECHO. +@ECHO --------------------Downloading PokemonGo-Bot-------------------- +@ECHO. +RMDIR C:\Python27\PokemonGo-Bot /s /q +cd C:\Python27\ +pip2 install --upgrade pip +pip2 install --upgrade virtualenv +pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win32.whl" +pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win_amd64.whl" +cd C:\Python27\ +git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot +cd C:\Python27\PokemonGo-Bot +pip2 install --upgrade -r requirements.txt +git submodule init +git submodule update +virtualenv . +pip2 install --upgrade -r requirements.txt +@ECHO OFF +set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" + +if defined _OLD_VIRTUAL_PROMPT ( + set "PROMPT=%_OLD_VIRTUAL_PROMPT%" +) else ( + if not defined PROMPT ( + set "PROMPT=$P$G" + ) + set "_OLD_VIRTUAL_PROMPT=%PROMPT%" +) +set "PROMPT=(PokemonGo-Bot) %PROMPT%" + +REM Don't use () to avoid problems with them in %PATH% +if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME + set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" +:ENDIFVHOME + +set PYTHONHOME= + +REM if defined _OLD_VIRTUAL_PATH ( +if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 + set "PATH=%_OLD_VIRTUAL_PATH%" +:ENDIFVPATH1 +REM ) else ( +if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 + set "_OLD_VIRTUAL_PATH=%PATH%" +:ENDIFVPATH2 + +set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" +@ECHO ON +@ECHO. +@ECHO --------------------Copying additional files-------------------- +@ECHO. +COPY "%~dp0\encrypt*.*" C:\Python27\PokemonGo-Bot\ +@ECHO. +@ECHO --------------------Restoring Backup-------------------- +@ECHO. +COPY C:\Python27\Backup\encrypt*.* C:\Python27\PokemonGo-Bot\ +COPY C:\Python27\Backup\config.json C:\Python27\PokemonGo-Bot\configs\ +COPY C:\Python27\Backup\userdata.js C:\Python27\PokemonGo-Bot\web\config\ +@ECHO. +@ECHO --------------------File customization-------------------- +@ECHO. +@ECHO Remember to configure both config.json and userdata.js! +@ECHO. +@ECHO "C:/Python27/PokemonGo-Bot/configs/config.json" +@ECHO. +@ECHO "C:/Python27/PokemonGo-Bot/web/config/userdata.js" +@ECHO. +@ECHO To get an Google Map API Key: +@ECHO https://developers.google.com/maps/documentation/javascript/get-api-key +@ECHO. +@PAUSE \ No newline at end of file diff --git a/windows bat/PokemonGo-Bot-StartBot.bat b/windows bat/PokemonGo-Bot-StartBot.bat new file mode 100755 index 0000000000..403a9f4741 --- /dev/null +++ b/windows bat/PokemonGo-Bot-StartBot.bat @@ -0,0 +1,48 @@ +@echo off +CLS + +:init +setlocal DisableDelayedExpansion +set "batchPath=%~0" +for %%k in (%0) do set batchName=%%~nk +set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" +setlocal EnableDelayedExpansion + +:checkPrivileges +NET FILE 1>NUL 2>NUL +if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) + +:getPrivileges +if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) +ECHO. + +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" +ECHO args = "ELEV " >> "%vbsGetPrivileges%" +ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" +ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" +ECHO Next >> "%vbsGetPrivileges%" +ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" +"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* +exit /B + +:gotPrivileges +setlocal & pushd . +cd /d %~dp0 +if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) + +:::::::::::::::::::::::::::: +::START +:::::::::::::::::::::::::::: +@ECHO ON +@ECHO. +@ECHO Created by danielsdian based on information gathered from the wiki +@ECHO. +@ECHO First run PokemonGo-Bot-StartServer +@ECHO. +@pause +python C:/Python27/PokemonGo-Bot/pokecli.py + + + + + diff --git a/windows bat/PokemonGo-Bot-StartServer.bat b/windows bat/PokemonGo-Bot-StartServer.bat new file mode 100755 index 0000000000..06e7bf778f --- /dev/null +++ b/windows bat/PokemonGo-Bot-StartServer.bat @@ -0,0 +1,101 @@ +@echo off +CLS + +:init +setlocal DisableDelayedExpansion +set "batchPath=%~0" +for %%k in (%0) do set batchName=%%~nk +set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" +setlocal EnableDelayedExpansion + +:checkPrivileges +NET FILE 1>NUL 2>NUL +if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) + +:getPrivileges +if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) +ECHO. + +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" +ECHO args = "ELEV " >> "%vbsGetPrivileges%" +ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" +ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" +ECHO Next >> "%vbsGetPrivileges%" +ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" +"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* +exit /B + +:gotPrivileges +setlocal & pushd . +cd /d %~dp0 +if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) + +:::::::::::::::::::::::::::: +::START +:::::::::::::::::::::::::::: +@ECHO ON +@ECHO. +@ECHO Created by danielsdian based on information gathered from the wiki +@ECHO. +@ECHO --------------------Verifying PokemonGo-Bot version-------------------- +@ECHO. +cd C:/Python27/PokemonGo-Bot/ +git pull +@ECHO C:/Python27/PokemonGo-Bot/scripts/activate +@ECHO OFF +set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" + +if defined _OLD_VIRTUAL_PROMPT ( + set "PROMPT=%_OLD_VIRTUAL_PROMPT%" +) else ( + if not defined PROMPT ( + set "PROMPT=$P$G" + ) + set "_OLD_VIRTUAL_PROMPT=%PROMPT%" +) +set "PROMPT=(PokemonGo-Bot) %PROMPT%" + +REM Don't use () to avoid problems with them in %PATH% +if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME + set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" +:ENDIFVHOME + +set PYTHONHOME= + +REM if defined _OLD_VIRTUAL_PATH ( +if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 + set "PATH=%_OLD_VIRTUAL_PATH%" +:ENDIFVPATH1 +REM ) else ( +if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 + set "_OLD_VIRTUAL_PATH=%PATH%" +:ENDIFVPATH2 + +set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" +@ECHO ON +cd C:/Python27/PokemonGo-Bot/ +pip2 install --upgrade -r requirements.txt +virtualenv . +git submodule init +git submodule update +@ECHO. +@ECHO. +@ECHO. +@ECHO. +@ECHO. +@ECHO. +@ECHO KEEP THIS COMMAND PROMPT OPEN and run PokemonGo-Bot-StartBot in another Command prompt. +@ECHO. +@ECHO Press any key to start the Web Server +@ECHO. +@pause +@ECHO. +@ECHO --------------------Initializing Web Server-------------------- +@ECHO. +cd C:/Python27/PokemonGo-Bot/web +python -m SimpleHTTPServer + + + + + diff --git a/windows bat/PokemonGo-Bot-StatusWebpage.url b/windows bat/PokemonGo-Bot-StatusWebpage.url new file mode 100755 index 0000000000..800e2554c4 --- /dev/null +++ b/windows bat/PokemonGo-Bot-StatusWebpage.url @@ -0,0 +1,5 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,2 +[InternetShortcut] +IDList= +URL=http://localhost:8000/ diff --git a/windows bat/PyYAML-3.11-cp27-cp27m-win32.whl b/windows bat/PyYAML-3.11-cp27-cp27m-win32.whl new file mode 100755 index 0000000000000000000000000000000000000000..ec75df14d7601abf054844cf3606fbf7b0cbdbd9 GIT binary patch literal 120232 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 literal 0 HcmV?d00001 diff --git a/windows bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl b/windows bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl new file mode 100755 index 0000000000000000000000000000000000000000..6a88c21d988c65fd9357905cea7a98b4c1970e17 GIT binary patch literal 131006 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%0AR9~){K_BhhHmAx zc8Vl_&Gxwl>T8hEy7PJTBXkIY$#9pxF=DWd!eWqj67n$!`VGC|IHgB_RspUMb<)b+ z7o4)ss0f%?cn3BFxuw(aLoZqTEI`0}7CO4B(xAPPsOZbE4e{d+WL3Mb9iU^(QO{`U zCg-w;f|%QNk29&V@v51LXi{5Zk$Q4Qh5WY#H9dKcfaN;DYZ`F&gR64oYo7j9)bTiU zP#!(Y5~9f$7-178eY}FFgWWky-ySK|6HclVV6v0;Am5tnJadjkKKyhYurJp21@^!H zr%2Qt$(z4o0IOfqcstc42saw$|1~l)7gG#Qg9ke@r3)UG z%!S0X6Uwx{wy=2$=5kV^`=z1&6M=zE4G?tpZ|DT-#b>i*i|wMgF$#0GKCvy^XxBN9 zb#V`E!j8er(SNB}F;ZIygz;tWnZuJ>4ZU1Gd4~Vzow$Phzu!X>Oh9GmuVy6|^gr$u z8(Sme|64&*O8>t?iEIsl0IA-SJ_BPd()4Bjm%~IiP^whr7l z>1i8sW*LZEBH7nWM_-+zYgdw(0We8X3nG}Nmma4^_(yTpDW{+7h_*PFIXPWPsk_)O z->xCsJe1T348F~HijNBv+3v=Dv?9G#cTzxz6Bx5NF@lt}zQ#>qCT;)NKfWF2G_~HVZ(kh4R^kB;4&1p&W_W}?ei-mfk8XMEeij-KaLO}?oV(lIm zTEk|9S2p-ryz&$cb7UbjAu|gODl8!O6hs2adcb!{Qat;##sA7~=y#ECQ+telphq(c zWwYt70(}Rb|C7vX=k&nG%Yclk7>`VUlgH%Ba&pY8*TjB3{pUIV@Cp3Q7xvB=GfX$C zxUU6m%6bor>1JV*pN9@B?4{8>ZPj=kcJ8bwLC)ZBj;lGW( zM>v+Y3!~4TzC*K6q-X8=YqF|KE)`agH2Jif&33^EP-Ooaw>e#wUHr_>e0xlFo}*6o z>X36iYe>zkW->W$Qb)GegjCrurWV*`_{7FoJh(WyL{`*W)q*f19GpDXeYyGd8Hvd! z=qK)AytN7tjNRIQxqrx_OqsIw3YV94A8U4|@IEIZAp@WZF#`j{PVUYOcv-kwI?;61 za*b-kbIep^4NmPE0AYqfJ&SZ#k(37y8 znyD25@SrCS!jM!E3Y}|2XJ$`74`Wl&N9cpUh|puD@F2~@G50NS4$KjYB$^VOj_!?| zINK2x#|bE4MnGUY8_mjM11ciz+CVO}Cd7c9pR$Bz)+w$sl6E25<0G{uk`}a^s zt)uWo;vQk&Dg`H5lOAE=$p>JFC=MLAi%Gkkd9q(+iwb9rumOo)OMEpzVV{_DFiTPDZ*!^mo}ToenLj z7&~)s4-WVL3Q!;4A1#0!T0wNayNCnk%U^O`M}NTXl|9^-sQWJloLj>}&0TOm?;mD* zaPIY8VQyh&=0GZui3SRD4&0{CNWeL8f$TB$nDV?rie?r-Du^Lo$H-y0{W|BF0qoK? z`6(ffMeTYNZ;nOOX0dO!E7)?8x>&SJkaszG@}jb9v?6WF)ocsyL z^MRoBz^G{=Xx>|i%pN0Aqzz$2=>Iv#?QuW=f@H&U*P*S-vnG}PwWVhl8W)O?@p~>| zGZ)?+56gs~bmhO0KGPfWHiq1!A+#f!i(MmIRPMkku8V*;NF8SK2uLTwkF7_4U&- zq==M2Tw<;id=L@I`19rwonWDVFV4atC=Dw{nVNNv@7g>YQhuTgSIoaFBW3lXv<$8Z z>tEUNX|YtZ+Nv>x(PpSv%|BzQCIeaWDun4I@W8rkk}HVL`X^VK-=cbva|-_v4?v9S zE?oFCcFCa3#AzqqCmkjWk5Ne&BQ zZYo6gY0oMFmK8xmC|mjuZ5Hp4RQ_di?Bt&ZB}Yz6ZX zfYY!b(5EZ&%QsgmRM)vXdXPpj4CK9cr@Knv2^fP38q`ShS1jT(D^;X*|Ay+O?4-L2 z1mmSZH0>vN!1Ag9wM4TV70jgq*d8T?43`ItRx)WKAEC2Diu1SI{Afa?MtqwwIoz;^ zJA%1u%^Q?`0CpfDa~Zb;_;v8(rd0(Q*OK+*Rs#83U@#UrsU<84kx$ zGj0599^IZwXvX*wzMxQPuP4@_48u0&yu9IRG5>?AAt|reQlJ3(Sy|dhaA!!Zu9kXO zVI%zXJ~ZmXl009^RH#x)SKphZMY$9ahT&F6vz+LKHLSn<;+n(R(Tc25Jdv(Ikx6BL zCr({1EFwYqC}(;O=6v(C>HsamuU!c|I9*8uiQd~x+;|>etTVI9FdJUm{6`Yb1#01N z)i~a*nJ7faNRmxG31=IY8J}r(m$sj8frdYlLZV^*TYbxdAT~x6K4$j7R#*z8Xw?7{ zZEi#@j(F2X*Y5GoF2{~#z_-e8aZPUpw(TD{*;E4q&Lav(<8GW@lpP_DkQO&>D6wj*CQ%ejajR{q1T0g%XHP{yXtyf%kT(~wLp@xhg3hQ@qO=hdeoM|sZ7$`RE|+`0(Er<> zZ4|vbN`iv$44GKgfc<3pDVt(&h^4c#oOG*`6B=35$$#`rwujQiVnm9ruDD$nRif^1 zh3J&96vGSMP8w>;t1cMTh&z?d&R}+ER2@@cZWc<#iG~tOuppRFrwRAs)SYtY#ntJ! zKP~RBz&g*W3>T8^a#jD5$Yj`P7QkUt(o2YSES^2wWkL81jAHL=xFR_@M2IkJ5+-yJ ziugu8XsNDE@2KiqD7ms{SjayUsM$^v-q5Q|Ftv{%Gk1vlbH|)6rWgT0(~X^^We@0v zdVoNmpAzK3CQ`@k^=Q_Hrm2JH9b;1*G1qTeqs9Wlai87t9VmTn1A%q5FS=ys8bkE;RK=tsL(wp4aswm1j%{` z3JO0=q6H;1b9V3kTCHZ-xhg}1J*^+Xw&lzZEhvem9h!v|{8l5mXOM@JT8+>pIzSlS zzmt!vZ^TfsxqEt3XXr({!x~?0HS3YQ*j~uvP9e>WDBw8t<=u5N#d#AiwE{kz6`i@w z%dfwN1B-{-=UMZ^nJw!`M9&M%3Fa>iFrZStEv(~)v3?yO_ugREo8T(IxCB0Zt?{{s ziOvV{;ey&n*m!RfLQ^iMnAem3GU{86*!{~AHoJRZ9RNI+IU>jB>LWG;WtSa+BR5m5 zn(99_FhFrn83VVt!&{}MPfn!+Ds(dh1eg^b1BZTAu?)C3jw_eT8u>d+2P_u7&@_KP zU@0kE431Soyu>tLE;7t08W~#0$p-F~JUs25-Yx;KZFx1kJbEFEmrlU7;;?|a zQ#^j+eleB=7n*`y+=Bzk5QdO$-$K7lBWo+|nNY29TgnQ;$K4#-41Hc(SsgA2|4|AVSI4f2M z=uTS5k2R+lVQYs{oG3Wp9@z<71#J3#t~$WJrqs=`)SB^IYeo}?BaN*LbogXUm>f^Y zY=w$o1HZUX=~#+DtlZu;q(V%j*UDtp$m7Q)_wW1_JP)V~Z~Dq7e?h|QLVo=8@Xy{p z?E?_g$D=Qh<=6rcX#AM>!>ezvER?;}zS-93OT0&Bn9Nf}E1ZrUm?L?=Rg!^hhJwhX z97=UBq8!P+cODc{{;ZieDVMhFP)=4FtBx(P)^HFu9>Z?-LiF1JyffIB?FaOmYJbab z{~R3W?vLZjt26`KH!1A-vqTN9Bk8peZ<7Nd>YfoFr6ccv>~~R^BEIcjEF~Ce%m6^y z9GtxMnRi)RAdar23Q0?n6*4x;t_Aig&H@1U(bgs}?WKP?g#;)DD_o3an_f zx*bMBPX%|Dsm6r_%)iAnM(egf%10bZc%!B0n=@ZXMql z?2lTX)sA%C67N_0MyWWWIK^=%%jouQ!d)S7Ov%}|QG{vwHSb3Vg_j(WT}|>a&eg zun4$iU3yfukV#yO@$JF2G|GUG@=?ST!A_Jqec4zS-aMq?#m5w1gD&-VXHHWm)l=2?7&D!6ylv3 z-hi;zvA|D9@=f2u@LnlGh8k#^;3N>K(oB)oMk@u7QqkUyR3qd*`9X-rpGX6vkq}}@)L!?-TH@z%ApmByMbUjh*D%Hhk6AZx>Cj6s#2oTBXCm=qN#NUD@jn?UqVWT zqe*F@X-mz2;@vav^#=3X!f8pm%#hN7^e_>&@vGY1b;^m#n3t%3gMe}Xjws+jmw`4K z``R@hbCMb+OsJ0hd=*YRkE0U z{ByQUwT7y$!kv%;tomU<-2_*hB+gc}e=oT~+IaXm`X-ci_o;K0ijJJN=cyc_MLqr| z(U(QIEl_WoWJ*^^9Xrj(Sofra12xV_B`!(mRt*50px_^O$Mb$%-Os#pk4!ZOmJ|x> z5!z?hv=oq?DbY^Lk?2_wOu-4F5uOKAfiuJ~QO_Pix(PzoDFE`k!LlT5$AxtzY+s9- zfEN=icl-7f`jU=wW`GlY={c@MM9l2SJf935Q(l{rt`#kM3bVv9XrEp}6(cm(pbf&o zm20XDQ!u>xtIJWCF^VrhtA!t%mO#PH^X1K3_FsJOm{B0NR7Vk``yx z)dFXbUFI7(bPC--VEDb8_wsB@WU2*DgD}0q`t}`5*t2tG{h^ap zwWC{k!_d1jFU2D%_w^4S*Xm zRjLwq=^hY@kfI$Z@($B)M&B>j4cd3_DHddnC=>WZL=X&C*YXf=N|2@`{*e&03m5qU z7sVGZRxA31%W~fX^KJPzH+bhJQZd<~F7zrg*Cur0yxmaBdym1Ju7mH2f zr49mKBK3jLCEhc}_@dgWWnliTlKihYdhbW9g^O6O zGpNqeP1Jy0BPM#E2`)<&_OelbIjS+}K2bw6>%F%BdBmQnOkMubmYoPjRwK>!hy^2e zWV3mbZHm|+Qz8eVbrZ977Me$Hxevpb5TfPiO8Xpjh-L!9eou5RvBB%o=}ly#xwVj( z%xn0oYp*U8{nzkB)vEJceYURk+^J{b@N6g+<0|CEK6c3j{qZP)2ldX6t7VIn>NJCH zFJFpH^&4nbtRv5g;?&V_*UH7iI1i8RX z^QT;Rhj*L||DqdCTk}(kl8iXyu(b(~k4*_Up(SjR%p6 zs)k#4eaqVeTl|BaAGepgg$uTunkR?|7B6;#v0!7nhnpw!J8B=DgOjUwr?#{z*&Z!R zJFc!_{G$zBl?rF~F16X%C5xwL*0jZ@t+TYp@LXFLtW@~FEVq~HOsSdSM)>I!1SOx1 z;@Eo`9NLK|FZmR)dA_fl1s)CICHfz;|J(r>Sl*qk8XqB3B(Jv=+3DxBgl9W1qT0K5 z5mu)}trNNLNsQG!*YmF|Myl!p30U*4?Kc9OWMrRUw&5nh0<(In{>-v5E|%1z8wi(o z2d)PwfI0zV7og9qPp@Ysrc;kr4?H@h_nqe@M3%Q-- zUpR*C){MO!ejMuiUaamhRDXe(g=N7oE;cC}tBfc;g zysTLtcQzM`wYHvZ3ifbUX)fSf1}r@re4ec6+u^NA7CzQ>VhexvCL)K9WZ`n#^qX5& zodl4PYFs4|3}u;q2_YCw%f{o4e-we48XRXBITv0Xim!f2L1J%7D96#?oIAUSDCy@} zQPbsn3QQYk^Yl!VVg*0{&%Bv7LSk3x*Svf#{2#zK2V*-2W5?e`+kaaqwXAJ7TM>Wh zk^(u1;ulsx|oC{y%39z+9e|L zPvBEgIlN5Rai(EH=W&nR<(1v1>DH9*r3qhkUyF|dRuWpqGD&yPse8uUxeabj*}ONJ zr8BhfajVu%rr3Gw9Jf^LhEVtRhveFtv8rF_zd$O3?Htg)3 z8cU%F(`M+uE-G4l3w0Zyk<5XWaO>Er8r$CD|BxUc9aXET_U7H7MyB+~$c z2-h7_r<@pTk8{g{)~GmIQR#`(9aitB?y#`1Syz;|wQx38zJ?kynNrxO2 zUlTBe8&@akNjH}$@Vv=p+PX!$*k3)PE2~4CZVTW~_nYO9+$hP9_NNomaYxyUjKx!s zN~T8dT0>TTPb=cEebh6x9Wjz00ET^nU5cGj(o*S9g?S)gq{BW#{l)WCQz!OLp$_6^ z1ODj4^o{G(LGnP`jrhs>H`bzMv!MYCd#X*zRQl;qbgZ?#EIr|v&bjNUbWncg;ZFLB z_wI03WjeBfkPK8QfK(5SMo=Y|x{1qaVPMjm9O=!2;S2N$2@HY*C5F-nBLX?WWhbcH zf4_iq*`9 z&ev;vtOp3{yW+jiZpAwB?q$ zF+1?fb>V)Wyu_4Uh?aeQ@gxy*u4L#)SuRYhmM_g-oEYu?B{H9C{brX?S-?j#721o4 z8#s*4IQD=z2dQNQcSr9dk{1JIqKIb&g=ltjbthBZ+s2K*Ey2GW33(`m^cC?>n7%AU zAXKwy+EkG!ivZC?9N@@#p8ob_81id0ORDP>>WZv zY1e;>vB#&YoFSmFU78`ib=FQioL@%Mn6@BfMCtH#lbwdJp0FAe7n&Q@&I<>V?^Rfz ze8x+?pVbJ#N!IH#JOYsj;ij7H*Z_|;QKR$fVN}S{)K%3s54lc`Pf}-ytciF?t5WA6 ztj)=_o~$^FRWqmbL}44DBv+@bLE9tO{R|=N2BPZaTOX9o-7Eru+#h`Rz&ck1YNoTm z$yCmO)6_)8Is(-dgG2SRCzP8Is#H%hrYqOnO(@^pO;+HDdbx4dIc+m*(hEwpD;5%X zrEv{w>{h*8%LJ2!DxI*!ie=V7)i*$j9hK&`Co?nC*}97xIlH{E9)w9<$WH*6HpLP>SCp;Mef^LxX(qJ5z9;0WXZwW9DOzSa=wjSJFSh1NRE9opY{5UtIa2Y(`L;?K_Kz7w} z`kC+z7Q>$I<6@SujMYeOx}nlTen$ zI+}E9NlYQ0Y94gsfH7EJ@e?qworVRM zo@tR8|09d=M_q;NIFCH8Z|Ap>vejc9 z;f!q?NO8hRn{HFyG2Jg^bfFAez&5EJ@>c3~fwgFSFpNn90GjL>1^Ugw=ptH6`A-Da zmVPX-kFKtUZY_ELraZoT=*wh}Za%iYLaROhH^xgC4q(K{Jp?mBB)~ad7hpvs#W%r4L<=h$ARip)!Uhg?VrZT$ znDwI(WxXn8`a~opnZ=EWlYOUGoK0ULic%kHc}i0rTvN*|hNBUVei)8ORJ5oma+if+iq^mGQWc^Y zAw*u+HPB?X3`2!aWGSuGD$rAMh5GP6l*l**fh3_U*KZ3;f6@P34I~%=fPe%ty_XLv z!6LbGpPm{mvs&s83uI@nSdl74<#kRe_~kclIi4F;zagEXth8frUFpTnM~`Mh6l8Gg zvQ1cng8RFt9ub>o|D0$DW=0-Teg_8U-G0UFe}@6x_14LV=coD6Ov8)>pI5N&VI?Zc zp{SJ?nM&>m8F5W+QzfLJr zbfIk00Ld#4{Qdcri;U7x$g%)hWafL0H;cH>tQCV2gDKx4)#)vdjI6h_0IU|SJUUO^ zEDgB@q0(Yk3t~;hIh72O2=V_L2V=r&w1%!mwxodXf-zJFy$;V_7sNnsCkIkw6oKe6 zQ6c9A|IA?IKiFPuxY-(A1&3^;@??)DenKk{>^aPj|6uF!PA<9DMEl7yh@ll|xjCCM zsxhdhW_RL@qGWbG%JI(_?txUTs$dyYY^ZGaI;5}^uKy;*wBRl!_+}TF)8Nq`OO{Et zX(|>X-2mZ2s$AcXC9X*%6X|-St_N@x&&A1Fbo;F*9XO(+4?4JJ95&w9f2zJdLUq-z zX2EUKWS&%4nzV&<82&4jZr;>4s}H7sHX}ovnySX6%S28mVp@UEa9NB=A016PRHIH* zN()nWt~rKC`Z#ABp%VyLsIaw~QPP8hjTs6qwqgjqO&vyDzebo^CveDrBEn&H`3VX< z^a3U=O0T|&$LyDV1K0x&DmgsP}C&_uA zc?WsDX0&}{|Itd-Q6BEorKZ8Yeg__Q;uI9m9C4#Lonx}QRB?UNKVI@6y9yDQzjGt8 zp*eAC2&b-oynF0o*Jd**izz;_dzN=AadtpnIo_PWc-Vd`plkRUiMv#vvo1I)q$%w3>HSEPO1w}5>flMrlv{ZV z-e_qF(hr3+Ele2lZE-Wxs>3l8ioLV59qV`tVHA*ZCd0)!U6^C-8u#ZsXM}3l){azf z>47!46n-uoULfffCpw}aOOm?E*fK1BDMf)f-k18oOeovN=bwGiS;vrdcrnszo`8V6 z^fb5oL3uYSQjR>&1oSas)gb`}y}7!B?w_QqKhR_;XEe$Vg#7MQKZE6X}GR9+-4?do_F08>X@M3;F%H#B5NGGZEZJtRxr@ zz{D-aq6x#uU5z;a=btktxeIh{&sua`dEP&qYc#?di~_~X7(!HCLTTyM>s(?t1%pgTw7j!tWJ9DA}W6zZ5@MD6cjwZAf{%cq(_e*); z4zuwWO#9qwRt-%ZNflG8dR81DnE0rN|5~7^MmZ7qTDV`Cz6GpGjL=8K*U27CBC|g_ zL+{>;h(ZZwvG%16AS$>IF$xb+69nqgrk`w01qdYOgIE~p_b=ldb9{3A(FHpc73Bta z)LBUYAX)`WcjG;S%}T-Ps~KPzT3TXr zf3?5g2m>gQ>Kp;*_y-_UDb91wu312523vC&D!DGIQSVX%TZ<+pXmJvR!`e1inN~7u zDV6{`-0f-@l&`ByiAEQqe}O6)ORoagF}Nv-oIVtLoBb&W^wRTmg5!DT4c*yc0>FJq zWw$(E*;P~9vTGh=zP&=qzCBOcYCJ=-I%_&Pmo6N2&gDEMzdgvBD>dh2#!TTbHKNQbI(23f=1e(8KWudFRr z%5mY`(8Eb;8a@_%T_jD|EP`D#fXqI@71{7=v1Iq=@RoMTjQR-Vqq|m@&taqDNy#=$ zJw>J7lcBgn8sbD*#^tELbFK-)dB9cJh`voSRFAb8yE1mzb(OZGqwPUoh?GqGJYn8k zv7u}2%A)v9EPZS%g~ZBB)o~v1LEB}<&T#(x+?b9P z#j@Fz%6z%1@EIGf(0zE*Rv&t)i$up%FEw?RL{KIrp*H*hk zjFzH6*Io17b#80v-_sE66(h?wiC^8~#%biS3puzZIcQ(8_mv$5#kcln-M>Yasq%Px zoaU*-wkvCUY!c;6G|d)|?i8k`%sghwiV}(?WcH?IC26ID@qWuAy;a_3HFS7jnY+8% zJj1oic7y&l5~+MZ{o@$o4;Aas+3+h!J!iw zQX(R*hAv3_tf$FXU=G+GE)U~P-#kCFx~B@*bNXhet)Gv9EaZJebZxh#A5g35-rVna z+Pt`yq=w|bp?pl-J2j4KZeKn(-zR(L0i1m5uv}VIgVXO`dDFuymfSzb{aCLhj%)f? zQGuUl;Nj6sUtdmdJ3xInBE2ux>0)oea_D|TUD#`OR8t#ZrS#vNS`^q*g7imfmz@}DE)y|WfK+NVS4werzKJo z5<9O>%qy%cE`D?_<+&8cj^<7*oK8aiI>tBG3K!uuT>+vR+jR?Xbbw(OVemhjEr4p$ zbNNYMIjWddG4XP@$Wp&uNPWO(I4H|IpL$(T>CaI}@RFv6?5DzKz}s*2~7$U+~2*!3Veq@w^6WR+Kp1UqG^usJDPQRHTYv zGaJVHjvQkO)Um?)2>BwpxT{=w?fO*r>8kO_h3VgJ@V@`%``^o3EY)z#77_q}l&Sxq z?Kv9i+t~c~sF=s{m$p~E^FWPpQkMoeaK6)Z61$f(@=^2b0{`N>eo?YV zg9UaoV1x*JI}o|GGV`2`e{S&}T>5%?7P*DL0{{Gd=W+9PolQro!?)r7=J4|dzpN>L zH@1Mz*YR{(r9DM6US1J^gUWxk#HS4SG!yIj`cRTpQuDI=GQIGX71({fKmD-P)8nT6 z<=gro^fc3VJ-vYYW{)wMNG}sAAg@FEirU>1(Jw(iZPGwN8%ZD&{u;q{U=@%#8mOKk z)<;4$z)mSDce8wFpGGn=(x-A;OfK~j;{WdWXQrX^<$1ZPfja{f@f&@x!969luYukd zUHZH2;gS*+iIn8RIKIYq3yWM|9t1~Yr<{GY6SbEq)S;byQ8pjHpu)%HU5c5`7%^7> z1+)Y)Oi@lQeplNG^gcyQKYR;sE8ijUl!l!*W}%gv_ZnT^ffdCKw#lS5aTXlZHraZ3o7_^OK-E<>mnwHrz2OuqUjuoWUV zdI;uSO=du0LM=^39Aa-Kl3gOe{FN6<5NV7icsSBNNk;Hc0aPX>$7u18WO|}vmniVt z?;b<8;Ern%o1!IFhr0l5SpA)MTuOm_Axt1*;VmDAOdk`-F<`|!iil6pYoKs6z>bkJ z;G`yJU(5A~l!zoSoCAlUxuc{Y${a1C7jH6%I%K z^-kWoNDzS^D6$A$(F`<>O@p-}7&)fIHFB==pa3orn87UnlL)6wJrMu1&jlh@7h9LS zodeh)k4*lHJd%|)=!=ZsI3Y#+0tt4HVXfa2sgsFO^CUI+i`$0mLH?kMzD|HTWJdCO zcp)nYPnwCb9cr=wbL0eLdK9-%H~-LUO5oN%h=f~-zx>S%k>hudYH`p$!R~ALcKkCe z+Uz>$hy-Ma0c`Hg>^Taag=!9O47l7XAbq+ZwBow&KF;f_#B#Aah zmF48DsMU6M33Nh&OKkS4E)}jy=wk;KKq>>dB?ZqlmrDmp>(nt7xF5k0p}vK_1spL0 zxVng_o|-+wjJV+@Xim~iZWu}U`E8ajiy2auS5~5bB!JZKr1hgQjGG}N<5C&BZNYj# zO^>5U`#|v3`f@-Q%HZ{gA>#eou3=6r)AArS({37e4WRJ#+_DAO^0qi0c}2RW{FJ3( z>x};C5;o;A@w-{*XZlm1JitJJN>;U~3pD@_=NP2ZA`v)(EFcq5VT5hT%p`^t(_qbE zzg+*sQ(_1H>(IAApvo0M49Z`T~*ME213=ZKy@U>>rO@FqQW zF`8%BEM#`Hqog|~Gy@MbetqooL%K}0Fr{bKOZJ~nHR%r_#r125DPaJEu?Ei^DJ(8H9y}%f+gJo?0SPuVh|}?PG&Rh* zr9AgZ1SaJN^OMK?8ftb5pX?v2%~lw4NKLGt$P_$;F9JABr1YCm*-AQfoEo`6f=7K2 ztUhLB5H2BtHLe?5q7DOW&`VhtIV4xvC_uP~9EZR`0KV@2iMKsRR3mt6fJJPHFvT1} zHZsaJr#EM6ecBx+u|QD-4G3hF&qO`IhP4mm`GC#qu0(gQG)n6mdrwHUmr&Ns=@%=o z1PH!hzi6t~+4kZ>Q31PY;Y>T>I;kaSlRGq$reC|8T&mBghmn~-l`$4hAI{$eTx>uJ zM(V3A9C^C%Aox68sIVk$J>qnERC42IDdXLMYSs9N7_!&tYnwZwh1WB3wv6ipcaDaM zVq&J~2}wN|f-3ghVm}baw?Kdrh{>{OK1d5S5W_za2;8d!Q9#qaYm{tVtqVaKkpBPMN{`jIfZNhKWV33VJr4}6HE_%1iAA^s>?szN2AtM3tD z5>tjP*bZy>qbw{{ec3o_mgZ41N;*2yTWc7xY>{B-Omw`GB9eY1`8}?8lNeP zK~KXSK0JGnkC$(|R4cCU&&`20^gd~+zxzI~wrIgs7Xa$CZ9r{NaL=0tPpTWUE;aWW zb#4n9xjomV)1|Pl&=A zi0m^unt->qX+kVc$FF-#bu@klA5EIB3HvI8OWD>>Sa2tw!t^!gKb2Ei<|} zRGMBm8WU>~{eXtvyD5;tf==bl<02JRW_Ve3RTZ8#tbu2fSi=!1N|GDD^*rS?ap?JY6h<# zcgkFP<(D}J6*(4!Uq6HFYWjdM~me*tajGKUm_wp%@r~ue7jEUJx z)A}m@x-eLk>V4G44^2uqW3ON4EzvfkiS;c&{G@V?`H4h8JJwyXM@A5Fn@+58M@5cq zYG@@=3wxEg#QbgWwuYE0o}2AO%V}z`@(-zJlnCr-yJaA(tW<()c$Dn72iOd5CrMk0lSj9|@q?f3k z6v3t8@Fdk;pNggpi=?E{fw|e5L98ObhgglIOG*GF7E3iI1+@R07*(U=ErmPbS0N1D zX6AK3bQ1VD>>o5kgJuI^n;frZ1-p&4(bJ-~WoW6p+6z@Ad--<=*6km#SgYy`9Xj}Nq{py491s3d>tI7HbrTWd{5A|D-wPWwB{Acc5OPr}PVWyB@jdiUY z*g<-VVZ8rLdlR$ZCAle>2@Gxko)|X35HEU!NNfi8wyomcGgK$WK;{>eKsSfWlR&v< z>>d%fOh25fcG$(p2+*^5`{BMdo9m!Hd%>zi{yh#D%D5iPB6Gx4iOKYk06QFdE<7L( zf|+PLfcFF(P1fQ5@s|?z+!Zh(Hjbn~1JvD!d|@up=4SP6A^ZI>LS8>@RJPg}6%mjD zq5RqpUb-hoU{s%GNh31^5n*5?H0PlaPbG#U(N08c&i3Gt4`RA`PBCT{m+%u{=nvVB@~cu#vuV&dhkQ`Eu=$?>&&i^LIMpbOW1UI|rJ zwLa$vcQ$DjQ&rM(cp%S&eF@%3>U1+=r4efpcD^iw{tF{G25Z@&*m;NHHy-+7T!U5z z)R$#@^{fp;x0TZK4E)oFCz<2RqK78HG7SqZofIiQA671^&XK2Z?bxWg1N`J)asuUn1Mv^Ru@G|KP5h4rjB&({| z@FsTFVzpF84b}~4vEHPJ6$2+P^x-ol>V}2HF6hndRc95x#6 zHy%(J=ew))u@>k7i%-Sj6^TYOh4|i9U!hH?Ob-Mr&=;VT*w+yy zaN{n5*lT3AG_!Yz`}Ap$+ORZ2n?KxxS34e1l81xtIG$bc4a^>AA#LFAB?`hyV+B|& z`y@8vDv$FoQX@-=L@3!dI{K7nbcud=J+41G&5~iitU3f@3~9>~9K4yrLMDa@YGt$1Gz`UdN4?*{kP@*B zKEDTiUPD84I4@*NB%i4TBK$UV9*U(&8Izu|3?9$X>huQut+8vSMWwyVz(yGzpz5ny zTf%`VI;*KDtuv%<8z650fXlXFA3Zt({1-GV$^2cO$hnqOPQrdh>Q(dD^1o}nRidXoudPdIz_lS|d5+6t zQVC0c(&DZEEZj?HZ43^T5mmRuPE`$pMJ!~Da`Ex$bSqE{Dp=%x3I;>r`#F#p&p}7mc;FW7tQeNDz8g-^t3C}{W=I+CF{~#z@MD-CMAh&(t4>ChAoPF{0tl?go z-`r}rY>j%w98wBgE{keZxPEcQByE`5ex$j-Q4JVnaYziusXc_~8t;u(a+9heB{oh} z;W3k0*uymz>uZ#0C5j$i&l_V8s?t2_H7Nx5**yB}&CN6#^I1{r%brJ^=+x zLKJ`alY1PRyB;U$SViQ?R3rg{xoE}0p{f&TF<%@f@L5Wcgu1%tXr5#iwz-h<<~-Y5 zR3%{jgg6W(mJFRRtboxMJV&U#G*z7@B}cG+ez~J=DMz`M{VY?nbC%KX(p-Cq**$6~NnGrRi8EuI!n9wSw)wy!)-FT$r}w<-@i(n- zmwen34E*V4qozd-%v#?|{DpK#&m-llytY2C-_qwdC&(MY%t`$Kap@+*Y+U-vTKsJk zL5npylZwUc2oIW_wT7c*C8A}{c}IDim()BC2f?j=LOFHvtb~d5F&ih7&Kd)0J6-HF z28Eb-zJZb{#mIw=R@Uz{Y`zhaJ`9ou9+7KPg6zdJ*4PsEq^=Qi@kpcxgz=boLBC7{ zpys|uURyFBlQ6>V_1h|6W|g9H?571V-2#kY;KS!aJIHsA5lbb` zPoW_jG0l+3XV6%rMx4-FVxF0xHOiJhZJ4sieGS^}j0z`$du$yULFWRQ63)$d zT01)`5UtwTWqQ2w=0APB+_xyeJ#VVP>FKZ!PT(c4Q@4iN!iKquZU*BSyh& zRV}E=bTL}@GEdityOG`fHQ4WFi;1|gwfEOr5ngaT+K1uDUU)P%*{~f3P&Z9bhzjYa zEy2jA(5M`QFL57ZxW0RCLybD)ccO}3A=gu+PzHIFj2~E+AXC?cG5i<(V2-o#9=Fs* zywc(~L8cJdS>Jm12o(f4GEO&sgQPAPGVg{a(T_rIou;BXPy)_L>4uBCPbctVQr;!m zf9nRGqw;v0+|>aeD?1^lkM>Jjk7!MRm8 zp=QG+u5s}z%@zkxgqclqrh&nr9Rwy2|LJ{&t?n5Suk%7Tki1spnyTA$^M?%J@)FMy zWPJeK5{JA+)`2tD;y3&?6Tsz5W?Dr)l@u;nYt>O+?!YwD6Hb!|!=wI!F$ZQgM}=?R za30A+d9ujA(0t_=hv9kd5csd)y569Cy`%YT_hPqhhJ;=LO%dO<>#a5hmVEp0$*s@g z%$QXc9w`V39(1>})3XstXj1 zq4Z&Uj!sIIUb5ReKZ3n9bovsqXFn^K*<7qyAWSf6)AU~6G3&@wR!!34-a=&u&HjWi z(qY#riuufHNLT*a=^3(K1+Pw~fK(|ya*kt6`m{X(4cPY`@>{bvZ4a%1wA^cE0AOc9 zv1tbsG@=4a#9hewtZnWwGDGJjwE3Bz=ykf^c$w?d@nR%;)vCzSH^GvibW8 zc8uE-LwaUg)ly3w2%3E4!8sdnwA=10@KCN;yf#SEjz{mEOw~9sRsQhXXzLAHkyLg? zjqR3x%T{``q@EFi2{fK<}tEVH1}S( z!RtBU6k|Ni!;M_B@N}}2GilTzGMoJHKCNfYkQ1IwFCl?sQ3AbUu%|2C{<{5g6o4=$YBlSyo6UD zI|C>f?Ah0U<)H>Ma_iB6vHs>#?lnU-DhTP}og6hPXBO^wOLAQ@QW3Ilu7UOs@pro_ zlImPpC5y-L5OWvbmqg+5I(5r{xi@dfcg@AT^2?mW6g8qhS@f8FTaa<6v#t z{iPbO_h$9mXt@?&Qw!0Jvm<&l0hLOEyA4fO8&2nvvK~{*zKV_2bEZ$~c*%~1@}SYE z9-yiWoUdhubYUA>`MK?-=~i!v5g4t?I!4UtJ8C3ai2NG9RSGN-YKFl=b8Oykiq%m- z>Z&n%@FKm7DsyvJ<}a4c3)HWqV;P4Kh|v2g8p)WBUR1}?yo8~7n;aEYH{wI3OVN2S zI-&Isu3@ojF8fh)D)D#FSW;25J>(?~IBGuM=JRrEc+M6OJVb~qBu)rZo-e7*jzT&d z4%M}9sHzVjuF~!%BsS9IRIb*Jj9Cx|DBFfJqc|r;VJVlaOur&xrMx1@u+~y+t03Yp z)#W+}jeUcJJ+#mxU`wnycR0Qpju^hwlNuKFY+K2mQB@l|Xo`(tW4G23X^S9S^WdkD z-J-BU^LU-{{^e-eBR5&wHn4}DH_+CSYil3Ap<~J0d_v*|GVQ**`I}Z1g;$DJ@U@Fw zsz#kY-(|WTsZdBPj7&p$m?V-Y677dRGO4s5O+{un3KUjZ`?S3pZQeL*n(P{9;p%B| zS>Db*o6eG5Ks99MeHe({ikgQSmd*tS9We>-rG>UJps6+%mc%^7JXVi7lV5778Z4NQ z-3_G+Y4E*N-7uaJdN3hnQ-~{^>(kSXa8Vjga{_rSlt@{Ur)qzSw;m_1SCDpN<6+yB zv%s$DR3fz-!TS%RQVFZVo(-T9$eqELZ=L8l^Gy32R~wr+U2lFbL%&CiFSj#Q8Aw!U zLrK?vP-klPXuWlX44lGdEEW3Use8|l;Tb{qA%1^R9qk%Ovl|giCVf>fQj%1rK0?_H zu9db_;T9%7{Aym-R}l-(gpThyK2X$2l+GKC>Be)!jnorSM6`&dUbyVHROoEAm92I! zY;d|IlD8N>DN4y3fILuH zv=L$$fPEatsEV$PaWs`0fC~pzsyDYz;njZSX?mT^9P$-N6<7_rlDZXpit}@F!isd} zTw!JdQ!>p`o_5k$&9&#~spWzV08<10S^Y~`yVDy94e=xsssM#x3q3tU`otI&l`;Mm z+0DV*n`vNuY?3E}wfagh2S|ac2#Lo@goZ+Y-_FQ{6r}#KcvDJ6dAn;=xF8U~BUObv zund!&ijLZw=##!rU!*5jTfXs@ZI`BN0_TNC5o7WG{OPL)Du_9Lh9O)cWtEQWP>gQd zMJJFlOumA1xCQeIkXb@Y3)T>b)0abrLI5=(Hnmj@>#%HOV;yW zzKRywz5wJ5nnd>1W5JI~27}-~bqi7%;R0XuB`I>v{XBx=J-q^J_cIMaH%V&%}) z1t*31S$b`kL7yGqs)9rvb-0y)rP%NaNmF{9W0$bH&f3;zT=MJ5&U(pyv;`*@n$8)NPYG+A#oA%_Z`|a>}0FPVJ+O2W{2PKzOQpRzi+eLG$zCY*PiyuxIAI7XLuq@vSp>% zY_VMKd$*M;52B!j%9*kR{STd~U5wtmy4Ks9tu-<1{L!kVY2w!)*8N-9M3ys%PF=LM ze>$U@n+dCKorx9!=JXwWtAUB-z8WJvH2-*PhiyZ+^NaIzfr=U zzQT@C)L`A566lOcP23)NRxQkhY-%dX_x*Z~;#x9n@yX{N8;71NtOh@OZyT0ZJMCxq zo%(E4MlX4S9StUiBVyFoa>Ax!VAbATvD^;+?gX~lN9r`D~e{m${~=fdV#30J$@+-IXWisg@Os;Mv**)g!&|5r4gI|CdcGe1X|L+D%)-0B5IQs%D(<^XF97=7=Tm&xy<_C&8#xoeJ) z=Ja>ITea$w1vfDHE#qDj-Ek_s5xqPW!jP^rx{k*tc>Bv^^R#mbmlwX=QXfDM6){db z*qymHp7}%LZam3GI;I$iA0E|a8aUX%Z$+?o!NZWtVP`&T%3#{hUxmRq#Ug&`(1R@- z;;TC{+_wJ0I=Al~3>}|wEQ8a;BuFFR6bj~UYaG*+(b-_zJJD($fiq{a!w;27?~RSa z)0FiP-sNQ94kXU5n~2kr4R?P7ORc^38WOcXs9pDHcyYgyaOVUQQQ6~Cl55`fL`rn& z^V8{F`kpCczg zS@g)fPQU!qNrp$sqVUE&{RvTBhO4p-4xh=@euSEEg6jxvGny=0o4GkX66kR{QI;T22r9ke9_rzOu%-Gxkcl$#UYfh&%E<_|?Pd*eT|q}#)ZA06y)hy`vAotu z$w`UcDySGpkW+x=Nz?O(>(v%yh1O+fAEtoJ%N?U)SJ{KSVE>t+w~+`^}~~3N$G4#+7^^;3lSV|10ak`l#g<~5!b;7Tx_Y( z>(U~=Ed+#0ODRvGzy_j_cijw3h--z(3k!xU_FN|c>yaDaWih=5P^X0Fij_P7zve50a zPJ~O}mKZJbmM%Nglzy2AE_p*A(9?|lI&9vWtftSHq8OX{(HXWiuw`i2w?REJ`-XC* zw3*bFK80*mg-bb9!^Sz9gwfmd_!U@pRRPL$} z4+KN`sH*NeX1`4NKr`Z5yj}un)}yX`jw{!b@wC5PZ*?!(Q;}pCv`Y_uX>@%syNGA{ zPD9wQAOr6-HSbiVb2@h+!Uh+t$acU3A8(8uzFsNb`1ux&@A^9ct(~i&&*=5sKgvMu zHvHUrU*ByOIhc)KBcIud&wdgc1{mAXENn;TO)J|v#w~eVfSisEqU_8C>s65BkFY&> zbN`;-+u8e(rUlx~v{9po4$XB$J>Qabz4I*j3OVV%5~aAJbkBJIeR$UJ7%-1%Cu~6e z3PVN&?0f$LUYDDvSfm|(iTiUd3QJo(=WooCl zbsO4HnBM8L!!=dfPusr0YAm2?h9h)+U%gdHfZC83}QqCN(-%cVeDS*%f|Cg=~6(O9Vz+gW9e?ZI#sqs7GU` z$>Nk4)=fPLTzo8N!#Df(LK_N>8@a9L!^pn5Fu~$7p9FaDOiAw2nM-*MbWlb~^ z2WD!Vmzw8P&jl+&Bz-sa{)CAFiBDYkmcVn|Wr~MLMR=7goBe!8CUv-xygV zj5x&x@aD^5gIc*FiFuPZ5A|-ro8JKc`;3!r77Ic;FaUrQ0ssKg--)6h{)-j{))t=s z_n1?sYLD&wN4D>kny~T$8G?$)I^{u4fC$cNz_PBqiU?U64VYcsvaE%`E0@ubg!Rx$ zlhlItw`Hcin+&$8>;n!1>Zt4w4M0DQkVv@3^h`d_NSZjk1OIPyZ4Kt#Vcg^^` zUnl93&2nVX(WTZ!m`V;D(4`|^Jy(yva*&?3s=j%wq3`} z{hI`lXte?j5Xxs^HUQ8Ys>X9jmIQs%#}^8cIW0l%pD^hi7gdTUyWzmcM_7lp zYHLT(F23+j7RItraBodElNlo4UtMIxRlL7@n1fl7-??&@P)-@Sb?G+(uvB$p zpQ_m9%{JCu7g`MkLtQxSD$8Mahm5+Da>PwY8Z;|MMZKiQo_-_Q!|>6)f<&I40(Ppm zS33%V!l-=~fhSOtXpW&nqAK>|*+mG!roLiU=G2AH)-}Mt$7`@v88eUpM`vLQkJd{w zQE75n34aH*gQ0?3Wu^5`qhk7(P73Go;qws^s^RJ z)J{9wA5()MHi@Amktkhj#OTMGgY3kho-Iw1sEp%knoBSoGL_$Y4a(Nc^8{Pr%G!;? z3O7HX-a~6A4oK@z##1xs`t=KItpc}0G{%9br|`_5Z!unEj6WxF8RE*!G-T6Pv2%^*Xxy_--mH%pw3@114}U}RnBd1zjC4nA@cSVB9Z8l zGa%1@j0)=Ix!H@+e#}y+dK6zA5MU-iNC{(+;iD=HNwNU=hq=2f-iGenXU8}nkAGy- zzP0j3I`E%yFJfvOFoox7tyZ6rVB2DO3=zz!J~MfU$8Hrc<>`QO1oYT`J@g-RFcDuHY11f|7d|^2V#L8oxiZbC;fdz zq_u;uVYK&4nsoDS_;$367$&70mpt{zoZmtx&}<7LH7mt=*Mc!S_Vb-A@RFQM|KT7F z``?kx&URKNw*U6O9kbk{N7;Cx0wG-nW5bsxV`^xq$6VDY947TsIz=o5jYrzJ!>tLk!y{C=5%Iep){mtBNY02Nh8$oOP(;kL zm*}Sz=w@s$pE1Rl?&!-EiKPc&F^08B?#u*w%%5CQBA0}0D?<^V(7f38YtklQQaV&- zm^3f{Zu4a#SF68;Q9VJUOa1{NnAHlSS`2BN6rD1nJ#6?pQYvFwA4u?>n5;$vl$j#~ zGGTh2xD+`BxC!&A>4}`fYjL9Pgie=BC~_`kPh4`0DPz-WBU`%y#u+LxseY!j$$)_U z;p5HeQ{|fE%lCFS(>Jr?YrBjIWr7LulWiA^KVD?spUxb z(h*RyTwg+R2PT+d)M0UJ@4&OF2EWMJj3tMhx@i??hv?>9zAkvgzFz06i6qqS7O+L1n9Mn};7SYn-GhAhF&FpF80BeP7T?}OlZpl)4|tF7 zr+}Id27|aiGzf{h{Pe}*p>E+z0j?0(PboPvC*_{ zeQ~w!C;^gX^;uQ9*v93XTYlZ!U^#8j$@lN+=z>oqk;Ut-*yI|n ziS#rH7|6C5-!6LtI6W#G{aU{R0nQpie>~Sk6U4Jj*AF~1+soQ^+UtiWPt@n_jevnU zoQ(`CStOqtsE#wRgV;AHU{7K>IRvSd!)?fWeh!9EuI3xL&g)u%vVMEV;6BPPG49)s z;E;?D8GpCK;7wB}o5^jX|N2F`@)G1bRihD=t?{L4&1*5Z4mnXid9}gCW;BlxC!8-9 zJl}8}2{rg&nBr>LTF&8DgE78S$?=tHX?=$^?VMv9pJM)j+DEvszt-E(IRDiW%&dt>bTV3pphGmF{onCggj@1kKV++Dw@ z0%|9s_rVn?L+udbK4)s|3cbntj6bmAH4Kw>qo$^aqbBAQNF&~*I=V07 zGpW(=XvYbg-v+++Wb^&#q#O5V#*yfhGR;nr^SDM{z2U&9n*uZA&KHxcW#@?I7f4}) z0yZfD!VhU;0kbdJ!#3DxP=1+gPT5~$e*M;*xGievxSUw-eRK<~9TUpCe=Ck&;EktY zA8{);e#8zi@xoWeJ#s`&a3emDV}C<_%a$b=`|YQK7Jj!8{;P+}?=Sa2(=aem$J_Cb z^nykVH{t@-`xbYbA4jKF-HeLSpP==1gJNp=_hZL6fW5AJO+^r0^#Xvv1xhVDr zwcWq=d?!JX48Um_7*6WlmDapw9b?nJTL&6q%;g9o5ZPM!!Hy~{rUh5Tl$c-8v~KH} zzszjb%$P`H<`p8^eGO9BJ1u-lvrZq+^pb>3ww?$A0$8tAE3{-EDOq#_%(bH7FKqQ$2I{c@NulT*!UgRtSlQwxor8I{ZGoJo;AcR z@H0AG#9r489^PeZj2TxoFfQZwdPon z1btr)shE}JZzP>W62VRHzaRQaEi6`;>x!|>&K$_URls=cO)ag%dl_&t>t@-5Y*rP^$TS*<2Zxg&^ldk~y1 zD*&FaxX0;Wn8*)2DUD`VyicGF{G96f2vU53Y8|jPqh=sf&SuNZ*-~XKo{3$$iGYJ; za=dm+fw^PngsZQ3g5hQsAHwP)nav&k$0Ye zK$tCzD3p0-AYL6cXWBceNk4<`Wa%nr+DTL`K7gvK_(i$%IAG~1HExQ`h3tX6Q*!iy z`n>?uw0v)i23PkGzVuqmCaJI(=u^-nE=*(N5>y_QsL6e*Q^0L7_J&8(48rx}1JFFR zt9z~Z3!DINUFE%)gzrv_f{4^eX8wgLL`{-eWpLjvxoW2;PT1~33dZi%sA_-$ z#DwIL2D|mlGl^g%Oqs6>xkYbX;O7{PKnU-bo%FT1qVU+UAlr)DYGra|*|CQZfd(CV z;_o5sb?M-BwM-HNtkIb3Q4_#8s#%NN&)an95mt$mO=u@L;%18ZaOK*E05^%-_aU7} zIKpuW>f6Ci@w`GYU-8~@UyC!f< zng{-60;w>M{=S@EJpIY@GE2%~+admqm?O~~v@`AZ%VBbkaO>n@Y3>ie|2^YCe2!kP zA7|Vi1OVV;_whfRaT^n717ibc16oTbJKJa_nbe{#RoGaCZ{_banDxl33xGU8eOKB;tc8|)@&;K0x zBUsG%Dv_U;SmoUn6+fN87qQ~j%&eo_Rfc(=&qEmIZiJ+vvX1PoHoJo$WZ8J`UA-ci zZGOrogwpf@KbaWO5z!+-=aocAO->b%(&kzI1h*WCD}_&@CQ-jf?2SS2_E6Zy1dcP5 z!^Gc7&t-lvOi=6UHJoWCgSG(6lW$aNOK{~{-c|anky6}b-rp^F<|!vqZtHG>RnK?K zP|$-Aji$$rBL3x)L(iM;`3hw6SpeQ_f%!CBfsJbx}Az^aw&ysOdzv~-v>Dv zhc^VrQUDTLn*CXTu&$m(TkUFemkO(VXXo0fEj48z@}f9hdem?QGjK;V2DiENY+#vzCA`Uvgi%z7>9^fWbFozq;uV85dKbh~EL#H*_#T!l$=*427%G{g z?lc)=Y)k!B7HL(5LD-p~O{b&0qI1U|nLYC_+pYnXFJy9uPUD?HJ^f9=2ZUsdVm13V z!$;$+SuawZHvC46hA~YS#-f-`SnD61SM^yW;KId0+*67WuQpU`D@Gis(-&h$j(ymH z*vb0Q=2uyv3zRJS|^Yo zZ#sVFsnTDVcY|gF*wWMT`-`LbhtM@AFq#k~PbLHD2^3%OA<+my&VzxxWU<32Yp&4M z;IoFHLe`w5f1Xa_7`=L!muv6(X(Svg#sm>0G3hGh8-+=*VD@VFxQ&gnfYjb?20MfH z_OM1i9th-3F@h0_%qNd!@s3wL3!&c$*+C0P()TWDtk5YC^^*X=OwEVJnIV$teoE%xlEvYa@VdzepVB@WYQ8wEv_zpm2 zi%!rY2blwZASeU@WWc`vN^fv(uMt@C>-JBv#3$hNzQT86$tL}g5aP3;*eZNoJ^=ex zx936*UB*X8Bn@c(g4rWh6M!=PP3-dI_K3oE3VsTt*FvjreUTk~KbCz|pBRir*RmQG z6}c|FpmZu$ zi03u)@}d(q0H3ompCIpQxH8zMUoo(OAouMLZMzx!iI{@l_sSAf^@VD671HJze$4yxZX zgzLvny*tS$*l=7^jC!jQc!LEZ>|um_B@J{~&RW{+6bsPRD8*Ne>d3?H4lL%JETFJ^ zTUIs}DU=&Fu-ZtNoEZuIh_C4&ABEULgx+xLeT*_Ou_k6IaTC=Yz+Vg;<e|5$IcDrpv7-_^|s>^>JO^!QoLhpi(mLJwsX^9i;cr)9w9I9Sc#xFQ@^9=-FN`L00=k z-yx7<)=iz}M40oWu}92{dcYnLd1~J$1ICBUb&UhyY%Q~hP@~%4RaoT(9i}j2M8a3| zSc-KDt84mY0Pa0n3G+C-Z6SU`vGyHyf^8EE;X!4ZI7I08L>~QC>r+{pl)m+}Vx7L>guP3nXE;+N24tu$>R=`!D+pduF~2ewWvaGK<9c{@%)u<<3Wn z^;9hdy~Nd`U%q3q-kdctyH^K=A)eIBqNw>%Vf?G{W#=Pe=EwfLSB$}Y2f9u5xrDU< zJ%H{L-yz$cOwQ-VJb^qEJNRti!GI9nNU2A@xdX-40VIbW5vE^i{ib+}1n)RK+5P>H zRJLcmbqjHI&ZxlVlS8VEjgf#I?Vo!+&%ct%sM^qd2QdNgJZ90>qF4X5FO@cUT0g|^ zq*$2#tZYx`o2nKnx0}1CGg9SfO=Z22JbVx4vzCgF4(}#K4{8O)+2Q5(YHu1-(7cZ@ z%jP3Cz>zH%vOjJLl|~p(uj9DXX&*rEQ@ZpD&XWyJC>nmZsDEf6wg1qz zPR@=lM$Z42&-q!v(PrVi@1xPHF#ir+`y)VS{!d>sZLb(@2&ZN*oF_u|NGS@HWtqR_H_LWe-0r11AB!04gVEK z`WgKk)A$FC3I7}YJGAjL`#GoY4?7b17yF;ozR&FEY`Z_~Ow?cO-${3$(a#}kf6%~~ zztI0gu6<@d+t>eLO|t%C|6^wVnf+|G`-iBrE`tUFI zzh>V5oBsbzD*U1SF983c()cvR@LBS6)%-{D?(&}`|EGrjEcm&S`Xfkx^G|~RQ&)W! z{9I7|5%l~=!T&3-J_~)WeEtYw-TqU{{;q>QYkeMU{?WR-|0k_~4?X3jKtC!k004}S PH`d3em|q{gB*6azWM3vT literal 0 HcmV?d00001 From cd506d825f2d2e5a89de85d3d0c1138f29819186 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:12:27 +0200 Subject: [PATCH 17/35] Update manual_installation.md --- docs/manual_installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 809aaced65..7ba3fea4ba 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -127,17 +127,17 @@ $ git submodule update -### Protobuf 3 installation Windows +##### Protobuf 3 installation Windows Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. -### Get encrypt.so (Windows part writing need fine tune) +##### Get encrypt.so (Windows part writing need fine tune) Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. Ensure you are in the PokemonGo-Bot main folder and run: `wget http://pgoapi.com/pgoencrypt.tar.gz && tar -xf pgoencrypt.tar.gz && cd pgoencrypt/src/ && make && mv libencrypt.so ../../encrypt.so && cd ../..` -## Update +##### Update To update your project do (in the project folder): `git pull` To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` From 437b4fa3e3ec592724a47e280e05f92e3428aa03 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:13:34 +0200 Subject: [PATCH 18/35] Update manual_installation.md --- docs/manual_installation.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 7ba3fea4ba..7716c7719c 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -104,6 +104,9 @@ download the 64 bit version instead: PyYAML-3.11-cp27-cp27m-win_amd64.whl ) *(Run the following commands from Git Bash.)* +##### Protobuf 3 installation Windows +Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. + ``` // switch to the directory where you downloaded PyYAML $ cd download-directory @@ -125,11 +128,6 @@ $ git submodule init $ git submodule update ``` - - -##### Protobuf 3 installation Windows -Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. - ##### Get encrypt.so (Windows part writing need fine tune) Due to copywrite on the encrypt.so we are not directly hosting it. Please find a copy elsewhere on the internet and compile it yourself. We accept no responsibility should you encounter any problems with files you download elsewhere. @@ -141,3 +139,7 @@ Ensure you are in the PokemonGo-Bot main folder and run: To update your project do (in the project folder): `git pull` To update python requirement packages do (in the project folder): `pip install --upgrade -r requirements.txt` + + + + From 720db69d86708013d255458753cd69cdf51aca42 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:14:01 +0200 Subject: [PATCH 19/35] Update manual_installation.md --- docs/manual_installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 7716c7719c..02691b1697 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -102,11 +102,11 @@ Go to [this](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyyaml) page and downloa (If running 64-bit python or if you get a 'not a supported wheel on this platform' error, download the 64 bit version instead: PyYAML-3.11-cp27-cp27m-win_amd64.whl ) -*(Run the following commands from Git Bash.)* - ##### Protobuf 3 installation Windows Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. +*(Run the following commands from Git Bash.)* + ``` // switch to the directory where you downloaded PyYAML $ cd download-directory From 934c13bce38426087710a374a1f9cc4d2b1e3e2c Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:14:32 +0200 Subject: [PATCH 20/35] Update manual_installation.md --- docs/manual_installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 02691b1697..d9477adcc7 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -94,6 +94,9 @@ source bin/activate ### Windows WIP +##### Protobuf 3 installation Windows +Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. + ##### Windows vista, 7, 8: Go to : http://pyyaml.org/wiki/PyYAML , download the right version for your pc and install it @@ -102,9 +105,6 @@ Go to [this](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyyaml) page and downloa (If running 64-bit python or if you get a 'not a supported wheel on this platform' error, download the 64 bit version instead: PyYAML-3.11-cp27-cp27m-win_amd64.whl ) -##### Protobuf 3 installation Windows -Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. - *(Run the following commands from Git Bash.)* ``` From 92771c98b9f0b3eba3462c2569f6b8a9df060f8b Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:14:42 +0200 Subject: [PATCH 21/35] docker merged Added docker too --- docs/docker.md | 48 -------------------------------------- docs/installation.md | 55 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 49 deletions(-) delete mode 100644 docs/docker.md diff --git a/docs/docker.md b/docs/docker.md deleted file mode 100644 index 11f8634744..0000000000 --- a/docs/docker.md +++ /dev/null @@ -1,48 +0,0 @@ -Start by downloading for your platform: [Mac](https://www.docker.com/products/docker#/mac), [Windows](https://www.docker.com/products/docker#/windows), or [Linux](https://www.docker.com/products/docker#/linux). - -Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. - -``` -cd PokemonGo-Bot -docker build --build-arg timezone=Europe/London -t pokemongo-bot . -``` - -Optionally you can set your timezone with the --build-arg option (default is Etc/UTC) - -After build process you can verify that the image was created with: - -``` -docker images -``` - -To run PokemonGo-Bot Docker image you've created: - -``` -docker run --name=bot1-pokego --rm -it -v $(pwd)/configs/config.json:/usr/src/app/configs/config.json pokemongo-bot -``` - -Run a second container provided with the OpenPoGoBotWeb view: - -``` -docker run --name=bot1-pokegoweb --rm -it --volumes-from bot1-pokego -p 8000:8000 -v $(pwd)/configs/userdata.js:/usr/src/app/web/userdata.js -w /usr/src/app/web python:2.7 python -m SimpleHTTPServer -``` -The OpenPoGoWeb will be served on `http://:8000` - -if docker-compose [installed](https://docs.docker.com/compose/install/) you can alternatively run the PokemonGo-Bot ecosystem with one simple command: -(by using the docker-compose.yml configuration in this repo) - -``` -docker-compose up -``` - -Also run one single service from the compose configuration is possible: - -``` -docker-compose run --rm bot1-pokego -``` - -command for remove all stopped containers: `docker-compose rm` - -TODO: Add infos / configuration for running multiple bot instances. - -Do not push your image to a registry with your config.json and account details in it! diff --git a/docs/installation.md b/docs/installation.md index b5e18b840b..d0d6ba32ea 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -61,4 +61,57 @@ This will start the web interface and is optional stap #Docker ##Requirements -- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) \ No newline at end of file +- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) + +###Easy installation +Start by downloading for your platform: +-[Mac](https://www.docker.com/products/docker#/mac) +-[Windows](https://www.docker.com/products/docker#/windows) +-[Linux](https://www.docker.com/products/docker#/linux). + +Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. + +``` +cd PokemonGo-Bot +docker build --build-arg timezone=Europe/London -t pokemongo-bot . +``` + +Optionally you can set your timezone with the --build-arg option (default is Etc/UTC) + +After build process you can verify that the image was created with: + +``` +docker images +``` + +To run PokemonGo-Bot Docker image you've created: + +``` +docker run --name=bot1-pokego --rm -it -v $(pwd)/configs/config.json:/usr/src/app/configs/config.json pokemongo-bot +``` + +Run a second container provided with the OpenPoGoBotWeb view: + +``` +docker run --name=bot1-pokegoweb --rm -it --volumes-from bot1-pokego -p 8000:8000 -v $(pwd)/configs/userdata.js:/usr/src/app/web/userdata.js -w /usr/src/app/web python:2.7 python -m SimpleHTTPServer +``` +The OpenPoGoWeb will be served on `http://:8000` + +if docker-compose [installed](https://docs.docker.com/compose/install/) you can alternatively run the PokemonGo-Bot ecosystem with one simple command: +(by using the docker-compose.yml configuration in this repo) + +``` +docker-compose up +``` + +Also run one single service from the compose configuration is possible: + +``` +docker-compose run --rm bot1-pokego +``` + +command for remove all stopped containers: `docker-compose rm` + +TODO: Add infos / configuration for running multiple bot instances. + +Do not push your image to a registry with your config.json and account details in it! From 4ce324eb22a5078ca8b424e06961d3e9f1cd9d79 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Fri, 12 Aug 2016 22:14:54 +0200 Subject: [PATCH 22/35] Update manual_installation.md --- docs/manual_installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index d9477adcc7..393ffa4173 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -94,7 +94,7 @@ source bin/activate ### Windows WIP -##### Protobuf 3 installation Windows +##### Protobuf 3 Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. ##### Windows vista, 7, 8: From c33e2282251aea4489bd977f0f27ff0c9fea8db3 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:24:39 +0200 Subject: [PATCH 23/35] Update installation.md --- docs/installation.md | 227 +++++++++++++++++++++---------------------- 1 file changed, 113 insertions(+), 114 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index d0d6ba32ea..30eba29197 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,117 +1,116 @@ -#Install the bot -## Table of Contents -- [Linux or Mac Automatic Installation](#Linux/Mac) -- [Windows Automatic Installation](#windows) -- [Docker Automatic Installation](#docker) - - -#Linux/Mac - -### Requirements (click each one for install guide) -- [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) -- [pip](https://pip.pypa.io/en/stable/installing/) -- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) -- [virtualenv](https://virtualenv.pypa.io/en/stable/installation/) (Recommended) - -### Easy installation -1. Clone the git: `git clone https://github.com/PokemonGoF/PokemonGo-Bot` -2. Go into the new directory: `cd PokemonGo-Bot` -3. Run `./setup.sh -i` - This will install the bot and all stuff that is needed to run it (follow the steps in this process) -4. Run `./run.sh` - After you are done following it this will start your bot. - -### To update the bot -1. Stop the bot if it's running. (use control + c twice to stop it) -2. Run `./setup.sh -r` - This will reset and makes sure you have no changes made to any code since it will overide it -3. Rerun the bot `./run.sh` - -for manual installation please refer to [here](https://github.com/nivong/PokemonGo-Bot/blob/dev/docs/manual_installation.md) - -#Windows -##Requirements - +#Install the bot +## Table of Contents +- [Linux or Mac Automatic Installation](#Linux/Mac) +- [Windows Automatic Installation](#windows) +- [Docker Automatic Installation](#docker) + + +#Linux/Mac +### Requirements (click each one for install guide) +- [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) +- [pip](https://pip.pypa.io/en/stable/installing/) +- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +- [virtualenv](https://virtualenv.pypa.io/en/stable/installation/) (Recommended) + +### Easy installation +1. Clone the git: `git clone https://github.com/PokemonGoF/PokemonGo-Bot` +2. Go into the new directory: `cd PokemonGo-Bot` +3. Run `./setup.sh -i` + This will install the bot and all stuff that is needed to run it (follow the steps in this process) +4. Run `./run.sh` + After you are done following it this will start your bot. + +### To update the bot +1. Stop the bot if it's running. (use control + c twice to stop it) +2. Run `./setup.sh -r` + This will reset and makes sure you have no changes made to any code since it will overide it +3. Rerun the bot `./run.sh` + +for manual installation please refer to [here](https://github.com/nivong/PokemonGo-Bot/blob/dev/docs/manual_installation.md) + +#Windows +##Requirements + [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) - + [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - + [Protoc](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) - -[Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) - -###Easy Installation -1. Go into the folder/dir named: Windows bot -2. Run `PokemonGo-Bot-install.bat` -After that has done the bot will be installed -3. Run `PokemonGo-Bot-StartBot.bat` -This will start the bot itself -OPTIONAL: 4. Run `PokemonGo-Bot-StartServer.bat` -This will start the web interface and is optional stap - -### To update the bot -1. Stop the bot by closing everything -2. Run `PokemonGo-Bot-Update.bat` -3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` - -### To repair the bot if it isn't working for some reason -1. Stop the bot by closing everything -2. Run `PokemonGo-Bot-Repair.bat` -3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` - -#Docker -##Requirements -- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) - -###Easy installation -Start by downloading for your platform: --[Mac](https://www.docker.com/products/docker#/mac) --[Windows](https://www.docker.com/products/docker#/windows) --[Linux](https://www.docker.com/products/docker#/linux). - -Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. - -``` -cd PokemonGo-Bot -docker build --build-arg timezone=Europe/London -t pokemongo-bot . -``` - -Optionally you can set your timezone with the --build-arg option (default is Etc/UTC) - -After build process you can verify that the image was created with: - -``` -docker images -``` - -To run PokemonGo-Bot Docker image you've created: - -``` -docker run --name=bot1-pokego --rm -it -v $(pwd)/configs/config.json:/usr/src/app/configs/config.json pokemongo-bot -``` - -Run a second container provided with the OpenPoGoBotWeb view: - -``` -docker run --name=bot1-pokegoweb --rm -it --volumes-from bot1-pokego -p 8000:8000 -v $(pwd)/configs/userdata.js:/usr/src/app/web/userdata.js -w /usr/src/app/web python:2.7 python -m SimpleHTTPServer -``` -The OpenPoGoWeb will be served on `http://:8000` - -if docker-compose [installed](https://docs.docker.com/compose/install/) you can alternatively run the PokemonGo-Bot ecosystem with one simple command: -(by using the docker-compose.yml configuration in this repo) - -``` -docker-compose up -``` - -Also run one single service from the compose configuration is possible: - -``` -docker-compose run --rm bot1-pokego -``` - -command for remove all stopped containers: `docker-compose rm` - -TODO: Add infos / configuration for running multiple bot instances. - -Do not push your image to a registry with your config.json and account details in it! + +[Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) + +###Easy Installation +1. Go into the folder/dir named: Windows bot +2. Run `PokemonGo-Bot-install.bat` +After that has done the bot will be installed +3. Run `PokemonGo-Bot-StartBot.bat` +This will start the bot itself +OPTIONAL: 4. Run `PokemonGo-Bot-StartServer.bat` +This will start the web interface and is optional stap + +### To update the bot +1. Stop the bot by closing everything +2. Run `PokemonGo-Bot-Update.bat` +3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` + +### To repair the bot if it isn't working for some reason +1. Stop the bot by closing everything +2. Run `PokemonGo-Bot-Repair.bat` +3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` + +#Docker +##Requirements +- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) + +###Easy installation +Start by downloading for your platform: +-[Mac](https://www.docker.com/products/docker#/mac) +-[Windows](https://www.docker.com/products/docker#/windows) +-[Linux](https://www.docker.com/products/docker#/linux). + +Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. + +``` +cd PokemonGo-Bot +docker build --build-arg timezone=Europe/London -t pokemongo-bot . +``` + +Optionally you can set your timezone with the --build-arg option (default is Etc/UTC) + +After build process you can verify that the image was created with: + +``` +docker images +``` + +To run PokemonGo-Bot Docker image you've created: + +``` +docker run --name=bot1-pokego --rm -it -v $(pwd)/configs/config.json:/usr/src/app/configs/config.json pokemongo-bot +``` + +Run a second container provided with the OpenPoGoBotWeb view: + +``` +docker run --name=bot1-pokegoweb --rm -it --volumes-from bot1-pokego -p 8000:8000 -v $(pwd)/configs/userdata.js:/usr/src/app/web/userdata.js -w /usr/src/app/web python:2.7 python -m SimpleHTTPServer +``` +The OpenPoGoWeb will be served on `http://:8000` + +if docker-compose [installed](https://docs.docker.com/compose/install/) you can alternatively run the PokemonGo-Bot ecosystem with one simple command: +(by using the docker-compose.yml configuration in this repo) + +``` +docker-compose up +``` + +Also run one single service from the compose configuration is possible: + +``` +docker-compose run --rm bot1-pokego +``` + +command for remove all stopped containers: `docker-compose rm` + +TODO: Add infos / configuration for running multiple bot instances. + +Do not push your image to a registry with your config.json and account details in it! From ca33698f0512ccb7006c0fa829fa185d55b1969f Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:25:37 +0200 Subject: [PATCH 24/35] Update installation.md --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 30eba29197..b78203cf52 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,6 +1,6 @@ #Install the bot ## Table of Contents -- [Linux or Mac Automatic Installation](#Linux/Mac) +- [Linux or Mac Automatic Installation](#linuxmac) - [Windows Automatic Installation](#windows) - [Docker Automatic Installation](#docker) From b38d2d1d590135a541e76896599f543531e8c64a Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:26:21 +0200 Subject: [PATCH 25/35] Update installation.md --- docs/installation.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index b78203cf52..41728bf435 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -31,13 +31,10 @@ for manual installation please refer to [here](https://github.com/nivong/Pokemon #Windows ##Requirements -[Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) - -[git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - -[Protoc](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) - -[Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) +- [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) +- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +- [Protoc](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) +- [Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) ###Easy Installation 1. Go into the folder/dir named: Windows bot @@ -64,9 +61,9 @@ This will start the web interface and is optional stap ###Easy installation Start by downloading for your platform: --[Mac](https://www.docker.com/products/docker#/mac) --[Windows](https://www.docker.com/products/docker#/windows) --[Linux](https://www.docker.com/products/docker#/linux). +- [Mac](https://www.docker.com/products/docker#/mac) +- [Windows](https://www.docker.com/products/docker#/windows) +- [Linux](https://www.docker.com/products/docker#/linux). Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. From 9a8777eaffcc2a0fcd1b9579dc51681f97d9b936 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:27:10 +0200 Subject: [PATCH 26/35] Update installation.md --- docs/installation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index 41728bf435..4ac80431d8 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -29,6 +29,8 @@ for manual installation please refer to [here](https://github.com/nivong/PokemonGo-Bot/blob/dev/docs/manual_installation.md) #Windows +We do recommend Windows users to use [Docker](#docker) this will work much easier and smoother (also saver) + ##Requirements - [Python 2.7.x](http://docs.python-guide.org/en/latest/starting/installation/) From e5337b405dccd5be00ed51eda145f8a9c4f6f260 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:28:31 +0200 Subject: [PATCH 27/35] Update installation.md --- docs/installation.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 4ac80431d8..1429c109ac 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -58,8 +58,6 @@ This will start the web interface and is optional stap 3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` #Docker -##Requirements -- [docker](https://docs.docker.com/engine/installation/) (Optional) - [how to setup after installation](https://github.com/PokemonGoF/PokemonGo-Bot/wiki/How-to-run-with-Docker) ###Easy installation Start by downloading for your platform: From 276e52cd2bb49955ad8fabc0cf34c5b3383f489f Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:28:46 +0200 Subject: [PATCH 28/35] Update installation.md --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 1429c109ac..336ceadfb9 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -63,7 +63,7 @@ This will start the web interface and is optional stap Start by downloading for your platform: - [Mac](https://www.docker.com/products/docker#/mac) - [Windows](https://www.docker.com/products/docker#/windows) -- [Linux](https://www.docker.com/products/docker#/linux). +- [Linux](https://www.docker.com/products/docker#/linux) Once you have Docker installed, simply create the various config files for your different accounts (e.g. `configs/config.json`, `configs/userdata.js`) and then create a Docker image for PokemonGo-Bot using the Dockerfile in this repo. From 97d9188f525cfc91362f2bfa4b93d918b2e387d2 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:31:34 +0200 Subject: [PATCH 29/35] Update manual_installation.md --- docs/manual_installation.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index 393ffa4173..ad227b4e09 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -1,8 +1,7 @@ # Manual installation ## Table of Contents -- [Linux Installation](#linux) -- [Mac Installation](#mac) +- [Linux and Mac Installation](#linux-and-mac) - [Windows](#windows) ### Linux and Mac @@ -34,7 +33,7 @@ wget https://bootstrap.pypa.io/get-pip.py python2.7 get-pip.py rm -f get-pip.py ``` -#### + - switch to the location where you want to install it - get git Repository and switch into the downloaded Folder @@ -92,12 +91,7 @@ source bin/activate ### Windows -WIP - -##### Protobuf 3 -Download protobuf 3.0: [here](https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip) and unzip `bin/protoc.exe` into a folder in your PATH. - -##### Windows vista, 7, 8: +#### Windows vista, 7, 8: Go to : http://pyyaml.org/wiki/PyYAML , download the right version for your pc and install it ##### Windows 10: From ef3c36e058d190f8fb4b285e53f7dcb029cb4cc3 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:42:51 +0200 Subject: [PATCH 30/35] Update installation.md --- docs/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 336ceadfb9..5a35601dd7 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -39,12 +39,12 @@ We do recommend Windows users to use [Docker](#docker) this will work much easie - [Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) ###Easy Installation -1. Go into the folder/dir named: Windows bot +1. Download `PokemonGo-Bot-install.bat` file from [HERE](https://raw.githubusercontent.com/nivong/PokemonGo-Bot/dev/windows%20bat/PokemonGo-Bot-Install.bat) 2. Run `PokemonGo-Bot-install.bat` After that has done the bot will be installed -3. Run `PokemonGo-Bot-StartBot.bat` +4. Run `PokemonGo-Bot-StartBot.bat` This will start the bot itself -OPTIONAL: 4. Run `PokemonGo-Bot-StartServer.bat` +OPTIONAL: 5. Run `PokemonGo-Bot-StartServer.bat` This will start the web interface and is optional stap ### To update the bot From 7914ac88430d5ccb36f0630f6edd67fdbc1ae152 Mon Sep 17 00:00:00 2001 From: nivong Date: Fri, 12 Aug 2016 22:45:51 +0200 Subject: [PATCH 31/35] Update installation.md --- docs/installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 5a35601dd7..954817ca5e 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -42,9 +42,9 @@ We do recommend Windows users to use [Docker](#docker) this will work much easie 1. Download `PokemonGo-Bot-install.bat` file from [HERE](https://raw.githubusercontent.com/nivong/PokemonGo-Bot/dev/windows%20bat/PokemonGo-Bot-Install.bat) 2. Run `PokemonGo-Bot-install.bat` After that has done the bot will be installed -4. Run `PokemonGo-Bot-StartBot.bat` +3. Run `PokemonGo-Bot-StartBot.bat` This will start the bot itself -OPTIONAL: 5. Run `PokemonGo-Bot-StartServer.bat` +4. Run `PokemonGo-Bot-StartServer.bat` This will start the web interface and is optional stap ### To update the bot From 2f54553989d9450d113832d9b640b585aec2f5af Mon Sep 17 00:00:00 2001 From: nivong Date: Sat, 13 Aug 2016 18:30:01 +0200 Subject: [PATCH 32/35] rename dir --- .../PokemonGo-Bot-Install.bat | 0 .../PokemonGo-Bot-Repair.bat | 0 .../PokemonGo-Bot-StartBot.bat | 0 .../PokemonGo-Bot-StartServer.bat | 0 .../PokemonGo-Bot-StatusWebpage.url | 0 .../PyYAML-3.11-cp27-cp27m-win32.whl | Bin .../PyYAML-3.11-cp27-cp27m-win_amd64.whl | Bin 7 files changed, 0 insertions(+), 0 deletions(-) rename {windows bat => windows_bat}/PokemonGo-Bot-Install.bat (100%) rename {windows bat => windows_bat}/PokemonGo-Bot-Repair.bat (100%) rename {windows bat => windows_bat}/PokemonGo-Bot-StartBot.bat (100%) rename {windows bat => windows_bat}/PokemonGo-Bot-StartServer.bat (100%) rename {windows bat => windows_bat}/PokemonGo-Bot-StatusWebpage.url (100%) rename {windows bat => windows_bat}/PyYAML-3.11-cp27-cp27m-win32.whl (100%) rename {windows bat => windows_bat}/PyYAML-3.11-cp27-cp27m-win_amd64.whl (100%) diff --git a/windows bat/PokemonGo-Bot-Install.bat b/windows_bat/PokemonGo-Bot-Install.bat similarity index 100% rename from windows bat/PokemonGo-Bot-Install.bat rename to windows_bat/PokemonGo-Bot-Install.bat diff --git a/windows bat/PokemonGo-Bot-Repair.bat b/windows_bat/PokemonGo-Bot-Repair.bat similarity index 100% rename from windows bat/PokemonGo-Bot-Repair.bat rename to windows_bat/PokemonGo-Bot-Repair.bat diff --git a/windows bat/PokemonGo-Bot-StartBot.bat b/windows_bat/PokemonGo-Bot-StartBot.bat similarity index 100% rename from windows bat/PokemonGo-Bot-StartBot.bat rename to windows_bat/PokemonGo-Bot-StartBot.bat diff --git a/windows bat/PokemonGo-Bot-StartServer.bat b/windows_bat/PokemonGo-Bot-StartServer.bat similarity index 100% rename from windows bat/PokemonGo-Bot-StartServer.bat rename to windows_bat/PokemonGo-Bot-StartServer.bat diff --git a/windows bat/PokemonGo-Bot-StatusWebpage.url b/windows_bat/PokemonGo-Bot-StatusWebpage.url similarity index 100% rename from windows bat/PokemonGo-Bot-StatusWebpage.url rename to windows_bat/PokemonGo-Bot-StatusWebpage.url diff --git a/windows bat/PyYAML-3.11-cp27-cp27m-win32.whl b/windows_bat/PyYAML-3.11-cp27-cp27m-win32.whl similarity index 100% rename from windows bat/PyYAML-3.11-cp27-cp27m-win32.whl rename to windows_bat/PyYAML-3.11-cp27-cp27m-win32.whl diff --git a/windows bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl b/windows_bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl similarity index 100% rename from windows bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl rename to windows_bat/PyYAML-3.11-cp27-cp27m-win_amd64.whl From fae922030e6b30f0ae867f3776e0a120b63d0aa8 Mon Sep 17 00:00:00 2001 From: nivong Date: Sat, 13 Aug 2016 18:46:17 +0200 Subject: [PATCH 33/35] v2 windows bat --- windows_bat/PokemonGo-Bot-Install.bat | 88 ++++++++----------- windows_bat/PokemonGo-Bot-Repair.bat | 76 ++++------------ windows_bat/PokemonGo-Bot-Start.bat | 87 +++++++++++++++++++ windows_bat/PokemonGo-Bot-StartBot.bat | 48 ---------- windows_bat/PokemonGo-Bot-StartServer.bat | 101 ---------------------- 5 files changed, 142 insertions(+), 258 deletions(-) create mode 100755 windows_bat/PokemonGo-Bot-Start.bat delete mode 100755 windows_bat/PokemonGo-Bot-StartBot.bat delete mode 100755 windows_bat/PokemonGo-Bot-StartServer.bat diff --git a/windows_bat/PokemonGo-Bot-Install.bat b/windows_bat/PokemonGo-Bot-Install.bat index 871c6ea2c0..dcbce98acf 100755 --- a/windows_bat/PokemonGo-Bot-Install.bat +++ b/windows_bat/PokemonGo-Bot-Install.bat @@ -1,4 +1,5 @@ -@echo off +TITLE PokemonGo-Bot Installer +@ECHO OFF CLS :init @@ -29,90 +30,71 @@ exit /B setlocal & pushd . cd /d %~dp0 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) - -:::::::::::::::::::::::::::: -::START -:::::::::::::::::::::::::::: @ECHO ON @ECHO. @ECHO --------------------PokemonGo-Bot Installer-------------------- @ECHO. +@ECHO. +@ECHO. @ECHO Before proceeding, please install the following software: @ECHO. @ECHO ---- Python 2.7.x -@ECHO ---- http://docs.python-guide.org/en/latest/starting/installation/ +@ECHO http://docs.python-guide.org/en/latest/starting/installation/ @ECHO. @ECHO ---- git -@ECHO ---- https://git-scm.com/book/en/v2/Getting-Started-Installing-Git +@ECHO https://git-scm.com/book/en/v2/Getting-Started-Installing-Git @ECHO. @ECHO ---- Protoc -@ECHO ---- https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip +@ECHO https://github.com/google/protobuf/releases/download/v3.0.0-beta-4/protoc-3.0.0-beta-4-win32.zip @ECHO. @ECHO ---- Microsoft Visual C++ Compiler for Python 2.7 -@ECHO ---- http://www.microsoft.com/en-us/download/details.aspx?id=44266 +@ECHO http://www.microsoft.com/en-us/download/details.aspx?id=44266 +@ECHO. +@ECHO ---- encrypt.so / encrypt.dll /encrypt_64.dll (Copy to the same folder as this batch file) +@ECHO Get them from our Slack chat! https://pokemongo-bot.herokuapp.com/ +@ECHO. +@ECHO ---- If you already have a config.json and a userdata.js, copy to the same folder as this batch file. +@ECHO. +@ECHO. @ECHO. @PAUSE @ECHO. +@ECHO. +@ECHO. @ECHO --------------------Downloading PokemonGo-Bot-------------------- @ECHO. +@ECHO. +@ECHO. +@ECHO. RMDIR C:\Python27\PokemonGo-Bot /s /q cd C:\Python27\ pip2 install --upgrade pip pip2 install --upgrade virtualenv pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win32.whl" pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win_amd64.whl" -cd C:\Python27\ -git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot -cd C:\Python27\PokemonGo-Bot -pip2 install --upgrade -r requirements.txt -git submodule init -git submodule update +git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot +pip2 install --upgrade -r C:/Python27/PokemonGo-Bot/requirements.txt +cd C:/Python27/PokemonGo-Bot/ virtualenv . -@ECHO OFF -set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" - -if defined _OLD_VIRTUAL_PROMPT ( - set "PROMPT=%_OLD_VIRTUAL_PROMPT%" -) else ( - if not defined PROMPT ( - set "PROMPT=$P$G" - ) - set "_OLD_VIRTUAL_PROMPT=%PROMPT%" -) -set "PROMPT=(PokemonGo-Bot) %PROMPT%" - -REM Don't use () to avoid problems with them in %PATH% -if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME - set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" -:ENDIFVHOME - -set PYTHONHOME= - -REM if defined _OLD_VIRTUAL_PATH ( -if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 - set "PATH=%_OLD_VIRTUAL_PATH%" -:ENDIFVPATH1 -REM ) else ( -if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 - set "_OLD_VIRTUAL_PATH=%PATH%" -:ENDIFVPATH2 - -set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" -pip2 install --upgrade -r requirements.txt -@ECHO ON +call C:\Python27\PokemonGo-Bot\Scripts\activate.bat +pip2 install --upgrade -r C:/Python27/PokemonGo-Bot/requirements.txt +@ECHO. @ECHO. -@ECHO Created by danielsdian based on information gathered from the wiki @ECHO. @ECHO --------------------Copying additional files-------------------- @ECHO. +@ECHO. +@ECHO. COPY "%~dp0\encrypt*.*" C:\Python27\PokemonGo-Bot\ -cd C:\Python27\PokemonGo-Bot\configs\ -REN config.json.example config.json -cd C:\Python27\PokemonGo-Bot\web\config\ -REN userdata.js.example userdata.js +COPY "%~dp0\config.json" C:\Python27\PokemonGo-Bot\configs\ +COPY "%~dp0\userdata.js" C:\Python27\PokemonGo-Bot\web\config\ +@ECHO. +@ECHO. @ECHO. @ECHO --------------------File customization-------------------- @ECHO. +@ECHO. +@ECHO. @ECHO Remember to configure both config.json and userdata.js! @ECHO. @ECHO "C:/Python27/PokemonGo-Bot/configs/config.json" @@ -122,4 +104,6 @@ REN userdata.js.example userdata.js @ECHO To get an Google Map API Key: @ECHO https://developers.google.com/maps/documentation/javascript/get-api-key @ECHO. +@ECHO. +@ECHO. @PAUSE \ No newline at end of file diff --git a/windows_bat/PokemonGo-Bot-Repair.bat b/windows_bat/PokemonGo-Bot-Repair.bat index 7e720e263d..55c9171c82 100755 --- a/windows_bat/PokemonGo-Bot-Repair.bat +++ b/windows_bat/PokemonGo-Bot-Repair.bat @@ -1,4 +1,5 @@ -@echo off +TITLE PokemonGo-Bot Repair +@ECHO OFF CLS :init @@ -29,89 +30,50 @@ exit /B setlocal & pushd . cd /d %~dp0 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) - -:::::::::::::::::::::::::::: -::START -:::::::::::::::::::::::::::: @ECHO ON @ECHO. -@ECHO Created by danielsdian based on information gathered from the wiki +@ECHO. @ECHO. @ECHO --------------------Creating Backup-------------------- -ECHO. +@ECHO. +@ECHO. +@ECHO. RMDIR C:\Python27\Backup /s /q MKDIR C:\Python27\Backup COPY C:\Python27\PokemonGo-Bot\encrypt*.* C:\Python27\Backup COPY C:\Python27\PokemonGo-Bot\configs\config.json C:\Python27\Backup COPY C:\Python27\PokemonGo-Bot\web\config\userdata.js C:\Python27\Backup @ECHO. +@ECHO. +@ECHO. @ECHO --------------------Downloading PokemonGo-Bot-------------------- @ECHO. +@ECHO. +@ECHO. RMDIR C:\Python27\PokemonGo-Bot /s /q cd C:\Python27\ pip2 install --upgrade pip pip2 install --upgrade virtualenv pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win32.whl" pip2 install --upgrade "%~dp0\PyYAML-3.11-cp27-cp27m-win_amd64.whl" -cd C:\Python27\ -git clone --recursive -b dev https://github.com/PokemonGoF/PokemonGo-Bot -cd C:\Python27\PokemonGo-Bot -pip2 install --upgrade -r requirements.txt -git submodule init -git submodule update +git clone --recursive -b master https://github.com/PokemonGoF/PokemonGo-Bot +pip2 install --upgrade -r C:/Python27/PokemonGo-Bot/requirements.txt +cd C:/Python27/PokemonGo-Bot/ virtualenv . -pip2 install --upgrade -r requirements.txt -@ECHO OFF -set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" - -if defined _OLD_VIRTUAL_PROMPT ( - set "PROMPT=%_OLD_VIRTUAL_PROMPT%" -) else ( - if not defined PROMPT ( - set "PROMPT=$P$G" - ) - set "_OLD_VIRTUAL_PROMPT=%PROMPT%" -) -set "PROMPT=(PokemonGo-Bot) %PROMPT%" - -REM Don't use () to avoid problems with them in %PATH% -if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME - set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" -:ENDIFVHOME - -set PYTHONHOME= - -REM if defined _OLD_VIRTUAL_PATH ( -if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 - set "PATH=%_OLD_VIRTUAL_PATH%" -:ENDIFVPATH1 -REM ) else ( -if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 - set "_OLD_VIRTUAL_PATH=%PATH%" -:ENDIFVPATH2 - -set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" -@ECHO ON +call C:\Python27\PokemonGo-Bot\Scripts\activate.bat +pip2 install --upgrade -r C:/Python27/PokemonGo-Bot/requirements.txt @ECHO. -@ECHO --------------------Copying additional files-------------------- @ECHO. -COPY "%~dp0\encrypt*.*" C:\Python27\PokemonGo-Bot\ @ECHO. @ECHO --------------------Restoring Backup-------------------- @ECHO. -COPY C:\Python27\Backup\encrypt*.* C:\Python27\PokemonGo-Bot\ -COPY C:\Python27\Backup\config.json C:\Python27\PokemonGo-Bot\configs\ -COPY C:\Python27\Backup\userdata.js C:\Python27\PokemonGo-Bot\web\config\ -@ECHO. -@ECHO --------------------File customization-------------------- @ECHO. -@ECHO Remember to configure both config.json and userdata.js! @ECHO. -@ECHO "C:/Python27/PokemonGo-Bot/configs/config.json" +COPY C:\Python27\Backup\encrypt*.* C:\Python27\PokemonGo-Bot\ +COPY C:\Python27\Backup\config.json C:\Python27\PokemonGo-Bot\configs\ +COPY C:\Python27\Backup\userdata.js C:\Python27\PokemonGo-Bot\web\config\ +RMDIR C:\Python27\Backup /s /q @ECHO. -@ECHO "C:/Python27/PokemonGo-Bot/web/config/userdata.js" @ECHO. -@ECHO To get an Google Map API Key: -@ECHO https://developers.google.com/maps/documentation/javascript/get-api-key @ECHO. @PAUSE \ No newline at end of file diff --git a/windows_bat/PokemonGo-Bot-Start.bat b/windows_bat/PokemonGo-Bot-Start.bat new file mode 100755 index 0000000000..37a4cf7e5f --- /dev/null +++ b/windows_bat/PokemonGo-Bot-Start.bat @@ -0,0 +1,87 @@ +TITLE PokemonGo-Bot +@ECHO OFF +CLS + +:init +setlocal DisableDelayedExpansion +set "batchPath=%~0" +for %%k in (%0) do set batchName=%%~nk +set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" +setlocal EnableDelayedExpansion + +:checkPrivileges +NET FILE 1>NUL 2>NUL +if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) + +:getPrivileges +if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) +ECHO. + +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" +ECHO args = "ELEV " >> "%vbsGetPrivileges%" +ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" +ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" +ECHO Next >> "%vbsGetPrivileges%" +ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" +"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* +exit /B + +:gotPrivileges +setlocal & pushd . +cd /d %~dp0 +if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) +@ECHO ON +@ECHO. +@ECHO. +@ECHO. +@ECHO --------------------Verifying PokemonGo-Bot version-------------------- +@ECHO. +@ECHO. +@ECHO. +cd C:/Python27/PokemonGo-Bot/ +git pull +git submodule update --init --recursive +git submodule foreach git pull origin master +@ECHO. +@ECHO. +@ECHO. +@ECHO WARNING: Verify if the Config.json file got updated. If Yes, check if your modifications are still valid before proceeding. +@ECHO. +@ECHO. +@ECHO. +@pause +@ECHO. +@ECHO. +@ECHO. +@ECHO --------------------Initializing environment-------------------- +@ECHO. +@ECHO. +@ECHO. +cd C:/Python27/PokemonGo-Bot/ +virtualenv . +call C:\Python27\PokemonGo-Bot\Scripts\activate.bat +pip2 install --upgrade -r C:/Python27/PokemonGo-Bot/requirements.txt +@ECHO. +@ECHO. +@ECHO. +@ECHO --------------------Initializing web server-------------------- +@ECHO. +@ECHO. +@ECHO. +start cmd.exe /k "cd C:/Python27/PokemonGo-Bot/web&python -m SimpleHTTPServer" +@ECHO. +@ECHO. +@ECHO. +@ECHO --------------------Starting bot-------------------- +@ECHO. +@ECHO. +@ECHO. +python C:/Python27/PokemonGo-Bot/pokecli.py + + + + + + + + diff --git a/windows_bat/PokemonGo-Bot-StartBot.bat b/windows_bat/PokemonGo-Bot-StartBot.bat deleted file mode 100755 index 403a9f4741..0000000000 --- a/windows_bat/PokemonGo-Bot-StartBot.bat +++ /dev/null @@ -1,48 +0,0 @@ -@echo off -CLS - -:init -setlocal DisableDelayedExpansion -set "batchPath=%~0" -for %%k in (%0) do set batchName=%%~nk -set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" -setlocal EnableDelayedExpansion - -:checkPrivileges -NET FILE 1>NUL 2>NUL -if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) - -:getPrivileges -if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) -ECHO. - -ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" -ECHO args = "ELEV " >> "%vbsGetPrivileges%" -ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" -ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" -ECHO Next >> "%vbsGetPrivileges%" -ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" -"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* -exit /B - -:gotPrivileges -setlocal & pushd . -cd /d %~dp0 -if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) - -:::::::::::::::::::::::::::: -::START -:::::::::::::::::::::::::::: -@ECHO ON -@ECHO. -@ECHO Created by danielsdian based on information gathered from the wiki -@ECHO. -@ECHO First run PokemonGo-Bot-StartServer -@ECHO. -@pause -python C:/Python27/PokemonGo-Bot/pokecli.py - - - - - diff --git a/windows_bat/PokemonGo-Bot-StartServer.bat b/windows_bat/PokemonGo-Bot-StartServer.bat deleted file mode 100755 index 06e7bf778f..0000000000 --- a/windows_bat/PokemonGo-Bot-StartServer.bat +++ /dev/null @@ -1,101 +0,0 @@ -@echo off -CLS - -:init -setlocal DisableDelayedExpansion -set "batchPath=%~0" -for %%k in (%0) do set batchName=%%~nk -set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" -setlocal EnableDelayedExpansion - -:checkPrivileges -NET FILE 1>NUL 2>NUL -if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) - -:getPrivileges -if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) -ECHO. - -ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" -ECHO args = "ELEV " >> "%vbsGetPrivileges%" -ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" -ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" -ECHO Next >> "%vbsGetPrivileges%" -ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" -"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* -exit /B - -:gotPrivileges -setlocal & pushd . -cd /d %~dp0 -if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) - -:::::::::::::::::::::::::::: -::START -:::::::::::::::::::::::::::: -@ECHO ON -@ECHO. -@ECHO Created by danielsdian based on information gathered from the wiki -@ECHO. -@ECHO --------------------Verifying PokemonGo-Bot version-------------------- -@ECHO. -cd C:/Python27/PokemonGo-Bot/ -git pull -@ECHO C:/Python27/PokemonGo-Bot/scripts/activate -@ECHO OFF -set "VIRTUAL_ENV=C:\Python27\PokemonGo-Bot" - -if defined _OLD_VIRTUAL_PROMPT ( - set "PROMPT=%_OLD_VIRTUAL_PROMPT%" -) else ( - if not defined PROMPT ( - set "PROMPT=$P$G" - ) - set "_OLD_VIRTUAL_PROMPT=%PROMPT%" -) -set "PROMPT=(PokemonGo-Bot) %PROMPT%" - -REM Don't use () to avoid problems with them in %PATH% -if defined _OLD_VIRTUAL_PYTHONHOME goto ENDIFVHOME - set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" -:ENDIFVHOME - -set PYTHONHOME= - -REM if defined _OLD_VIRTUAL_PATH ( -if not defined _OLD_VIRTUAL_PATH goto ENDIFVPATH1 - set "PATH=%_OLD_VIRTUAL_PATH%" -:ENDIFVPATH1 -REM ) else ( -if defined _OLD_VIRTUAL_PATH goto ENDIFVPATH2 - set "_OLD_VIRTUAL_PATH=%PATH%" -:ENDIFVPATH2 - -set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%" -@ECHO ON -cd C:/Python27/PokemonGo-Bot/ -pip2 install --upgrade -r requirements.txt -virtualenv . -git submodule init -git submodule update -@ECHO. -@ECHO. -@ECHO. -@ECHO. -@ECHO. -@ECHO. -@ECHO KEEP THIS COMMAND PROMPT OPEN and run PokemonGo-Bot-StartBot in another Command prompt. -@ECHO. -@ECHO Press any key to start the Web Server -@ECHO. -@pause -@ECHO. -@ECHO --------------------Initializing Web Server-------------------- -@ECHO. -cd C:/Python27/PokemonGo-Bot/web -python -m SimpleHTTPServer - - - - - From fbc123d6daaa4b20c9ef4e4ca8903dc0396c13b3 Mon Sep 17 00:00:00 2001 From: devn0ll Date: Sat, 13 Aug 2016 18:52:12 +0200 Subject: [PATCH 34/35] Update manual_installation.md --- docs/manual_installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual_installation.md b/docs/manual_installation.md index ad227b4e09..ce15240e25 100644 --- a/docs/manual_installation.md +++ b/docs/manual_installation.md @@ -11,7 +11,7 @@ Ubuntu will be used for the Linux Example #####Linux ```bash -sudo apt-get install build-essential autoconf libtool pkg-config make python-dev python-protobuf python2.7 wget git +sudo apt-get install build-essential autoconf libtool pkg-config make python2.7-dev wget git ``` #### if you are on a different Linux OS you maybe have to adapt things like: From 1539f042df392de841ad7cc1c467ec5049715522 Mon Sep 17 00:00:00 2001 From: nivong Date: Sat, 13 Aug 2016 18:58:07 +0200 Subject: [PATCH 35/35] Update installation.md --- docs/installation.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 954817ca5e..ebdcc9ba01 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -39,18 +39,15 @@ We do recommend Windows users to use [Docker](#docker) this will work much easie - [Microsoft Visual C++ Compiler for Python 2.7](http://www.microsoft.com/en-us/download/details.aspx?id=44266) ###Easy Installation -1. Download `PokemonGo-Bot-install.bat` file from [HERE](https://raw.githubusercontent.com/nivong/PokemonGo-Bot/dev/windows%20bat/PokemonGo-Bot-Install.bat) +1. Download `PokemonGo-Bot-Install.bat` file from [HERE](https://raw.githubusercontent.com/nivong/PokemonGo-Bot/dev/windows_bat/PokemonGo-Bot-Install.bat) 2. Run `PokemonGo-Bot-install.bat` After that has done the bot will be installed -3. Run `PokemonGo-Bot-StartBot.bat` -This will start the bot itself -4. Run `PokemonGo-Bot-StartServer.bat` -This will start the web interface and is optional stap +3. Run `PokemonGo-Bot-Start.bat` +This will start the bot and the web interface ### To update the bot -1. Stop the bot by closing everything -2. Run `PokemonGo-Bot-Update.bat` -3. Rerun the bot by using `PokemonGo-Bot-StartBot.bat` +3. Run `PokemonGo-Bot-Start.bat` +This will check for an update and will start the bot afterwards. ### To repair the bot if it isn't working for some reason 1. Stop the bot by closing everything