前几天一直在线传文件,后面就想着自己弄一个。 WebRTC 也更加放心。 这次直接体验了一把 nextjs + go 。 构建出来的文件直接单文件部署即可,前端资源也一并在二进制包。非常 nice 。 -port z 指定端口
目前已经实现了 文件传输。 桌面共享 开发中。
佬们可以 star 或者拍代码(大部分 AI ) 哈哈哈
1 molika OP 文字和桌面还是适配。目前只能文件 |
![]() | 2 hellodigua 67 天前 有点牛,请问下文件不经过中转服务器,是点对点传输吗? |
![]() | 3 hellodigua 67 天前 你这个整一个正式的域名,我甚至愿意保存长期使用 |
4 yiroonli 67 天前 支持 |
5 molika OP @hellodigua 是的 数据不经过我的服务器,通过打洞然后点到点直传,不然你传个文件 我带宽都爆掉了哈哈哈。 |
6 molika OP @hellodigua 不出意外 会一致挂着。 就这个域名。 |
7 molika OP @yiroonli 感谢大佬 打破 0 回复了 |
![]() | 8 andyskaura 67 天前 我有做一个类似的,不感觉方向都走错了,没你这个直观。explorer.kuraa.cc |
9 molika OP @andyskaura 侧重点不一样,我这个就是传文件。用啥传啥就完事了 |
![]() | 10 Smilencer 67 天前 |
![]() | 11 TimPeake 67 天前 界面看着有点 tailwindcss 风 |
![]() | 12 cat 67 天前 试了一下,没打通 |
![]() | 13 skiy 67 天前 我现在用 croc 命令行传。。。 |
14 wKong753900 67 天前 哈哈,我去年也有这么个想法,写开源项目写到一半就没继续了 |
![]() | 15 sujin190 67 天前 不搞个生成二维码 |
![]() | 16 blankmiss 67 天前 打不通一点 |
![]() | 17 realpg PRO 神仙应用 star 了 打算忙完自己搭建一个 可不可以 feature request? 后端加个配置项 allowTextRelay: false, allowPictureRelay: false, pictureRelaySizeLimit: 102400, 然后前端对应实现一下 |
18 molika OP @blankmiss 和 NAT 网络有关系, 我这里没有搭建中续服务器,所以打洞失败会直接失败,而不是降级使用中续。因为我最初就认为用这个 p2p 其实是为了不过服务器。 |
19 molika OP @blankmiss 和 NAT 网络有关系, 我这里没有搭建中续服务器,所以打洞失败会直接失败,而不是降级使用中续。因为我最初就认为用这个 p2p 其实是为了不过服务器。!!! |
22 molika OP @wKong753900 一无所知,到现在 其实很快,了解原理 就可以 pua ai 启动了 |
![]() | 24 ShundL 67 天前 已 star |
![]() | 25 crime1024 67 天前 |
26 undefinedsymbol 67 天前 界面不错,不过试了一下,失败了,这类应用感觉如果想做好,最终还是需要走服务器,不过走服务器又会涉及到隐私问题了。。。 |
![]() | 27 itechify PRO 来个 docker 镜像及 compose 模板 |
![]() | 28 baichi 66 天前 域名 52python 然后项目一行 python 都没有 |
29 caocong 66 天前 我自己练手也写了类似的小工具使用 webrtc 同步文本、传输文件、共享屏幕,op 这个界面和我用 ai 生成的风格好相似,我个人目标是尽量避免搭建信令服务器做成纯前端的东西,如果是纯局域网内可以实现,跨网够呛,而且 stun 服务器使用公用公开的服务器的能力很有限,如自己搭的 |
![]() | 31 Tink PRO |
![]() | 32 tengyoubiao 66 天前 界面写的很好,我学习 webrtc 之后发现信令服务器、打洞和中继都需要单独做服务,从实用的角度看还是用网盘方便 |
![]() | 33 kuxiaobai 66 天前 试用了一下,接收文件不成功,有可能是我把浏览器的 webrtc 功能给关闭了 |
![]() | 34 le4tim 66 天前 via Android 请问啊,webrtc 打洞,有一端如果是对称型的,webrtc 能实施生日悖论的端口碰转吗?就是用变换源端口去发几百个 udp 包?或者变换目的端口发几百个包 |
![]() | 35 lidedongsn 66 天前 webrtc tcp 模式 |
![]() | 37 Satansickle 66 天前 WebRTC 传输的必须条件是什么?试了好几个网络都失败 |
![]() | 38 Tink PRO ![]() @abolast #36 已经开源过了,但是代码很烂,自己写的就不行,再加上 llm 一顿输出,凑活看吧。我这个比较特殊的一点是支持通过 cli 进行文件传输,cli 下只能走中转,因为 cli 下的 webrtc 很难搞。 https://github.com/goxofy/P2P-File-Transfer-WebRTC |
![]() | 41 testliyu 66 天前 跨网络之间就没办法使用了 |
![]() | 42 snow0 66 天前 学习了下。对于手机的 4G/5G 移动数据上网(几乎 100%是对称型 NAT ),不提供 TURN 中转服务的话几乎 100%会失败,对吗 |
46 molika OP @Satansickle nat 模型 完全锥形 NAT ( Full Cone NAT ):所有外部请求都可以直接映射到内网设备,穿越最简单。 地址限制锥形 NAT ( Address-Restricted Cone NAT ):只允许来自已知 IP 的外部请求。 端口限制锥形 NAT ( Port-Restricted Cone NAT ):只允许来自已知 IP 和端口的请求。 对称 NAT ( Symmetric NAT ):为每个目标分配不同端口,点对点连接困难,需依赖 TURN 。 对称 NAT 没法打洞~ |
47 molika OP @undefinedsymbol 对的 |
![]() | 48 Wxh16144 66 天前 UI 不错,之前接触到一个「程序员小山与 Bug 」博主也写了一个类似的 https://github.com/sunzsh/internal-chat |
![]() | 49 keven1024 65 天前 我也晒晒我的开源项目 015 ,golang+vue(nuxt3),和 op 的功能差不多,但是 op 的传输方案是用 webrtc ,我这边用的是服务器存储. 我的项目相比 op 的优势在于我这个支持分片上传和秒传,对有大文件上传需求的用户更友好 ![]() https://github.com/keven1024/015 ![]() 第二个优势是项目可扩展,目前基建差不多了,包括队列系统什么的,支持在原有文件上传基础上扩展新功能,现在加了一个图片压缩,未来会陆续加一些图片超分辨率,图片去背景等这种一次性场景的功能 ![]() ![]() |