BitTorrented:无需下载即可流式播放种子与 IPTV,打造全平台多媒体中心

在流媒体订阅费用日益高涨、资源分散的今天,是否有一个平台能统一管理你的电影、音乐、电子书甚至直播电视,并且无需等待漫长的下载过程,点击即播?

BitTorrented:无需下载即可流式播放种子与 IPTV,打造全平台多媒体中心插图

BitTorrented 给出了肯定的答案。这是一个基于 Next.js 16 和 WebTorrent 构建的全面多媒体流媒体平台。它打破了传统 BT 下载“先下后看”的限制,允许用户直接从种子(Torrent)和 IPTV 源进行实时流式传输。无论是 FLAC 无损音乐、4K 电影、EPUB 电子书,还是直播电视频道,都能在播放前零等待。

核心功能:重新定义本地化流媒体

1. 种子流媒体:点击即播,无需存储

BitTorrented 利用 WebTorrent 技术,仅获取文件的元数据和当前播放所需的数据块,实现真正的“边下边播”。

  • 🎵 音乐库:支持 FLAC、MP3、OGG 等格式,提供完整的播放器控制(均衡器、播放列表)。
  • 🎬 影院体验:观看视频支持进度拖拽、全屏模式及画中画(PiP),流畅度媲美 Netflix。
  • 📚 电子书阅读器:内置 PDF 和 EPUB 阅读器,自动追踪阅读进度,跨设备同步。
  • 🎙️ 播客中心:浏览、订阅并流式传输播客剧集,自动标记已听内容。
  • 🔍 深度搜索:不仅搜索文件名,还能检索路径和元数据,快速定位资源。

2. IPTV 集成:直播电视一站式管理

对于 cord-cutters(剪线族),BitTorrented 是完美的电视替代品。

  • 多源支持:兼容 M3U 播放列表和 Xtream Codes 提供商,可管理多个 IPTV 源。
  • EPG 电子指南:内置完整的节目单,让你像使用有线电视一样查看正在播出和即将播出的节目。
  • DVR 体验:支持直播暂停和回看(取决于源能力)。

3. 个人图书馆与社交

  • 智能收藏:创建自定义播放列表、观看清单,一键收藏喜爱的内容。
  • 进度同步:无论你在手机、平板还是桌面端,都能无缝续播上次中断的内容。
  • 🎉 观影派对:内置同步观看功能,邀请朋友一起看电影,并支持实时聊天,重现线下观影乐趣。

4. 高级特性

  • 💳 加密货币支付:集成 CoinPayPortal,支持使用加密货币购买高级服务或订阅。
  • 👨‍👩‍👧‍👦 家庭计划:一个账户支持与最多 10 位家庭成员共享,分摊成本,共享资源。
  • 🌙 深色模式优先:专为夜间观影设计的沉浸式深色 UI。

🛠️ 技术架构:现代且高效

BitTorrented 采用了最前沿的技术栈,确保性能与扩展性:

  • 前端:基于 Next.js 16 和 React 19,使用 TypeScript 和 Tailwind CSS 构建,支持 PWA(渐进式 Web 应用),可在移动端和桌面端作为原生应用安装。
  • 后端:利用 Next.js API 路由进行纯服务器端逻辑处理,确保敏感操作(如密钥管理、种子解析)不暴露在客户端。
  • 数据库:使用 Supabase (PostgreSQL),利用其强大的全文搜索能力提升检索速度。
  • 流媒体核心
    • WebTorrent:仅用于获取元数据和分片数据,不占用大量磁盘空间。
    • Video.js + HLS.js:处理 M3U8 流,确保在各种浏览器上的兼容性。
  • 部署环境:推荐部署在 DigitalOcean Droplet 上,因为标准的 PaaS(如 Vercel/App Platform)不支持 UDP,而 BitTorrent 的 DHT(分布式哈希表)节点发现必须依赖 UDP。

⚡ 快速开始指南

前置要求

  • Node.js v24+
  • pnpm v9+
  • Supabase 账户

1. 克隆与安装

git clone https://github.com/your-org/bittorrented.git
cd bittorrented
pnpm install

2. 配置环境变量

复制示例文件并填入你的凭证:

cp .env.example .env.local

需配置的关键变量包括:

  • Supabase:URL 及 Keys(Service Role & Anon)。
  • 元数据 API:TheTVDB 和 OMDB API Key(用于获取海报、简介等信息)。
  • 支付:CoinPayPortal 商户 ID 及 Key(可选)。

3. 启动开发服务器

pnpm dev

访问 http://localhost:3000 即可体验。

🌐 部署建议:为什么选择 Droplet?

许多开发者习惯将 Next.js 应用部署在 Vercel 或 Netlify,但BitTorrented 是个例外

  • UDP 是必须的:BitTorrent 协议依赖 UDP 进行 DHT 节点发现和数据传输。大多数 Serverless 平台(如 Vercel)不支持 UDP 监听。
  • 推荐方案:使用 DigitalOcean Droplet(或其他支持 UDP 的 VPS)。
  • 一键部署脚本:项目提供了自动化脚本,可一键安装 Node.js、FFmpeg、Nginx 并配置 systemd 守护进程。
# 在 VPS 上运行
curl -fsSL https://raw.githubusercontent.com/profullstack/music-torrent/main/scripts/setup-droplet.sh | bash

此外,项目还集成了 GitHub Actions,推送到 main 分支即可自动部署到指定 VPS,实现 CI/CD 闭环。

🔒 安全与隐私

  • 零内容存储:服务器仅存储元数据(海报、简介、磁力链接),不存储任何实际的媒体文件,规避版权存储风险。
  • 服务器端执行:所有 Supabase 数据库调用均在服务器端完成,客户端无法直接访问数据库,防止密钥泄露。
  • 速率限制与验证:针对磁力链接导入和流媒体请求设有严格的速率限制,所有用户输入均经过验证,支付 Webhook 采用加密签名验证。

评论