
辞职完在家摸鱼,用 peerjs 摸了一个 P2P 的聊天页面 Peek,静态网页托管在 Github Pages ,无中心服务器,或者说服务器就是 peejs 官方的服务器,能白嫖绝不掏钱。
进入页面后稍等片刻会看到本设备的 peer id ,把 id 发送给另一台设备填入后点击 Connect 就可以连接了,点击头像可以修改昵称,reset 按钮用于清空数据,解决奇奇怪怪的 bug 。目前的功能只有简单的文字聊天和文件传输,视频通话做了但没有完全做好,可能会有许许多多奇怪的 bug ,需要两台设备同时在线(适合拥有两台设备并且闲的蛋疼的人左右互搏),建议使用 chromium 类浏览器访问,高级版本的 iOS safari 也行。
目前局域网连接速度还行,其他网络环境下就十分堪忧了,可以分享出自己 id 让其他人试一试,说不定就志同道合了呢。
以后可能会继续优化,但是估计也没什么时间了,欢迎 star
1 wheelg OP 做这个的初衷是有时想和自己的朋友传一些比较私密的文件,担心上传到聊天服务器有风险,于是想着能不能用 webrtc 相关技术实现私下的点对点通信,发现 peerjs 还挺不错的,于是动手撸了一个页面出来。 |
2 im67 2022-03-11 01:58:46 +08:00 嗯……搞个随机在线 ID (摇一摇?) |
3 Vincent103 2022-03-11 08:35:50 +08:00 自己一台电脑,用两个浏览器也能聊 |
4 gongquanlin/strong> 2022-03-11 08:53:18 +08:00 685e787f-cd54-46b0-a398-9990585b3635 在线等 |
5 aviator 2022-03-11 08:58:18 +08:00 很棒棒,还能传文件和视频 |
8 toan 2022-03-11 09:29:13 +08:00 很不错,有使用场景 |
9 twinsdestiny 2022-03-11 09:30:18 +08:00 不能回车发送。。。 |
10 3img 2022-03-11 09:32:09 +08:00 89f18ed6-73ad-4151-992e-c6bc9ad721fc |
11 wanguorui123 2022-03-11 09:32:19 +08:00 有点慢 |
12 misaka19000 2022-03-11 09:38:35 +08:00 连不上 |
13 winglight2016 2022-03-11 10:45:39 +08:00 我也搞过这种,还能视频聊天,不过玩了两下就没啥意思了,毕竟你还得推广给所有的联系人 |
14 deplivesb 2022-03-11 11:14:46 +08:00 feaa27ab-81fe-46e8-8ee1-7f3746bc85e8 在线等 |
15 alexzsh 2022-03-11 11:49:09 +08:00 reset 文案修改下吧 “This will clear all user infomation, Are your suer ?” |
16 alexzsh 2022-03-11 11:49:33 +08:00 94da9ea4-5d01-4972-ab93-57e382a4faf5 |
17 lvsijun 2022-03-11 11:51:55 +08:00 在线等,17801554-a19f-4c99-a6bc-7a8fe154ec0b ,hhhhhhh |
18 wheelg OP @pxiphx891 服务器只是起到一个拉线的作用,两个设备连接后就是直连了,不会再被服务器转发,所以局域网连接会比不同内网连接快 |
19 wheelg OP 对了,GitHub 链接是这个 https://github.com/peek-transfer/peek-transfer.github.io ,欢迎位在下面提提 issue 改进意见什么的,v 站上来看不太及时。 |
20 wheelg OP @twinsdestiny 晚点加上 |
23 wheelg OP @im67 这样就需要用到服务器了,而且感觉有审查风险,目前就做一个私人交换 ID 互传文件的场景就行。 |
24 laLuna 2022-03-11 13:03:18 +08:00 14f52fbc-8e16-48a5-9a08-b480e8e56dec |
26 duke807 2022-03-11 13:17:43 +08:00 via Android 至於 p2p ,要做就做好一,譬如支持十人的,除了像和 mic ,要同支持桌面和播放的音。 |
27 linteresting 2022-03-11 13:36:41 +08:00 9562d7ef-3333-437b-9588-cc8c5f62ee53 在线等 |
29 molvqingtai 2022-03-11 14:02:09 +08:00 via Android @wheelg 最近想做一个类似的,如果 browser to browser 不需要服务器拉线这一步操作可以实现通信吗,就整个流程都不需要服务器 |
30 MonkeyJon 2022-03-11 14:45:48 +08:00 发消息绑定一下回车,谢谢 |
31 godfunc 2022-03-11 14:49:15 +08:00 等 5930067e-b212-40f3-b325-f77501acedfa |
33 wheelg OP @molvqingtai 应该是不行的,需要一个服务器做桥梁让双方互相通信一次才行 |
34 wheelg OP @2435043xia 我试了一下,使用移动数据的话偶尔能连接上,如果连的是不同的 wifi 大概率连不上,不过对于我来说使用场景是足够了 |
35 duke807 2022-03-11 15:43:25 +08:00 via Android @molvqingtai 可以的,搜:serverless webrtc |
36 molvqingtai 2022-03-11 15:48:22 +08:00 @duke807 #35 感谢,我研究研究 |
37 darkengine 2022-03-11 15:49:30 +08:00 连接不同的 wifi 大概率连不上?!古时候有个软件叫飞鸽传书。。。 |
38 iovekkk 2022-03-11 15:49:59 +08:00 能群聊吗 |
39 HeyWeGo 2022-03-11 15:50:47 +08:00 把~这串 id 优化下~ |
40 StephenZzz 2022-03-11 16:28:37 +08:00 dd3fc67a-dce5-4959-96e8-6c0071aaa6e0 |
41 douyacun 2022-03-13 23:47:33 +08:00 |