mirror of
https://github.com/Pakobbix/passive-income.git
synced 2025-11-09 14:59:40 +00:00
Rework for better root/user management
This commit is contained in:
parent
2481b00a26
commit
a386971342
328
gui_start.sh
328
gui_start.sh
@ -7,30 +7,40 @@ white='\033[0;37m' # ${white}
|
|||||||
erfolgreich=0
|
erfolgreich=0
|
||||||
fehler=0
|
fehler=0
|
||||||
skip=0
|
skip=0
|
||||||
|
|
||||||
|
# Disable prompts, like which service should be restartet
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Visually seperate different tasks
|
||||||
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 " " "=")"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Message and count +1 for success
|
||||||
erfolg() {
|
erfolg() {
|
||||||
whiptail --title "Erfolgreich!" --msgbox "$1" 20 70
|
whiptail --title "Erfolgreich!" --msgbox "$1" 20 70
|
||||||
erfolgreich=$((erfolgreich + 1))
|
erfolgreich=$((erfolgreich + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Message and count +1 for failed
|
||||||
fehler() {
|
fehler() {
|
||||||
whiptail --title "Fehler!" --msgbox "$1" 20 70
|
whiptail --title "Fehler!" --msgbox "$1" 20 70
|
||||||
fehler=$((fehler + 1))
|
fehler=$((fehler + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Message and count +1 for skipped
|
||||||
skip() {
|
skip() {
|
||||||
echo -e "${cyan}$1${white}"
|
echo -e "${cyan}$1${white}"
|
||||||
skip=$((skip + 1))
|
skip=$((skip + 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to install dependencies
|
||||||
install_dep() {
|
install_dep() {
|
||||||
if sudo apt-get install -y "$@" >/dev/null; then
|
if sudo apt-get install -y "$@" >/dev/null; then
|
||||||
|
# shellcheck disable=SC2145
|
||||||
erfolg "$@ Pakete wurden installiert"
|
erfolg "$@ Pakete wurden installiert"
|
||||||
else
|
else
|
||||||
|
# shellcheck disable=SC2145
|
||||||
fehler "$@ Pakete konnten nicht installiert werden"
|
fehler "$@ Pakete konnten nicht installiert werden"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -43,12 +53,28 @@ inputbox() {
|
|||||||
whiptail --title "$1" --inputbox "$2" 30 100 3>&1 1>&2 2>&3
|
whiptail --title "$1" --inputbox "$2" 30 100 3>&1 1>&2 2>&3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# get the last logged in User
|
||||||
|
linux_user=$(w | awk '{print $1}' | tail -n1)
|
||||||
|
|
||||||
|
# get OS
|
||||||
|
distrib=$(awk 'NR==1 {print $1}' /etc/issue)
|
||||||
|
|
||||||
|
# Check how many Cores are available (For later use in Limits for ebesucher)
|
||||||
|
availablecores=$(grep -c "processor" /proc/cpuinfo)
|
||||||
|
|
||||||
|
# Check if it is possible to deactivate all prompts (for future automated Updates)
|
||||||
[ -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
|
||||||
|
|
||||||
|
# Just for sudo access.
|
||||||
sudo echo
|
sudo echo
|
||||||
|
|
||||||
|
# Check if whiptail is already installed (not standard on minimal installation)
|
||||||
if ! which whiptail >/dev/null; then
|
if ! which whiptail >/dev/null; then
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install whiptail -y
|
sudo apt-get install whiptail -y
|
||||||
fi
|
fi
|
||||||
linux_user=$(w | awk '{print $1}' | tail -n1)
|
|
||||||
|
# Whiptail Progressbar
|
||||||
{
|
{
|
||||||
echo 0
|
echo 0
|
||||||
sudo apt-get update >/dev/null
|
sudo apt-get update >/dev/null
|
||||||
@ -57,24 +83,40 @@ linux_user=$(w | awk '{print $1}' | tail -n1)
|
|||||||
echo 30
|
echo 30
|
||||||
sudo apt-get install ca-certificates curl gnupg lsb-release zip unzip bc apt-utils cron -y >/dev/null
|
sudo apt-get install ca-certificates curl gnupg lsb-release zip unzip bc apt-utils cron -y >/dev/null
|
||||||
echo 44
|
echo 44
|
||||||
|
# Check if keyrings is present, if not, create folder for keyrings
|
||||||
[ -d /etc/apt/keyrings ] || sudo mkdir -p /etc/apt/keyrings
|
[ -d /etc/apt/keyrings ] || sudo mkdir -p /etc/apt/keyrings
|
||||||
echo 61
|
echo 61
|
||||||
|
# check if docker.gpg is in keyrings, if not get docker.gpg and save it in keyrings.
|
||||||
|
# Also check if debian or ubuntu is used.
|
||||||
|
case "$distrib" in
|
||||||
|
Debian)
|
||||||
|
[ -f /etc/apt/keyrings/docker.gpg ] || curl -fsSL https://download.docker.com/linux/debian/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/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
|
||||||
|
;;
|
||||||
|
Ubuntu)
|
||||||
[ -f /etc/apt/keyrings/docker.gpg ] || curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
[ -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 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 "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
|
||||||
|
;;
|
||||||
|
esac
|
||||||
echo 90
|
echo 90
|
||||||
if ! sudo apt-get update >/dev/null; then
|
if ! sudo apt-get update >/dev/null; then
|
||||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
fi
|
fi
|
||||||
echo 100
|
echo 100
|
||||||
|
# end whiptail progressbar
|
||||||
} | whiptail --gauge "Aktualisiere System installiere Docker" 6 50 0
|
} | whiptail --gauge "Aktualisiere System installiere Docker" 6 50 0
|
||||||
|
|
||||||
|
# Check if Docker is not installed
|
||||||
if ! which docker >/dev/null; then
|
if ! which docker >/dev/null; then
|
||||||
|
# it's not installed, so do:
|
||||||
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
|
||||||
|
# Info to user, we need a restart. It's needed, because we add the linux_user to the docker group
|
||||||
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"
|
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 usermod -aG docker "$linux_user"
|
||||||
sudo reboot
|
sudo reboot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -107,12 +149,17 @@ https://pawns.app?r=905162
|
|||||||
Traffmonetizer. Vermiete deine IP-Adresse als Proxy
|
Traffmonetizer. Vermiete deine IP-Adresse als Proxy
|
||||||
https://traffmonetizer.com/?aff=607897" 32 80
|
https://traffmonetizer.com/?aff=607897" 32 80
|
||||||
|
|
||||||
|
# Selection menu.
|
||||||
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)
|
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
|
if [ -z "$einzurichten" ]; then
|
||||||
echo "Nichts wurde ausgewählt"
|
echo "Nichts wurde ausgewählt"
|
||||||
|
exit
|
||||||
else
|
else
|
||||||
for einrichtung in $einzurichten; do
|
for einrichtung in $einzurichten; do
|
||||||
case $einrichtung in
|
case $einrichtung in
|
||||||
|
#########################
|
||||||
|
# Honeygain Einrichtung #
|
||||||
|
#########################
|
||||||
Honeygain)
|
Honeygain)
|
||||||
honeymail=$(whiptail --title "Honeygain E-Mail" --inputbox "Gebe deine Honeygain E-Mail adresse an: " 20 70 3>&1 1>&2 2>&3)
|
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)
|
honeypass=$(whiptail --title "Honeygain Password" --passwordbox "Gebe dein Honeygain Passwort ein: " 20 70 3>&1 1>&2 2>&3)
|
||||||
@ -122,8 +169,10 @@ else
|
|||||||
else
|
else
|
||||||
fehler "Honeygain konnte nicht eingerichtet werden"
|
fehler "Honeygain konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
###########################
|
||||||
|
# Peer2Profit Einrichtung #
|
||||||
|
###########################
|
||||||
Peer2Profit)
|
Peer2Profit)
|
||||||
P2P_E_MAIL=$(whiptail --title "P2PMail" --inputbox "Gebe deine Peer2Profit Emailadresse ein" 30 80 3>&1 1>&2 2>&3)
|
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
|
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
|
||||||
@ -134,11 +183,16 @@ else
|
|||||||
fehler "Peer2Profit konnte nicht eingerichtet werden"
|
fehler "Peer2Profit konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
#######################
|
||||||
|
# EarnApp Einrichtung #
|
||||||
|
#######################
|
||||||
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..." key
|
||||||
;;
|
;;
|
||||||
|
############################
|
||||||
|
# PacketStream Einrichtung #
|
||||||
|
############################
|
||||||
Packetstream)
|
Packetstream)
|
||||||
pscidh=$(whiptail --title "Packetstream CIDH E-Mail" --inputbox "Packetstream vergibt automatisch jedem User eine ID.
|
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
|
Daher müsstest du nun zur webseite von Packetstream wechseln und deine ID einsehen
|
||||||
@ -153,7 +207,9 @@ else
|
|||||||
fehler "Packetstream konnte nicht eingerichtet werden"
|
fehler "Packetstream konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
#########################
|
||||||
|
# Pawns.App Einrichtung #
|
||||||
|
#########################
|
||||||
"Pawns.app")
|
"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)
|
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)
|
pawnspass=$(whiptail --title "IPRoyal Pawns.app Password" --passwordbox "Gebe dein IPRoyal Pawns.app Passwort ein: " 20 70 3>&1 1>&2 2>&3)
|
||||||
@ -163,6 +219,9 @@ else
|
|||||||
fehler "IPRoyal (Pawns.app) konnte nicht eingerichtet werden"
|
fehler "IPRoyal (Pawns.app) konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
##############################
|
||||||
|
# TraffMonetizer Einrichtung #
|
||||||
|
##############################
|
||||||
Traffmonetizer)
|
Traffmonetizer)
|
||||||
trafftoken=$(whiptail --title "TraffMonetizer Token" --inputbox "Gebe deinen TraffMonetizer Token an: " 20 70 3>&1 1>&2 2>&3)
|
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
|
if docker rm -f traffmonetizer || true && docker run -d --name traffmonetizer --restart unless-stopped traffmonetizer/cli start accept --token "$trafftoken"; then
|
||||||
@ -171,6 +230,9 @@ else
|
|||||||
fehler "TraffMonetizer konnte nicht eingerichtet werden"
|
fehler "TraffMonetizer konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
#########################
|
||||||
|
# Ebesucher Einrichtung #
|
||||||
|
#########################
|
||||||
Ebesucher)
|
Ebesucher)
|
||||||
messagebox "Hinweis:" "WARNUNG: Ebesucher benötigt einen Firefox und ca. 3GB Arbeitsspeicher!
|
messagebox "Hinweis:" "WARNUNG: Ebesucher benötigt einen Firefox und ca. 3GB Arbeitsspeicher!
|
||||||
|
|
||||||
@ -180,47 +242,56 @@ 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."
|
||||||
|
# Ebesucher Configuration if user = root
|
||||||
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 [ "$linux_user" == "root" ]; then
|
||||||
if mkdir /root/ebesucher; then
|
# Check if ebesucher folder already exists
|
||||||
|
if [ -d /root/ebesucher ]; then
|
||||||
|
skip "Ordner ebesucher exestiert bereits"
|
||||||
|
# check if config exists, if yes, ask to overwrite
|
||||||
|
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
|
||||||
|
# remove old config
|
||||||
|
rm -f /root/ebesucher/config.zip
|
||||||
|
# download blank config
|
||||||
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/
|
# unpack config
|
||||||
erfolg "Ordner für ebesucher konnte erstellt werden"
|
unzip -o /root/ebesucher/config.zip -d /root/ebesucher/
|
||||||
else
|
else
|
||||||
fehler "Der Ordner für ebesucher konnte nicht angelegt werden"
|
# unpack config
|
||||||
|
unzip -o /root/ebesucher/config.zip -d /root/ebesucher/
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if mkdir /home/"$linux_user"/ebesucher; then
|
# Create ebesucher folder
|
||||||
wget -O /home/"$linux_user"/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
|
if mkdir /root/ebesucher; then
|
||||||
unzip /home/"$linux_user"/ebesucher/config.zip -d /home/"$linux_user"/ebesucher/
|
# download config
|
||||||
erfolg "Ordner für ebesucher konnte erstellt werden"
|
wget -O /root/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
|
||||||
|
# unpack config
|
||||||
|
unzip -o /root/ebesucher/config.zip -d /root/ebesucher/
|
||||||
|
erfolg "Ordner für ebesucher wurde erstellt"
|
||||||
else
|
else
|
||||||
fehler "Der Ordner für ebesucher konnte nicht angelegt werden"
|
fehler "Der Ordner für ebesucher konnte nicht angelegt werden"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
while true; do
|
||||||
|
CPUSet=$(inputbox "CPU Begrenzung" "Das System hat $availablecores Kerne. Wieviele davon darf Ebesucher ausnutzen? 4 sind empfohlen")
|
||||||
|
if [[ "$availablecores" -ge "CPUSet" ]]; then
|
||||||
|
break
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
# Ebesucher docker creation function. Will be used in the next step
|
||||||
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" --cpus "$CPUSet" -v ~/ebesucher/config:/config:rw --shm-size 2g jlesage/firefox; then
|
||||||
erfolg "Firefox-Ebesucher wurde eingerichtet"
|
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"
|
messagebox "Jetzt bist du gefragt!" "Öffne im browser deiner Wahl von einem anderen Gerät aus $(hostname -I | awk '{print $1}'):3000"
|
||||||
else
|
else
|
||||||
fehler "Firefox-Ebesucher konnte nicht eingerichtet werden"
|
fehler "Firefox-Ebesucher konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
# Check how much ram is available.
|
||||||
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 -ge "2" ]]; then
|
||||||
|
# create ebesucher docker container with specific RAM available (around 1 GB less then available)
|
||||||
ebesucher_docker "1g"
|
ebesucher_docker "1g"
|
||||||
elif [[ $ram_avail -eq "4" ]]; then
|
elif [[ $ram_avail -eq "4" ]]; then
|
||||||
ebesucher_docker "3g"
|
ebesucher_docker "3g"
|
||||||
@ -235,82 +306,195 @@ 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
|
# delete blank config.zip
|
||||||
|
rm -f /root/ebesucher/config.zip
|
||||||
fi
|
fi
|
||||||
echo 15
|
echo 15
|
||||||
docker stop ebesucher
|
docker stop ebesucher
|
||||||
echo 25
|
echo 20
|
||||||
cd ~/ebesucher/ || exit
|
cd /root/ebesucher/ || exit
|
||||||
echo 30
|
echo 30
|
||||||
zip -r config.zip config/
|
# pack config folder into new config.zip
|
||||||
|
sudo zip -r config.zip config/
|
||||||
|
echo 40
|
||||||
|
# download restart script
|
||||||
|
wget -O /root/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh
|
||||||
echo 60
|
echo 60
|
||||||
wget -O ~/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh
|
# make restart skript executable
|
||||||
|
chmod +x /root/ebesucher/restart.sh
|
||||||
|
echo 70
|
||||||
|
# add username to restart skript
|
||||||
|
sed -i "s/username=/&$nutzername/g" /root/ebesucher/restart.sh
|
||||||
echo 80
|
echo 80
|
||||||
chmod +x ~/ebesucher/restart.sh
|
sed -i "s/CPUcores=/CPUcores=$CPUSet/g" /root/ebesucher/restart.sh
|
||||||
bash ~/ebesucher/restart.sh
|
|
||||||
echo 90
|
echo 90
|
||||||
sed -i "s/username=/&$nutzername/g" ~/ebesucher/restart.sh
|
bash /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
|
||||||
|
# Export current crontab
|
||||||
messagebox "Erstelle Timer" "Nun muss noch ein Cronjob eingerichtet werden.
|
crontab -l >/tmp/ebesucher
|
||||||
Das ist Quasi ein Timer. Wir stellen ihn so ein,
|
# check if restart script is already configured
|
||||||
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
|
if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then
|
||||||
|
# add restart script, reboot and update to crontab
|
||||||
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
|
||||||
else
|
0 4 * * * /bin/bash /root/update_system.sh" >>/tmp/ebesucher
|
||||||
if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then
|
# Let cron reload the new configured crontab
|
||||||
echo "0 * * * * /bin/bash /home/$linux_user/ebesucher/restart.sh
|
|
||||||
@reboot /bin/bash /home/$linux_user/ebesucher/restart.sh" >>/tmp/ebesucher
|
|
||||||
crontab /tmp/ebesucher
|
crontab /tmp/ebesucher
|
||||||
|
# delete the export
|
||||||
rm /tmp/ebesucher
|
rm /tmp/ebesucher
|
||||||
fi
|
fi
|
||||||
crontab -l >/tmp/rootcron
|
else
|
||||||
echo "0 0 * * 0 reboot" >>/tmp/rootcron
|
# Ebesucher Configuration if user != root
|
||||||
sudo crontab /tmp/rootcron
|
# Check if ebesucher folder already exists
|
||||||
rm /tmp/rootcron
|
if [ -d /home/"$linux_user"/ebesucher ]; then
|
||||||
|
skip "Ordner ebesucher exestiert bereits"
|
||||||
|
# check if config exists, if yes, ask to overwrite
|
||||||
|
if [ -f /home/"$linux_user"/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
|
||||||
|
# remove old config
|
||||||
|
rm -f /home/"$linux_user"/ebesucher/config.zip
|
||||||
|
# download blank config
|
||||||
|
wget -O /home/"$linux_user"/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
|
||||||
|
# unpack config
|
||||||
|
unzip -o /home/"$linux_user"/ebesucher/config.zip -d /home/"$linux_user"/ebesucher/
|
||||||
|
else
|
||||||
|
# unpack config
|
||||||
|
unzip -o /home/"$linux_user"/ebesucher/config.zip -d /home/"$linux_user"/ebesucher/
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Create ebesucher folder
|
||||||
|
if [ -d /home/"$linux_user"/ebesucher ]; then
|
||||||
|
# download config
|
||||||
|
wget -O /home/"$linux_user"/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
|
||||||
|
# unpack config
|
||||||
|
unzip -o /home/"$linux_user"/ebesucher/config.zip -d /home/"$linux_user"/ebesucher/
|
||||||
|
fi
|
||||||
|
if mkdir /home/"$linux_user"/ebesucher; then
|
||||||
|
# download config
|
||||||
|
wget -O /home/"$linux_user"/ebesucher/config.zip https://github.com/Pakobbix/passive-income/raw/master/config.zip
|
||||||
|
# unpack config
|
||||||
|
unzip -o /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
|
||||||
|
while true; do
|
||||||
|
CPUSet=$(inputbox "CPU Begrenzung" "Das System hat $availablecores Kerne. Wieviele davon darf Ebesucher ausnutzen? 4 sind empfohlen")
|
||||||
|
if [[ "$availablecores" -ge "CPUSet" ]]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Ebesucher docker creation function. Will be used in the next step
|
||||||
|
ebesucher_docker() {
|
||||||
|
if docker rm -f ebesucher || true && docker run -d --name=ebesucher -p 3000:5800 -m "$1" --cpus "$2" -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
|
||||||
|
}
|
||||||
|
# Check how much ram is available.
|
||||||
|
ram_avail=$(bc <<<"scale=2;$(($(free | awk 'NR==2 {print $2}') / 1000000))")
|
||||||
|
if [[ $ram_avail -ge "2" ]]; then
|
||||||
|
# create ebesucher docker container with specific RAM available (around 1 GB less then available)
|
||||||
|
ebesucher_docker "1g" "$CPUSet"
|
||||||
|
elif [[ $ram_avail -eq "4" ]]; then
|
||||||
|
ebesucher_docker "3g" "$CPUSet"
|
||||||
|
elif [[ $ram_avail -ge "5" ]]; then
|
||||||
|
ebesucher_docker "4g" "$CPUSet"
|
||||||
|
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 /home/"$linux_user"/ebesucher/config.zip ]; then
|
||||||
|
# delete blank config.zip
|
||||||
|
sudo rm -f /home/"$linux_user"/ebesucher/config.zip 2>/dev/null
|
||||||
|
fi
|
||||||
|
echo 15
|
||||||
|
docker stop ebesucher
|
||||||
|
echo 20
|
||||||
|
cd /home/"$linux_user"/ebesucher/ || exit
|
||||||
|
echo 30
|
||||||
|
# pack config folder into new config.zip
|
||||||
|
zip -r config.zip config/ 2>/dev/null
|
||||||
|
echo 40
|
||||||
|
# Give rights back to user
|
||||||
|
sudo chown "$linux_user":"$linux_user" config.zip
|
||||||
|
# download restart script
|
||||||
|
wget -O /home/"$linux_user"/ebesucher/restart.sh https://raw.githubusercontent.com/Pakobbix/passive-income/master/restart.sh
|
||||||
|
echo 50
|
||||||
|
# add username to restart skript
|
||||||
|
sed -i "s/username=/&$nutzername/g" /home/"$linux_user"/ebesucher/restart.sh
|
||||||
|
echo 60
|
||||||
|
# Add RAM and CPU Settings to restart script
|
||||||
|
sed -i "s/CPUcores=/CPUcores=$CPUSet/g" /home/"$linux_user"/ebesucher/restart.sh
|
||||||
|
# make restart skript executable
|
||||||
|
chmod +x /home/"$linux_user"/ebesucher/restart.sh
|
||||||
|
echo 80
|
||||||
|
bash /home/"$linux_user"/ebesucher/restart.sh
|
||||||
|
echo 100
|
||||||
|
} | whiptail --gauge "Erstelle Sicherung und Lade Restarter Skript herunter" 6 50 0
|
||||||
|
# Export current crontab
|
||||||
|
crontab -l >/tmp/ebesucher
|
||||||
|
# check if restart script is already configured
|
||||||
|
if ! grep -q "ebesucher/restart.sh" "/tmp/ebesucher"; then
|
||||||
|
# add restart script
|
||||||
|
echo "0 * * * * /bin/bash /home/$linux_user/ebesucher/restart.sh
|
||||||
|
@reboot /bin/bash /home/$linux_user/ebesucher/restart.sh" >>/tmp/ebesucher
|
||||||
|
# Let cron reload the new configured crontab
|
||||||
|
crontab /tmp/ebesucher
|
||||||
|
# delete the export
|
||||||
|
rm /tmp/ebesucher
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$linux_user" == "root" ]; then
|
if [ "$linux_user" == "root" ]; then
|
||||||
|
# configure update script
|
||||||
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
|
||||||
|
# make update script executable
|
||||||
chmod +x /root/update_system.sh
|
chmod +x /root/update_system.sh
|
||||||
else
|
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
|
# configure update script
|
||||||
chmod +x /home/"$linux_user"/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" | sudo tee /root/update_system.sh
|
||||||
|
# make update script executable
|
||||||
|
sudo chmod +x /root/update_system.sh
|
||||||
|
# export root crontab
|
||||||
|
sudo crontab -l | sudo tee /tmp/rootcron
|
||||||
|
# add update and reboot to root crontab
|
||||||
|
if ! grep -q "update_system" "/tmp/rootcron"; then
|
||||||
|
echo "0 0 * * 0 reboot
|
||||||
|
0 4 * * * /bin/bash /root/update_system.sh" | sudo tee -a /tmp/rootcron
|
||||||
fi
|
fi
|
||||||
if ! grep -q "update_system.sh" "/tmp/updatecron"; then
|
# import root crontab
|
||||||
if [ "$linux_user" == "root" ]; then
|
sudo crontab /tmp/rootcron
|
||||||
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
|
||||||
fi
|
|
||||||
if docker ps | grep "ebesucher\|traffmonetizer\|peer2profit\|IPRoyal\|packetstream\|honeygain" >/dev/null; then
|
if docker ps | grep -q "ebesucher\|traffmonetizer\|peer2profit\|IPRoyal\|packetstream\|honeygain"; then
|
||||||
|
if docker ps -a | grep -i "containerr/watchtower"; 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
|
||||||
erfolg "Watchtower erfolgreich eingerichtet"
|
erfolg "Watchtower erfolgreich eingerichtet"
|
||||||
else
|
else
|
||||||
fehler "Watchtower konnte nicht eingerichtet werden"
|
fehler "Watchtower konnte nicht eingerichtet werden"
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
skip "Watchtower ist bereits vorhanden."
|
||||||
fi
|
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"
|
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}"
|
new_task "${green}$erfolgreich Erfolgreiche Operationen\n${red}$fehler Fehlerhafte Operationen\n${cyan}$skip Übersprungene Operationen${white}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user