feat: torrent streaming with hls transcoding (#1)

* feat: add ffmpeg for hls streaming

* feat: torrent streaming with hls transcoding

- add nyaa.si torrent search client
- add streaming service using anacrolix/torrent
- add hls transcoding via ffmpeg for browser playback
- add watch page with episode selection
- add socks5 proxy support via TORRENT_PROXY env
- switch to modernc.org/sqlite (pure go, no cgo conflicts)
- update dockerfile with ffmpeg
This commit is contained in:
2026-04-07 13:23:08 +02:00
committed by GitHub
parent 579b194eb9
commit a25e8f1655
27 changed files with 3744 additions and 329 deletions

View File

@@ -169,3 +169,24 @@ func (a Anime) DisplayTitle() string {
}
return a.Title
}
// Episode represents a single anime episode from Jikan API
type Episode struct {
MalID int `json:"mal_id"`
Title string `json:"title"`
TitleJP string `json:"title_japanese"`
TitleRom string `json:"title_romanji"`
Aired string `json:"aired"`
Filler bool `json:"filler"`
Recap bool `json:"recap"`
}
type EpisodesResponse struct {
Data []Episode `json:"data"`
Pagination Pagination `json:"pagination"`
}
type EpisodesResult struct {
Episodes []Episode
HasNextPage bool
}