Improve task scheduling and error handling in custom_dl.py
Karan Adhikari
Unverified signature
7ef97b4
Refactor producer and consumer functions to manage scheduled tasks and handle exceptions more gracefully.
`Telegram-Stremio v5.0.0`
Karan Adhikari
Unverified signature
2c41c5f
♻️ Full codebase refactor — cleaner, DRY, no lazy imports, duplicate functions merged.
🔐 Security • Admin password now hashed (PBKDF2) • Session secret moved to WebUI settings + 🎲 generate button • Crash-safe config parsing
🐛 Fixes • No more re-login on restart (persistent session secret) • Dead-Link Checker MongoDB CursorNotFound fixed • Unified TMDB access + response caching
🧹 Cleanup • Merged redundant helpers, fixed typos
⚡ Faster, safer, cleaner. Just restart to update.
Fix split-file speedtest
Karan Adhikari
Unverified signature
ade0349
V-3.5.0
Karan Adhikari
Unverified signature
bec6dd3
* Fix dead-link checker
* Stage 1 refactor
Minor
Karan Adhikari
Unverified signature
9798ddb
Update README.md
Karan Adhikari
Unverified signature
ed319ba
Update README.md
Karan Adhikari
Unverified signature
3a7c68e
Fix split files
Karan Adhikari
Unverified signature
a7a3ad7
Add Hugging Face Spaces deploy
Karan Adhikari
Unverified signature
c34724b
Add title-similarity guard to anime AniList matching
Karan Adhikari
Unverified signature
7be61ca
Add Anime Support + fix auto catalog
Karan Adhikari
Unverified signature
e2c4766
Combined file Support
Karan Adhikari
Unverified signature
580ed85
Support combined episode files under a special season for Stremio
Combined episode files (e.g. "S01 [E04-06]") and whole-season
"Combined" files are now indexed under a special season, so they
appear and play in Stremio.
Recommended setup — give this addon priority over Cinemeta:
- Stremio: arrange the Telegram Stremio addon above the Cinemeta
addon using https://addon-manager.dontwanttos.top/
- Nuvio: in the Addons section, move Telegram Stremio to the top
(before the Cinemeta addon).
Limitation -
Combined files doesn't work in global search.
UI: redesign templates
Karan Adhikari
Unverified signature
ef88983
Fix replace mode for split file
Karan Adhikari
Unverified signature
076b7d8
Update metadata.py
Karan Adhikari
Unverified signature
ba0024e
Fix Duplicate Issue
Karan Adhikari
Unverified signature
dfbfa7a
Fix Subscription system
Karan Adhikari
Unverified signature
3e18b74
Fix fuzzy match
Karan Adhikari
Unverified signature
78890ab
V-3.4.0
Karan Adhikari
Unverified signature
ebc2aee
Update dashboard.html
Karan Adhikari
Unverified signature
06433ef
Ui fix
Karan Adhikari
Unverified signature
dcda553
Fix theme
Karan Adhikari
Unverified signature
c0e78ac
Live progress
Karan Adhikari
Unverified signature
fb8b181
Add file split support
Karan Adhikari
Unverified signature
db2d685
Migrate scan/rescan/dbcheck from bot commands to WebUI Tools page
Karan Adhikari
Unverified signature
532c525
- Add resumable scan engine (Backend/helper/scan_manager.py) with DB-persisted
per-channel cursors; interrupted scans resume until a Rescan is requested
- Add DbCheckManager for integrity checking + dead-link purge with live stats
- Add Tools page (/admin/tools) with channel selector, live progress bars,
DB check info, and dead-link purge
- Add Tools API routes and nav links
- Restore scan state on startup in __main__.py
- Respect Telegram limits (batching, delays, FloodWait back-off) to avoid bans
- Remove scan/rescan/scanstatus/cancelscan/dbcheck/search bot commands
(delete scanner.py, trim utilities.py to /stats, update bot command menu)
Update pyro.py
Karan Adhikari
Unverified signature
498fa78
Delete Backend/pyrofork/plugins/help.py
Karan Adhikari
Unverified signature
b4fd808
Delete Backend/pyrofork/plugins/fix_metadata.py
Karan Adhikari
Unverified signature
6cbe4f0
fix dead link checker
Karan Adhikari
Unverified signature
c1df1c3
Update metadata.py
Karan Adhikari
Unverified signature
c26ef46
Fix Dashboard UI
Karan Adhikari
Unverified signature
25b0f7e
Fix scan metadata
Karan Adhikari
Unverified signature
0b3bde4
fix scan metadata
Karan Adhikari
Unverified signature
cda1677
Update database.py
Karan Adhikari
Unverified signature
b087255
Support REPLACE_MODE across split and non-split files
Karan Adhikari
Unverified signature
4ab0074
fix multipart delete
Karan Adhikari
Unverified signature
7013119
Update subscription.py
Karan Adhikari
Unverified signature
0759ec4
Update subscription_checker.py
Karan Adhikari
Unverified signature
b874959
Update settings_manager.py
Karan Adhikari
Unverified signature
2ca6f44
Update settings.html
Karan Adhikari
Unverified signature
b0d3e32
Update api_routes.py
Karan Adhikari
Unverified signature
3f55c68
Update global_search.py
Karan Adhikari
Unverified signature
28d4695
Update media_edit.html
Karan Adhikari
Unverified signature
09f6d64
Update template_routes.py
Karan Adhikari
Unverified signature
1a247cd
# 🎉 Release v3.3.0
Karan Adhikari
Unverified signature
c12bb0b
### ✨ Changes
* ❌ Removed `HELPER_BOT_TOKEN`
* 👤 Added optional `USER_SESSION_STRING`
* 🔍 Added Global Search support
* 🔒 Global Search can only be enabled when `USER_SESSION_STRING` is configured in `config.env`
### ⚠️ Limitation
* Multi-Token load balancing does **not** work for Global Search streams.
* Files found through Global Search are streamed using the Userbot session only.
* Multi-Token support continues to work normally for files in configured AUTH CHANNELS.
- streaming: add support for raw byte-split releases (movie.mkv.001,
movie.mkv.002, ...). Parts are detected, grouped in the DB under one
quality entry, and streamed as a single virtual file with full
Range/seek/resume support across the combined size.
Only the numbered split convention (.001/.002) is supported: those
parts are literal byte-slices of one original file, so concatenation
reconstructs a single valid file with one header and a correct
combined timeline. "part1/cd1/disk1" style releases are separately
muxed files (each with their own header/duration) and are explicitly
NOT grouped, since byte concatenation of those only plays correctly
through part 1 — confirmed by testing. Remuxed support for that case
is a possible future addition.
- config: shorten config.env to only startup-critical variables
(Telegram credentials, DATABASE URIs, PORT); move all other
configuration to the WebUI, applied dynamically with no restart
required. Values still pre…