├── .gitignore ├── rootfs ├── bin │ ├── hostnamectl │ ├── pawnsapp_service │ ├── earnapp_service │ ├── peer2profit_service │ ├── honeygain_service │ ├── traffmonetizer_service │ ├── bitping_service │ └── packetstream_service ├── etc │ └── services.d │ │ ├── bitping │ │ └── run │ │ ├── earnapp │ │ └── run │ │ ├── honeygain │ │ └── run │ │ ├── pawnsapp │ │ └── run │ │ ├── packetstream │ │ └── run │ │ ├── peer2profit │ │ └── run │ │ └── traffmonetizer │ │ └── run └── installer │ └── main.sh ├── docker-compose.yml ├── CHANGELOG ├── settings.conf ├── run.sh ├── LICENSE ├── Dockerfile └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | binaries/* 2 | -------------------------------------------------------------------------------- /rootfs/bin/hostnamectl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | hostname -------------------------------------------------------------------------------- /rootfs/etc/services.d/bitping/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/bitping_service 3 | sleep 5 -------------------------------------------------------------------------------- /rootfs/etc/services.d/earnapp/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/earnapp_service 3 | sleep 5 -------------------------------------------------------------------------------- /rootfs/etc/services.d/honeygain/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/honeygain_service 3 | sleep 5 -------------------------------------------------------------------------------- /rootfs/etc/services.d/pawnsapp/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/pawnsapp_service 3 | sleep 5 -------------------------------------------------------------------------------- /rootfs/etc/services.d/packetstream/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/packetstream_service 3 | sleep 5 -------------------------------------------------------------------------------- /rootfs/etc/services.d/peer2profit/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/peer2profit_service 3 | sleep 5 4 | -------------------------------------------------------------------------------- /rootfs/etc/services.d/traffmonetizer/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bash 2 | exec /bin/traffmonetizer_service 3 | sleep 5 -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | picash: 5 | env_file: 6 | - settings.conf 7 | build: . 8 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | v1.1 2 | - Added log rotation to prevent large log files 3 | - Cleaned up services 4 | - Use native binaries when possible -------------------------------------------------------------------------------- /settings.conf: -------------------------------------------------------------------------------- 1 | #################################### 2 | # This file contains your settings # 3 | #################################### 4 | 5 | 6 | # Earnapp 7 | USE_EARNAPP=y 8 | 9 | # Honeygain 10 | USE_HONEYGAIN=n 11 | HG_EMAIL= 12 | HG_PASSWORD= 13 | 14 | # Packet Stream 15 | USE_PACKET_STREAM=n 16 | PS_ID= 17 | 18 | # Peer2Profit 19 | USE_PEER2PROFIT=n 20 | P2_EMAIL= 21 | 22 | # Pawns.app(IPPawns) 23 | USE_PAWNSAPP=n 24 | PA_EMAIL= 25 | PA_PASSWORD= 26 | 27 | # Traffmonetizer 28 | USE_TRAFFMONETIZER=n # do not enable for x86_64 yet 29 | TRAFF_TOKEN= 30 | 31 | # BitPing 32 | USE_BITPING=n 33 | BP_EMAIL= 34 | BP_PASSWORD= -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) 3 | 4 | if [ -f ./settings.conf ] 5 | then 6 | source ./settings.conf 7 | else 8 | echo Could not find settings.conf, exiting... 9 | exit 1 10 | fi 11 | 12 | docker run -d --restart always --env-file ${SCRIPT_DIR}/settings.conf --name picash chashtag/picash 13 | 14 | if [[ "$USE_EARNAPP" == "y" ]] 15 | then 16 | echo Waiting for 30 sec to stand up, will print the earnapp link when done 17 | sleep 30 18 | echo Use this link to register your worker 19 | docker exec -ti picash earnapp register | grep -Eo 'https.+' 20 | fi 21 | 22 | 23 | -------------------------------------------------------------------------------- /rootfs/bin/pawnsapp_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/pawns 3 | HOSTNAME=`hostname` 4 | if [[ ! -z $STAGGER ]] 5 | then 6 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 7 | fi 8 | 9 | ( 10 | if [[ "$USE_PAWNSAPP" != "n" ]] 11 | then 12 | echo Starting Service 13 | if [[ `uname -m` != "aarch64" ]] 14 | then 15 | /usr/bin/qemu-arm /usr/bin/pawns-cli -email=${PA_EMAIL} -password=${PA_PASSWORD} -device-name=${HOSTNAME} -accept-tos 16 | else 17 | /usr/bin/pawns-cli -email=${PA_EMAIL} -password=${PA_PASSWORD} -device-name=${HOSTNAME} -accept-tos 18 | fi 19 | echo Service crashed restarting 20 | else 21 | echo Not running service sleeping... 22 | sleep 360 23 | fi 24 | sleep 60 25 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /rootfs/bin/earnapp_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/earnapp 3 | if [[ ! -z $STAGGER ]] 4 | then 5 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 6 | fi 7 | 8 | ( 9 | if [[ "$USE_EARNAPP" != "n" ]] 10 | then 11 | echo Starting Service 12 | if [ ! -f /usr/bin/earnapp ] 13 | then 14 | curl -L https://brightdata.com/static/earnapp/install.sh > /tmp/earnapp.sh && bash /tmp/earnapp.sh -y 15 | earnapp stop 16 | /usr/bin/earnapp start 17 | /usr/bin/earnapp run 2>&1 18 | else 19 | /usr/bin/earnapp start 20 | /usr/bin/earnapp run 2>&1 21 | fi 22 | echo Service crashed, restarting 23 | else 24 | echo Not running service sleeping... 25 | sleep 360 26 | fi 27 | 28 | sleep 60 29 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /rootfs/bin/peer2profit_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/peer2profit 3 | if [[ ! -z $STAGGER ]] 4 | then 5 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 6 | fi 7 | DEF_ROUTE_IFACE=$(ip route get 1.1.1.1 | grep -Po "src\s(\K.+?)\s" |xargs) 8 | 9 | ( 10 | if [[ "$USE_PEER2PROFIT" != "n" ]] 11 | then 12 | echo Service enabled, starting 13 | if [[ `uname -m` != "aarch64" ]] 14 | then 15 | /usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu/ /usr/bin/p2pclient -l ${P2_EMAIL} $(if [[ ! -z "${DNS}" ]]; then echo -ne " \b-n $DEF_ROUTE_IFACE;$DNS"; fi) 16 | else 17 | /usr/bin/p2pclient -l ${P2_EMAIL} $(if [[ ! -z "${DNS}" ]]; then echo -ne " \b -n $DEF_ROUTE_IFACE;$DNS"; fi) 18 | fi 19 | echo Service crashed restarting 20 | else 21 | echo Not running service sleeping... 22 | sleep 360 23 | fi 24 | sleep 60 25 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /rootfs/bin/honeygain_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/honeygain 3 | if [[ ! -z $STAGGER ]] 4 | then 5 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 6 | fi 7 | 8 | ( 9 | if [[ "$USE_HONEYGAIN" != "n" ]] 10 | then 11 | echo Starting Service 12 | if [[ -z "$HG_EMAIL" || -z "$HG_PASSWORD" ]]; then 13 | echo ERROR: One or more honeygain settings are blank 14 | exit 1 15 | fi 16 | if [[ `uname -m` != "x86_64" ]] 17 | then 18 | /usr/bin/qemu-x86_64 -E LD_PRELOAD=/opt/honeygain/libhg.so.1.0.0 /opt/honeygain/honeygain -tou-accept -email $HG_EMAIL -pass $HG_PASSWORD -device `hostname` 2>&1 19 | else 20 | LD_PRELOAD=/opt/honeygain/libhg.so.1.0.0 /opt/honeygain/honeygain -tou-accept -email $HG_EMAIL -pass $HG_PASSWORD -device `hostname` 2>&1 21 | fi 22 | echo Service crashed restarting 23 | else 24 | echo Not running service sleeping... 25 | sleep 60 26 | fi 27 | sleep 360 28 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /rootfs/bin/traffmonetizer_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/traffmonetizer 3 | if [[ ! -z $STAGGER ]] 4 | then 5 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 6 | fi 7 | 8 | cd /opt/traffmonetizer/ 9 | ( 10 | if [[ "$USE_TRAFFMONETIZER" != "n" ]] 11 | then 12 | echo Starting Service 13 | if [ -z $TRAFF_TOKEN ] 14 | then 15 | echo TRAFF_TOKEN Not set 16 | sleep 60 17 | exit 1 18 | fi 19 | if [[ `uname -m` == "aarch64" ]] 20 | then 21 | /opt/traffmonetizer/Cli start accept --token $TRAFF_TOKEN 2>&1 22 | elif [[ `uname -m` == "armv7l" ]] 23 | then 24 | /opt/traffmonetizer/Cli start accept --token $TRAFF_TOKEN 2>&1 25 | else 26 | /usr/bin/qemu-aarch64 -L /usr/aarch64-linux-gnu/ /opt/traffmonetizer/Cli start accept --token $TRAFF_TOKEN 2>&1 27 | fi 28 | 29 | echo Service crashed, restarting 30 | else 31 | echo Not running service sleeping... 32 | sleep 360 33 | fi 34 | sleep 60 35 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /rootfs/bin/bitping_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/bitping 3 | 4 | if [[ ! -z $STAGGER ]] 5 | then 6 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 7 | fi 8 | 9 | ( 10 | if ! ps aux | grep -q "[b]itping-node" 11 | then 12 | if [[ "$USE_BITPING" != "n" ]] 13 | then 14 | if [[ -z "$BP_EMAIL" || -z "$BP_PASSWORD" ]]; then 15 | echo ERROR: One or more bitping settings are blank 16 | exit 1 17 | fi 18 | echo Starting Service 19 | if [[ `uname -m` == "x86_64" ]] 20 | then 21 | echo Running x86 22 | /opt/bitping/release/bitping-node-amd64-linux --server --email $BP_EMAIL -password $BP_PASSWORD 2>&1 23 | elif [[ `uname -m` == "armv7l" ]] || [[ `uname -m` == "aarch64" ]] 24 | then 25 | echo Running `uname -m` 26 | /opt/bitping/release/bitping-node-armv7-linux --server --email $BP_EMAIL -password $BP_PASSWORD 2>&1 27 | else 28 | echo Running default `uname -m` 29 | /usr/bin/qemu-x86_64 /opt/bitping/release/bitping-node-amd64-linux --server --email $BP_EMAIL -password $BP_PASSWORD 2>&1 30 | fi 31 | echo Service crashed, restarting 32 | else 33 | echo Not running service sleeping... 34 | sleep 360 35 | fi 36 | else 37 | 38 | sleep 60 39 | fi 40 | 41 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ARG BUILDPLATFORM BUILDOS BUILDARCH BUILDVARIANT TARGETPLATFORM TARGETOS TARGETARCH TARGETVARIANT 4 | ARG S6_OVERLAY_VERSION=v3.1.2.1 5 | ARG DEBIAN_FRONTEND='noninteractive' 6 | 7 | RUN apt-get update && \ 8 | apt-get install -y \ 9 | apache2-utils \ 10 | apt-file \ 11 | apt-transport-https \ 12 | apt-utils \ 13 | bash \ 14 | ca-certificates \ 15 | coreutils \ 16 | curl \ 17 | iproute2 \ 18 | libc6-arm64-cross \ 19 | libstdc++6-arm64-cross \ 20 | lsb-release \ 21 | nano \ 22 | net-tools \ 23 | procps \ 24 | qemu-user \ 25 | wget \ 26 | xz-utils \ 27 | zip \ 28 | zstd \ 29 | && apt-get clean \ 30 | && rm -rf /var/lib/apt/lists/* 31 | 32 | 33 | RUN curl --fail https://github.com/just-containers/s6-overlay/releases/download/${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz -SLo- | tar -C / -Jxpf - && \ 34 | curl --fail https://github.com/just-containers/s6-overlay/releases/download/${S6_OVERLAY_VERSION}/s6-overlay-`uname -m| sed 's/armv7l/armhf/g'`.tar.xz -SLo- | tar -C / -Jxpf - 35 | 36 | 37 | COPY rootfs/ / 38 | 39 | 40 | COPY --from=packetstream/psclient:latest /usr/local/bin/psrun /usr/local/bin/psdecode-arm64 /usr/local/bin/psdecode /usr/local/bin/exit-node /usr/local/bin/exit-node-arm64 /opt/packetstream/ 41 | 42 | 43 | RUN /installer/main.sh 44 | 45 | 46 | RUN useradd -ms /bin/bash picash 47 | 48 | 49 | ENTRYPOINT [ "/init" ] 50 | -------------------------------------------------------------------------------- /rootfs/bin/packetstream_service: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | LOGLOC=/var/log/picash/packetstream 3 | if [[ ! -z $STAGGER ]] 4 | then 5 | sleep $[ ( $RANDOM % 30 ) + 1 ]s 6 | fi 7 | 8 | ( 9 | if [[ "$USE_PACKET_STREAM" != "n" ]] 10 | 11 | then 12 | echo Starting Service 13 | while true; 14 | do 15 | PID=$(ps -aux | grep exit-node | grep -v grep | awk '{print $2}') 16 | LC=$(netstat -punta | grep $PID | wc -l) 17 | if [[ $LC -le 1 ]]; 18 | then 19 | echo $PID , $LC exiting 20 | kill -9 $PID 21 | if [[ `uname -m` == "aarch64" ]] 22 | then 23 | PS_ID_REAL=$(/opt/packetstream/psdecode-arm64 ${PS_ID}) 24 | /opt/packetstream/exit-node-arm64 "${PS_ID_REAL}?client_version=20.202.1548" 25 | elif [[ `uname -m` != "x86_64" ]] 26 | then 27 | PS_ID_REAL=$(/usr/bin/qemu-x86_64 /opt/packetstream/psdecode ${PS_ID}) 28 | /usr/bin/qemu-x86_64 /opt/packetstream/exit-node "${PS_ID_REAL}?client_version=20.202.1548" 29 | else 30 | PS_ID_REAL=$(/opt/packetstream/psdecode ${PS_ID}) 31 | /opt/packetstream/exit-node "${PS_ID_REAL}?client_version=20.202.1548" 32 | fi 33 | sleep 10 34 | else 35 | echo $PID , $LC not exiting 36 | sleep 10 37 | fi 38 | done 39 | echo Service crashed restarting 40 | else 41 | echo Not running service sleeping... 42 | sleep 360 #TODO: make this better, maybe make s6 just not launch it goodnuff for now 43 | fi 44 | sleep 60 45 | ) | rotatelogs -fDen 5 $LOGLOC 100M -------------------------------------------------------------------------------- /rootfs/installer/main.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ## Honeygain 4 | mkdir -p /opt/honeygain 5 | curl -L https://github.com/chashtag/PiCash/releases/download/bin/honeygain.tar.gz | tar -C /opt/honeygain -zxf - 6 | if [[ `uname -m` != "x86_64" ]] 7 | then 8 | mkdir -p /etc/qemu-binfmt/x86_64/lib64/ 9 | curl -L https://github.com/chashtag/PiCash/releases/download/bin/ld64.tar.gz | tar -C /etc/qemu-binfmt/x86_64/lib64/ -zxf - 10 | fi 11 | 12 | 13 | 14 | # Pawns.app (IPRoyal) 15 | curl -L https://download.iproyal.com/pawns-cli/latest/linux_`uname -m`/pawns-cli > /usr/bin/pawns-cli 16 | chmod +x /usr/bin/pawns-cli 17 | 18 | 19 | 20 | # Packetstream 21 | #mkdir -p /opt/packetstream 22 | #curl -L https://github.com/chashtag/PiCash/releases/download/bin/packetstream.tar.gz | tar -C /opt/packetstream/ -zxf - 23 | 24 | 25 | # Peer2Profit 26 | if [[ `uname -m` != "x86_64" ]] 27 | then 28 | curl -L https://github.com/chashtag/PiCash/releases/download/bin/p2pclient_0.63_arm64.deb > /tmp/p2p.deb 29 | else 30 | curl -L https://updates.peer2profit.app/peer2profit_0.48_amd64.deb > /tmp/p2p.deb 31 | fi 32 | 33 | dpkg -x /tmp/p2p.deb / 34 | rm -rf /tmp/p2p.deb 35 | 36 | 37 | # Traffmonetizer 38 | mkdir -p /opt/traffmonetizer 39 | if [[ `uname -m` == "armv7l" ]] 40 | then 41 | curl -L https://github.com/chashtag/PiCash/releases/download/bin/traffmonetizer-arm7.tar.gz| tar -C /opt/traffmonetizer -zxf - 42 | else 43 | curl -L https://github.com/chashtag/PiCash/releases/download/bin/traffmonetizer.tar.gz | tar -C /opt/traffmonetizer -zxf - 44 | fi 45 | 46 | 47 | 48 | # BitPing 49 | wget https://downloads.bitping.com/node/armv7.zip && unzip armv7.zip -d /opt/bitping && rm -rf armv7.zip 50 | wget https://downloads.bitping.com/node/linux.zip && unzip linux.zip -d /opt/bitping && rm -rf linux.zip 51 | 52 | 53 | 54 | 55 | 56 | #logging 57 | mkdir /var/log/picash 58 | chmod 777 /var/log/picash -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PiCash 2 | 3 | A lightweight docker image running many "passive" income applications, built for a Raspberry Pi. 4 | 5 | Currenlty installed programs are: 6 | - [x] Honeygain 7 | - [x] EarnApp 8 | - [x] Pawns.app (IPRoyal Pawns) 9 | - [x] PacketStream 10 | - [x] Peer2Profit 11 | - [x] Traffmonetizer (x86_64 broke) 12 | - [x] BitPing 13 | 14 | 15 | Raspberry Pi's running 64 bit OS's are supported (4, Zero2 W, 3b+) aarch64 16 | --- 17 | 18 | 19 | You will need an account at each of these sites 20 | - [Register Earnapp](https://earnapp.com/i/p9c6p7r) 21 | - [Register Honeygain](https://r.honeygain.me/MATTH77B97) 22 | - [Register Peer2profit](https://p2pr.me/16630967886320d7d435020) 23 | - [Register Pawns.app(Formerly IPRoyal Pawns)](https://pawns.app?r=538917) 24 | - [Register Packetstream](https://packetstream.io/?psr=3dq9) 25 | - [Register Traffmonetizer](https://traffmonetizer.com/?aff=522583) 26 | - [Register BitPing](https://app.bitping.com?r=3TGus9GO) *Crypto payout 27 | 28 | 29 | **These are affiliate links, please use them to support development 30 | 31 | 32 | 33 | 34 | 35 | --- 36 |
37 |
38 | 39 | # Quick start 40 | Docker is required (maybe when fedora 37 lands we can look at using podman) 41 | ### Docker installs 42 | > Ubuntu: https://docs.docker.com/engine/install/ubuntu/
43 | > Debian: https://docs.docker.com/engine/install/debian/
44 | > Raspbian: https://www.simplilearn.com/tutorials/docker-tutorial/raspberry-pi-docker 45 | 46 | 47 |
48 | 49 | git clone onto a arm64 platform 50 | 51 | ``` 52 | git clone https://github.com/chashtag/PiCash.git && cd PiCash 53 | ``` 54 | 55 | Edit the `settings.conf` file 56 | 57 | Build and run the container via `./run.sh` 58 |
59 |
60 |
61 | 62 | To enable automatic updates you can use [watchtower](https://containrrr.dev/watchtower/) 63 | ``` 64 | docker run -d \ 65 | --name watchtower \ 66 | --restart always \ 67 | -v /var/run/docker.sock:/var/run/docker.sock \ 68 | containrrr/watchtower 69 | ``` 70 | 71 | 72 | 73 | --- 74 | ### TO-DO: 75 | - [x] make a multi arch build 76 | - [ ] make a one-liner build and install for supported OS's 77 | 78 | 79 | --- 80 |

81 | # Earnapp 82 | Register for an account. Set `USE_EARNAPP` to `y` in the `settings.conf` file. 83 | 84 | The container will give you a link that you need to paste into your browser to "link" the worker to your account. This needs to be repeated per container instance! 85 |


86 | To get this code you can execute command below . 87 | 88 | ``` 89 | docker exec -ti picash earnapp register | grep -Eo 'https.+' 90 | ``` 91 | 92 |

Example 93 | ``` 94 | # Earnapp 95 | USE_EARNAPP=y 96 | ``` 97 |

98 | # Honeygain 99 | 100 | Register for an account. 101 | In the settings file, add your email to `HG_EMAIL` and password to `HG_PASSWORD` and set the `USE_HONEYGAIN` to `y`. 102 |

Example 103 | ``` 104 | # Honeygain 105 | USE_HONEYGAIN=y 106 | HG_EMAIL=example@example.com 107 | HG_PASSWORD=MyP@$$W0rd 108 | ``` 109 |


110 | # Packet Stream 111 | Register for an account. In the settings file set `USE_PACKET_STREAM` to `y` and `PS_ID` to your CID. You can find your CID by navigating to the [Download page](https://packetstream.io/dashboard/download) and scrolling the bottom where it give you "Linux" instructions. Inside that blob of text you will find your CID, below is a picture of where it can be found. 112 | 113 | ![cid](https://github.com/chashtag/PiCash/blob/images/images/packetstream.png?raw=true) 114 |

Example 115 | ``` 116 | # Packet Stream 117 | USE_PACKET_STREAM=y 118 | PS_ID=abc123 119 | ``` 120 |


121 | 122 | # Peer2Profit 123 | Register for an account. In the settings file set `USE_PEER2PROFIT` to `y` and `P2_EMAIL` to your email. 124 |

Example 125 | ``` 126 | # Peer2Profit 127 | USE_PEER2PROFIT=y 128 | P2_EMAIL=example@example.com 129 | ``` 130 | 131 |


132 | 133 | # Pawns.app(IPPawns) 134 | Register for an account. In the settings file, add your email to `PA_EMAIL` and password to `PA_PASSWORD` and set the `USE_PAWNSAPP` to `y`. 135 | 136 |

Example 137 | ``` 138 | # Pawns.app(IPPawns) 139 | USE_PAWNSAPP=y 140 | PA_EMAIL=example@example.com 141 | PA_PASSWORD=MyP@$$W0rd 142 | ``` 143 |


144 | 145 | # Traffmonetizer 146 | Register for an account. In the settings file, add your `Application Token` to `TRAFF_TOKEN` and set the `USE_TRAFFMONETIZER` to `y`. 147 | 148 | You can find the `Application Token` on your [dashboard](https://app.traffmonetizer.com/dashboard). 149 | 150 |

Example 151 | ``` 152 | # Traffmonetizer 153 | USE_TRAFFMONETIZER=y 154 | TRAFF_TOKEN=ZXhhbXBsZUVYQU1QTEVleGFtcGxlRVhBTVBMRQo= 155 | ``` 156 | 157 |


158 | # Bitping 159 | Register for an account. In the settings file, add your email to `BP_EMAIL` and password to `BP_PASSWORD` and set the `USE_BITPING` to `y`. 160 | 161 |

Example 162 | ``` 163 | # BitPing 164 | USE_BITPING=y 165 | BP_EMAIL=example@example.com 166 | BP_PASSWORD=MyP@$$W0rd 167 | ``` 168 | 169 |
170 |
171 |
172 |
173 | 174 | 175 | # Other stuff 176 | EarnApp should be the only one requiring persistent storage, adding a mount point to `/earnapp/:/etc/earnapp/` will make it so you do not have to keep registering the host. 177 |
178 |
179 | All logs should be going to /var/log/picash/ --------------------------------------------------------------------------------