Your Real-Debrid library. In Stremio. From anywhere.
Debroxy turns your Real-Debrid torrent collection into a beautiful, browsable streaming library inside Stremio — and lets you watch from any device without getting your RD account flagged.
📱 Phone (4G) ──┐
💻 Work laptop ──┼──→ 🏠 Debroxy (home) ──→ Real-Debrid
📺 Hotel TV ──┘ (one IP)
The Problem: Real-Debrid locks accounts to one IP. Stream from home, then from your phone on cellular? RD sees two IPs and may flag your account.
The Solution: Run Debroxy on your home server. All your devices stream through that single IP. RD sees one location. You get unlimited access.
- Single IP to Real-Debrid — All streams proxied through your server. No more account flags.
- Stream from anywhere — Phone, work laptop, hotel TV — RD only sees your home IP.
- Your RD library in Stremio — Auto-syncs every 15 minutes. Season packs handled.
- Continue Watching — Resume where you left off, across all your devices.
- Smart filtering — Filter by genre, year, sort by rating or recently added.
- Quality filtering — Hide low-quality streams, show only 1080p+ or 4K.
- Automatic transcoding — Uses Real-Debrid's HLS transcoding for better Stremio compatibility and smoother streaming.
- Low Bandwidth Mode — Toggle 480p transcoding from the configure page when on hotel wifi or slow connections.
- Subtitle support — Automatically detects and serves subtitle files from your torrents.
- Web configure page — Manage settings, trigger syncs, view stats at
/configure. - Share without sharing credentials — Family can stream through your server.
- Handles 50,000+ torrents — Optimized for large collections.
Note: Debroxy streams your existing RD library — it doesn't add content. Use DebridMediaManager to curate your collection.
- A server/VPS with Docker (your home server, a cheap VPS, Raspberry Pi, etc.)
- Real-Debrid account
- Stremio app
Docker (recommended):
git clone https://github.com/SwordfishTrumpet/debroxy.git
cd debroxy
# Copy and edit config
cp .env.example .env
nano .env # Add your RD_API_KEY and EXTERNAL_URL
# Start
cd docker && docker-compose up -dCheck it's running:
curl http://localhost:8888/health
# Should return: {"status":"ok"}Edit .env:
# Required
RD_API_KEY=your_real_debrid_api_key_here
EXTERNAL_URL=https://debroxy.yourdomain.com
# Optional but recommended (generates your install URL)
PROXY_TOKEN=your_secure_token_here # openssl rand -hex 32Get your RD API key: https://real-debrid.com/apitoken
Check your install URL in the logs:
docker logs debroxy | grep "Stremio Install URL"
# → https://debroxy.yourdomain.com/YOUR_TOKEN/manifest.jsonIn Stremio:
- Settings → Addons → Install from URL
- Paste your install URL
- Click install
Your library appears as "Debroxy Movies", "Debroxy Series", and "Continue Watching" catalogs in Stremio.
In Stremio, your Real-Debrid library appears in multiple places:
- Home/Board tab — Scroll to find "Debroxy Movies" and "Debroxy Series" catalog rows
- Continue Watching — Resume partially watched content from any device
- Search — Search across your entire RD library
- Streams section — When viewing any movie/series, Debroxy streams appear with quality badges
Visit your addon's configure page for a web dashboard:
https://debroxy.yourdomain.com/YOUR_TOKEN/configure
The configure page shows:
- Library sync status and statistics
- Real-Debrid account status (premium expiry, usage)
- Active stream count
- Quick Actions: Sync Now, Full Resync, Refresh Stats
- Low Bandwidth Mode: Toggle to force 480p transcoding for slow connections
- Runtime Settings: Adjust settings without restarting the server
Button Actions:
| Button | What it does |
|---|---|
| Sync Now | Checks Real-Debrid for new torrents added since last sync |
| Full Resync | Clears and rebuilds entire library from scratch (takes several minutes) |
| Refresh | Updates displayed statistics without syncing |
Runtime Settings (adjustable from the configure page):
| Setting | Default | Description |
|---|---|---|
| Max Concurrent Streams | 3 |
Simultaneous streaming connections (1–20) |
| Min Stream Quality | All | Lowest quality to show: 2160p, 1080p, 720p, etc. |
| Transcoding | on |
HLS transcoding for better Stremio compatibility |
| Prefer HLS | on |
Prioritize HLS transcoded streams over direct |
| Sync Interval | 15 min |
How often to sync with Real-Debrid (1–1440 min) |
| Watch Completion | 90% |
Percentage watched to mark as completed (50–99%) |
These settings are persisted in the database and override their corresponding environment variables. Reset to defaults from the configure page at any time.
Debroxy is designed to complement DebridMediaManager (or any RD library tool):
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ DMM (web) │────▶│ Real-Debrid │────▶│ Debroxy │
│ • Add torrents │ │ • Store files │ │ • Stream │
│ • Organize │ │ • Cache │ │ • Browse │
│ • Manage │ │ │ │ • Protect IP │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌───────────────┐
│ Stremio │
│ (anywhere) │
└───────────────┘
You curate with DMM. You stream with Debroxy.
| Variable | Required | Default | Description |
|---|---|---|---|
RD_API_KEY |
✅ | — | Your Real-Debrid API key |
EXTERNAL_URL |
✅ | — | Public URL (e.g., https://debroxy.example.com) |
PROXY_TOKEN |
— | Auth token (min 32 chars). If unset, auth is disabled. | |
PORT |
8888 |
Server port | |
DB_PATH |
./data/debroxy.db |
SQLite database path | |
MAX_CONCURRENT_STREAMS |
3 |
Max simultaneous streams | |
SYNC_INTERVAL_MIN |
15 |
Sync frequency with RD (minutes) | |
LOG_LEVEL |
info |
trace, debug, info, warn, error |
|
MIN_STREAM_QUALITY |
— | Minimum quality: 2160p, 1080p, 720p, etc. |
|
WATCH_COMPLETION_THRESHOLD |
0.90 |
Mark as completed at this % (0.5–0.99) | |
TRANSCODING_ENABLED |
true |
Enable Real-Debrid HLS transcoding | |
TRANSCODING_PREFER_HLS |
true |
Prioritize HLS over direct streams | |
TRANSCODING_CACHE_TTL |
3600 |
Cache transcoding URLs (seconds) | |
TRUSTED_PROXIES |
127.0.0.1,::1 |
Reverse proxy IPs for client IP detection | |
ENABLE_METRICS |
true |
Enable Prometheus metrics endpoint |
Full options: See FAQ.md
Put Debroxy behind a reverse proxy with HTTPS:
Caddy (easiest):
debroxy.yourdomain.com {
reverse_proxy localhost:8888
}nginx:
server {
listen 443 ssl;
server_name debroxy.yourdomain.com;
location / {
proxy_pass http://localhost:8888;
proxy_buffering off;
proxy_read_timeout 3600s;
}
}Full configs: See FAQ.md
Q: Do I need a token?
If your server is exposed to the internet: Yes. Generate one with openssl rand -hex 32. Anyone with your token can stream through your RD account.
If it's only accessible on your home network/VPN: You can skip it for simpler setup.
Q: How long until new torrents appear?
Within 15 minutes (configurable). Debroxy syncs automatically. You can also force sync via the configure page or API.
Q: Can I hide low-quality streams?
Yes — set MIN_STREAM_QUALITY=1080p (or 720p, 2160p, etc.) in your .env file. Only streams at or above that quality will appear.
Q: How does Continue Watching work?
Debroxy tracks your playback progress. Items you've partially watched appear in the "Continue Watching" catalog. Progress syncs across all your devices automatically.
Q: Can I use this with multiple debrid services?
No — Debroxy is Real-Debrid only.
Q: Does this scrape torrents?
No. Debroxy only shows what you already have in your RD library. Use DMM, Jackett, or other tools to add torrents.
Q: Why not just use DMM's Stremio addon?
DMM's addon doesn't proxy streams — your client connects directly to RD, exposing your real IP. Debroxy proxies everything through your server.
Q: What is Low Bandwidth Mode?
Low Bandwidth Mode forces all streams to use 480p transcoding, reducing bandwidth from ~5-10 Mbps to ~1-2 Mbps. Perfect for:
- Hotel/conference wifi
- Mobile data connections
- Slow rural internet
Toggle it from your configure page (/configure). It's per-client — enabling it on your phone doesn't affect others using your server.
Q: What is transcoding and how does it help?
Transcoding converts your video files into HLS (HTTP Live Streaming) format, which is more compatible with Stremio's player. Benefits include:
- Better buffering and seeking performance
- Smoother playback on slower connections
- Works around Stremio's MKV compatibility issues
Debroxy automatically uses Real-Debrid's built-in transcoding when available. If transcoding isn't available for a file, it falls back to direct streaming.
More questions: See FAQ.md
| Problem | Solution |
|---|---|
| No content in Stremio | Wait for initial sync (check /health). Force resync: POST /api/library/resync |
| "Unauthorized" errors | Verify PROXY_TOKEN matches in URL and .env |
| 401 after correct token | IP lockout — wait 1 hour or restart server |
| Seeking broken | Ensure reverse proxy forwards Range headers |
| Wrong client IP | Set TRUSTED_PROXIES to your proxy's IP |
| Buffering/stuttering on slow wifi | Enable Low Bandwidth Mode from configure page (forces 480p) |
| Buffering on fast connections | Enable transcoding (default). Check logs for "HLS manifest" messages. Disable with TRANSCODING_ENABLED=false if issues persist. |
Full troubleshooting: See FAQ.md
Contributions welcome! See CONTRIBUTING.md for:
- Setting up your development environment
- Coding standards (ES modules, testing)
- Adding features or fixing bugs
- Writing documentation
MIT — do whatever you want.
Built for self-hosters who refuse to compromise.