Безопасная загрузка и P2P распространение контента

ProxyTorrent загружает контент через изолированные прокси или VPN, упаковывает его в приватные торренты и сидирует через libtorrent — всё это доступно через чистый REST API на FastAPI.

Зачем ProxyTorrent?

🔒

Приватность прежде всего

Вся загрузка контента происходит через настроенный прокси или VPN, скрывая ваш реальный IP и обеспечивая приватность.

📦

Эффективное распространение

Контент упаковывается в приватные BitTorrent файлы, обеспечивая эффективное P2P распространение с встроенным сидированием.

Современный API

Чистый REST интерфейс на FastAPI с асинхронной обработкой, аутентификацией, ограничением скорости и мониторингом.

Как это работает

Запрос

Клиент отправляет запрос на загрузку в REST API с целевым URL, методом, заголовками и опциональной аутентификацией.

Загрузка через прокси

Фоновый обработчик загружает контент через настроенный SOCKS5/HTTP прокси или VPN, проверяя размер и тип контента.

Упаковка

Контент сохраняется с использованием content-addressable хеширования и упаковывается в приватный торрент-файл через libtorrent.

Сидирование

Встроенный BitTorrent сидер начинает раздачу контента с шифрованием и настраиваемыми лимитами отдачи.

Доставка

Клиент получает .torrent файл или magnet-ссылку и скачивает контент по протоколу BitTorrent.

Возможности

🔐 Безопасная загрузка

Загружайте контент через настраиваемые SOCKS5/HTTP прокси или VPN с проверкой SSL и ограничением размера.

🎯 Приватные торренты

Создавайте приватные торренты с кастомными трекерами, шифрованием и дедупликацией по content-addressable хешу.

🔑 Аутентификация

Проверка HMAC-SHA256 подписи и поддержка Bearer токенов для безопасного доступа к API.

⏱️ Ограничение скорости

Лимиты на пользователя и на IP для предотвращения злоупотреблений и справедливого распределения ресурсов.

🔄 Асинхронная обработка

Фоновая очередь задач с пулом воркеров для эффективной одновременной обработки запросов.

🐳 Docker готов

Полностью контейнеризован с docker-compose для простого развертывания и интеграции с VPN.

📊 Мониторинг

Проверки здоровья, структурированные логи и отслеживание прогресса всех запросов на загрузку.

💾 Умное хранилище

Content-addressable хранилище с 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=ваш-секретный-ключ

# Настройки прокси
PROXY__PROXY_ENABLED=true
PROXY__PROXY_TYPE=socks5
PROXY__PROXY_HOST=хост-прокси
PROXY__PROXY_PORT=1080

# Хранилище
STORAGE__BASE_PATH=./data

💻 Примеры

Python клиентBash скрипт

Смотрите папку examples/ для дополнительных примеров.