BIND (Book Indexing Network Daemon) is an automated system that archives audiobook metadata from AudioBookBay. It collects magnet links, stores them in daily files, and serves them via RSS feed to your torrent client.
No. BIND DNS is a nameserver. This BIND is an audiobook archival tool. Completely different projects with the same acronym.
No. BIND only archives metadata (magnet links). Your torrent client downloads the actual audiobooks using those magnet links.
BIND archives publicly available metadata (magnet links), which is legal. However, downloading copyrighted content may not be legal in your jurisdiction. BIND is for archival and educational purposes only. Use responsibly.
- Minimum: Any Linux system with Python 3.8+
- Recommended: Proxmox LXC with 4GB disk, 512MB RAM, 1 CPU core
- Docker: Docker + docker-compose
Not officially supported, but it should work with Python 3.8+ installed. Manual installation only (no one-click installer).
~2 minutes on Proxmox LXC (automated installer).
Yes. The installer prompts for:
- Container ID
- Hostname
- Disk size
- RAM
- CPU cores
- Network (DHCP or static IP)
Every 60 minutes by default. Configurable by editing the systemd service file.
In the magnets/ directory as daily text files:
magnets_2026-01-03.txtmagnets_2026-01-04.txt- etc.
Navigate to http://YOUR-CONTAINER-IP:5050/feed.xml in your torrent client's RSS reader.
Yes. Edit /etc/systemd/system/bind-rss.service and change the port, then:
systemctl daemon-reload
systemctl restart bind-rss.service- Web UI: http://YOUR-CONTAINER-IP:5050/
- Files:
ls /opt/bind/magnets/ - RSS Feed: http://YOUR-CONTAINER-IP:5050/feed.xml
- Base install: ~2GB (Debian + BIND + venv)
- Per 100k magnets: ~35-40MB
- Recommended: 4GB (provides safety margin)
Unlikely. Even at 1 magnet per hour for a year, you'd only use ~12MB. You can also prune old files as needed.
cd /opt/bind/magnets
rm magnets_2025-*.txt # Remove 2025 filesYes! Just copy the magnets/ directory:
cp -r /opt/bind/magnets /path/to/backup/pct enter <container-id>
cd /opt/bind
./update.shThe script handles everything automatically.
The update script creates git tags before updating. Rollback:
cd /opt/bind
git tag # Find backup tag
git checkout backup-20260103-123456
systemctl restart bind.service bind-rss.serviceNot currently. The update script updates in-place. Consider taking a container snapshot first:
pct snapshot <container-id> before-update- Check if daemon is running:
systemctl status bind.service - Check if magnet files exist:
ls /opt/bind/magnets/ - Check daemon logs:
journalctl -u bind.service -f
- Check RSS service:
systemctl status bind-rss.service - Check port is open:
ss -tulpn | grep 5050 - Check firewall rules (if any)
Find what's using it:
ss -tulpn | grep 5050Either stop that service or change BIND's port.
Check if services are enabled:
systemctl is-enabled bind.service
systemctl is-enabled bind-rss.serviceIf not:
systemctl enable bind.service bind-rss.service- Idle: <1%
- Scraping: ~5-10% (brief spike every 60 min)
- Daemon: 50-100MB
- RSS server: 30-50MB
- Total: <150MB
No. BIND is very lightweight and only scrapes once per hour.
Technically yes, but not recommended. Use one BIND instance per site/source.
Any client with RSS support:
- qBittorrent ✅
- BiglyBT ✅
- Transmission ✅
- Deluge ✅
- ruTorrent ✅
- View → RSS Reader (Alt+S)
- Right-click → New subscription
- Add feed URL:
http://BIND-IP:5050/feed.xml - Right-click feed → Download Rule
- Set filters and auto-download
Yes, in your torrent client's RSS rules. BIND provides all magnets; your client filters.
Yes. Edit /etc/systemd/system/bind.service:
ExecStart=... daemon --interval 30 --output-dir /opt/bind/magnetsChange 30 to desired minutes.
Not without code changes. BIND is designed specifically for AudioBookBay. Adding other sources requires modifying the scraper.
Yes. Edit bind-rss.service and change the port. Don't forget to update firewall rules.
Yes! See docker-compose.yml in the repository.
Not recommended. BIND has no authentication. If you must, use a reverse proxy with auth (nginx, Caddy).
Yes! BIND is open source (MIT license). Pull requests welcome on GitHub.
src/bind.py- Main daemonsrc/rss_server.py- RSS server and web UIsrc/core/scraper.py- AudioBookBay scraper
git clone https://github.com/StarlightDaemon/BIND.git
cd BIND
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m src.bind daemon --interval 60 --output-dir magnets/Yes! See FUTURE_ENHANCEMENTS.md for planned features.
Book Indexing Network Daemon. It archives (indexes) book metadata.
Yes. Check GitHub for latest updates and releases.
- Check Troubleshooting
- Check Usage Guide
- Open a GitHub issue
- Review existing GitHub issues
BIND is a free, open-source homelab tool. No donations accepted. If you find it useful, star the repo on GitHub!