https://github.com/nbdy/dhtc
DHT crawler with web ui
https://github.com/nbdy/dhtc
dht-crawler torrent-crawler torrent-search-engine web-ui
Last synced: 6 months ago
JSON representation
DHT crawler with web ui
- Host: GitHub
- URL: https://github.com/nbdy/dhtc
- Owner: nbdy
- License: mit
- Created: 2021-12-05T15:08:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-02-28T19:31:55.000Z (over 1 year ago)
- Last Synced: 2025-04-06T04:14:40.692Z (over 1 year ago)
- Topics: dht-crawler, torrent-crawler, torrent-search-engine, web-ui
- Language: Go
- Homepage:
- Size: 563 KB
- Stars: 44
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🕸️ dhtc
[](https://go.dev/)
[](https://github.com/nbdy/dhtc/actions)
[](https://github.com/nbdy/dhtc)
**Build your own private torrent search engine.**
`dhtc` is a high-performance DHT crawler that indexes the BitTorrent network in real-time and provides a beautiful web interface to explore, search, and manage your findings.
> [!NOTE]
> **This project is currently in maintenance mode.**
> While new features aren't actively being added, the project remains stable, fully functional, and ready for deployment.
---
### ✨ Features
#### 🔍 Discovery & Search
- **Real-time DHT Crawling**: Indexes the network using modern protocols (BEP 51, IPv6, PEX, BitTorrent v2).
- **Live "Trawl" View**: Watch torrents fly in via WebSockets with interactive elements.
- **Discover & Search**: Explore the latest findings or search the entire database with sortable results.
- **Blacklisting**: Keep your database clean with Regex-based name and file filters.
#### 🎨 User Experience
- **Modern UI**: Powered by **Tailwind CSS 4** and **DaisyUI 5** for a sleek, responsive experience.
- **20+ Themes**: Switch between dozens of themes (Light, Dark, Cyberpunk, Retro, and more) on the fly.
- **Dashboard & Stats**: Visualize network activity and indexing progress with built-in charts.
#### 🔔 Notifications & Automation
- **Smart Watches**: Set up filters and get notified the moment a matching torrent is discovered.
- **Multi-channel Alerts**: Integrated support for **Telegram**, **Discord**, **Slack**, and **Gotify**.
- **One-Click Downloads**: Send magnets directly to **Transmission**, **Aria2**, **Deluge**, or **qBittorrent**.
#### 🛠️ Technical Excellence
- **Database Flexibility**: Choose your backend—supports **PostgreSQL**, **MySQL**, **SQLite** (via GORM), or **CloverDB**.
- **REST API**: Simple endpoints for integration with third-party tools.
- **Secure by Design**: Optional Basic Auth support to protect your web interface.
- **Multiplatform**: Runs anywhere Go or Docker can run.
- **Docker Ready**: Deploy anywhere in seconds with the official Docker Compose setup.
---
### 📸 Screenshots
| Dashboard | Search |
|-----------|--------|
|  |  |
| Discover | Watches |
|----------|---------|
|  |  |
| Blacklist | Settings |
|-----------|----------|
|  |  |
| Trawl |
|-------|
|  |
---
### 🚀 Getting Started
#### Run with Docker (Recommended)
The fastest way to get up and running is using Docker Compose:
```shell
docker compose up -d
```
Your search engine will be waiting for you at [http://localhost:4200](http://localhost:4200).
#### Run Locally
Ensure you have [Go 1.24+](https://go.dev/dl/) installed, then:
```shell
go run cmd/dhtc/main.go
```