我做了一个浏览器聊天扩展,意指为每个网站增加聊天室功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
molvqingtai
V2EX    程序员

我做了一个浏览器聊天扩展,意指为每个网站增加聊天室功能

  •  3
     
  •   molvqingtai
    molvqingtai 2024-09-28 19:12:08 +08:00 4001 次点击
    这是一个创建于 382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Github: https://github.com/molvqingtai/WebChat

    这是一个去中心化、无服务器的匿名聊天浏览器扩展程序,利用 WebRTC 进行端到端加密通信。所有数据都存储在本地,所一你不用担心隐私,目的是为每个网站扩展聊天室的功能。

    这个想法存在很久了,但是一直没找到比较好的 P2P 实现方式,前不久发现了一个神奇的库: https://github.com/dmotz/trystero

    它支持将 BitTorrent, Nostr, MQTT, Supabase, Firebase, or IPFS 这些去中心化网络作为 Wbrtc 的信令服务,正真的做到无服务器运行。

    目前已知问题:

    1. webtorrent 网络连接速度有点慢,而且能否穿透 NAT 看你家网络
    2. Service Worker 还不支持 wbrtc 相关 API 导致不能常驻后台,也就是说每次切换 Tab 或刷新页面都会导致重新连接

    Video: https://youtu.be/Rixj6zGZLUc

    YouTube

    35 条回复    2024-12-24 17:41:44 +08:00
    gzlock
        1
    gzlock  
       2024-09-28 19:34:54 +08:00   1
    浏览同一个网页 + 使用同一个聊天扩展的人(可能会有多个差不多功能的扩展),聊天里冷冷清清的几率太高了
    ferock
        2
    ferock  
    PRO
       2024-09-28 19:36:46 +08:00 via iPhone   1
    这功能以前就有…不看好
    googlefans
        3
    googlefans  
       2024-09-28 19:46:34 +08:00   1
    会被监管吗?貌似有风险
    molvqingtai
        4
    molvqingtai  
    OP
       2024-09-28 19:48:53 +08:00
    @googlefans 要是真的用的人多了可能有风险,哈哈,大概率不会好多人用
    LeoSpeaker
        5
    LeoSpeaker  
       2024-09-28 21:17:20 +08:00   1
    以前 QQ 浏览器有这个功能,聊天最多的页面是瑟瑟的网站。
    hhacker
        6
    hhacker  
       2024-09-28 21:30:28 +08:00   1
    很好的去中心化实践
    yibie
        7
    yibie  
       2024-09-28 21:34:28 +08:00   2
    这东西,如果是一起看片,就如同弹幕的效果。
    caomu
        8
    caomu  
       2024-09-28 23:59:47 +08:00 via Android   1
    po 主可以和 /t/1008140 的这位合作一下(笑
    题外话,这个点子的产品基本上也死光了
    foolishcrab
        9
    foolishcrab  
       2024-09-29 00:09:43 +08:00 via iPhone   1
    很有意思的项目
    pm1111
        10
    pm1111  
       2024-09-29 00:17:28 +08:00   1
    takes time to fly but very good idea. keep it up!
    IvanLi127
        11
    IvanLi127  
       2024-09-29 00:40:05 +08:00   1
    人少冷清,人多全广告。

    当然也可能人少但是广告刷屏
    molvqingtai
        12
    molvqingtai  
    OP
       2024-09-29 03:18:38 +08:00
    @IvanLi127 有想到这个问题,后面应该会给个屏蔽 关键词配置项,把锅甩给使用者
    zerovoid
        13
    zerovoid  
       2024-09-29 03:27:12 +08:00   1
    聊天室去中心化的结果就是门可罗雀,何况聊天室这种事人太少就没意思了。最好的方案是网站自己引入插件,大家进来就能聊天,其次的方案是浏览器主导,每次进入网站都问下要不要打开聊天室插件,最差的方案就是用户自己去装插件聊天,但是有这功夫,不如在各大论坛甩个聊天群的二维码。
    molvqingtai
        14
    molvqingtai  
    OP
       2024-09-29 03:32:28 +08:00
    @gzlock
    @ferock
    @caomu
    统一回复已经有类似的插件为什么还要开发这个,完全是点子撞到一起了
    那为什么我还要重新造轮子?

    1. 其他插件不太符合个人审美,b 好看
    2. 有中心服务器,没有去中心化,不能匿名
    molvqingtai
        15
    molvqingtai  
    OP
       2024-09-29 03:37:24 +08:00
    @molvqingtai #14 忘了说,消息还支持 gfm markdown ,方便技术问题交流
    molvqingtai
        16
    molvqingtai  
    OP
       2024-09-29 03:41:24 +08:00
    @zerovoid 不怕去中心化门可罗雀,就怕央服务器人太多
    molvqingtai
        17
    molvqingtai  
    OP
       2024-09-29 03:46:17 +08:00
    @yibie 弹幕情况我还真想到过,后面迭代应该会增加消息以弹幕的形式展示
    MYDB
        18
    MYDB  
       2024-09-29 03:52:05 +08:00 via iPhone   1
    一旦有个网红在热门视频里推荐了这个插件,那么将变成了黑产的收割范围之一,人性本恶,请先保护好自己的信息再开发
    molvqingtai
        19
    molvqingtai  
    OP
       2024-09-29 04:01:12 +08:00
    @LeoSpeaker 那必须的,人类创新的动力源泉
    molvqingtai
        20
    molvqingtai  
    OP
       2024-09-29 04:04:16 +08:00
    @pm1111 thx
    mohumohu
        21
    mohumohu  
       2024-09-29 04:23:15 +08:00
    去中心化=我可以知道聊天者对方的 IP ?
    jzhm
        22
    jzhm  
       2024-09-29 10:12:08 +08:00
    看起来很不错
    lizhenda
        23
    lizhenda  
       2024-09-29 15:04:57 +08:00
    搭建一个 demo 网站出来看看效果?
    molvqingtai
        24
    molvqingtai  
    OP
       2024-09-29 15:52:41 +08:00
    @lizhenda
    下载解压拖到浏览器扩展界面
    https://github.com/molvqingtai/WebChat/releases
    molvqingtai
        25
    molvqingtai  
    OP
       2024-09-30 21:57:47 +08:00
    已支持弹幕
    molvqingtai
        27
    molvqingtai  
    OP
       348 天前
    @gzlock 同一个域名,其实也完全可以做成不区分域名,但是不符合最初的理念(在同一个网站,一群爱好相投的人交流)
    Leon6868
        28
    Leon6868  
       348 天前
    发现 Github README 中 trystero 被划掉了,请问现在用的是什么 P2P 方案呢?
    molvqingtai
        29
    molvqingtai  
    OP
       348 天前
    Leon6868
        30
    Leon6868  
       348 天前
    @molvqingtai #29 请问为什么抛弃 trystero 呢?
    molvqingtai
        31
    molvqingtai  
    OP
       348 天前
    @Leon6868 #30 连接不稳定
    Leon6868
        32
    Leon6868  
       348 天前
    @molvqingtai #31 就是说现在无法做到真正的去中心化吗?
    molvqingtai
        33
    molvqingtai  
    OP
       348 天前
    @Leon6868 #32 现在也算是,只不过没接入 Web3 网络
    ttyhtg
        34
    ttyhtg  
       338 天前
    需要用的人多才行,还要大力普及
    0x1001
        35
    0x1001  
       295 天前
    欢乐国内和国外的网站,试了五六个,都不行,可能哪些地方还存在问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     878 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:14 PVG 05:14 LAX 14:14 JFK 17:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86