Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben
# --- 1. SYSTEM & NETZWERK ---
export EDITOR=nano
# IP-Logik (bleibt wie sie ist)
NET_IP=$(ifconfig 2>/dev/null | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}' | sed 's/addr://' | head -n 1)
[ -z "$NET_IP" ] && NET_IP=$(ip route get 1.1.1.1 2>/dev/null | grep -oP 'src \K\S+')
[ -z "$NET_IP" ] && NET_IP="127.0.0.1"
DNS_FILE="$HOME/.current_dns"
MODE_FILE="$HOME/.current_mode"
# --- 2. DASHBOARD LOGIK ---
show_dashboard() {
local CUR_MODE=$(cat "$MODE_FILE" 2>/dev/null)
[ -z "$CUR_MODE" ] && CUR_MODE="NETZWERK"
if [ -f "$DNS_FILE" ]; then
MODUS_INFO="\e[1;33mFERNZUGRIFF\e[0m"; PORT_INFO="7070 (Fix)"; TARGET_DNS=$(cat "$DNS_FILE")
ADR_LABEL="WAN-ADRESSE: "; ADR_VAL="$TARGET_DNS"
EXTRA_INFO="NETZWERK-IP: $NET_IP"
elif [ "$CUR_MODE" = "LOKAL" ]; then
MODUS_INFO="\e[1;35mLOKAL (Privat)\e[0m"; PORT_INFO="8080 (Fix)"
ADR_LABEL="INTERN: "; ADR_VAL="\e[1;35m127.0.0.1\e[0m"
EXTRA_INFO="NETZWERK-IP: $NET_IP (Inaktiv)"
else
MODUS_INFO="\e[1;32mNETZWERK\e[0m"; PORT_INFO="8080 (Fix)"
ADR_LABEL="WLAN / LAN: "; ADR_VAL="\e[1;32m$NET_IP\e[0m"
EXTRA_INFO="WAN-ADRESSE: INAKTIV"
fi
pgrep -f "httpd" >/dev/null && SV_APACHE="\e[1;32mAKTIV\e[0m" || SV_APACHE="\e[1;31mSTOPP\e[0m"
pgrep -f "sshd" >/dev/null && SV_SSH="\e[1;32mAKTIV\e[0m" || SV_SSH="\e[1;31mSTOPP\e[0m"
pgrep -f "php" >/dev/null && SV_PHP="\e[1;32mAKTIV\e[0m" || SV_PHP="\e[1;31mSTOPP\e[0m"
DISK_FREE=$(df -h /sdcard 2>/dev/null | awk 'NR==2 {print $4}')
USB_PATH_CHK=$(ls -d /storage/*-* 2>/dev/null | grep -v "self" | grep -v "emulated" | head -n 1)
USB_ST=$([ -n "$USB_PATH_CHK" ] && echo -e "\e[1;32mBEREIT\e[0m ($(df -h "$USB_PATH_CHK" 2>/dev/null | awk 'NR==2 {print $4}') frei)" || echo -e "\e[1;31mFEHLT\e[0m")
[ -f "$HOME/.image_info" ] && IMG_SOURCE=$(head -n 2 "$HOME/.image_info" | tr '\n' ' | ' | sed 's/ | $//') || IMG_SOURCE="Kein Image-Abbild"
LAST_B=$(ls -t /sdcard/Download/xm.tar.gz /sdcard/Download/XM_MASTER_* 2>/dev/null | head -n 1 | xargs -n 1 basename 2>/dev/null)
clear
echo -e "\e[1;34m###########################################################\e[0m"
echo -e "\e[1;34m#\e[0m \e[1;37m 🚀 XTREAMMULTI STATION v6.0 \e[0m \e[1;34m#\e[0m"
echo -e "\e[1;34m###########################################################\e[0m"
echo -e "\e[1;34m#\e[0m MODUS: $MODUS_INFO"
echo -e "\e[1;34m#\e[0m $ADR_LABEL \e[1;32m$ADR_VAL\e[0m"
echo -e "\e[1;34m#\e[0m PORT: \e[1;33m$PORT_INFO\e[0m"
echo -e "\e[1;34m#\e[0m IMAGE-INFO: \e[1;36m$IMG_SOURCE\e[0m"
echo -e "\e[1;34m#\e[0m LETZTES BU: \e[1;32m${LAST_B:-Keines gefunden}\e[0m"
echo -e "\e[1;34m#\e[1;34m --------------------------------------------------------"
echo -e "\e[1;34m#\e[0m USB-STICK: $USB_ST"
echo -e "\e[1;34m#\e[0m SPEICHER: \e[1;32m$DISK_FREE Frei\e[0m"
echo -e "\e[1;34m#\e[0m INFO: $EXTRA_INFO"
echo -e "\e[1;34m###########################################################\e[0m"
echo -e "\e[1;34m#\e[0m APACHE: $SV_APACHE | PHP: $SV_PHP | SSH: $SV_SSH "
echo -e "\e[1;34m###########################################################\e[0m"
echo -e "\e[1;34m#\e[1;36m [DNS]\e[0m DNS \e[1;36m[6]\e[0m Backup_save \e[1;36m [cron] \e[0m Crontab"
echo -e "\e[1;34m#\e[1;36m [10]\e[0m Netzwerk \e[1;36m[8]\e[0m Backup_load \e[1;36m [check]\e[0m Croncheck"
echo -e "\e[1;34m#\e[1;36m [127]\e[0m Lokal \e[1;36m[cbu]\e[0m Backup_check\e[1;36m [lsm3u]\e[0m m3u Detail"
echo -e "\e[1;34m#\e[1;36m [xm]\e[0m Xtreammulti \e[1;36m[n]\e[0m Edit bashrc \e[1;36m [m]\e[0m Aktualisieren"
echo -e "\e[1;34m###########################################################\e[0m"
}
# --- 3. ALIASE (ÜBERSICHTLICH & OPTIMIERT) ---
alias n="nano ~/.bashrc"
alias m="source ~/.bashrc"
alias cron="EDITOR=nano crontab -e"
alias xm="cd ~/xtreammulti && ./menu.sh"
# Dein Check mit Farblogik (ersetzt cstatus)
alias check='tail -n 20 ~/xtreammulti/cron.log 2>/dev/null | sed -e "s/SUCCESS/$(printf "\e[1;32mSUCCESS\e[0m")/" -e "s/FAILED/$(printf "\e[1;31mFAILED\e[0m")/" || echo "Kein Log gefunden."'
# Live-Überwachung (Beenden mit Strg+C)
alias clog='tail -f ~/xtreammulti/cron.log'
# Manueller Start des Ablauf-Skripts
alias cstart='bash ~/start.sh'
# Dateiverwaltung & Web
alias lsm3u='find /data/data/com.termux/files/usr/share/apache2/default-site/htdocs -name "*.m3u" -exec ls -lh --time-style=+"%d.%m.%Y %H:%M" {} \+'
alias web='cd /data/data/com.termux/files/usr/share/apache2/default-site/htdocs'
alias 10='rm -f "$DNS_FILE"; echo "NETZWERK" > "$MODE_FILE"; ACTUAL_IP=$NET_IP; \
sed -i "s|^host=.*|host=\"http://$ACTUAL_IP:8080\"|g" $HOME/xtreammulti/portals/*.sh 2>/dev/null; \
sed -i "s|^URL_PLACEHOLDER=.*|URL_PLACEHOLDER=\"http://$ACTUAL_IP:8080\"|g" $HOME/start.sh 2>/dev/null; \
crontab -l 2>/dev/null | sed "s|http://[^/ ]*:[0-9]*|http://$ACTUAL_IP:8080|g" | crontab -; \
find $HOME $PREFIX/share/apache2/default-site/htdocs -type f \( -name "live.m3u*" -o -name "vod.m3u*" -o -name "series.m3u*" -o -name "*.php" -o -name ".htaccess" \) -print0 2>/dev/null | xargs -0 sed -i "s|http://[^/ ]*:[0-9]*|http://$ACTUAL_IP:8080|g" 2>/dev/null; \
echo -e "\n\e[1;32m✔ Modus: NETZWERK (Port 8080) synchronisiert\e[0m"; sleep 1; show_dashboard'
alias 127='rm -f "$DNS_FILE"; echo "LOKAL" > "$MODE_FILE"; ACTUAL_IP="127.0.0.1"; \
sed -i "s|^host=.*|host=\"http://$ACTUAL_IP:8080\"|g" $HOME/xtreammulti/portals/*.sh 2>/dev/null; \
sed -i "s|^URL_PLACEHOLDER=.*|URL_PLACEHOLDER=\"http://$ACTUAL_IP:8080\"|g" $HOME/start.sh 2>/dev/null; \
crontab -l 2>/dev/null | sed "s|http://[^/ ]*:[0-9]*|http://$ACTUAL_IP:8080|g" | crontab -; \
find $HOME $PREFIX/share/apache2/default-site/htdocs -type f \( -name "live.m3u*" -o -name "vod.m3u*" -o -name "series.m3u*" -o -name "*.php" -o -name ".htaccess" \) -print0 2>/dev/null | xargs -0 sed -i "s|http://[^/ ]*:[0-9]*|http://$ACTUAL_IP:8080|g" 2>/dev/null; \
echo -e "\n\e[1;35m✔ Modus: LOKAL (Port 8080) synchronisiert\e[0m"; sleep 1; show_dashboard'
alias DNS='echo -n "Fernzugriff Ziel: "; read RAW_DNS; USER_DNS=$(echo $RAW_DNS | sed -e "s|^http://||" -e "s|^https://||" -e "s|/$||"); \
if [ -n "$USER_DNS" ]; then echo "$USER_DNS" > "$DNS_FILE"; echo "DDNS" > "$MODE_FILE"; \
sed -i "s|^host=.*|host=\"http://$USER_DNS:7070\"|g" $HOME/xtreammulti/portals/*.sh 2>/dev/null; \
sed -i "s|^URL_PLACEHOLDER=.*|URL_PLACEHOLDER=\"http://$USER_DNS:7070\"|g" $HOME/start.sh 2>/dev/null; \
crontab -l 2>/dev/null | sed "s|http://[^/ ]*:[0-9]*|http://$USER_DNS:7070|g" | crontab -; \
find $HOME $PREFIX/share/apache2/default-site/htdocs -type f \( -name "live.m3u*" -o -name "vod.m3u*" -o -name "series.m3u*" -o -name "*.php" -o -name ".htaccess" \) -print0 2>/dev/null | xargs -0 sed -i "s|http://[^/ ]*:[0-9]*|http://$USER_DNS:7070|g" 2>/dev/null; \
echo -e "\n\e[1;33m✔ Modus: FERNZUGRIFF (Port 7070) synchronisiert\e[0m"; sleep 1; show_dashboard; fi'
# --- 4. BACKUP & RESTORE ---
#Systemabbild erstellen
alias 6='INFO_FILE="$HOME/.image_info"; STAMP=$(date +%d.%m.%y-%H:%M); \
echo "Erstellt: $STAMP" > "$INFO_FILE"; echo "Master: P40" >> "$INFO_FILE"; \
crontab -l > "$HOME/crontab_backup.txt" 2>/dev/null; \
USB_PATH=$(ls -d /storage/*-* 2>/dev/null | grep -v "self" | grep -v "emulated" | head -n 1); \
if [ -n "$USB_PATH" ]; then \
if ! touch "$USB_PATH/.write_test" 2>/dev/null; then \
echo -e "\e[1;31m⚠ USB vorhanden, aber KEINE SCHREIBRECHTE!\e[0m"; \
USB_OK=false; sleep 5; \
else \
rm "$USB_PATH/.write_test"; USB_OK=true; \
fi; \
fi; \
cd /data/data/com.termux/files; echo -e "\e[1;33mErstelle System-Image...\e[0m"; \
tar -cvzf /sdcard/Download/xm.tar.gz --exclude="usr/tmp/*" usr home 2>/dev/null; \
if [ "$USB_OK" = true ]; then \
cp /sdcard/Download/xm.tar.gz "$USB_PATH/"; \
echo -e "\e[1;32m✔ Backup auf USB gesichert!\e[0m"; \
else \
echo -e "\e[1;32m✔ Backup lokal fertig!\e[0m"; \
fi; cd ~; sleep 3; show_dashboard'
#Systemabbild wiederherstellen
alias 8='echo "Suche xm.tar.gz..."; \
FILE=$(ls -t /sdcard/Download/xm.tar.gz /sdcard/xm.tar.gz /storage/emulated/0/Download/xm.tar.gz $(ls -d /storage/*-*/xm.tar.gz 2>/dev/null) 2>/dev/null | head -n 1); \
if [ -n "$FILE" ]; then \
cd /data/data/com.termux/files && tar -xvzf "$FILE" --overwrite --exclude="usr/lib/libtermux-exec.so" 2>/dev/null; \
chmod -R 700 home; \
find usr/share/apache2/default-site/htdocs -type d -exec chmod 755 {} + 2>/dev/null; \
find usr/share/apache2/default-site/htdocs -type f -exec chmod 644 {} + 2>/dev/null; \
chmod +x usr/bin/sshd usr/bin/ssh*; \
termux-fix-shebang usr/bin/sshd 2>/dev/null; \
[ -f "$HOME/crontab_backup.txt" ] && crontab "$HOME/crontab_backup.txt"; \
echo -e "\e[1;32m✔ System-Restore & Web-Rechte (644) abgeschlossen.\e[0m"; \
echo "Bitte Termux komplett schließen und neu starten."; \
else \
echo -e "\e[1;31mFehler: xm.tar.gz nicht gefunden!\e[0m"; \
fi'
#Systemabbild auflisten
alias cbu='tar -tvzf /sdcard/Download/xm.tar.gz'
# --- 5. AUTOSTART ---
# Dienste nur starten, wenn sie nicht bereits laufen
pgrep sshd >/dev/null || sshd 2>/dev/null
pgrep httpd >/dev/null || apachectl start 2>/dev/null
pgrep php-fpm >/dev/null || php-fpm 2>/dev/null
# Einmalige Aktionen pro Sitzung (Wake-Lock & Setup)
if [ -z "$BASHRC_LOADED" ]; then
export BASHRC_LOADED=1
termux-wake-lock
CUR_MODE=$(cat "$MODE_FILE" 2>/dev/null)
if [ ! -f "$DNS_FILE" ] && [ "$CUR_MODE" != "LOKAL" ]; then
10 > /dev/null
fi
fi
show_dashboard
also sollte ich einfach auf diese version umsteigen und alles neu aufsetzen?Ja da sollte es von alleine passieren... Welche Version? Geht nur 0118.3 die neueren machen probleme
Das hatte ich bei Tivimate auch öfter. Gibt Portale bei denen das häufiger vorkommt. Dark war immer so ein Fall."HttpDataSourceException"
wie heißt die übersachrift dieses threads?wieso proxy? nutzt ihr proxies?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Das Digital Eliteboard ist ein kostenloses Forum und ist auf Spenden angewiesen, um sich auch in Zukunft selbst zu finanzieren. Wenn auch du mit dem Digital Eliteboard zufrieden bist, würden wir uns über jede Unterstützung freuen.
Hier kannst du uns unterstützen SPENDEN