安全内容获取与P2P分发
ProxyTorrent 通过隔离的代理或 VPN 获取内容,将其打包成私有种子, 并通过 libtorrent 进行做种——所有功能都通过简洁的 FastAPI REST 接口暴露。
为什么选择 ProxyTorrent?
隐私优先
所有内容获取都通过配置的代理或 VPN 进行,隐藏真实 IP 地址并确保隐私安全。
高效分发
内容被打包成私有 BitTorrent 文件,通过内置做种实现高效的 P2P 分发。
现代化 API
简洁的 FastAPI REST 接口,支持异步处理、身份验证、速率限制和全面监控。
工作原理
请求
客户端向 REST API 发送获取请求,包含目标 URL、方法、请求头和可选的身份验证。
通过代理获取
后台工作进程通过配置的 SOCKS5/HTTP 代理或 VPN 获取内容,验证大小和内容类型。
打包
内容使用内容寻址哈希存储,并使用 libtorrent 打包成私有种子文件。
做种
内置 BitTorrent 做种器开始分发内容,支持加密和可配置的上传限制。
交付
客户端获取 .torrent 文件或磁力链接,通过 BitTorrent 协议下载内容。
功能特性
🔐 安全获取
通过可配置的 SOCKS5/HTTP 代理或 VPN 获取内容,支持 SSL 验证和大小限制。
🎯 私有种子
创建带有自定义 Tracker、加密和内容寻址去重的私有种子。
🔑 身份验证
支持 HMAC-SHA256 签名验证和 Bearer Token,确保 API 访问安全。
⏱️ 速率限制
按用户和 IP 进行速率限制,防止滥用并确保资源公平分配。
🔄 异步处理
后台任务队列与工作进程池,高效处理并发请求。
🐳 Docker 就绪
完全容器化,使用 docker-compose 轻松部署和 VPN 集成。
📊 监控
健康检查、结构化日志和所有获取请求的进度跟踪。
💾 智能存储
基于 SHA256 哈希的内容寻址存储,防止重复并确保完整性。
使用场景
分布式内容交付
通过代理一次性获取内容,然后通过 BitTorrent 高效地分发给多个客户端。
地理限制内容
通过代理访问区域锁定的内容,同时保持隐私和安全。
研究与归档
收集和保存网页内容,具有可验证的完整性和高效的分发。
企业缓存
私密缓存外部资源,并通过 P2P 在您的网络内分发。
快速开始
使用 Docker 快速启动
# 克隆仓库
git clone https://github.com/NickScherbakov/proxytorrent.git
cd proxytorrent
# 启动服务
docker-compose up -d
# 检查健康状态
curl http://localhost:8000/v1/health
创建您的第一个请求
# 创建获取请求
curl -X POST http://localhost:8000/v1/requests \
-H "Content-Type: application/json" \
-d '{
"url": "http://example.com",
"method": "GET",
"ttl": 3600
}'
# 获取请求状态
curl http://localhost:8000/v1/requests/{id}
# 下载种子文件
curl http://localhost:8000/v1/requests/{id}/torrent -o file.torrent
配置
# 创建 .env 文件
SECURITY__AUTH_ENABLED=true
SECURITY__HMAC_SECRET=your-secret-key
# 代理设置
PROXY__PROXY_ENABLED=true
PROXY__PROXY_TYPE=socks5
PROXY__PROXY_HOST=your-proxy-host
PROXY__PROXY_PORT=1080
# 存储
STORAGE__BASE_PATH=./data