No description
- C# 100%
| SerienStreamAPI | ||
| SerienStreamDownloaderApp | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| SerienStreamAPI.sln | ||
SerienStream Downloader (stodk)
Desktop application and .NET library for searching, resolving, and downloading series and movies from s.to, aniworld.to, and filmo.to.
Features
- Platform Support:
- s.to and aniworld.to: Season and episode navigation, batch stream extraction, and audio track filtering.
- filmo.to: Movie discovery with CSRF token minting, intermediary landing page resolution, and Byse and VOE provider support.
- Stream Resolution:
- Direct URL extraction for VOE, Byse, Streamtape, Doodstream, and Vidoza.
- Embedded WebView2 fallback resolver with automated network traffic sniffing for HLS master playlists and direct MP4 streams.
- Download Queue:
- Multi-threaded worker queue with configurable concurrency (Auto, 1, 2, 3, or 4 parallel downloads).
- Integration with FFmpeg for HLS stream muxing and progress tracking.
- Output Formatting:
- Automatic file naming without special characters or underscores.
- Movies:
Title (Year).mp4 - Multi-part Movies:
Title (Year) Part 01.mp4 - Series Episodes:
Title S01E01 (Year) - Audio - Provider.mp4
- State Persistence:
- Automatically saves and restores last used host URL, site path, output folder, preferred audio, media type, and concurrency settings.
- Build Optimization:
- Deterministic Release builds with debug symbols disabled and local developer paths removed.
Requirements
- Operating System: Windows 10 (version 1809 or higher) or Windows 11 (x64)
- Runtimes:
- Microsoft Edge WebView2 Runtime (included with Windows 11; installable on Windows 10)
- .NET 8 Runtime (only needed when running non-contained builds; self-contained releases include all dependencies)
- Tools:
- FFmpeg executable (
ffmpeg.exe) accessible via systemPATHor selected via the application interface.
- FFmpeg executable (
Installation and Setup
Pre-built Executable
- Download
SerienStreamDownloaderApp-v1.0.0-win-x64.rarfrom the Releases section. - Extract the archive using WinRAR, 7-Zip, or Windows Explorer.
- Run
SerienStreamDownloaderApp.exe. No .NET runtime installation is required.
Building from Source
Prerequisites: .NET 8 SDK
# Clone the repository
git clone https://git.maggi.dev/Maggi/stodk.git
cd stodk
# Restore and build the solution
dotnet restore .\SerienStreamAPI.sln
dotnet build .\SerienStreamAPI.sln -c Release
# Run the desktop application
dotnet run --project .\SerienStreamDownloaderApp\SerienStreamDownloaderApp.csproj
Publishing a Self-Contained Executable
To produce a single-file executable without debug symbols:
dotnet publish .\SerienStreamDownloaderApp\SerienStreamDownloaderApp.csproj `
-c Release `
-r win-x64 `
--self-contained true `
-p:PublishSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true `
-p:DebugType=none `
-p:DebugSymbols=false `
-o .\publish
Usage
- Select Connection Settings:
- For series: Set Host URL to
https://s.to(orhttps://aniworld.to) and Site Path to the series slug (for example,serie/stream/dr-stone). - For movies: Set Host URL to
https://filmo.toand Site Path to the movie slug (for example,movies/star-wars-die-letzten-jediormovies/shutter-island).
- For series: Set Host URL to
- Configure Media Search:
- Choose Media Type:
EpisodeorMovie. - Set Preferred Audio:
German,English, orAny. - Specify Season and Episode numbers if searching for series.
- Click Load Streams.
- Choose Media Type:
- Queue Downloads:
- Select one or more streams from the table.
- Choose an output folder via Browse.
- Set the parallel download worker count (Auto or 1 to 4).
- Click Add Selected To Queue.
- Process Queue:
- Click Start Queue to begin downloading with FFmpeg.
- If an external hoster requires bot verification, the embedded resolver opens automatically. Complete the check or start playback once; the application detects the stream URL and resumes the download.
Project Structure
stodk/
├── SerienStreamAPI/ # Class library for scraping, API client, and extraction
│ ├── Client/ # SerienStreamClient, DownloadClient
│ ├── Enums/ # Hoster, Language, MediaType definitions
│ ├── Exceptions/ # API and extraction exception types
│ ├── Internal/ # RequestHelper, HTML parsers, string extensions
│ └── Models/ # VideoDetails, VideoStream, Episode data structures
├── SerienStreamDownloaderApp/ # WPF desktop user interface
│ ├── App.xaml # Application resources and styling
│ ├── MainWindow.xaml # Primary application window and queue controls
│ ├── MainWindow.xaml.cs # UI logic, downloader orchestration, config storage
│ ├── BrowserResolverWindow.xaml # WebView2 embedded browser window
│ └── BrowserResolverWindow.xaml.cs# Network protocol interception and media sniffing
├── SerienStreamAPI.sln # Visual Studio solution file
├── LICENSE # GNU General Public License v3.0
└── README.md # Documentation
License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for the full license text.
Credits and Disclaimer
- Developed and maintained by Maggi (
maggi@maggi.dev). - Original API foundation based on SerienStreamAPI by IcySnex - Heavily Modified.
This software is intended strictly for personal and educational use. Users are responsible for ensuring compliance with local laws, copyright regulations, and terms of service of the respective platforms.