Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

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

Stalker Portal Manager

tem_invictus

Elite Hacker
Premium
Registriert
18. Februar 2017
Beiträge
1.847
Lösungen
3
Reaktionspunkte
1.678
Punkte
1.970
Mit Version 3.0 habe ich komplett von CLI zu einem echten Webinterface umgestellt.
Die bekannten Funktionen aus der CLI Version sind erhalten geblieben, in den meisten Fällen allerdings noch mal angepasst worden.

Da es jetzt deutlich mehr Abhängigkeiten gibt, habe ich mich dazu entschlossen ab Version 3.0.0, nur noch als Docker Image zu veröffentlichen. Das macht alles einfacher, da die Abhängigkeiten im Docker Image immer gegeben sind. Und somit der Support, bzw. Fehlerbehebung einfacher wird.

Installation:

Mit Docker Compose lässt sich die Anwendung sehr einfach starten. Dafür werden nur zwei Dateien benötigt:
docker-compose.yml und .env.

Im Folgenden wird erklärt, wie ihr alles Schritt für Schritt im Terminal einrichtet.

Voraussetzungen
  • Docker ist installiert
  • Docker Compose ist verfügbar
  • Ihr seid nicht als root angemeldet
Schritt 1: Projektordner erstellen

Öffnet ein Terminal und erstellt einen Ordner für das Projekt:
Code:
mkdir portal-manager
cd portal-manager
Der Ordnername ist frei wählbar. Empfehlenswert ist ein Ordner im Home-Verzeichnis.

Schritt 2: Eigene Benutzer-ID (UID) und Gruppen-ID (GID) ermitteln

Diese Werte werden später in der .env Datei benötigt.
Gebt im Terminal ein:
Code:
id

Die Ausgabe sieht ungefähr so aus:
Code:
uid=1000(username) gid=1000(username)
Wichtig: Dieser Schritt macht keinen Sinn, wenn ihr als root eingeloggt seid.

Schritt 3: docker-compose.yml erstellen

Erstellt die Datei docker-compose.yml:
Code:
nano docker-compose.yml
  • Fügt den Inhalt aus dem Beispiel unten ein
  • Ersetzt alle Stellen mit !!!ERSETZEN!!! durch eure eigenen Werte
  • Tragt hier eure zuvor ermittelte UID (PUID) und GID (PGID) ein
  • Speichern mit STRG + O, bestätigen mit Enter, beenden mit STRG + X
Schritt 4: .env Datei erstellen

Erstellt nun die .env Datei:
Code:
nano .env
  • Fügt den Inhalt aus dem Beispiel unten ein
  • Ersetzt alle Stellen mit !!!ERSETZEN!!! durch eure eigenen Werte
  • Speichern und schließen wie oben beschrieben
Schritt 5: Container starten

Startet die Anwendung mit:
Code:
docker compose up -d
Docker lädt beim ersten Start automatisch alle benötigten Images herunter. Das kann ein paar Minuten dauern.

Schritt 6: Webinterface öffnen

Nach erfolgreichem Start ist das Webinterface im Browser erreichbar unter:
Code:
http://<IP-Adresse>:8000

Code:
name: portal-manager
services:
  portal-manager:
    image: teminvictus/spm:latest
    container_name: portal-manager
    restart: unless-stopped
    ports:
      - "8000:8080"
    env_file:
      - .env
    environment:
      - PUID=!!!ERSETZEN!!!
      - PGID=!!!ERSETZEN!!!
      - APP_ENV=${APP_ENV}
      - STARTUP_LOG_MODE=${STARTUP_LOG_MODE}
      - STARTUP_SECRET=${STARTUP_SECRET}
      - PRODUCTION_TLS_TERMINATED=${PRODUCTION_TLS_TERMINATED}
      - ALLOW_INSECURE_DEFAULTS=${ALLOW_INSECURE_DEFAULTS}
      - ADMIN_USER=${ADMIN_USER}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - SESSION_TTL_MINUTES=${SESSION_TTL_MINUTES}
      - SESSION_COOKIE_NAME=${SESSION_COOKIE_NAME}
      - SESSION_COOKIE_SECURE=${SESSION_COOKIE_SECURE}
      - SESSION_COOKIE_DOMAIN=${SESSION_COOKIE_DOMAIN}
      - MAINTENANCE_ENABLED=${MAINTENANCE_ENABLED}
      - MAINTENANCE_INTERVAL_MINUTES=${MAINTENANCE_INTERVAL_MINUTES}
      - MAINTENANCE_JOB_RETENTION_DAYS=${MAINTENANCE_JOB_RETENTION_DAYS}
      - WORKER_JOB_TIMEOUT_SECONDS=${WORKER_JOB_TIMEOUT_SECONDS}
      - WORKER_JOB_MAX_ATTEMPTS=${WORKER_JOB_MAX_ATTEMPTS}
      - WORKER_HEARTBEAT_INTERVAL_SECONDS=${WORKER_HEARTBEAT_INTERVAL_SECONDS}
      - WORKER_HEARTBEAT_STALE_SECONDS=${WORKER_HEARTBEAT_STALE_SECONDS}
    volumes:
      - portal_manager_data:/opt/app/backend/data
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8080/ >/dev/null && curl -fsS http://127.0.0.1:8000/ >/dev/null || exit 1"]
      interval: 30s
      timeout: 5s
      start_period: 25s
      retries: 3

volumes:
  portal_manager_data:
Code:
# -------------------------------------------------------------------
# App environment and startup logging
# -------------------------------------------------------------------
# APP_ENV: "dev" or "production" (also accepts "prod")
APP_ENV=dev
# STARTUP_LOG_MODE: "compact" (recommended) or "verbose"
STARTUP_LOG_MODE=compact
# Mandatory startup guard:
# Must exactly match the release startup secret required by the image.
STARTUP_SECRET=!!!ERSETZEN!!!
# Production safety guard:
# Must be true when APP_ENV=production and HTTPS is terminated in front of this container.
PRODUCTION_TLS_TERMINATED=false
# Credential safety override:
# Keep false in production. Set true only for temporary lab/testing bypass.
ALLOW_INSECURE_DEFAULTS=false
# -------------------------------------------------------------------
# Admin account and session/cookie behavior
# -------------------------------------------------------------------
# Admin login username.
# Production startup guard rejects the default username (admin) unless override is enabled.
ADMIN_USER=!!!ERSETZEN!!!
# Set to a strong password before deployment (production requires >= 12 chars).
ADMIN_PASSWORD=!!!ERSETZEN!!!
# Session lifetime in minutes (12h default)
SESSION_TTL_MINUTES=720
SESSION_COOKIE_NAME=pm_session
# In production, cookies are automatically forced to Secure + SameSite=Strict.
# Set SESSION_COOKIE_SECURE=true only if you want Secure cookies outside production too.
SESSION_COOKIE_SECURE=false
# Optional cookie domain. Leave empty for host-only cookies.
SESSION_COOKIE_DOMAIN=
# -------------------------------------------------------------------
# Automatic maintenance (job/session cleanup)
# -------------------------------------------------------------------
MAINTENANCE_ENABLED=true
MAINTENANCE_INTERVAL_MINUTES=60
MAINTENANCE_JOB_RETENTION_DAYS=30
# -------------------------------------------------------------------
# Worker behavior
# -------------------------------------------------------------------
WORKER_JOB_TIMEOUT_SECONDS=1800
WORKER_JOB_MAX_ATTEMPTS=2
WORKER_HEARTBEAT_INTERVAL_SECONDS=10
WORKER_HEARTBEAT_STALE_SECONDS=30

Neben dem nichts sagendem Image Namen und der Repo ohne jegliche Beschreibung, habe ich noch eine Besonderheit in das Image eingebaut. Und zwar startet dieses nur, wenn als Variable ein "Token" mitgegeben wird. Folgendes muss in der .env eingefügt werden.
Code:
STARTUP_SECRET=M9v2Qk7rL4cX8nP1tF6bH3wZ5yD0sJ2uR7aN4eC9
You must be registered for see images attach
You must be registered for see images attach
You must be registered for see images attach
You must be registered for see images attach
  • 3.0.3
    • base image
  • 3.1.0
    • Leistung: MAC-Massenoperationen sind jetzt echte Batch-Anfragen
      • Backend-Massenendpunkte für MAC-Erstellung/Aktualisierung/Löschung hinzugefügt
      • Portal-UI-Massenimport/-bearbeitung/-löschung aktualisiert, um Batch-APIs mit einer einzigen Anfrage anstelle einer Anfrage pro MAC zu verwenden
      • Reduzierter Anfrageaufwand und verbesserte Geschwindigkeit für große MAC-Listen
    • UX: Der Benachrichtigungsverlauf enthält jetzt den Herkunftskontext
      • Benachrichtigungseinträge wurden um Quellmetadaten ergänzt
      • Portalaktionen versehen Benachrichtigungen jetzt mit dem Namen des Portals
      • Die Benachrichtigungsseite zeigt diese Quelle an, sodass Benutzer sofort sehen können, woher die einzelnen Nachrichten stammen
    • Benachrichtigungen
      • Globale Benachrichtigungen über den Abschluss asynchroner Aufträge wurden hinzugefügt
      • Auftragsaktionen, die zuvor nur in die Warteschlange gestellt wurden, geben nun nach Abschluss (erfolgreich/fehlgeschlagen/abgebrochen) Folge-Statusmeldungen und Einträge im Benachrichtigungsverlauf aus
      • Abschlussbenachrichtigungen enthalten, sofern verfügbar, den Portal-Kontext, wodurch die Rückverfolgbarkeit über mehrere Portale hinweg verbessert wird
    • Automatische Auswahl der primären MAC-Adresse (neu)
      • Es wurde eine neue Einstellungsoption hinzugefügt, um die primäre MAC-Adresse des Portals automatisch anhand der höchsten TV+VOD-Kategoriedeckung auszuwählen
      • Wenn diese Option aktiviert ist, behält das System nun die primäre MAC-Adresse mit der besten Abdeckung bei (vorzugsweise aktive MAC-Adressen)
      • Die automatische Auswahl wird angewendet:
        • unmittelbar nach Aktivierung der Einstellung
        • nach MAC-Prüfungen
      • Wenn diese Option deaktiviert ist, bleibt das Verhalten der primären MAC-Adresse wie bisher manuell
    • Verbesserungen der Benutzererfahrung bei der Protokollierung von Aufträgen
      • Verbesserte Reaktionsfähigkeit des Live-Auftragsprotokolls für check_macs, fetch_categories und generate_playlist
      • Kritische Ergebniszeilen werden nun sofort geschrieben (anstatt auf den Batch-Flush zu warten), sodass der endgültige Status/die Zusammenfassung in Echtzeit angezeigt wird
      • Ausführliche Schrittprotokolle werden gebündelt, um unnötigen Schreibaufwand zu vermeiden und gleichzeitig reibungslose Live-Aktualisierungen zu gewährleisten


Moin zusammen,
aus Neugierde und Interesse mehr zu verstehen, wie die ganze Stalker Geschichte funktioniert, habe ich mir ein eigenes Stalker Portal gebaut. Das ist natürlich deutlich inspiriert von @clever999 und @salidos, ist aber schlanker aufgebaut. Und auch Dankeschön an beide, bei Fragen immer geholfen.

Kurz zusammengefasst könnt ihr Portale hinzufügen, Kategorien auswählen und euch daraus eine Playlist erstellen lassen. Diese erstellte Playlist verweist auf einen nginx Webserver, welcher dann eine passende MAC auswählt und dem Player den passenden Link zurück sendet.

Getestet habe ich die ganze Sache auf einer Ubuntu VM. Ich bin kein Sicherheitsexperte, die ganze Sache gehört somit nicht auf öffentliche Server, sondern ins eigene Heimnetz. Am besten noch in Verbindung mit einem VPN, aber das kann jeder halten, wie er möchte.

Zum Starten das Archiv auf den Server kopieren, entpacken und das Hauptskript ausführen:
Code:
unzip portal-manager-tem_invictus.zip
cd portal-manager-tem_invictus/
./main.sh

Nginx-Konfiguration
Der nginx‑Webserver kann über den Menüpunkt „3. Proxy Settings“ automatisch installiert und konfiguriert werden. Dabei werden die benötigten Konfigurationsdateien erstellt bzw. angepasst. Diese Option sollte nur verwendet werden, wenn die VM ausschließlich für diesen Zweck genutzt wird. Erfahrene Nutzer können die notwendigen Anpassungen auch manuell vornehmen und die Konfiguration in eine bestehende nginx‑Installation integrieren.

Grundablauf
  1. „3. Set Proxy Hostname“
    • Zuerst den Proxy‑Hostname setzen.
    • Dieser Wert wird später zur Erstellung der Playlist verwendet.
  2. „1. Add new portal“
    • Neues Portal anlegen (Name, URL usw.).
    • Die Eingaben sind weitgehend selbsterklärend.
  3. „2. Edit Portal“
    • Das gewünschte Portal auswählen und bei Bedarf anpassen.
Portal-Menü – empfohlene Reihenfolge

Im „Portal Menu“ empfiehlt sich folgender Ablauf:
  1. „3. Select Categories“
    • Zuerst die gewünschten Kategorien auswählen.
    • Andere Funktionen hängen von dieser Auswahl ab.
  2. „6. Add MAC address“
    • Pro Zeile eine MAC‑Adresse eintragen.
    • Doppelte Einträge werden automatisch entfernt.
    • Ungültige MAC‑Formate werden verworfen.
  3. „7. Check MACs“
    • Führt verschiedene Prüfungen gegen das Portal durch:
      • Gültigkeit der MAC‑Adresse
      • Ablaufdatum der MAC
      • Anzahl der für diese MAC freigeschalteten Kategorien
      • Abgleich, ob die ausgewählten Kategorien für diese MAC verfügbar sind
  4. „5. Generate M3u“
    • Erstellt die Playlist (.m3u) mit den zuvor ausgewählten Kategorien.
Wichtig:
„7. Check MACs“ muss immer ausgeführt werden, sobald neue MAC‑Adressen hinzugefügt oder Kategorien geändert wurden.
Hintergrund: Beim Aufruf eines Kanals prüft das Skript, ob
  • die MAC noch gültig ist (Ablaufdatum) und
  • die Kategorie für diese MAC freigeschaltet ist.
Alle ausgewählten Kategorien müssen für die jeweilige MAC verfügbar sein. Ist auch nur eine der gewählten Kategorien für diese MAC nicht verfügbar, wird diese Kategorie ausgeschlossen.

Playlist abrufen

Nach der Generierung kann die Playlist auf zwei Arten genutzt werden:
  • Direkt vom Server-Dateisystem, z.B. aus
    /var/www/stalker/PORTAL/
    Die Dateien heißen:
    proxy_PORTAL.m3u
    (wobei PORTAL durch den jeweiligen Portalnamen ersetzt wird).
  • Per HTTP-Aufruf, z.B. in VLC:
Beispiel:

Webinterface

Es gibt eine simple Website, die über aufgerufen werden kann.


You must be registered for see images attach

You must be registered for see images attach

You must be registered for see images attach

You must be registered for see images attach
VERSION:

  • 1.0
    • base version
  • 1.1
    • kleine Anpassung an den Scripten
    • "7. Check MACs" kann man jetzt auswählen, ob "All MACs" oder "Only new MACs". Bei "Only new MACs", werden nur MACs geprüft, die vorher noch nicht geprüft worden sind. Sprich, wenn man neue MACs hinzufügt müssen nicht alle alten noch mal den Check durchlaufen.
  • 1.2
    • hatte den check nach Doppelten MACs beim hinzufügen neuer MACs kaputt gemacht in der letzten Version. fixed
    • außerdem hatte ich auch die Anzeige der MAC Adressen im Portal Menu zerstört. fixed
  • 1.3
    • Skripte laufen jetzt größtenteils ohne "sudo" Rechte, was die Sache sicherer macht. Um dies zu erreichen, wird der User zur Gruppe www-data hinzugefügt. Das wird durch das main.sh Script beim Start gecheckt.
  • 1.4
    • noch mal an den Berechtigungen rumgebastelt, sollte jetzt noch mal "besser" sein
    • iptv_proxy.sh Script angepasst. Es wird jetzt ein Logfile geschrieben, um besser zu verstehen, was das Portal an Rückmeldung gibt. Außerdem die Überprüfung der Stream Links ausgebaut. Einen gültigen Stream Link bekommt man jetzt mit deutlich höherer Wahrscheinlichkeit.
  • 1.41
    • vergessen was vom testen rauszunehmen, wodurch bei einigen Portalen nicht mehr alles funktioniert. fixed
  • 1.5
    • main.sh Script checkt am Anfang wieder die benötigten Pakete und fragt, ob diese installiert werden sollen, wenn nicht vorhanden
  • 1.6
    • ein paar kleinere Anpassung, wo ich schon wieder vergessen habe, was es genau war
    • das iptv_proxy.sh Script angepasst. Bisher hat das script so lange zufällig MAC Adressen ausgewählt, bis es eine funktionierende hat. Das kann zu Situationen führen, wo so viele Adressen probiert werden, bis man vom server gesperrt wird. Jetzt werden Standardmäßig nur 5 MAC Adressen probiert. Im Menü gibt es eine neue Option "Proxy Script Setup", hier kann man diesen Wert (Max MAC Attempts per request) abändern.
      Außerdem neu, es wird pro MAC Adresse eine Art Statistik angelegt in der Datei "mac_stats.txt. Hier wird festgehalten, bei wie vielen Anfragen eine MAC benutzt wurde und wie viele davon erfolgreich waren. Daraus wird ein Wert ermittelt und "erfolgreiche" MACs werden bevorzugt benutzt. Dazu kann man einstellen, ab wann dieser Wert benutzt werden soll. Standardmäßig erst wenn eine MAC für mindestens 10 Anfragen genutzt wurde. Auch diesen Wert (Min Stats Attempts Threshold) kann man ändern unter "Proxy Script Setup".
  • 1.7
    • ein paar Optische Anpassungen. (am besten die Datei dialogrc_custom löschen)
    • neue Option, um ein paar System Informationen anzuzeigen
    • neue Option, Portal Statistiken anzuzeigen
    • neue Option, pro Portal kann man sich ansehen, wie "erfolgreich" eine MAC Adresse ist
  • 1.8
    • Wieder ein paar optische Anpassungen. Vor allem Portal Info mit mehr Informationen ausgestattet.
    • Das erstellen der m3u Playlist angepasst. Zum einem ist die Erstellung jetzt schneller, da immer 5 Kanäle parallel abgefragt werden.
      Manche Portale antworten anders auf die Kanal Abfrage, so dass die Erstellung manchmal nicht klappt. Eine Überprüfung hinzugefügt, die jetzt hoffentlich immer erkennt, wie die Daten vom Portal bereitgestellt werden und darauf reagiert.
  • 1.81
    • Portal Info Anzeige korrigiert
  • 1.82
    • wenn keine Kanäle gefunden werden, wird keine Playlist mehr erstellt
  • 1.90
    • hier und da Bugs entfernt, kann mich aber nicht an alle erinnern
    • VOD hinzugefügt
      • Man kann sich jetzt pro Portal auch M3U Listen für VOD Inhalte erstellen lassen. Ich habe das nur rudimentär mit 2 Portalen getestet. Die VOD M3U ist dann erreichbar unter " "
    • Ablaufdatum
      • es gibt wohl Portale die ein hartes Limit haben, was Anfragen zu verschiedenen MACs und deren Ablaufdatum haben. Beim erstellen von einem Portal, wird man jetzt nach einem "MAC check delay" gefragt. Hier muss man ausprobieren, wie tief man damit gehen kann. Bei vielen Portalen ist auch 0 kein Problem.
      • um das für vorhandene Portale zu aktiveren, entweder einmal Portal löschen und neu hinzufügen oder die eigene "portals.list" anpassen. Und zwar ganz am Ende, hinter der MAC, folgendes einfügen "|1" (die 1 würde hier jetzt für 1 Sekunde Delay stehen)
      • wenn vom Portal keine Infos zum Ablaufdatum kommt, wird die MAC jetzt trotzdem berücksichtigt, solange weiterhin die Kategorie verfügbar ist
    • Routing durch ein bestimmtes Netzwerkinterface
      • ACHTUNG -> die Funktion funktioniert zwar, aber ob dann wirklich alles sauber durch das bestimmte Interface läuft, garantiere ich nicht
      • im gleichen Ordner, wie das Script eine Datei erstellen "vpn_interface.conf". Hier dann einfach sein gewünschtes Netzwerk Interface reinschreiben
      • die Funktion ist völlig optional, man kann die Datei auch einfach weglassen oder leer lassen
  • 1.91
    • XMLTV Funktion hinzugefügt.
      • Live TV M3U wird jetzt mit tvg-id="" und tvg-chno="" erstellt, wenn die Daten beim Portal vorhanden sind
      • VOD M3U wird jetzt mit vg-logo="" erstellt, wenn die Daten beim Portal vorhanden sind
  • 2.00
    • alle scripts noch mal angepasst und aufgeräumt
    • simples Webinterface hinzugefügt
      • aufrufbar über den eingestellten Proxy Hostname (Beispiel )
  • 2.01
    • kleiner hotfix
  • 2.10
    • kleine Anpassungen Log Ausgabe
    • Für die Auswahl der MACs stehen jetzt drei Verschiedene Verfahren zur Auswahl, diese werden automatisch vom iptv_proxy.sh ausgewählt. Diese sind aufgeteilt in Q > B > R. Um die Systemlast zu mindern, wurde dafür ein kleines Python helper script erstellt.
      • Q = Qualifizierte MACs, die sowohl die Schwellenwerte für die Anzahl der Versuche als auch für die Erfolgsquote erfüllen; sie werden nach der Quote absteigend sortiert und zuerst ausgegeben.
      • B = Best-Effort-MACs: Sobald keine Q-Einträge mehr vorhanden sind (Schwellenwerte nicht erreicht), versucht der Proxy diese nach Erfolgsquote geordnete B-Liste als Fallback, bevor er auf die reine Zufallsliste zurückgreift.
      • R = Zufällige Fallback-MACs, denen entweder Statistiken fehlen oder die die Schwellenwerte nicht erreicht haben; sie werden dennoch ausgegeben, damit der Proxy sie gemischt anhängen kann, wenn keine qualifizierten MACs funktionieren.
    • iptv_proxy.sh sammelt die Q-Zeilen und mischt sie pro Anfrage. Wenn die Q-Liste leer ist, aber B-Einträge vorhanden sind, behandelt es diese als geordnete Liste. Unabhängig davon werden R-Zeilen immer gemischt und nach dem priorisierten Satz angehängt, wodurch sichergestellt wird, dass jede Anfrage zuerst die besten MACs ausprobiert, aber dennoch über einen deterministischen Fallback-Pfad verfügt.
    • "3. Proxy Settings" -> "4. Proxy Script Setup" ->
      • "Min Stats Attempts Threshold", hier wird ein Minimum festgelegt, ab wie vielen Abfragen die Statistik rangezogen wird.
      • "Min Success Rate (0-1)", hier wird in Prozent angegeben, wie erfolgreich eine MAC sein soll, um berücksichtigt zu werden. (z.B. 0.8 = 80%)
  • 2.20
    • Anpassungen an der stats website
    • div. Scripte noch mal angepasst und mögliche Fehler Quellen beseitigt
    • die Auswahl der MAC Adresse angepasst
      • die Änderungen in der letzten Version konnten dazu führen, dass sich Clients gegenseitig aus dem Stream werfen, da dieselbe MAC für jede Anfrage genommen wurde. Hier einige Funktionen eingebaut, die das verhindern sollten
  • 2.21
    • Berechtigungen werden jetzt vom main.sh script "besser" geprüft und ggf. angepasst
    • "Configure Nginx for Proxy" fixed
      • hier waren Fehler drin
      • Logging verbessert, damit man direkt sieht, wenn es Fehler in der Ausführung gibt
    • "Proxy Script Setup" überarbeitet und mehr Einstellmöglichkeiten hinzugefügt
      • über "MAC Cooldown seconds" kann man die Zeit einstellen, wie lange MACs nach einem Erfolg gesperrt werden sollen. Mit 0 Sekunden deaktiviert man die Funktion
    • "MAC Usage Stats" hat eine neue Funktion "Remove Low Success MACs"
      • hiermit kann man MACs aus seiner Liste (pro Portal) entfernen, die nicht gut genug performen
      • man kann angeben, mit welcher Erfolgsquote und wie vielen Versuchen eine MAC entfernt werden soll
  • 2.22
    • Prüfung auf nötige Pakte ausgeweitet, rsync wird jetzt auch geprüft
    • System Information zeigt jetzt alle nötigen Pakete und Version an
    • iptv_proxy.sh hat ein paar checks dazu bekommen
 

Anhänge

You must be registered for see attachments list
Zuletzt bearbeitet:
Also, Server läuft soweit, aber es kommt im Portal Menu unter "3. Select Categories" nichts an.
Muss dazu sagen, dass ich mich mit nginx bisher noch nicht beschäftigt habe. Finde keine nginx.conf auf den Server?
Folgende Ordner durchsucht: /usr/local/nginx/conf, /etc/nginx oder /usr/local/etc/nginx
Muss man die erst selber anlegen?
 
systemctl status nginx

Dann siehste, ob überhaupt installiert und damit Laufen.
 
Zuletzt bearbeitet:
Habe es noch nicht ausprobiert, aber laut script sollte die conf dort sein:
/etc/nginx/sites-available/iptv_proxy
 
@salidos
Ist installiert und läuft.
* nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-04-24 10:35:49 UTC; 1min 34s ago
Docs: man:nginx(8)
Process: 273 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 279 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 287 (nginx)
Tasks: 2 (limit: 18737)
Memory: 3.2M (peak: 3.4M)
CPU: 9ms
CGroup: /system.slice/nginx.service
|-287 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
`-289 "nginx: worker process"

Apr 24 10:35:49 invictus systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Apr 24 10:35:49 invictus systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.

@seppfx
Nein, die fehlt unter /etc/nginx/sites-available/iptv_proxy und auch sonst auf dem Server nicht zu finden.
 
Komisch, bei mir ist sie da.
You must be registered for see images attach
 

Anhänge

You must be registered for see attachments list
@remz , also "3. Select Categories" hat erstmal noch gar nichts mit nginx zu tun. nginx kommt erst ins spiel, wenn du Kanäle aufrufen willst.
Das Portal funktioniert aber?

Hast du "4. Configure Nginx Proxy" ausgeführt?
 
Habe es noch mal neu in einer VM aufgesetzt.
Wenn du den Stalker Portal Manager von dir meinst, ja.
Bleibe aber bei 3. Select Categories hängen, liest da nichts ein.
Habe da jetzt schon einige Portale getestet, immer die gleichen Fehlermeldungen.
Unter /var/www/stalker/von mir angegebenes Portal sind macs.txt, config, macs_info.txt vorhanden, bekomme aber immer Fehlermeldungen (siehe Spoiler).
An den Portal oder macs die eingetragen habe kann es nicht liegen, da diese in andere Manager wie von salidos oder xtreammulti laufen.

4. Configure Nginx Proxy ja, habe ich.

You must be registered for see images attach

You must be registered for see images attach

You must be registered for see images attach
 

Anhänge

You must be registered for see attachments list
Zuletzt bearbeitet:
Also die Software bekommt kein Handshake mit dem Server hin, somit können die Kategorien nicht abgerufen werden.
Wenn du magst, schick mir mal das Portal und ein paar MACs, dann schaue ich mal.

Oder probier mal selber eine andere MAC. Für das abrufen der Kategorien wird immer die eine genommen, die man bei den Portal Daten einträgt.
 
Update auf 1.1
  • kleine Anpassung an den Scripten
  • "7. Check MACs" kann man jetzt auswählen, ob "All MACs" oder "Only new MACs". Bei "Only new MACs", werden nur MACs geprüft, die vorher noch nicht geprüft worden sind. Sprich, wenn man neue MACs hinzufügt müssen nicht alle alten noch mal den Check durchlaufen.
 
UPDATE auf 1.2
  • hatte den check nach Doppelten MACs beim hinzufügen neuer MACs kaputt gemacht in der letzten Version. fixed
  • außerdem hatte ich auch die Anzeige der MAC Adressen im Portal Menu zerstört. fixed

Zum Update könnt ihr einfach die Daten überschreiben. Wichtig nur die Daten aus "/var/www/stalker" nicht löschen und im Script Ordner, "portals.list" und "proxy_server.conf" nicht löschen.
 
Zuletzt bearbeitet:
UPDATE auf 1.3
  • Skripte laufen jetzt größtenteils ohne "sudo" Rechte, was die Sache sicherer macht. Um dies zu erreichen, wird der User zur Gruppe www-data hinzugefügt. Das wird durch das main.sh Script beim Start gecheckt.
 
ich wollte das mal testen auf einem Pi3 mit ubuntu
immer wenn ich ein Portal erstelle kriege ich eine Fehlermeldung "Fehler beim schreiben o.ä."
muss ich das als Root ausführen?
 
Eigentlich fragt das Script, wenn es sudo Rechte braucht. Aber probier doch mal "sudo ./main.sh" und berichte mal bitte.
 
Zurück
Oben