Compare commits

...

22 Commits

Author SHA1 Message Date
548c0a841d Merge remote-tracking branch 'origin/master' 2023-03-01 20:05:27 +01:00
3d12186e37 set to root only! 2023-03-01 20:03:35 +01:00
4c7716a913 fixed missing /tmp/ 2023-02-14 20:41:31 +01:00
c9faefa42c added an lock file to exit restarter if restart is already triggered
If you want multiple conditions (if ping is sucessfull, on less than X CPU Usage etc) for the restarter, it will create a lock file now to avoid multiple instances.
2023-02-14 20:36:17 +01:00
f9e234915d Update Readme.md 2023-02-09 21:21:59 +01:00
05f149baf6 fixed repocket mail and select menu size 2023-02-08 20:20:31 +01:00
8b7562d3bf fixed docker function 2023-02-06 22:05:58 +01:00
e463d963ba Added logging for restarter 2023-02-06 16:22:20 +01:00
d15b1919cf added Repocket 2023-02-06 16:19:04 +01:00
1df6f685a0 reworked all ebesucher folder directions to variable 2023-02-06 16:13:33 +01:00
4746e4e57f Fixed Unraid earnapp RID creation (really now) 2023-02-05 15:24:55 +01:00
580ee1e4bb Fixed Unraid LXC RID creation 2023-02-05 15:24:03 +01:00
3a5b5fd006 Fixed unraid LXC earnapp RID stuck 2023-02-05 15:23:26 +01:00
38582d7f8d fixed ebesucher memory allocation 2023-02-05 00:31:42 +01:00
e04d7335bc fixed ebesucher memory allocation 2023-02-05 00:30:21 +01:00
df5f5c8921 fix for lxc in Unraid & watchtower 2023-02-04 22:06:48 +01:00
04f5c25f0e revert -u switch 2023-02-04 20:18:20 +01:00
a7b44d2009 revert -u switch for ebesucher 2023-02-04 20:17:50 +01:00
6a0ebfdf2a added user to ebesucher container 2023-02-04 20:12:34 +01:00
53cb4f58f4 added user for easy deleting folder 2023-02-04 20:10:11 +01:00
a386971342 Rework for better root/user management 2023-02-04 13:54:13 +01:00
2481b00a26 Added CPU Limitation 2023-02-04 13:22:07 +01:00
3 changed files with 56 additions and 74 deletions

View File

@@ -62,3 +62,4 @@ Die Anbieter sind mit Ref-Links versehen, falls ihr euch erst noch anmelden müs
- [packetstream](https://packetstream.io/?psr=4HUh) - [packetstream](https://packetstream.io/?psr=4HUh)
- [IPRoyal Pawn.app](https://pawns.app?r=905162) - [IPRoyal Pawn.app](https://pawns.app?r=905162)
- [TraffMonetizer](https://traffmonetizer.com/?aff=607897) - [TraffMonetizer](https://traffmonetizer.com/?aff=607897)
- [Repocket](https://link.repocket.co/undefined)

View File

@@ -8,6 +8,12 @@ erfolgreich=0
fehler=0 fehler=0
skip=0 skip=0
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
if [ "$(whoami)" != "root" ]; then
echo "Es ist leider erforderlich, dass das script als root ausgeführt wird!"
exit
fi
new_task() { new_task() {
echo -e "\n\n$(printf %"$(tput cols)"s | tr " " "=")\n$1\n$(printf %"$(tput cols)"s | tr " " "=")" echo -e "\n\n$(printf %"$(tput cols)"s | tr " " "=")\n$1\n$(printf %"$(tput cols)"s | tr " " "=")"
} }
@@ -44,11 +50,11 @@ inputbox() {
} }
[ -d /etc/needrestart/ ] && sudo sed -i 's/#$nrconf{restart} = '"'"'i'"'"';/$nrconf{restart} = '"'"'a'"'"';/g' /etc/needrestart/needrestart.conf 2>/dev/null [ -d /etc/needrestart/ ] && sudo sed -i 's/#$nrconf{restart} = '"'"'i'"'"';/$nrconf{restart} = '"'"'a'"'"';/g' /etc/needrestart/needrestart.conf 2>/dev/null
sudo echo sudo echo
if ! which whiptail >/dev/null; then if ! which whiptail >/dev/null; then
sudo apt-get install whiptail -y sudo apt-get install whiptail -y
fi fi
linux_user=$(w | awk '{print $1}' | tail -n1)
{ {
echo 0 echo 0
sudo apt-get update >/dev/null sudo apt-get update >/dev/null
@@ -73,9 +79,6 @@ linux_user=$(w | awk '{print $1}' | tail -n1)
if ! which docker >/dev/null; then if ! which docker >/dev/null; then
messagebox "Kleinen Moment Geduld, Docker wird Installiert." "Das Fenster wird sich automatisch schließen, sobald Docker installiert wurde." & 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 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 fi
whiptail --title "Passive Income Helperskript" --msgbox "Dieses Skript richtet mehrere Einkommenshelfer für dich ein. whiptail --title "Passive Income Helperskript" --msgbox "Dieses Skript richtet mehrere Einkommenshelfer für dich ein.
@@ -136,7 +139,7 @@ else
;; ;;
EarnAPP) EarnAPP)
wget -qO- https://brightdata.com/static/earnapp/install.sh >/tmp/earnapp.sh && echo "yes" | sudo bash /tmp/earnapp.sh 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 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..."
;; ;;
Packetstream) Packetstream)
@@ -181,19 +184,18 @@ Ebesucher braucht leider etwas mehr Einrichtung. Aber keine Sorge, ich mach es d
Zunächst erstellen wir einen Firefox Container. Zunächst erstellen wir einen Firefox Container.
Dieser soll im Hintergrund die Werbeseiten aufrufen." Dieser soll im Hintergrund die Werbeseiten aufrufen."
if [ -d ~/ebesucher ]; then if [ -d /root/ebesucher ]; then
skip "Ordner ebesucher exestiert bereits" skip "Ordner ebesucher exestiert bereits"
if ! [ -f ~/ebesucher/config.zip ]; then if ! [ -f /root/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 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 rm -f /root/ebesucher/config.zip
wget -O ~/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip wget -O /root/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
unzip ~/ebesucher/config.zip -d ~/ebesucher/ unzip /root/ebesucher/config.zip -d /root/ebesucher/
else else
unzip ~/ebesucher/config.zip -d ~/ebesucher/ unzip /root/ebesucher/config.zip -d /root/ebesucher/
fi fi
fi fi
else else
if [ "$linux_user" == "root" ]; then
if mkdir /root/ebesucher; then if mkdir /root/ebesucher; then
wget -O /root/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip wget -O /root/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
unzip /root/ebesucher/config.zip -d /root/ebesucher/ unzip /root/ebesucher/config.zip -d /root/ebesucher/
@@ -201,15 +203,6 @@ Dieser soll im Hintergrund die Werbeseiten aufrufen."
else else
fehler "Der Ordner für ebesucher konnte nicht angelegt werden" fehler "Der Ordner für ebesucher konnte nicht angelegt werden"
fi 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 fi
ebesucher_docker() { 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 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
@@ -235,22 +228,22 @@ Gebe in das Feld deinen Ebesucher Nutzernamen ein und mache einen Haken bei Priv
erstelle ich eine Sicherung der Firefox-Konfiguration" erstelle ich eine Sicherung der Firefox-Konfiguration"
{ {
echo 10 echo 10
if [ -f ~/ebesucher/config.zip ]; then if [ -f /root/ebesucher/config.zip ]; then
rm -f ~/ebesucher/config.zip rm -f /root/ebesucher/config.zip
fi fi
echo 15 echo 15
docker stop ebesucher docker stop ebesucher
echo 25 echo 25
cd ~/ebesucher/ || exit cd /root/ebesucher/ || exit
echo 30 echo 30
zip -r config.zip config/ zip -r config.zip config/
echo 60 echo 60
wget -O ~/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh wget -O /root/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh
echo 80 echo 80
chmod +x ~/ebesucher/restart.sh chmod +x /root/ebesucher/restart.sh
bash ~/ebesucher/restart.sh bash /root/ebesucher/restart.sh
echo 90 echo 90
sed -i "s/username=/&$nutzername/g" ~/ebesucher/restart.sh sed -i "s/username=/&$nutzername/g" /root/ebesucher/restart.sh
echo 100 echo 100
} | whiptail --gauge "Erstelle Sicherung und Lade Restarter Skript herunter" 6 50 0 } | whiptail --gauge "Erstelle Sicherung und Lade Restarter Skript herunter" 6 50 0
@@ -263,47 +256,23 @@ Dies wird gemacht, damit sich nicht zuviel Müll ansammelt und um zu gewährleis
dass es für immer läuft. dass es für immer läuft.
Selbst wenn der Container mal abstürzen sollte, wird er nächste Stunde wieder neugestartet." Selbst wenn der Container mal abstürzen sollte, wird er nächste Stunde wieder neugestartet."
crontab -l >/tmp/ebesucher 2>/dev/null crontab -l >/tmp/ebesucher 2>/dev/null
if [ "$linux_user" == "root" ]; then
if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then
echo "0 * * * * /bin/bash /root/ebesucher/restart.sh echo "0 * * * * /bin/bash /root/ebesucher/restart.sh
@reboot /bin/bash /root/ebesucher/restart.sh" >>/tmp/ebesucher @reboot /bin/bash /root/ebesucher/restart.sh
fi 0 0 * * 0 reboot" >>/tmp/ebesucher
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 fi
;; ;;
esac esac
done done
fi 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 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 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 ! grep -q "update_system.sh" "/tmp/updatecron"; then
if [ "$linux_user" == "root" ]; then
crontab -l /tmp/updatecron crontab -l /tmp/updatecron
echo "0 4 * * * /bin/bash /root/update_system.sh" >>/tmp/updatecron echo "0 4 * * * /bin/bash /root/update_system.sh" >>/tmp/updatecron
crontab /tmp/updatecron crontab /tmp/updatecron
rm /tmp/crontab 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 fi
if docker ps | grep "ebesucher\|traffmonetizer\|peer2profit\|IPRoyal\|packetstream\|honeygain" >/dev/null; then 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 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

View File

@@ -3,6 +3,18 @@
# Variablen für Benennung und Ebesucher Nutzernamen # Variablen für Benennung und Ebesucher Nutzernamen
username= username=
containername=ebesucher containername=ebesucher
# Variable für die Maximale Nutzung von CPU Cores
CPUcores=
# Überprüfe ob bereits ein restart läuft
if [ -f /tmp/ebesucher_restart.lock ]; then
exit
fi
# Erstelle Lockfile
echo $$ > /tmp/ebesucher_restart.lock
# Ordner des Skripts # Ordner des Skripts
git_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) git_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
# Wechsel in den Ordner # Wechsel in den Ordner
@@ -22,19 +34,19 @@ sleep 60s
docker_run(){ docker_run(){
if [ -z "$username" ]; then if [ -z "$username" ]; then
# Funktion zum starten des Containers, falls username nicht gesetzt # Funktion zum starten des Containers, falls username nicht gesetzt
docker run -d --name="$containername" -p 3000:5800 -v "$git_dir"/config:/config:rw -m "$1" --shm-size 2g jlesage/firefox docker run -d --name="$containername" -p 3000:5800 -v "$git_dir"/config:/config:rw -m "$1" --cpus "$CPUcores" --shm-size 2g jlesage/firefox
else else
# Funktion zum starten von Firefox immer mit der Surfbar (Verhindert dass bei Updates Firefox ein "neue Features" Tab über der Surfbar öffnet) # Funktion zum starten von Firefox immer mit der Surfbar (Verhindert dass bei Updates Firefox ein "neue Features" Tab über der Surfbar öffnet)
docker run -d --name="$containername" -p 3000:5800 -e FF_OPEN_URL="https://ebesucher.com/surfbar/$username" -m "$1" -v "$git_dir"/config:/config:rw --shm-size 2g jlesage/firefox docker run -d --name="$containername" -p 3000:5800 -e FF_OPEN_URL="https://ebesucher.com/surfbar/$username" -m "$1" --cpus "$CPUcores" -v "$git_dir"/config:/config:rw --shm-size 2g jlesage/firefox
fi fi
} }
# Überprüfe wieviel Arbeitsspeicher vorhanden ist, um bei Geräten mit weniger als 4 GB 1 GB als Sicherungs zu haben. # Überprüfe wieviel Arbeitsspeicher vorhanden ist, um bei Geräten mit weniger als 4 GB 1 GB als Sicherungs zu haben.
ram_avail=$(bc <<<"scale=2;$(($(free | awk 'NR==2 {print $2}') / 1000000))") ram_avail=$(bc <<<"scale=2;$(($(free | awk 'NR==2 {print $2}') / 1000000))")
if [[ $ram_avail -ge "2" ]]; then if ((ram_avail >= 3 && ram_avail <= 4)); then
docker_run "1g" docker_run "3g" "$CPUSet"
elif [[ $ram_avail -eq "4" ]]; then
docker_run "3g"
elif [[ $ram_avail -ge "5" ]]; then elif [[ $ram_avail -ge "5" ]]; then
docker_run "4g" docker_run "4g" "$CPUSet"
fi fi
rm -f /tmp/ebesucher_restart.lock