Skip to content

Latest commit

 

History

History
136 lines (112 loc) · 7.54 KB

File metadata and controls

136 lines (112 loc) · 7.54 KB

🗺️ LeechBot — Roadmap

Future plans and ideas for LeechBot. Not promises — just direction.

Have a suggestion? Open an issue or join the discussion.

---divider---

📋 Planned

🔌 rclone Integration (Optional)

  • One module covers 40+ cloud providers: OneDrive, Dropbox, S3, Backblaze, Google Drive (alternative), WebDAV, and more
  • CLI wrapper pattern (same as megatools): rclone copy + stderr progress parsing
  • Requires rclone config one-time setup (user-guided via /rclone command)
  • Download from cloud → upload to Telegram, or mirror between providers

📊 Unit Tests

  • Expand existing test suite in tests/ (pytest + pytest-asyncio)
  • Target core modules: helper.py, variables.py, manager.py, task_manager.py
  • Mock Pyrogram client for handler tests
  • GitHub Actions CI on push/PR

🌍 Internationalization (i18n)

  • Currently English-only
  • Support for Arabic, Hindi, Turkish, Spanish, Portuguese (most-requested)
  • Translation files in locales/ directory
  • User selects language via /language command

📱 Mobile Dashboard

  • Current dashboard is desktop-focused
  • Responsive improvements for mobile browsers
  • Push notifications via Telegram bot (task complete, errors)

🔄 Resume Interrupted Uploads

  • If bot crashes mid-upload, resume from last chunk instead of re-uploading
  • Track upload progress in session state
  • Telegram supports file_id reuse — leverage this

💡 Considering

☁️ Multi-Cloud Mirror

  • Download from any source → upload to multiple targets simultaneously
  • Example: YouTube → Telegram + Google Drive + OneDrive in one command
  • Depends on rclone integration

📦 Archive Streaming

  • Extract archives on-the-fly during upload (stream, don't extract to disk)
  • Reduces disk usage for large archives
  • Requires 7z piped to upload

🎵 Audio Processing

  • Convert video to audio (extract soundtrack)
  • Audio format conversion (FLAC → MP3, WAV → AAC)
  • Tag editing for music files

📸 Image Processing

  • Resize/compress images before upload
  • Format conversion (HEIC → JPG, WebP → PNG)
  • Watermark support

🔗 Link Shortener Integration

  • Generate short links for uploaded files
  • Support: bit.ly, tinyurl, is.gd
  • Useful for sharing uploaded content

❌ Not Planned

Feature Reason
OneDrive/Dropbox direct API rclone covers it with less code
S3/MinIO direct Niche, rclone covers it
Web UI file manager Out of scope — bot is a transloader, not a file manager
Multi-bot cluster Complexity vs benefit doesn't justify it
User registration system No accounts, no database — keep it simple

---divider---

✅ Done (Recent)

Feature Version
Removed UserBot feature — deleted userbot.py and all related commands, auth flow, and state tracking 3.1.46
Full UI redesign — HTML formatting — migrated all messages from Markdown to HTML, » arrows, consistent navigation 3.1.47
Full diagnostic sweep — fixed 21 issues: NameError, AttributeError, WebSocket auth bypass, CORS, shell injection, dead code cleanup 3.1.45
Security & stability fixes — WebSocket auth, CORS, shell injection, progress cap at 100% 3.1.44
Professional UI rewrite — status bar + task complete redesigned with ┌├└ box borders, aligned labels, arrows, version footer 3.1.42
Task Complete message upgraded — added average speed (⚡ Speed), source link now inline 3.1.41
Upload chunk_size increased to 5MB — 5x fewer round-trips than original 1MB default, ~2.5x faster than 2MB 3.1.40
Upload speed optimized — Pyrogram chunk_size increased from 1MB to 2MB for faster Telegram uploads (fewer HTTP round-trips) 3.1.39
Task Complete message — box-drawing style — completion summary uses ╭├╰ layout matching status bar; file list header also upgraded 3.1.38
Status bar — box-drawing style — adopted ehraz786/tgdl layout with ╭├╰ characters, labeled lines for each stat, 「」 progress bar, 2-decimal percentage 3.1.37
Status bar upgraded — progress bar without backticks, info compressed to 2 lines, system info (CPU/RAM/disk) removed from default view (shown on-demand via "📊 Stats" button) 3.1.36
Welcome message trimmed + new Help & About buttonsWELCOME_TEXT shrunk from 35→9 lines; added 📖 Help + ℹ️ About inline buttons; new About card with version, build date, stats, dev credits, license, disclaimer; "Back to Start" navigation 3.1.35
Category-button /help UI — 6 categories (Downloads, Files, Status, Cookies, Admin) with inline keyboard drill-down, deep-link /help <command> for direct help, in-place message editing (no spam) 3.1.34
Telegram parser ported from xditya/GetRestrictedMessages — added slug form (t.me/s/...), discussion threads (t.me/c/.../msg/thread), http:// and telegram.me support, friendlier error messages 3.1.33
Fixed noisy CancelledError traceback on shutdownBOT.State.shutting_down flag blocks new tasks; upload_file catches CancelledError gracefully 3.1.32
Removed Bunkr + Instagram downloaders (broken, untestable) — see CHANGELOG 3.1.31 3.1.31
3 utility commands: /status, /restart, /logs + rotating file logger 3.1.30
35-check offline diagnostic test suite (tests/test_diagnostics.py) 3.1.29
TERMUX.md deployment guide (513 lines) 3.1.27
/ping command (latency bar + uptime + version) 3.1.25
thumbMaintainer None crash fix 3.1.24
Telegram public-link parser off-by-one fix (parts[4]parts[-2]) 3.1.23
4 unwired features exposed: /formats, /preview, multi-link URL extraction, lifetime stats in /stats 3.1.21
YTDL thread-safety (loop.call_soon_threadsafe for progress hook) 3.1.21
/cancel mid-ffmpeg no longer leaks orphan subprocesses (_terminate_subprocess) 3.1.20
/stats cumulative bytes now show real totals (was always 0) 3.1.20
Comprehensive static analysis report (AUDIT_REPORT.md) — 1 critical, 8 dead, 1 thread-safety, 4 resource-leak 3.1.19
Latent NameError fix in task_manager.py (would have crashed first task) 3.1.18
YouTube thumbnail bug fix (used original filename instead of truncated) 3.1.17
Bot completely unresponsive fix (__main__.py didn't import handlers) + 18 other fixes 3.1.15
Full downloader/uploader audit (14 bugs fixed) 3.1.14
Mega.nz folder support + async rewrite 3.1.14
Google Drive pagination + async 3.1.14
Colab notebook consolidation (6→3 cells) 3.1.14
Dockerfile: libtorrent, tini, signal handling 3.1.12
Torrent/magnet aria2c fallback 3.1.14
libtorrent magnet/torrent downloader 3.1.7
4 new downloaders (GoFile, Bunkr*, Catbox, StreamTape) — *Bunkr removed in 3.1.31 3.1.1
Web dashboard (REST + WebSocket) 3.1.0
YouTube PO Token auto-generation 3.0.2
gallery-dl integration (100+ sites) 3.0.3

---divider---

📋 Full history: CHANGELOG.md