@banou/ripple

中文文档
0.0.36发布于 2026/11/06MITES Module零依赖构建来源已验证近 30 天下载 4351

在浏览器中下载并流出种子

中文使用文档
文档目录6 节
  1. 特征
  2. 如何建造它
  3. 发展
  4. 嵌入
  5. 隐私
  6. 许可证

连线

在浏览器中下载并流出种子 。 Riple 运行一个真正的 BitTorrent 引擎 (单位:千美元)免费,在页面中编译为WebAssembly),到达同级 通过 新生力量 中继,并在下载时播放视频。 没有什么 安装和没有 Ripple 服务器 .

特征

  • 添加磁铁或磁铁 .torrent。 。 。 . 把它粘上,扔下,或者一旦Riple打开你的系统 作为应用程序安装,然后打开 magnet: 链接和 .torrent 文档.
  • 下载时注意,带有字幕,选择音频音轨和规范音量 开关.
  • 选择要的文件 下载开始前.
  • 将文件保存在浏览器或磁盘上的文件夹中,并保存一个文件,或一个拉链 几个.
  • 创建种子 从文件或文件夹(v1, v2 或混合, 有源标签的私有, 网络) 中 直接从那些文件中播出来.
  • 每个设备上的你的图书馆. 签名到 FKN, 您的列表及其缩略图同步, 加密 在浏览器里,在他们离开它之前.
  • 共享链接 打开播放器或下载页面,其他网站可以嵌入.
  • 您所有的标签都有一个引擎. 一个标签运行,另一个则使用.
  • 速度限制 用于所有或每个种子,以及同伴、跟踪者、文件和全时共享 每个种子的比例 .
  • 没有开口帐户也没有分析.

如何建造它

  • 用户: 反应 19, 路由器 7, 和情感风格, in src/router 财务报告和审定财务报表 src/components。 。 。 .
  • 发动机数字 : libtorrent-wasm 在网络工作者中 (单位:千美元)src/torrent/worker.ts),从页面驱动 src/torrent/client.ts一个标签 在网络锁下,其他人通过广播频道到达它(engine-election.ts, (中文(简体) ), engine-share.ts) (中文(简体) ).
  • 网络数字 : @fkn/lib/net 财务报告和审定财务报表 @fkn/lib/dgram,通过FKN中继器(relayWorker 将工人搭起桥梁。 进港同行到达接力储备港.
  • 存储: OPFS, 或您授予的文件夹 (src/torrent/hybrid-storage.ts) (中文(简体) ). 列表,恢复数据 和缩略图在索引数据库中.
  • 玩家数字 : @banou/media-player 时间 /watch (单位:千美元)src/router/embed.tsx还有libav -wasm和jassub.
  • 同步数字 : src/torrent/use-cloud-backup.ts 财务报告和审定财务报表 src/torrent/thumbnail-sync.ts下页 ripple/ 在FKN账户的存储.

发展

使用节点 24 (.node-version 页:1.

npm ci
npm run dev            # http://localhost:4560
npm run build          # the site and the npm package, into build/
npm test               # unit tests (vitest, node)
npm run test:browser   # component tests in Chrome
npm run typecheck
npm run lint           # vp lint

Playwright套房首先建造,然后驱动Chrome的已建站点:

命令包括什么
npm run test:e2e:local应用程序,只需要浏览器(和ffmpeg)
npm run test:e2e:machine活体数字保持宽度,视机器字体而定
npm run test:e2e:swarm引擎对抗真正的公共群
npm run test:e2e:rig整条链子对着一群本地人,看 试验/swarm-rig

蜂群和钻机套房需要一个头顶的Chrome, 因为没有头顶的Chromeum 拖住发动机在 0 B/s. 运行到下面 xvfb-run -a -s "-screen 0 1280x720x24" 所以没有打开窗口.

推动 main 部署 torrent.fkn.app (英语) (云雾页. 当测试时 传递承诺和 package.json 名称 登记册还没有的版本,它也是 已发布至 npm (.github/workflows/publish-lib.yml) (中文(简体) ). 每个出版的版本都是FKN签名的 与 fkn-sign。 。 。 .

嵌入

/watch 财务报告和审定财务报表 /download 是另一个网站放入iframe的页面。 既取磁铁又取出 相同的查询; 路径选择一个生成 . /watch 播放一个文件, /download 发送文件.

段落价值含义
magnet磁铁URI基数64要写的形式; 永久
m装入的磁铁,基质64urlripple 自己的共享链接所写的
fileIndex文件索引文件 /watch 播放( 缺席时最大视频); 倒计时 /download 用途
filesall, (中文(简体) ), 3, (中文(简体) ), 0-4, (中文(简体) ), 0,2,5什麽 /download 交付
languagea BCP 47标签,例如 fr 或者说 es-MX页面语言和玩家控件语言, 领先于 Ripple 所选语言( 如果缺少, 无法读取, 或者他们没有文本 : 所选语言, 或者浏览器的第一种语言, 他们有文本)
audioa BCP 47标签,或 original音频语言 /watch 开始,领先于其中的最后一个original: 文件属于自己)
subtitlesa BCP 47标签,或 off字幕语言开始,同样的方式
alwaysSubtitles1 或者说 00 当音频以他们的语言播放时, 开始字幕关闭

在播放器中选择的每一种音频或字幕语言都张贴在框架窗口上,作为 { ripple: 'picked', audio }, (中文(简体) ), { ripple: 'picked', subtitles } (倒数关闭)或 { ripple: 'picked', alwaysSubtitles: true },使页面在其中启动下个媒体.

一个 magnet 或者说 m 要求,以及 m 当两者都在场时,应首先阅读. magnet= 这是 原始形式和每条与之相通的链接都一直有效. m= 相同的种子被打包成一个 更短的链接.

/watch?magnet=<base64>&fileIndex=3     plays file 3
/download?magnet=<base64>              the whole torrent
/download?magnet=<base64>&files=3      just file 3
/download?magnet=<base64>&files=0-4    files 0 to 4 inclusive, as a zip
/download?magnet=<base64>&files=0,2,5  those three, as a zip
/download?magnet=<base64>&fileIndex=3  same as files=3

一个文件作为文件交付,一个以上作为一个文件交付 .zip。 。 。 . files 排行 fileIndex。提示种子没有被丢弃,并且决定 没有说,而不是下载整个种子.

需要沙箱框架 allow-downloads,或者浏览器在没有出错的情况下放下下载. 离开 sandbox 还行.

<iframe src="https://torrent.fkn.app/download?magnet=..."
        sandbox="allow-scripts allow-same-origin allow-downloads"></iframe>

为何每一部分都以自己的方式运作 文件/嵌入式数据d。 。 。 .

隐私

Riple不需要账户 也不需要分析 您的列表和文件留在您的浏览器中, 或是 您选择的文件夹 。 签名到FKN,你的列表及其缩略图同步到FKN账户, 先在浏览器中加密 。 同伴们看到FKN继电器的地址 而不是你的 这个 隐私页面 列出 Riple 保存的内容 (单位:千美元)src/router/privacy.tsx) (中文(简体) ).

许可证

麻省理工学院,看 自由主义。 。 。 .

版本与发布记录

@banou/ripple 共发布 36 个版本,首次发布于 2023/12/14;过去 12 个月发布了 30 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.36latest2026/11/061 天前
0.0.352026/10/2612 天前
0.0.342026/10/2613 天前
0.0.332026/10/2613 天前
0.0.322026/10/2513 天前
0.0.312026/10/2315 天前

关于 @banou/ripple 的常见问题

@banou/ripple 是什么?

在浏览器中下载并流出种子

如何安装 @banou/ripple?

在项目目录运行 npm install @banou/ripple,或使用 pnpm add / yarn add / bun add。

@banou/ripple 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/banou__ripple 是否存在。

@banou/ripple 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@banou/ripple 可以商用吗?

@banou/ripple 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@banou/ripple 的下载量有多少?

根据 npm 官方下载统计,@banou/ripple 在 2026/10/08 – 2026/11/06 这 30 天内被下载 4,351 次,日均约 145 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@banou/ripple 还在维护吗?

最新版本 0.0.36 发布于 2026/11/06(1 天前);至今共发布 36 个版本,其中过去 12 个月发布了 30 个;首次发布于 2023/12/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。