commit f62d282341a00eb09dbdc212d41e9a2c6e3b5c8f Author: w12 Date: Thu May 15 21:08:32 2025 +0200 asmmenu.sh hinzugefügt diff --git a/asmmenu.sh b/asmmenu.sh new file mode 100644 index 0000000..2a32396 --- /dev/null +++ b/asmmenu.sh @@ -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" <&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 \ No newline at end of file