#!/bin/bash red='\033[0;31m' # ${red} cyan='\033[0;36m' # ${cyan} green='\033[0;32m' # ${green} white='\033[0;37m' # ${white} erfolgreich=0 fehler=0 skip=0 export DEBIAN_FRONTEND=noninteractive new_task() { echo -e "\n\n$(printf %"$(tput cols)"s | tr " " "=")\n$1\n$(printf %"$(tput cols)"s | tr " " "=")" } erfolg() { whiptail --title "Erfolgreich!" --msgbox "$1" 20 70 erfolgreich=$((erfolgreich + 1)) } fehler() { whiptail --title "Fehler!" --msgbox "$1" 20 70 fehler=$((fehler + 1)) } skip() { echo -e "${cyan}$1${white}" skip=$((skip + 1)) } install_dep() { if sudo apt-get install -y "$@" >/dev/null; then erfolg "$@ Pakete wurden installiert" else fehler "$@ Pakete konnten nicht installiert werden" fi } messagebox() { whiptail --title "$1" --msgbox "$2" 30 100 3>&1 1>&2 2>&3 } inputbox() { whiptail --title "$1" --inputbox "$2" 30 100 3>&1 1>&2 2>&3 } [ -d /etc/needrestart/ ] && sudo sed -i 's/#$nrconf{restart} = '"'"'i'"'"';/$nrconf{restart} = '"'"'a'"'"';/g' /etc/needrestart/needrestart.conf 2>/dev/null sudo echo if ! which whiptail >/dev/null; then sudo apt-get install whiptail -y fi linux_user=$(who | awk '{print $1}') { echo 0 sudo apt-get update >/dev/null echo 14 sudo apt-get upgrade -y >/dev/null echo 30 sudo apt-get install ca-certificates curl gnupg lsb-release zip unzip bc apt-utils cron -y >/dev/null echo 44 [ -d /etc/apt/keyrings ] || sudo mkdir -p /etc/apt/keyrings echo 61 [ -f /etc/apt/keyrings/docker.gpg ] || curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo 75 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list echo 90 if ! sudo apt-get update >/dev/null; then sudo chmod a+r /etc/apt/keyrings/docker.gpg sudo apt-get update fi echo 100 } | whiptail --gauge "Aktualisiere System installiere Docker" 6 50 0 if ! which docker >/dev/null; then messagebox "Kleinen Moment Geduld, Docker wird Installiert." "Das Fenster wird sich automatisch schließen, sobald Docker installiert wurde." & sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin >/dev/null messagebox "Docker wurde installiert" "Leider ist es notwendig, dass wir nun den PC Neustarten.\nNach dem Neustart, starte einfach von vorne. Das Skript wird dann aber durchlaufen" sudo usermod -aG docker $linux_user sudo reboot fi whiptail --title "Passive Income Helperskript" --msgbox "Dieses Skript richtet mehrere Einkommenshelfer für dich ein. Du brauchst lediglich einige Anmeldedaten ausfüllen. Auf folgende Seiten kannst du dich regestrieren: Im nächsten Fenster kannst du auswählen, was eingerichtet werden soll. Du bist also nicht gezwungen, dich überall zu regestrieren. Ebesucher - Ruft werbepartner links auf und Zahlt dich in Punkten aus http://www.ebesucher.de/?ref=Pakobbix Honeygain! Vermiete deine IP-Adresse als Proxy https://r.honeygain.me/PAKOB7875D Peer2Profit. Vermiete deine IP-Adresse als Proxy https://p2pr.me/1664028004632f0d64483e3 Earnapp.Vermiete deine IP-Adresse als Proxy https://earnapp.com/i/VF8ygUXG Packetstream. Vermiete deine IP-Adresse als Proxy https://packetstream.io/?psr=4HUh IpRoyal Pawns.app. Vermiete deine IP-Adresse als Proxy https://pawns.app?r=905162 Traffmonetizer. Vermiete deine IP-Adresse als Proxy https://traffmonetizer.com/?aff=607897" 32 80 einzurichten=$(whiptail --title "Was möchtest du Einrichten?" --separate-output --checklist "Wähle was du einrichten möchtest:\n\nMit Leertaste haken entfernen/hinzufügen.\nMit Enter bestätigen" 18 100 7 "Ebesucher" "Ruft werbepartner links auf und Zahlt dich in Punkten aus " ON "Honeygain" "Vermiete deine IP-Adresse als Proxy" ON "Peer2Profit" "Vermiete deine IP-Adresse als Proxy" ON "EarnAPP" "Vermiete deine IP-Adresse als Proxy" ON "Packetstream" "Vermiete deine IP-Adresse als Proxy" ON "Pawns.app" "Vermiete deine IP-Adresse als Proxy" ON "Traffmonetizer" "Vermiete deine IP-Adresse als Proxy" ON 3>&1 1>&2 2>&3) if [ -z "$einzurichten" ]; then echo "Nichts wurde ausgewählt" else for einrichtung in $einzurichten; do case $einrichtung in Honeygain) honeymail=$(whiptail --title "Honeygain E-Mail" --inputbox "Gebe deine Honeygain E-Mail adresse an: " 20 70 3>&1 1>&2 2>&3) honeypass=$(whiptail --title "Honeygain Password" --passwordbox "Gebe dein Honeygain Passwort ein: " 20 70 3>&1 1>&2 2>&3) device_name=$(whiptail --title "Honeygain Gerätenamen" --inputbox "Gebe einen Gerätenamen an: " 20 70 3>&1 1>&2 2>&3) if docker rm -f honeygain || true && docker run -d --name honeygain --restart=always honeygain/honeygain -tou-accept -email "$honeymail" -pass "$honeypass" -device "$device_name"; then erfolg "Honeygain wurde eingerichtet" else fehler "Honeygain konnte nicht eingerichtet werden" fi ;; Peer2Profit) P2P_E_MAIL=$(whiptail --title "P2PMail" --inputbox "Gebe deine Peer2Profit Emailadresse ein" 30 80 3>&1 1>&2 2>&3) echo "docker rm -f peer2profit || true && docker run -d --restart=always -e P2P_EMAIL=$P2P_E_MAIL --name peer2profit peer2profit/peer2profit_linux:latest" >>~/peer2profit.sh chmod +x ~/peer2profit.sh if docker rm -f peer2profit || true && docker run -d --restart=always -e P2P_EMAIL="$P2P_E_MAIL" --name peer2profit peer2profit/peer2profit_linux:latest; then erfolg "Peer2Profit wurde eingerichtet" else fehler "Peer2Profit konnte nicht eingerichtet werden" fi ;; EarnAPP) wget -qO- https://brightdata.com/static/earnapp/install.sh >/tmp/earnapp.sh && echo "yes" | sudo bash /tmp/earnapp.sh read -n1 -r -p "Drücke eine Taste, wenn du den Link im Browser geöffnet hast und das Gerät mit deinem Account verlinkt wurde..." key ;; Packetstream) pscidh=$(whiptail --title "Packetstream CIDH E-Mail" --inputbox "Packetstream vergibt automatisch jedem User eine ID. Daher müsstest du nun zur webseite von Packetstream wechseln und deine ID einsehen https://packetstream.io/dashboard/referrals Hinter dem Share PacketStream Link: https://packetstream.io/?psr=4HUh Steht die CIDH (4HUh ist demnach meine CIDH) " 20 70 3>&1 1>&2 2>&3) if docker rm -f packetstream || true && docker run -d --restart=always -e CID="$pscidh" --name packetstream packetstream/psclient:latest; then erfolg "Packetstream wurde eingerichtet" else fehler "Packetstream konnte nicht eingerichtet werden" fi ;; "Pawns.app") pawnsmail=$(whiptail --title "IPRoyal Pawns.app E-Mail" --inputbox "Gebe deine IPRoyal Pawns.app E-Mail adresse an: " 20 70 3>&1 1>&2 2>&3) pawnspass=$(whiptail --title "IPRoyal Pawns.app Password" --passwordbox "Gebe dein IPRoyal Pawns.app Passwort ein: " 20 70 3>&1 1>&2 2>&3) if docker rm -f IPRoyal || true && docker run -d --name IPRoyal --restart=always iproyal/pawns-cli:latest -email="$pawnsmail" -password="$pawnspass" -device-name="$device_name" -accept-tos; then erfolg "IPRoyal (Pawns.app) wurde eingerichtet" else fehler "IPRoyal (Pawns.app) konnte nicht eingerichtet werden" fi ;; Traffmonetizer) trafftoken=$(whiptail --title "TraffMonetizer Token" --inputbox "Gebe deinen TraffMonetizer Token an: " 20 70 3>&1 1>&2 2>&3) if docker rm -f traffmonetizer || true && docker run -d --name traffmonetizer --restart unless-stopped traffmonetizer/cli start accept --token "$trafftoken"; then erfolg "TraffMonetizer wurde eingerichtet" else fehler "TraffMonetizer konnte nicht eingerichtet werden" fi ;; Ebesucher) messagebox "Hinweis:" "WARNUNG: Ebesucher benötigt einen Firefox und ca. 3GB Arbeitsspeicher! Außerdem wird durch das aufrufen von webseiten relativ viel CPU verbraucht! Ebesucher braucht leider etwas mehr Einrichtung. Aber keine Sorge, ich mach es dir relativ einfach. Zunächst erstellen wir einen Firefox Container. Dieser soll im Hintergrund die Werbeseiten aufrufen." if [ -d ~/ebesucher ]; then skip "Ordner ebesucher exestiert bereits" if ! [ -f ~/ebesucher/config.zip ]; then if whiptail --title "Alte config gefunden" --yesno "Es wurde bereits ein Firefox Profil angelegt, soll dieses gelöscht und überschrieben werden?" 20 100; then rm -f ~/ebesucher/config.zip wget -O ~/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip unzip ~/ebesucher/config.zip -d ~/ebesucher/ else unzip ~/ebesucher/config.zip -d ~/ebesucher/ fi fi else if [ "$linux_user" == "root" ]; then if mkdir /root/ebesucher; then wget -O /root/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip unzip /root/ebesucher/config.zip -d /root/ebesucher/ erfolg "Ordner für ebesucher konnte erstellt werden" else fehler "Der Ordner für ebesucher konnte nicht angelegt werden" fi else if mkdir /home/"$linux_user"/ebesucher; then wget -O /home/"$linux_user"/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip unzip /home/"$linux_user"/ebesucher/config.zip -d /home/"$linux_user"/ebesucher/ erfolg "Ordner für ebesucher konnte erstellt werden" else fehler "Der Ordner für ebesucher konnte nicht angelegt werden" fi fi fi ebesucher_docker() { if docker rm -f ebesucher || true && docker run -d --name=ebesucher -p 3000:5800 -m "$1" -v ~/ebesucher/config:/config:rw --shm-size 2g jlesage/firefox; then erfolg "Firefox-Ebesucher wurde eingerichtet" messagebox "Jetzt bist du gefragt!" "Öffne im browser deiner Wahl von einem anderen Gerät aus $(hostname -I | awk '{print $1}'):3000" else fehler "Firefox-Ebesucher konnte nicht eingerichtet werden" fi } ram_avail=$(bc <<<"scale=2;$(($(free | awk 'NR==2 {print $2}') / 1000000))") if [[ $ram_avail -ge "2" ]]; then ebesucher_docker "1g" elif [[ $ram_avail -eq "4" ]]; then ebesucher_docker "3g" elif [[ $ram_avail -ge "5" ]]; then ebesucher_docker "4g" fi messagebox "" "Oben Rechts im Firefox Browser, öffne das Ebesucher addon. Gebe in das Feld deinen Ebesucher Nutzernamen ein und mache einen Haken bei Privacy" nutzername=$(inputbox "Ebesucher Nutzername" "Gebe hier deinen Ebesucher Nutzernamen ein: ") messagebox 'Schließt nun alle Tabs im Browser und fahrt fort.' messagebox "Erstelle Sicherungen" "Damit die Einstellungen auch für immer gespeichert werden, erstelle ich eine Sicherung der Firefox-Konfiguration" { echo 10 if [ -f ~/ebesucher/config.zip ]; then rm -f ~/ebesucher/config.zip fi echo 15 docker stop ebesucher echo 25 cd ~/ebesucher/ || exit echo 30 zip -r config.zip config/ echo 60 wget -O ~/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh echo 80 chmod +x ~/ebesucher/restart.sh bash ~/ebesucher/restart.sh echo 90 sed -i "s/username=/&$nutzername/g" ~/ebesucher/restart.sh echo 100 } | whiptail --gauge "Erstelle Sicherung und Lade Restarter Skript herunter" 6 50 0 messagebox "Erstelle Timer" "Nun muss noch ein Cronjob eingerichtet werden. Das ist Quasi ein Timer. Wir stellen ihn so ein, das jede Stunde der Container, und die Firefox Daten gelöscht werden, die Sicherung wiedergeherstellt wird und den container ebenso. Dies wird gemacht, damit sich nicht zuviel Müll ansammelt und um zu gewährleisten, dass es für immer läuft. Selbst wenn der Container mal abstürzen sollte, wird er nächste Stunde wieder neugestartet." crontab -l >/tmp/ebesucher 2>/dev/null if [ "$linux_user" == "root" ]; then if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then echo "0 * * * * /bin/bash /root/ebesucher/restart.sh @reboot /bin/bash /root/ebesucher/restart.sh" >>/tmp/ebesucher fi else if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then echo "0 * * * * /bin/bash /home/$linux_user/ebesucher/restart.sh @reboot /bin/bash /home/$linux_user/ebesucher/restart.sh" >>/tmp/ebesucher crontab /tmp/ebesucher rm /tmp/ebesucher fi crontab -l >/tmp/rootcron echo "0 0 * * 0 reboot" >>/tmp/rootcron sudo crontab /tmp/rootcron rm /tmp/rootcron fi ;; esac done fi if [ "$linux_user" == "root" ]; then echo -e "#!/bin/bash\n\nexport DEBIAN_FRONTEND=noninteractive\n\nsudo apt-get update\n\nsudo apt-get upgrade -y\n\nsudo apt-get autoremove -y" >/root/update_system.sh chmod +x /root/update_system.sh else echo -e "#!/bin/bash\n\nexport DEBIAN_FRONTEND=noninteractive\n\nsudo apt-get update\n\nsudo apt-get upgrade -y\n\nsudo apt-get autoremove -y" >/home/"$linux_user"/update_system.sh chmod +x /home/"$linux_user"/update_system.sh fi if ! grep -q "update_system.sh" "/tmp/updatecron"; then if [ "$linux_user" == "root" ]; then crontab -l /tmp/updatecron echo "0 4 * * * /bin/bash /root/update_system.sh" >>/tmp/updatecron crontab /tmp/updatecron rm /tmp/crontab else sudo crontab -l /tmp/updatecron echo "0 4 * * * /bin/bash /home/$linux_user/update_system.sh" >>/tmp/updatecron sudo crontab /tmp/updatecron rm /tmp/updatecron fi fi if docker ps | grep "ebesucher\|traffmonetizer\|peer2profit\|IPRoyal\|packetstream\|honeygain" >/dev/null; then if docker run -d --name watchtower --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro containrrr/watchtower --cleanup --interval 86400; then erfolg "Watchtower erfolgreich eingerichtet" else fehler "Watchtower konnte nicht eingerichtet werden" fi fi messagebox "FERTIG!" "Wir sind nun Fertig! Ich hoffe das alles geklappt hat, wenn nicht, erstelle ein Issue auf https://github.com/Pakobbix/passive-income/issues" new_task "${green}$erfolgreich Erfolgreiche Operationen\n${red}$fehler Fehlerhafte Operationen\n${cyan}$skip Übersprungene Operationen${white}"