A collection of standalone Python resolvers that scrape streaming URLs from various embedded video providers. Designed for use with Android applications via a Python bridge, replacing the need for a Kodi UI dependency.
- TMDB + Anime resolvers — video stream extraction from 16 sources
- Live TV playlists — M3U parsing from 9 providers (Xumo, Tubi, PlutoTV, etc.)
- Torrent providers — magnet/direct streams from TorrentDL, Torrentio, Comet, EasyNews
- Consistent output — every resolver returns a unified JSON structure
- Aggregate modes — run groups at once (
get_all_tmdb.py,get_all_livetv.py,get_all_torrents.py) - No Kodi dependency — fully standalone Python 3 scripts
- Python 3.8+
- pip
Install with:
pip install -r requirements.txt| Package | Used by |
|---|---|
requests |
HTTP requests |
beautifulsoup4 |
HTML parsing |
websocket-client |
WebSocket streams (StreamFlix) |
pycryptodome |
AES/DES3 decryption |
Each resolver accepts a TMDB ID or TMDB URL, plus optional media type, season, and episode.
# TMDB resolver (movie)
python providers/tmdb/castle.py 550
# TMDB resolver (TV show)
python providers/tmdb/vidlink.py 1396 --type tv --season 1 --episode 1
# Anime resolver
python providers/anime/anizone.py 550
# Pretty-print
python providers/tmdb/fsharetv.py 550 --prettyRun all TMDB + anime resolvers at once:
python get_all_tmdb.py 550
python get_all_tmdb.py 1399 --type tv --season 1 --episode 1 --prettyFetch all live TV playlists in one command:
python get_all_livetv.pyRun all torrent/Usenet providers:
python get_all_torrents.py 550
python get_all_torrents.py 1399 --type tv --season 1 --episode 1
python get_all_torrents.py 550 --realdebrid YOUR_KEY --username YOUR_EN_USER --password YOUR_EN_PASS# TMDB resolver
python providers/tmdb/castle.py 550
# Anime resolver
python providers/anime/hianime.py 276880 --type tv --season 1 --episode 1
# Live TV playlist
python providers/livetv/xumo.py
# Torrent provider
python providers/torrent/torrentio.py 550
python providers/torrent/comet.py 550 --realdebrid YOUR_KEY
python providers/torrent/easynews.py 550 --username USER --password PASSNote: The ShowBox resolver requires a
--ui-cookie:python get_all_tmdb.py 550 --ui-cookie "your_token"To get the cookie:
- Go to febbox.com and log in with Google (use a fresh account)
- Open DevTools (
F12) → Application tab → Cookies- Copy the
uicookie's value- Close the tab — do not log out
| Module | Source | Type |
|---|---|---|
xumo |
Xumo Playlist | M3U → JSON |
tubi |
Tubi Playlist | M3U → JSON |
yupptv |
YuppTV Playlist | M3U → JSON |
us_local |
US Local Channels | M3U → JSON |
samsung |
Samsung TV Plus | M3U → JSON |
roku |
Roku Channel | M3U → JSON |
lgtv |
LG TV Channels | M3U → JSON |
iptv_org |
IPTV-org Global | M3U → JSON |
plutotv |
PlutoTV API | API → JSON |
| Module | Source | Requires |
|---|---|---|
torrentdl |
TorrentDL RSS | — |
torrentio |
Torrentio Stremio | — |
comet |
Comet (elfhosted) | Debrid API key(s) |
easynews |
EasyNews Usenet | Username + password |
| Module | Class | Site | Movies | TV |
|---|
| Module | Class | Site | Movies | TV |
|---|---|---|---|---|
anizone |
AniZoneResolver |
AniZone (anizone.to) | ✓ | ✓ |
hianime |
HiAnimeResolver |
HiAnime (MegaPlay/Vidwish/MegaCloud) | ✓ | ✓ |
| Module | Class | Site | Movies | TV |
|---|---|---|---|---|
castle |
CastleResolver |
Castle (hlowb.com) | ✓ | ✓ |
fsharetv |
FshareTvResolver |
FshareTV (fsharetv.cc) | ✓ | ✗ |
hdhub |
HdHubResolver |
HdHub | ✓ | ✓ |
movieblast |
MovieBlastResolver |
MovieBlast | ✓ | ✓ |
moviesdrive |
MoviesDriveResolver |
MoviesDrive | ✓ | ✓ |
netmirror |
NetMirrorResolver |
NetMirror (NewTV) | ✓ | ✓ |
showbox |
ShowBoxResolver |
ShowBox / FebBox | ✓ | ✓ |
streamflix |
StreamFlixResolver |
StreamFlix | ✓ | ✓ |
vidapi |
VidApiResolver |
VidApi (vaplayer.ru) | ✓ | ✓ |
vidlink |
VidlinkResolver |
Vidlink (vidlink.pro) | ✓ | ✓ |
vidnest |
VidNestResolver |
VidNest (vidnest.fun) | ✓ | ✓ |
vidrock |
VidrockResolver |
Vidrock (vidrock.net) | ✓ | ✓ |
vidzee |
VidzeeResolver |
Vidzee (player.vidzee.wtf) | ✓ | ✓ |
vixsrc |
VixSrcResolver |
VixSrc (vixsrc.to) | ✓ | ✓ |
{
"status": "success",
"tmdb_id": "550",
"playable_urls": [
{
"url": "https://cdn.example.com/stream.m3u8",
"quality": "1080p",
"type": "hls",
"headers": {
"Referer": "https://example.com",
"User-Agent": "Mozilla/5.0 ..."
},
"server": "SourceName"
}
]
}{
"status": "error",
"message": "No playable streams found"
}{
"status": "success",
"input": {
"url_or_id": "550",
"media_type": "movie",
"season": null,
"episode": null
},
"resolvers": {
"castle": { "status": "success", "playable_urls": [...] },
"fsharetv": { "status": "error", "message": "..." },
"hdhub": { "status": "skipped", "message": "..." }
},
"total_playable_urls": 5
}| Argument | Description |
|---|---|
url_or_id |
TMDB ID (e.g. 550) or TMDB URL (e.g. https://www.themoviedb.org/movie/550) |
--type |
movie or tv (default: movie) |
--season |
Season number (TV only) |
--episode |
Episode number (TV only) |
--debug |
Enable verbose debug output |
--pretty |
Pretty-print the JSON result |
--ui-cookie |
FebBox UI token (ShowBox only) |