项目简介与核心功能
BitMagnet是一款集成多种先进技术的自托管工具,核心功能涵盖分布式哈希表(DHT)网络支持、BitTorrent搜索引擎、磁力链接检索以及全网资源索引能力。通过结合P2P网络技术与智能内容分类算法,能够高效地发现和共享网络上的分布式资源。
项目源代码仓库地址:https://github.com/bitmagnet-io/bitmagnet
容器化部署配置
以下Docker Compose配置文件可实现BitMagnet的快速部署:
services:
bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:latest
container_name: bitmagnet
ports:
# API及Web用户界面端口:
- "3333:3333"
# BitTorrent协议端口:
- "3334:3334/tcp"
- "3334:3334/udp"
restart: unless-stopped
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PASSWORD=postgres
# - TMDB_API_KEY=your_api_key
command:
- worker
- run
- --keys=http_server
- --keys=queue_server
# 如需禁用DHT爬虫功能,可注释下一行
- --keys=dht_crawler
depends_on:
postgres:
condition: service_healthy
postgres:
image: docker.1ms.run/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
项目概述与核心原理
BitMagnet作为自托管的BitTorrent索引系统,整合了DHT网络爬取、内容智能分类与种子文件搜索功能,同时提供Web用户界面、GraphQL应用程序接口以及Servarr生态集成支持。
该项目的搜索机制基于分布式哈希表技术,通过扫描网络中的各类节点设备(包括运行Transmission、qBittorrent等客户端的主机),利用点对点通信协议建立连接并交换资源信息,从而构建起去中心化的BitTorrent资源网络。当用户在搜索界面输入查询关键词时,系统会自动在P2P网络中扫描匹配的资源信息,并将整理后的结果返回给用户。得益于分布式架构设计,这种搜索方式能够实现更高的响应速度和检索效率,显著提升用户体验。
部署步骤与实战体验
执行docker compose up -d命令启动容器服务后,通过浏览器访问http://<nas-ip>:3333即可进入操作界面:

虽然界面仅支持英文显示,但操作逻辑简单直观,直接在搜索框输入关键词即可发起检索。需要注意的是,由于采用完全去中心化的P2P架构,且初始运行时尚未建立充足的网络连接,首次搜索可能无法立即获得结果。
随着运行时间延长,系统会逐步融入DHT网络并开始返回搜索结果。一旦节点成功加入分布式网络,后续搜索将变得迅速高效。初始阶段需要保持耐心,通常需要数小时才能建立稳定的网络连接。实际等待时间受网络环境影响较大,特别是拥有公网IP并开启NAT1转发功能的网络环境表现更佳。以下是几种优化连接速度的有效方法:
- 将Docker容器设置为host网络模式运行
- 启用IPv6网络协议支持
- 配置NAT1类型网络转发
- 开启UPnP自动端口映射功能
- 对3334端口进行手动端口转发配置
当系统成功检索到资源时,结果列表会实时更新显示,每个条目右侧的U形图标可生成对应的磁力链接。用户可将这些链接复制到Transmission、qBittorrent或Gopeed等下载工具中开始资源获取。
实用建议与重要提示
- 系统部署初期进行搜索时需要保持足够耐心,过早放弃可能导致无法体验完整功能
- 如需获得最佳使用体验,建议保持节点持续在线状态,这样有助于快速重建DHT网络连接
- 请注意合法使用原则,由于部分检索内容可能涉及版权问题,请避免未经授权的传播行为