English Β β’ Β Χ’ΧΧ¨ΧΧͺ
Smart Telegram bot for video downloading via JDownloader 2 with automatic upload to Telegram
| Feature | Description |
|---|---|
| π JDownloader 2 Integration | Full control over JD2 via My.JDownloader API |
| π Regular & Deep Scanning | Deep-Decrypt for extracting hidden links |
| π Progress Dashboard | Real-time tracking with animated moon progress bar |
| π€ Automatic Upload | Direct upload to Telegram with streaming support |
| πͺ Large File Splitting | Automatic splitting for files over 2GB |
| π MP4 Conversion | Automatic conversion to streaming-compatible format |
| πΌοΈ Photo Album Support | Send photos as albums (up to 10 at a time) |
| π User Permissions | Admins and authorized users only |
- Python 3.8+
- JDownloader 2 with a My.JDownloader account
- FFmpeg installed and accessible in PATH
- Telegram API account
git clone https://github.com/your-username/siphon.git
cd siphonpython -m venv venv
venv\Scripts\activate # Windows
# or
source venv/bin/activate # Linux/Macpip install -r requirements.txtCreate a .env file in the root directory:
# Telegram
BOT_TOKEN=your_bot_token
API_ID=your_api_id
API_HASH=your_api_hash
ADMIN_IDS=123456789
USER_IDS=111111111,222222222
# JDownloader 2
JD_EMAIL=your_myjdownloader_email
JD_PASSWORD=your_myjdownloader_password
JD_DEVICE_NAME=your_device_name
JD_DOWNLOAD_DIR=C:\Users\you\Downloads\JDTo run the bot in the background continuously on a Linux server and ensure it restarts automatically if the server reboots, you can set it up as a systemd service.
-
Install FFmpeg (if not already installed):
sudo apt update sudo apt install ffmpeg
-
Create a systemd service file:
sudo nano /etc/systemd/system/siphon-bot.service
-
Paste the following configuration (modify the paths and user accordingly):
[Unit] Description=Siphon JD2 Telegram Bot After=network.target [Service] Type=simple User=your_linux_user WorkingDirectory=/path/to/siphon ExecStart=/path/to/siphon/venv/bin/python bot.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
-
Enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable siphon-bot sudo systemctl start siphon-bot -
View logs:
sudo journalctl -u siphon-bot -f
- Download and install JDownloader 2
- Create an account at My.JDownloader
- Connect in JD2:
Settings β My.JDownloader - Note the Device Name - this is what you'll enter in
JD_DEVICE_NAME
python bot.pyOr:
run_bot.bat| Command | Description |
|---|---|
/start |
Start and display welcome message |
graph LR
A[π Send Link] --> B{Choose Scan Type}
B -->|π Regular| C[Quick Scan]
B -->|π·οΈ Deep| D[Deep-Decrypt]
C --> E[π Select Files]
D --> E
E --> F[β¬οΈ Download in JD2]
F --> G[π€ Upload to Telegram]
- Send a link β Bot detects automatically
- Choose scan type β Regular (fast) or Deep (comprehensive)
- Select files β Interactive interface with Toggle
- Click Download β JD2 downloads, bot uploads to Telegram
Siphon/
βββ π bot.py # Main bot + Telegram interface
βββ π jd_client.py # JDownloader API wrapper
βββ π utils.py # Helper functions (FFmpeg, formats)
βββ π requirements.txt # Python dependencies
βββ π run_bot.bat # Run script (Windows)
βββ π .env # Environment settings (not in Git)
βββ π README.md # You are here! π
ππππππππππ 45%
π₯ Downloading... (Total)
ββββββββββββββββββ
ππππππππππ 45.2%
π 4.0GB/8.9GB
π₯ Current file: video_file.mp4
β‘ Speed: 15.3MB/s
β±οΈ ETA: 05:23
π Files: 2/5
ββββββββββββββββββ
| Package | Description |
|---|---|
pyrogram |
Telegram Client API |
myjdapi |
JDownloader 2 API |
ffmpeg-python |
FFmpeg wrapper |
python-dotenv |
Environment variables loader |
Important
JDownloader 2 must be running in the background for the bot to work!
Tip
Use Deep scanning for sites with protections or hidden links.
Note
Files over 2GB will be automatically split into parts.
MIT License - See LICENSE for details.
Made with β€οΈ by Omer