从 DHT 网络获取资源 - BitMagnet 使用教程

清夏晚风 Lv7

什么是 BitMagnet?

BitMagnet 是一个自托管的 BitTorrent 索引器、DHT 爬虫、内容分类器和种子搜索引擎。它通过爬取 DHT 网络来发现种子资源,无需依赖任何外部 tracker 或中心化索引器。

核心特性

  • DHT 爬虫:自动爬取 DHT 网络,发现并索引 torrent 资源
  • 内容分类器:自动识别电影、电视剧等内容,并从 TMDB 获取详细信息
  • Torznab 兼容:支持与 Sonarr、Radarr、Qbit 等 Servarr 生态集成
  • Web UI:响应式多语言界面,支持搜索和浏览
  • GraphQL API:提供 API 接口便于二次开发

安装 BitMagnet

环境要求

  • Docker 和 Docker Compose
  • 至少 4GB 内存(推荐 8GB)
  • 50GB+ 存储空间(用于存储索引数据)

Docker Compose 安装

创建 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
services:
bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:latest
container_name: bitmagnet
ports:
# API 和 WebUI 端口
- "3333:3333"
# BitTorrent 端口
- "3334:3334/tcp"
- "3334:3334/udp"
restart: unless-stopped
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PASSWORD=postgres
# 可选:添加 TMDB API Key 用于电影信息获取
# - TMDB_API_KEY=your_api_key
volumes:
- ./config:/root/.config/bitmagnet
command:
- worker
- run
- --keys=http_server
- --keys=queue_server
# 启用 DHT 爬虫
- --keys=dht_crawler
depends_on:
postgres:
condition: service_healthy

postgres:
image: postgres:16-alpine
container_name: bitmagnet-postgres
volumes:
- ./data/postgres:/var/lib/postgresql/data
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=bitmagnet
- PGUSER=postgres
shm_size: 1g
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 20s
interval: 10s

启动服务

1
2
3
4
5
# 启动 BitMagnet
docker compose up -d

# 查看日志
docker compose logs -f

启动后约一分钟左右,就可以在 Web UI 中看到索引到的资源了。

访问 Web UI

打开浏览器访问:http://localhost:3333


配置 TMDB API(可选)

为了获取电影和电视剧的详细信息,建议配置 TMDB API:

  1. 访问 TMDB 注册账号
  2. 进入设置 → API 创建 API Key
  3. 在 docker-compose.yml 中添加环境变量:
1
2
environment:
- TMDB_API_KEY=你的TMDB_API_KEY

使用指南

Web UI 搜索

在 Web UI 中可以直接搜索已索引的资源:

  • 支持按标题搜索
  • 支持按类型筛选(电影、电视剧、音乐、游戏等)
  • 显示资源大小、种子数、做种时间等信息

API 接口

BitMagnet 提供 REST API 和 GraphQL API:

  • REST API: http://localhost:3333
  • GraphQL Playground: http://localhost:3333/graphql

Torznab 集成

BitMagnet 提供 Torznab 兼容端点,可与 Prowlarr、Sonarr、Radarr 等工具集成。

Torznab 地址:http://localhost:3333/torznab/api


与 Qbittorrent 集成

获取种子文件

  1. 在 BitMagnet Web UI 中找到想要下载的资源
  2. 点击资源查看详情
  3. 复制 magnet 链接或下载 .torrent 文件
  4. 在 qBittorrent 中添加下载

Servarr 生态集成

如果你使用 Sonarr(电视剧管理)或 Radarr(电影管理):

  1. 在 Prowlarr 中添加 BitMagnet 作为 indexer
  2. 配置 Torznab API 地址
  3. 即可在 Sonarr/Radarr 中搜索并自动下载

升级 BitMagnet

1
2
3
4
5
6
7
8
# 停止当前容器
docker compose down bitmagnet

# 拉取最新镜像
docker pull ghcr.io/bitmagnet-io/bitmagnet:latest

# 重新启动
docker compose up -d

常见问题

索引速度慢怎么办?

DHT 爬虫需要时间来发现新资源。初始阶段可能较慢,随着运行时间增长,索引会越来越丰富。可以适当增加并发数来提高速度。

如何查看爬虫状态?

在 Web UI 的 Dashboard 中可以查看:

  • 已发现的 info hash 数量
  • 已索引的种子数量
  • DHT 节点连接数

存储空间不足?

BitMagnet 的数据库会随着索引增长而变大。可以:

  1. 定期清理过期数据
  2. 备份并重建数据库
  3. 扩展存储空间

数据备份

BitMagnet 的数据存储在 PostgreSQL 数据库中。备份方法:

1
2
3
4
5
6
7
8
# 停止服务
docker compose down

# 备份数据目录
cp -r ./data/postgres ./data/postgres-backup

# 重启服务
docker compose up -d

总结

BitMagnet 是一个强大的自托管 DHT 爬虫和种子索引器。通过它可以:

  • 搭建属于自己的种子搜索引擎
  • 不依赖外部tracker获取资源
  • 与现有下载生态无缝集成
  • 完全掌控自己的数据

快去试试搭建一个属于你自己的 DHT 索引器吧!


相关链接

  • Title: 从 DHT 网络获取资源 - BitMagnet 使用教程
  • Author: 清夏晚风
  • Created at : 2026-04-10 22:29:38
  • Updated at : 2026-05-29 14:43:35
  • Link: https://blog.yuil.cn/2026/04/10/信息聚合(资源收集)服务/DHT/从 DHT 网络获取资源 - BitMagnet 使用教程/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments