基于 cloudflare durable object 的 p2p 中转方案,仅思路

2 月 7 日
 defaw

首先说下 durable object 中转的优势

下面说下实现思路

worker 对外暴露 websocket 连接,worker 内部把 websocket 连接转成 streamable http 和 do 通信

worker 对外暴露 websocket 连接,一个是为了实时性,一个是为了规避 worker 上传请求体 100MB 大小限制 worker 对 do 的连接转成 streamable http 则是为了优化 do 的计费机制,do 对 websocket 的计费是按流入方向每 20 个 packet 折算成一次调用收费,但是如过你用 streamable http ,一个请求就是一个请求。同时让 worker 和 do 实例发起一个 websocket 连接,这是为了保活 do 实例,do 实例在你的请求返回后会自动销毁,所以你需要一个保活的 websocket 连接到 do 。

我已经在一些应用场景测试了这个中转信道

1516 次点击
所在节点    程序员
4 条回复
LnTrx
2 月 7 日
defaw
2 月 7 日
@LnTrx 这个实现有很大的问题,流量是计费的
bear330
2 月 8 日
如果您是想找 p2p 工具, 要不试试我的? 也流量免费的 https://github.com/nuwainfo/ffl
IceSoulHanxi
2 月 12 日
可以看看我之前用大模型搓的基于 cf do 的 easytier 组网工具的服务端,支持 p2p 也支持走 do 中转
https://github.com/IceSoulHanxi/easytier-ws-relay

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1191424

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX