安全内容获取与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

💻 示例

Python 客户端Bash 脚本

查看 examples/ 目录获取更多示例。