连线
在浏览器中下载并流出种子 。 Riple 运行一个真正的 BitTorrent 引擎 (单位:千美元)免费,在页面中编译为WebAssembly),到达同级 通过 新生力量 中继,并在下载时播放视频。 没有什么 安装和没有 Ripple 服务器 .
- 现场直播 torrent.fkn.app (英语)在新军内部 fkn.app/app/npm:@banou/ripple (英语)
- Npm上公布为
@banou/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 | 装入的磁铁,基质64url | ripple 自己的共享链接所写的 |
fileIndex | 文件索引 | 文件 /watch 播放( 缺席时最大视频); 倒计时 /download 用途 |
files | all, (中文(简体) ), 3, (中文(简体) ), 0-4, (中文(简体) ), 0,2,5 | 什麽 /download 交付 |
language | a BCP 47标签,例如 fr 或者说 es-MX | 页面语言和玩家控件语言, 领先于 Ripple 所选语言( 如果缺少, 无法读取, 或者他们没有文本 : 所选语言, 或者浏览器的第一种语言, 他们有文本) |
audio | a BCP 47标签,或 original | 音频语言 /watch 开始,领先于其中的最后一个original: 文件属于自己) |
subtitles | a BCP 47标签,或 off | 字幕语言开始,同样的方式 |
alwaysSubtitles | 1 或者说 0 | 0 当音频以他们的语言播放时, 开始字幕关闭 |
在播放器中选择的每一种音频或字幕语言都张贴在框架窗口上,作为
{ 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) (中文(简体) ).
许可证
麻省理工学院,看 自由主义。 。 。 .