Skip to content

Denfie/streamseeker

Repository files navigation

StreamSeeker

Dein persönlicher Tracker für Serien, Animes und Filme auf aniworld.to und s.to. Markiere Favoriten, baue eine eigene Sammlung auf, sieh auf einen Blick wo es neue Staffeln oder Episoden gibt, und spring mit einem Klick direkt auf die Serien-Seite.

Inhalt

StreamSeeker besteht aus drei Teilen, die dieselbe Funktionalität anbieten — du wählst nur, ob du sie über das Terminal oder den Browser bedienen willst:

  1. CLI (Python) — Kernstück, läuft lokal auf macOS, Linux und Windows.
  2. Daemon — Hintergrunddienst mit lokaler HTTP-API (http://127.0.0.1:8765), die als gemeinsame Schnittstelle für CLI und Extension fungiert.
  3. Chrome-Extension — bietet denselben Funktionsumfang wie die CLI direkt im Browser: Sammlung pflegen, Favoriten setzen, Updates erkennen, Episoden gezielt zur Bearbeitung markieren, Metadaten verwalten, lokalen Sammlungsordner öffnen.

Beide Oberflächen greifen auf denselben Datenbestand unter ~/.streamseeker/ zu — alles, was du im Terminal anlegst, ist sofort auch in der Extension sichtbar und umgekehrt.

Streamseeker usage

Features

  • Favoriten-Liste — Serien, Animes oder Filme markieren und jederzeit wiederfinden.
  • Eigene Sammlung — automatisch gepflegt, sortierbar nach Plattform, filterbar auf Favoriten.
  • Neu-Erkennung — ein Background-Check meldet, sobald eine neue Staffel oder Episode auf der Quell-Seite erschienen ist. Die Extension zeigt das mit einem ⭐-Indikator am Karten-Titel und einem eigenen "Neu"-Tab.
  • Metadaten — deutsche Overviews, Cover, Backdrop, Rating, Genres und FSK-Badges (wenn ein TMDb-Key konfiguriert ist). Provider-Kette pro Plattform konfigurierbar: AniList / Jikan / TMDb / TVmaze.
  • Quick-Jump — Klick auf einen Sammlungs-Eintrag öffnet direkt die Seite bei aniworld.to / s.to.
  • Status-Indikatoren direkt auf der Quell-Seite — Staffel-Badges, Episoden-Icons und Favoriten-Stern werden per Content-Script in die Original-Seite eingeblendet.

Installation

Voraussetzungen

  • Python 3.11 oder neuer (macOS / Linux / Windows)
  • FFmpeg im PATH
    • macOS: brew install ffmpeg
    • Linux: apt install ffmpeg (oder Äquivalent)
    • Windows: winget install Gyan.FFmpeg

Kein Poetry mehr nötig — das Paket ist PEP 621-konform und installiert sich mit Standard-pip bzw. pipx.

StreamSeeker benutzen

Zwei Wege: pipx (empfohlen, Launcher auf dem PATH) oder editable pip install für Entwickler.

Variante A — pipx (empfohlen)

pipx installiert CLI-Tools in isolierten Virtualenvs und legt einen Launcher auf den PATH. Einmal installiert läuft streamseeker von überall.

# pipx einmalig installieren
brew install pipx           # macOS
# oder: python3 -m pip install --user pipx && pipx ensurepath
# oder: apt install pipx    # Ubuntu 23.04+

# StreamSeeker aus dem Git-Repo installieren (ohne Checkout)
pipx install git+https://github.com/Denfie/streamseeker.git

# Update auf die neueste Version
pipx upgrade streamseeker

Alternativ aus einem lokalen Checkout:

git clone https://github.com/Denfie/streamseeker.git
pipx install ./streamseeker

Nach der Installation ist streamseeker auf dem PATH. Fertig.

Variante B — Editable pip install (für Entwickler)

Wenn du am Code arbeiten oder Tests laufen lassen willst: Klonen, venv erstellen, editable installieren.

git clone https://github.com/Denfie/streamseeker.git
cd streamseeker
python3 -m venv .venv
source .venv/bin/activate               # Linux / macOS
# .\.venv\Scripts\activate              # Windows

pip install -e '.[dev]'                 # Runtime + Test-Deps
pytest                                  # Tests
streamseeker daemon start               # CLI läuft direkt

Das Repository hat auch einen Makefile als Komfort-Wrapper:

make install-dev     # pip install -e '.[dev]'
make test            # pytest
make daemon-start    # streamseeker daemon start

Datenablage

StreamSeeker legt alle Runtime-Daten unter ~/.streamseeker/ ab (Sammlung, Favoriten, Metadaten, Cover, Logs). Der Pfad lässt sich über die Umgebungsvariable STREAMSEEKER_HOME umbiegen.

Daemon starten

Der Daemon hält die HTTP-API bereit, an die sich die Chrome-Extension hängt.

streamseeker daemon start

Der Daemon lauscht dann auf http://127.0.0.1:8765. Status prüfen:

streamseeker daemon status

Autostart beim System-Login (macOS LaunchAgent / Linux systemd user unit):

streamseeker daemon install-autostart

Chrome-Extension installieren

streamseeker install-extension

Das Command kopiert die Extension nach ~/.streamseeker/extension/ und öffnet chrome://extensions/. Dort:

  1. Developer Mode oben rechts aktivieren.
  2. Load Unpacked klicken.
  3. Ordner ~/.streamseeker/extension/ auswählen.
  4. Chrome fragt beim ersten Öffnen einer unterstützten Seite nach der Berechtigung, auf die Seite zuzugreifen (Popup über dem Puzzle- Icon bzw. direkt beim ersten Content-Script-Inject). Diesen Zugriff einmalig erlauben — sonst bleibt die Seite "stumm" und es erscheinen keine Badges/Icons.

Nach der ersten Installation kann es nötig sein, bereits geöffnete Tabs von aniworld.to / s.to einmal neu zu laden, damit die Content-Scripts greifen. Danach: Favoriten-Stern neben dem Serien- Titel, Staffel-/Episoden-Badges in der Übersicht, Klick aufs Extension- Icon öffnet das Popup mit Sammlung, Status und Updates.

So sieht das in der Praxis aus

Status-Indikatoren auf der Serien-Seite
Status-Indikatoren direkt auf der Serien-Seite
Episoden-Badges in der Tabelle
Farbige Episoden-Badges in der Folgen-Tabelle
Popup mit Sammlung
Popup-Übersicht — Sammlung, Filter, FSK-Badges
Detail-Modal
Detail-Modal mit Cover, Metadaten und Aktionen
Settings-Tab
Settings-Tab — Daemon-Pfade, Provider, max. parallele Downloads, TMDb-Key

Optional: TMDb-API-Key für Metadaten

Damit Cover, deutsche Overviews und FSK-Badges befüllt werden, trage deinen TMDb-Key in ~/.streamseeker/config.credentials.json ein:

{ "tmdb_api_key": "DEIN_KEY" }

AniList, Jikan und TVmaze laufen ohne Key. Fehlt der TMDb-Key, fällt StreamSeeker lautlos auf die keyfreien Provider zurück.

CLI-Befehle (Auszug)

streamseeker run                      # interaktives Hauptmenü
streamseeker library list             # Sammlung als Tabelle
streamseeker library stats            # Zusammenfassung
streamseeker favorite add <stream> <slug>
streamseeker library refresh --all    # Metadaten für alle Einträge neu holen
streamseeker daemon start|stop|status|logs

Volle Befehlsliste: streamseeker --help.

Unterstützte Plattformen

  • AniWorld (aniworld.to)
  • Serie Stream (s.to)

Rechtlicher Hinweis

StreamSeeker ist ein Werkzeug zur persönlichen Organisation und Status-Anzeige. Dieses Projekt ist ausdrücklich zu Bildungszwecken entstanden und zeigt, was mit Python möglich ist. Jede Nutzung für illegale Zwecke ist untersagt. Der Autor übernimmt keine Haftung für missbräuchliche Verwendung des Tools.

Lizenz

MIT — siehe LICENSE.

About

Python project with an interactive terminal behavior for searching and downloading from different platforms.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors