https://github.com/guillaumedsde/dht-torznab
https://github.com/guillaumedsde/dht-torznab
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/guillaumedsde/dht-torznab
- Owner: guillaumedsde
- License: mit
- Created: 2023-05-27T09:34:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-01T13:55:06.000Z (almost 2 years ago)
- Last Synced: 2025-02-17T14:16:41.122Z (9 months ago)
- Language: Python
- Size: 410 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ๐ DHT-Torznab
This Project is an attempt to expose torrents crawled with [magnetico](https://github.com/boramalper/magnetico) through a torznab compatible API.
## โ๏ธ Services
This project is compose of mutiple services
- A [magneticod](https://github.com/boramalper/magnetico) torrent crawler
- A [beanstalkd](https://beanstalkd.github.io/) work queue for handling crawled torrent information
- A listener service for listening to the beanstalkd work queue and storing crawled torrents in a database
- A peer count updater service for retrieving up to date torrent peer counts
- A [PostgreSQL](https://www.postgresql.org/) database for storing and searching torrent information
- A [FastAPI](https://fastapi.tiangolo.com/) API for serving torrent information
## ๐งช Development
### ๐ Launching the development stack
You can launch the full stack locally using:
```bash
docker compose up
```
## ๐ฎ Roadmap
- [x] Insert torrents into PGSQL DB from magneticod
- [x] Search for torrents by name
- [x] Functional minimal torznab API
- [x] Functional minimal torznab API authentication
- [x] Implement a peer count updater
- [bashkirtsevich-llc/aiobtdht](https://github.com/bashkirtsevich-llc)
- [nitmir/btdht](https://github.com/nitmir/btdht)
- [x] Setup PGSQL schema for models with Alembic migrations
- [ ] Search for torrents by name of its files
- [ ] Torrent classifier
- [ ] Fully featured torznab API
- [ ] Users and credentials
## License
See [LICENSE.md](LICENSE.md)