asmmenu.sh hinzugefügt
This commit is contained in:
217
asmmenu.sh
Normal file
217
asmmenu.sh
Normal file
@@ -0,0 +1,217 @@
|
||||
#!/bin/bash
|
||||
|
||||
USER_NAME=$(whoami)
|
||||
XMRIG_DIR="$HOME/xmrig-mo"
|
||||
XMRIG_URL="https://github.com/MoneroOcean/xmrig/releases/download/v6.22.2-mo1/xmrig-v6.22.2-mo1-lin64.tar.gz"
|
||||
POOL="gulf.moneroocean.stream"
|
||||
UPDATE_URL="https://gitea.ris-universe.eu/w12/w12-asm-os/raw/branch/main/asmmenu.sh"
|
||||
VERSION_URL="https://gitea.ris-universe.eu/w12/w12-asm-os/raw/branch/main/version.txt"
|
||||
LOCAL_VERSION="1.0.2"
|
||||
|
||||
function check_for_update() {
|
||||
echo "ASM-Menü Version $LOCAL_VERSION"
|
||||
echo "Prüfe auf Updates ..."
|
||||
|
||||
if [ -f /tmp/asm_lastcheck ] && [ $(date +%s) -lt $(( $(cat /tmp/asm_lastcheck) + 180 )) ]; then
|
||||
echo "[i] Letzte Update-Prüfung war vor weniger als 3 Minuten. Überspringe."
|
||||
return
|
||||
fi
|
||||
date +%s > /tmp/asm_lastcheck
|
||||
|
||||
LATEST=$(curl -fsSL "$VERSION_URL")
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "[!] Update-Prüfung fehlgeschlagen (kein Internet oder URL-Fehler)"
|
||||
sleep 2
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "$LATEST" != "$LOCAL_VERSION" ]; then
|
||||
if (whiptail --yesno "Neue ASM OS Version verfügbar ($LATEST). Jetzt aktualisieren?" 10 60); then
|
||||
update_script
|
||||
fi
|
||||
else
|
||||
echo "[✓] Du verwendest die neueste ASM OS Version ($LOCAL_VERSION)."
|
||||
sleep 2
|
||||
fi
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
TMP_FILE="/tmp/setupmenu.sh"
|
||||
echo "[*] Lade aktuelle Version von $UPDATE_URL..."
|
||||
if curl -fsSL "$UPDATE_URL" -o "$TMP_FILE"; then
|
||||
sudo cp "$TMP_FILE" /usr/local/bin/asm
|
||||
sudo chmod +x /usr/local/bin/asm
|
||||
echo "[✓] Update erfolgreich. Starte neu..."
|
||||
sleep 2
|
||||
exec /usr/local/bin/asm
|
||||
else
|
||||
echo "[!] Update fehlgeschlagen. Prüfe Internet oder URL."
|
||||
sleep 2
|
||||
fi
|
||||
}
|
||||
|
||||
function setup_autologin() {
|
||||
if (whiptail --yesno "Autologin aktivieren für Benutzer $USER_NAME?" 8 60); then
|
||||
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
|
||||
echo "[Service]
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --autologin $USER_NAME --noclear %I \$TERM" | sudo tee /etc/systemd/system/getty@tty1.service.d/override.conf > /dev/null
|
||||
sudo systemctl daemon-reexec
|
||||
sudo systemctl restart getty@tty1
|
||||
echo "[✓] Autologin aktiviert."
|
||||
else
|
||||
sudo rm -f /etc/systemd/system/getty@tty1.service.d/override.conf
|
||||
sudo systemctl daemon-reexec
|
||||
sudo systemctl restart getty@tty1
|
||||
echo "[✓] Autologin deaktiviert."
|
||||
fi
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function install_xmrig() {
|
||||
mkdir -p "$XMRIG_DIR"
|
||||
cd "$XMRIG_DIR"
|
||||
echo "[*] Lade XMRig MoneroOcean Version..."
|
||||
curl -L "$XMRIG_URL" -o xmrig.tar.gz
|
||||
tar -xzf xmrig.tar.gz
|
||||
rm -f xmrig.tar.gz
|
||||
|
||||
if [ ! -f "$XMRIG_DIR/xmrig" ]; then
|
||||
echo "[!] XMRig-Binärdatei fehlt. Installation fehlgeschlagen."
|
||||
sleep 2
|
||||
return
|
||||
fi
|
||||
|
||||
chmod +x "$XMRIG_DIR/xmrig"
|
||||
|
||||
WALLET=$(whiptail --inputbox "Gib deine Monero-Wallet-Adresse ein:" 8 60 3>&1 1>&2 2>&3)
|
||||
|
||||
CPU_PORT_CHOICE=$(whiptail --title "CPU-Typ auswählen" --menu "Wähle deinen CPU-Typ:" 15 60 4 \
|
||||
1 "Alte CPU/GPU (Port 10032)" \
|
||||
2 "Moderne CPU/GPU (Port 10128)" \
|
||||
3 "CPU/GPU-Farm (Port 18192)" 3>&1 1>&2 2>&3)
|
||||
|
||||
case $CPU_PORT_CHOICE in
|
||||
1) POOL_PORT="10032" ;;
|
||||
2) POOL_PORT="10128" ;;
|
||||
3) POOL_PORT="18192" ;;
|
||||
*) POOL_PORT="10128" ;;
|
||||
esac
|
||||
|
||||
cat > "$XMRIG_DIR/config.json" <<EOF
|
||||
{
|
||||
"autosave": true,
|
||||
"cpu": true,
|
||||
"pools": [
|
||||
{
|
||||
"url": "$POOL:$POOL_PORT",
|
||||
"user": "$WALLET",
|
||||
"pass": "x",
|
||||
"tls": false
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "[✓] XMRig wurde installiert mit Port $POOL_PORT."
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function uninstall_xmrig() {
|
||||
if [ -d "$XMRIG_DIR" ]; then
|
||||
rm -rf "$XMRIG_DIR"
|
||||
echo "[✓] XMRig wurde entfernt."
|
||||
else
|
||||
echo "[!] XMRig ist nicht installiert."
|
||||
fi
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function start_xmrig() {
|
||||
if [ -f "$XMRIG_DIR/xmrig" ]; then
|
||||
echo "[*] Starte XMRig..."
|
||||
cd "$XMRIG_DIR"
|
||||
./xmrig
|
||||
else
|
||||
echo "[!] XMRig ist nicht installiert."
|
||||
sleep 2
|
||||
fi
|
||||
}
|
||||
|
||||
function change_ssh_port() {
|
||||
PORT=$(whiptail --inputbox "Neuen SSH-Port eingeben (z. B. 2222):" 8 60 3>&1 1>&2 2>&3)
|
||||
if [[ "$PORT" =~ ^[0-9]+$ ]]; then
|
||||
sudo sed -i "s/^#\?Port .*/Port $PORT/" /etc/ssh/sshd_config
|
||||
sudo systemctl restart ssh
|
||||
echo "[✓] SSH-Port geändert auf $PORT."
|
||||
else
|
||||
echo "[!] Ungültiger Port."
|
||||
fi
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function change_user_pass() {
|
||||
NEW_USER=$(whiptail --inputbox "Neuen Benutzernamen eingeben:" 8 60 3>&1 1>&2 2>&3)
|
||||
if id "$NEW_USER" &>/dev/null; then
|
||||
echo "[!] Benutzer $NEW_USER existiert bereits."
|
||||
else
|
||||
sudo adduser "$NEW_USER"
|
||||
sudo usermod -aG sudo "$NEW_USER"
|
||||
echo "[✓] Neuer Benutzer $NEW_USER erstellt."
|
||||
fi
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function configure_wifi_nmtui() {
|
||||
if ! command -v nmtui &> /dev/null; then
|
||||
echo "[*] NetworkManager wird installiert..."
|
||||
sudo apt update
|
||||
sudo apt install -y network-manager
|
||||
sudo systemctl enable NetworkManager
|
||||
sudo systemctl start NetworkManager
|
||||
fi
|
||||
|
||||
echo "[*] Starte nmtui..."
|
||||
sudo nmtui
|
||||
}
|
||||
|
||||
function shutdown_system() {
|
||||
if (whiptail --yesno "System wirklich herunterfahren?" 8 60); then
|
||||
echo "[*] Fahre System herunter..."
|
||||
sleep 1
|
||||
sudo shutdown now
|
||||
fi
|
||||
}
|
||||
|
||||
# Hauptmenü
|
||||
while true; do
|
||||
check_for_update
|
||||
|
||||
OPTION=$(whiptail --title "ASM OS Mining Setup Menü" --menu "Wähle eine Aktion" 22 60 12 \
|
||||
1 "Autologin ein-/ausschalten" \
|
||||
2 "XMRig installieren (MoneroOcean)" \
|
||||
3 "XMRig deinstallieren (MoneroOcean)" \
|
||||
4 "XMRig manuell starten (MoneroOcean)" \
|
||||
5 "SSH-Port ändern" \
|
||||
6 "Benutzer ändern" \
|
||||
7 "System neustarten" \
|
||||
8 "Update asm-Script" \
|
||||
9 "WLAN konfigurieren" \
|
||||
10 "System herunterfahren" \
|
||||
11 "Beenden" 3>&1 1>&2 2>&3)
|
||||
|
||||
case $OPTION in
|
||||
1) setup_autologin ;;
|
||||
2) install_xmrig ;;
|
||||
3) uninstall_xmrig ;;
|
||||
4) start_xmrig ;;
|
||||
5) change_ssh_port ;;
|
||||
6) change_user_pass ;;
|
||||
7) sudo reboot ;;
|
||||
8) update_script ;;
|
||||
9) configure_wifi_nmtui ;;
|
||||
10) shutdown_system ;;
|
||||
11) break ;;
|
||||
*) echo "Ungültige Auswahl";;
|
||||
esac
|
||||
done
|
||||
Reference in New Issue
Block a user