asmmenu.sh hinzugefügt

This commit is contained in:
w12
2025-05-15 21:08:32 +02:00
commit f62d282341

217
asmmenu.sh Normal file
View 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