Files

53 lines
2.0 KiB
Markdown

# xStream Downloader
Web-basierter Downloader für Streaming-Seiten. Aus xStream (Kodi Addon) extrahiert und als eigenständiger Python-Server lauffähig gemacht.
## Quick Start
```bash
cd xstreamDownloader
python3 app.py
# → http://localhost:8765
```
## Features
- **18 Streaming-Sites**: AnimeToast, AniWorld, BurningSeries, FilmPalast, HD Filme, KinoGer, KKiste, Megakino, NetzKino, SerienStream, Streamcloud, u.a.
- **Web-Interface**: Sidebar mit Sites, Grid-Ansicht für Filme/Serien, Hoster-Auswahl, Download-Liste
- **Download-Manager**: Parallele Downloads mit Fortschrittsanzeige
- **Site-spezifische Cookies**: AniWorld, FHDFilme, HDFilme
## Architektur
```
xstreamDownloader/
├── app.py # Flask-Server (API + Web-Interface, XBMC-konformer Wrapper)
├── web/index.html # Single-Page Frontend (Vanilla JS)
├── xstream/
│ ├── sites/ # Site-Plugins (eines pro Streaming-Seite)
│ └── resources/lib/ # xStream Core (GUI, Player, Handler)
├── deps/ # Abhängigkeiten (resolveurl, requests, six, kodi_six, pyaes)
├── cookies/ # Session-Cookies für authentifizierte Sites
└── downloads/ # Heruntergeladene Dateien
```
## API Endpoints
| Endpoint | Beschreibung |
|----------|--------------|
| `GET /api/sites` | Liste aller Sites |
| `GET /api/sites/<id>/entries` | Einträge einer Site |
| `GET /api/sites/<id>/search?q=...` | Suche auf einer Site |
| `GET /api/sites/<id>/hosters?url=...` | Hoster für einen Eintrag |
| `GET /api/resolve?url=...` | URL auflösen |
| `POST /api/download?url=...&title=...` | Download starten |
| `GET /api/downloads` | Download-Status |
| `GET /api/downloads/<id>/file` | Download-Datei herunterladen |
## Tech Stack
- **Backend**: Python 3, Flask, Multiprocessing
- **Frontend**: Vanilla JS, CSS Grid
- **Scraping**: xstream Core (aus Kodi Addon extrahiert)
- **XBMC-Wrapper**: Mock-Module für xbmc/xbmcgui/xbmcplugin/xbmcvfs/xbmcaddon