V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wanmyj
V2EX  ›  程序员

想基于电报开发完全去中心化的端端加密的即时通信 APP,目的是避免审查,有朋友有兴趣吗

  •  
  •   wanmyj · 2022-09-05 12:51:01 +08:00 · 9486 次点击
    这是一个创建于 811 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Problem:

    1. 不翻墙的墙内安全群聊
    2. 中心化的 APP 一定会在被封和被审查当中二选一
    3. imessage 这种虽然不会被关键字审查(理论上),但不能跨平台

    Solution:

    1. 基本设想是类似于magnet link,需要客户端,并且所有客户端都可以作为某些服务节点
    2. group owner发起一个group link,内容包含群 hash ,和自身 IP 和开放端口等信息组成的 tracker (NAT 造成的困难可以再想办法解决,我还没想到最优方案),有效期,校验等信息。发布出去等待group member连接,建立群聊天室。
    3. 任何群组员group member都可以当 tracker 提供group link给其他人。
    4. group 内采用端端加密通信,并且无中心 server 。如果所有group member在同一时间换掉了 IP 地址,那这个群就会消亡。
    5. 聊天记录记录在一个或多个group member的本地,如果所有group member同时删掉了某条聊天记录,则这条记录无法恢复。

    本人在外企工作,平均每天能有 3 个小时的开发时间.这个项目可能需要数千小时的开发量,我的工程经验怕难以承担这种项目,所以想找一些同好一起完成这个 project 。最好有个有 IM 和网络工程经验的大佬来做 leader 。

    我想这个项目一定要开源,无论哪种许可证。

    第 1 条附言  ·  2022-09-07 16:59:21 +08:00

    补充

    很高兴看到大家的讨论,本OP认真读了每一条回复,也针对评论所提到的问题和方案尽可能解决和参考,对于不了解的协议和轮子也在学习中。针对NAT,IP更换,节点在线,离线消息,消息存储等很多问题,已有一个初步的solution,目前看起来没有blocker。我会继续就完善技术思路,和这个产品要做什么,现在的轮子到底够不够圆,再做一个具体一些的总结,有一个初步可行的思路雏形后,再去考虑召集人手一起行动。

    当然有一些非技术的东西,将来甚至可能会有更丧心病狂的手段,比如不装反诈的设备禁止联网,会造成非常规的blocker,单靠技术无法完美解决,但是技术的出现会极大增加这种非技术的封锁成本。

    去中心化的目的是让监管无从封锁,E2EE的目的是让监管无从窃听。这两项技术只能避免私/群聊的障碍和风险,不能避免channel holder的风险,更不能阻止一名通缉犯不被找到。俺并不能像编程随想那样把安全做到极致,除非社工学否则不怕被抓。

    去中心化的体验必然不如有中心服务器的体验,这方面只能尽可能优化,不可能超越,所以也不可能代替当下流行的IM。俺也不知道这个IM就算真做出来,如果没有用户又有什么意义,现实中没有那么多人在乎安全和隐私,被封号就下次注意一下。但俺感觉一定有人用得到,比如公司,组织和机构,并且如果那只手收得更紧一些,那有这个需求的普通人会更多。

    153 条回复    2023-08-09 18:27:07 +08:00
    1  2  
    Jooooooooo
        1
    Jooooooooo  
       2022-09-05 12:54:39 +08:00
    如果你的目标是"解决墙内审查", 那从技术上解决完全是行不通的.

    另外, 端到端加密的聊天软件很多, 为啥要有一个新的呢.
    wanmyj
        2
    wanmyj  
    OP
       2022-09-05 12:56:57 +08:00
    @Jooooooooo 主要是去中心化,而不是端端加密。目前的 IM 都是中心化的,因此一定会在被封和被审查当中二选一
    cssk
        3
    cssk  
       2022-09-05 12:59:24 +08:00 via iPhone   ❤️ 1
    从来就不是技术问题,另外已经有大把了,还要造什么轮子
    wdssmq
        4
    wdssmq  
       2022-09-05 13:01:00 +08:00
    软件杂谈:QTox 使用指南( windows10 ) - 知乎
    https://zhuanlan.zhihu.com/p/387080301
    NessajCN
        5
    NessajCN  
       2022-09-05 13:02:29 +08:00   ❤️ 7
    p2p 通讯的唯一难点在 ip
    不管反代、ssh tunnel 还是 webrtc signaling 都需要有独立公网 ip 的服务器中继
    要是 ipv6 已经彻底普及这就不是问题了,关键是还没有
    那你其他的一切加密手段都绕不过这个「独立公网 ip 服务器」
    所以你这句「 (NAT 造成的困难可以再想办法解决,我还没想到最优方案)」才是一切困难的根源,等你想到了再说其他的吧....
    ulyc
        6
    ulyc  
       2022-09-05 13:05:21 +08:00   ❤️ 5
    > 目前的 IM 都是中心化的

    去中心话的 IM (协议)有很多啊, 不要重复造轮子了吧。

    古老的有 IRC 和 XMPP 。
    现代些的有 Matrix 。

    去中心化 E2EE 方面 Matrix 协议已经做得挺好了,你自己可以很快地搭建起一个不被墙的 HomeServer ,给自己和家人朋友使用, 重要的是你的 Server 与世界各个 Server 都是互通的。
    它的客户端选择很多样,完全跨平台。
    totoro625
        7
    totoro625  
       2022-09-05 13:07:03 +08:00
    直接甩朋友一个 mtproxy 连接,让他配置好 telegram 之后直接用
    而且重点是资源多,他用上就离不开了,你找他也能找得到人

    直接用国内腾讯云阿里云搭建好了丢给朋友,朋友只要连国内服务器,你维护出国那段路线就行
    agagega
        8
    agagega  
       2022-09-05 13:08:49 +08:00 via iPhone
    @totoro625
    mtproxy 秒被封吧,我 19 年那会就感觉用不了了
    totoro625
        9
    totoro625  
       2022-09-05 13:13:46 +08:00
    @agagega #8 国内机器搭建的,一直高可用
    用户-->自己的国内机-->机场的国内机-->机场的专线过墙-->机场的落地机-->自己的落地机-->telegram
    mtproxy-->v2ray-->clash-->clash relay-->ss
    cxtrinityy
        10
    cxtrinityy  
       2022-09-05 13:18:42 +08:00 via Android
    @NessajCN 我觉得这反而不是问题,IPv6 是必然的趋势,拿 v4 公网 ip 可能有问题,但折腾下弄个 v6 反而不难,op 的设想是去中心化端到端加密,对这个感兴趣的一般都有点折腾的能力,当然也不排除真的没有 v6 的,但 op 现在也只是找人,v6 的子弹得再飞一会儿,op 的子弹还没造出来,如果等 v6 完全铺开再搞反而是迟了,现在可能正是时候,两边都需要时间
    wanmyj
        11
    wanmyj  
    OP
       2022-09-05 13:26:37 +08:00
    @totoro625 这个只是依靠一个懂的人来解决他身边的朋友的问题。这里不讨论比谁的水平有多高,要讨论一个有普及性的解决方案。
    kwh
        12
    kwh  
       2022-09-05 13:27:23 +08:00
    @totoro625 为什么机场敢在国内架设啊?不怕被抓吗
    NessajCN
        13
    NessajCN  
       2022-09-05 13:29:03 +08:00
    @cxtrinityy 相信我,现在楼主需求里的轮子早就造够了,v6 真的彻底铺开,搞 p2p 加密通讯瞬间就能搞好。
    wanmyj
        14
    wanmyj  
    OP
       2022-09-05 13:33:36 +08:00
    @NessajCN 所以才来这里看参考高见。这个问题也是值得讨论的重点,如何尽可能少的依靠公网 IP 建立端端通信。
    cxtrinityy
        15
    cxtrinityy  
       2022-09-05 13:36:12 +08:00 via Android
    @NessajCN 并不是说没有轮子,像楼上说的 matrix ,我粗略浏览了下,人也提供 sdk ,创建会话,文件传输,端对端加密能力都直接有了,op 要是想,tg+matrix 也能实现他的需求,而且不用造轮子,就像 tg 本身也有很多版本吗,不冲突,我意思只是说这个路子可以,至于 op 要不要造轮子是另外的考虑
    wanmyj
        16
    wanmyj  
    OP
       2022-09-05 13:39:38 +08:00
    @NessajCN 这么多轮子,结果没有铺开,如果原因就是只剩下的「独立公网 ip 服务器」的难点,那确实已经不需要再造轮子了。完全没有任何公网情况下是不能联立链接,但对公网需求尽可能小,辅以 IPV6 ,是不是还可以讨论
    NessajCN
        17
    NessajCN  
       2022-09-05 13:43:31 +08:00
    @cxtrinityy 那你跟我是一个意思。我也是说不管是现有方案还是自造轮子,楼主方案完全可行。只可惜有一个前提是 ip 访问的问题可以解决。目前基于 ipv4 的所有方案无一例外都必须用上额外的有独立公网的服务器,那就谈不上去中心化了。监管只需要盯紧你的公网 ip 服务器,一道行政命令下来不许提供类似的 turnserver/ssh tunning/frp 这些服务,不然就拔线,那你这一切方案都行不通。而同样的,一旦这个问题解决,其他的技术上的一切问题都非常简单。
    wanmyj
        18
    wanmyj  
    OP
       2022-09-05 13:46:24 +08:00
    @ulyc 我还没看你说的这些协议,但你也提到 HomeServer ,如果封了这个 HomeServer 的中心点,群聊是不是也就失效了?如果是,那还是没做到我想表达的去中心化的程度
    mrzx
        19
    mrzx  
       2022-09-05 13:48:14 +08:00
    现在还不是时候,等 IPV6 全面普及后再说吧,至少不用在考虑 nat 问题。ipv4 不要考虑了

    如果有去中心化的设计,那在我看来,就是该聊天软件即可做服务端也可以做客户端,p2p ,并且支持很多可自定义的加密算法,可灵活采用 TCP 或 UDP 协议。可以灵活的指定端口范围。及流量伪装和流量控制(你看的没错,GFW 那帮家伙甚至觉得去往国外一个 IP 流量大了都封)。最好集成 DNS 代理,隧道,加密,查询功能


    目前我用加密的 IRC ,服务器一半挑国外的。。。。期待楼主能出成功。
    marcogray
        20
    marcogray  
       2022-09-05 13:54:34 +08:00
    建议从去中心这一个角度去考虑,其他都是建立在这一点上的附加功能。Web3 会是一个非常好的方向来解决这个问题。
    shijingshijing
        21
    shijingshijing  
       2022-09-05 13:58:40 +08:00
    想多了,从来都不是技术的问题。
    leefor2020
        22
    leefor2020  
       2022-09-05 14:01:08 +08:00
    去中心化的 IM 在国内不被政策允许吧,就一条必须留存 Log 就做不到
    Dkngit
        23
    Dkngit  
       2022-09-05 14:02:00 +08:00
    @totoro625 和我的代理方案一样
    ly841000
        24
    ly841000  
       2022-09-05 14:02:32 +08:00
    端端加密一般要求匿名化,你这架构直接把双方 IP 暴露了,不行吧?
    Leonard
        25
    Leonard  
       2022-09-05 14:02:52 +08:00
    你就这么理解,不管你用什么技术,不能审查的 IM 软件在中国就不能用
    ulyc
        26
    ulyc  
       2022-09-05 14:11:40 +08:00   ❤️ 1
    @wanmyj 群聊并不会失效, 你可以随时换个 HomeServer 再加入这个 room ,其他人不会受影响。
    > 那还是没做到我想表达的去中心化的程度

    我理解您表达的意思,那是一种 p2p 的,完全离散的去中心化, 其实去中心化分为好几种程度。
    Matrix 是一种联邦式的去中心化, 电子邮件就是一种常见的联邦式的去中心化方式。我认为这种程度的去中心化,已经能比较好地兼顾隐私 、效率和抗审查了。

    P2P 式的去中化,其实对于匿名化和效率都不会太友好。

    匿名化方面,比如 BT 和 IPFS 都不支持 onion ,而且匿名性有多差已经有很多讨论了 。
    如果还是有兴趣,可以看下基于 IPFS 的即时通讯软件,这里有一些讨论 https://www.v2ex.com/t/848087
    janus77
        27
    janus77  
       2022-09-05 14:23:18 +08:00
    如果你想要公开发行和用于商业用途,那审查是避免不了的,无论是不是去中心化。上头可不管你是什么技术,只要你没法让我调取聊天记录,那你就不能上市发行。
    如果你只是想要个人使用,那随便搞个自编译版本的端到端加密即可,不是非要去中心。因为又没人会看到你的数据。
    icyalala
        28
    icyalala  
       2022-09-05 14:23:34 +08:00
    上面人也说好几次了,这不是技术的问题,看来 OP 还是不愿接受。
    使用这种 App 来发消息,叫 "对抗组织审查",去中心化或者端到端加密都无济于事。
    监控协议或特征去封锁,或者直接请你去喝荼然后拿走你的手机,你是没办法的。
    虚拟货币是不是去中心化的,结果呢。。
    Goooler
        29
    Goooler  
       2022-09-05 14:26:25 +08:00
    我看刑
    XiLingHost
        30
    XiLingHost  
       2022-09-05 14:26:32 +08:00
    要不你看看比特信?
    woctordho
        31
    woctordho  
       2022-09-05 14:34:36 +08:00 via Android
    要不你看看 RetroShare ,他们现在主要是在找人写一个现代化的 UI
    paradoxs
        32
    paradoxs  
       2022-09-05 14:37:13 +08:00   ❤️ 2
    你怎么能完全去中心化?

    有人在里面传播 儿`童`色`情、 恐`怖`主义活动`犯`罪 等信息,你难道不处理???????
    nothingistrue
        33
    nothingistrue  
       2022-09-05 14:38:05 +08:00
    @cxtrinityy #10 就目前来说,IPv6 在中国普及,路还长着呢。我玩一个手机游戏需要用到 V6 的线路,结果不管是家里的 WIFI 还是 手机的 4G 网络,经常断,跟它一个服务器的 V4 线路就屁事没有。基本可以猜测联通的 V6 特么的还是 V6 on V4 ,不是原生 V6 。同样是网络升级 IPv6 跟 3G 、4G 、5G 这些比起来,那是孙子当中的孙子。工信部都快成冷衙门的标杆了,推啥啥不成。
    hoopan
        34
    hoopan  
       2022-09-05 14:38:45 +08:00
    我在想,网络技术越发达,我们的隐私会不会越少,上面的掌控就越深入。
    现在的生活对互联网的依赖方方面面,这些数据上面随时可以获取,我们几乎成为了透明人。
    Bad0Guy
        35
    Bad0Guy  
       2022-09-05 14:42:52 +08:00
    如果是做到在国内用的话第一条可以先 pass 了,只要是墙内应用不审查基本不会让你用,要么就是只有一小部分人会去试(例如 session 这种),我目前接触到的 E2EE 类 IM 基本都是要挂梯(除了 iMessage )。TG 上认识的十个朋友当中目前加上我只有三个人在 matrix 聊,其他人要么不愿意尝试要么就嫌麻烦,所以你看嘛🤷
    chendy
        36
    chendy  
       2022-09-05 14:49:05 +08:00   ❤️ 4
    @paradoxs
    去中心化、避免审查( X )
    逆反心理( V )
    ericgui
        37
    ericgui  
       2022-09-05 14:51:26 +08:00
    人在墙内吗?如果是,你别把自己折腾进去了
    winson030
        38
    winson030  
       2022-09-05 14:52:41 +08:00
    可以看看现有的轮子,session private messenger 是 signal private messenger 的分支,当中的 onion router 的技术说不定对你的项目有用,将这个整合进你的项目里面,或许能够实现规避审查的功能。不过现在 session 的用户不多,总的来说还是产品形象过于 geek 。
    ulyc
        39
    ulyc  
       2022-09-05 14:53:07 +08:00
    @Bad0Guy 其实 Matrix 不挂梯也能挺好地用
    F798
        40
    F798  
       2022-09-05 14:53:13 +08:00 via iPhone
    请教一下,imessage 不备份 icloud 的情况下到底能不能被监听?
    如果能,是怎么做到的?
    如果不能,为什么还能活着?
    zhaokun
        41
    zhaokun  
       2022-09-05 14:53:25 +08:00
    @wanmyj 目前的 IM 不都是中心化的,也有去中心化的,只是用的人挺少
    ericgui
        42
    ericgui  
       2022-09-05 14:55:54 +08:00
    看来每天都有不怕死的
    Bad0Guy
        43
    Bad0Guy  
       2022-09-05 14:56:23 +08:00
    @ulyc 但是说实话用的人不会多,我曾经还想把 session 推给我在墙内的朋友用,但是一想到让他们注册个 TG 都要大半年,但是在微信却聊的很快乐,就直接放弃了这个想法😂
    lengyuqu
        44
    lengyuqu  
       2022-09-05 14:56:56 +08:00   ❤️ 6
    matrix 就是目前最健全的方案,没有之一。

    你所需要的所有的问题都具备
    1 ,自建服务后,可以不翻墙在国内安全聊天
    2 ,不存在审查问题
    3 ,跨平台
    4 ,任何一个自建节点和所有节点互联互通

    客户端 element 也很容易获取到。

    题主所有说的构想:
    1 ,你自己编写要求所有客户端作为服务节点就很难实现。手机杀后台,那么节点就断开。还是需要一台中心服务器作为主节点。
    2 ,手机做节点,那么就大量耗电。
    3 ,由于没有云服务,就无法做到消息推送,这是目前又有基于去中心网络的匿名 im 都具备的问题。
    ulyc
        45
    ulyc  
       2022-09-05 14:58:20 +08:00
    @Bad0Guy 确实,虽然 M 注册的难度比 TG 小多了。
    我的做法是自己用 Matrix ,跟 TG 拉个桥,还挺好用的
    HugoChao
        46
    HugoChao  
       2022-09-05 15:08:11 +08:00
    发射个低轨卫星做中继怎么样,能解决被审查的问题吗
    Bad0Guy
        47
    Bad0Guy  
       2022-09-05 15:11:28 +08:00
    @ulyc 我目前就这么玩的,主要是玩的人真的少,导致没什么人最后还是 tg 多于 matrix
    xsqfjys
        48
    xsqfjys  
       2022-09-05 15:12:37 +08:00
    你这么搞会被请去喝茶的
    lengyuqu
        49
    lengyuqu  
       2022-09-05 15:23:11 +08:00   ❤️ 1
    @Bad0Guy tg 的魅力还是频道号可以自由创建,大量的内容在 tg 产出,你就算不把 tg 当微信用,也能把 tg 当成一个今日头条用。而且 tg 群容量大,总有活跃的人,随时可以吹水
    yolee599
        50
    yolee599  
       2022-09-05 15:27:53 +08:00 via Android
    不要用技术来解决非技术问题
    liuxiniszuhi3
        51
    liuxiniszuhi3  
       2022-09-05 15:30:54 +08:00
    聊天室?
    shijingshijing
        52
    shijingshijing  
       2022-09-05 15:40:44 +08:00
    @HugoChao 以危害 xx 安全,直接地基激光给你打瞎。实验都做了好几轮了,很成熟的技术了,期间还被米地控告制造太空碎片。
    wanmyj
        53
    wanmyj  
    OP
       2022-09-05 15:48:31 +08:00
    @lengyuqu 你说的很对,参考很多人的回复,我也觉得完全去中心化的想法还是不够成熟。除了 V4NAT 之外,要维持这些链接付出的网络消耗成本太大。
    ersic
        54
    ersic  
       2022-09-05 15:56:43 +08:00
    @totoro625 最最好别这么干,你不知道最后会传给谁,会做什么。最后的责任都是你承担,而且这是传播,有人管的。
    wanmyj
        55
    wanmyj  
    OP
       2022-09-05 16:02:50 +08:00
    @F798 至少从 imessage 的文档里我是这么理解的,不备份 icloud ,是不能被监听的,因为传输用的公钥对应的私钥只在手机里。
    上传到 iCloud 时候用的另一对公私钥加密已经存在的信息再上传到服务器,Apple 有一份 copy of 这对公私钥。

    如果我的理解没错,我对 imessage 还能活着的解释就是用 imessage 但不用 iCloud 的人太少太少了,犯不上因为这个和 Apple 这种提供了百万就业的大公司作对,何况 Apple 态度很好也愿意合作。执法司法都有成本考虑,没有绝对锁死的原则。
    Ashore
        56
    Ashore  
       2022-09-05 16:05:19 +08:00
    我觉得这个想法很刑!
    wanmyj
        57
    wanmyj  
    OP
       2022-09-05 16:17:56 +08:00
    @Bad0Guy 跟你遇到情况差不多,挂梯子对多数朋友都麻烦。我当然可以自己建个 whatever-server 供朋友们使用,但这只是用技术钻个阿 sir 懒得搭理的空子,不是解决根本问题的办法。其实应用下载审查是比较容易克服的,只要没有固定的中心服务器,E2EE 通讯基本没办法被阻拦,除非拔网线。
    lengyuqu
        58
    lengyuqu  
       2022-09-05 16:22:10 +08:00
    @wanmyj
    1 ,imessage 在国内属于高门槛软件,使用者的 sim 卡必须插手机上。
    2 ,大多数用户使用的 imessage 用户都是采用手机号作为默认账户。
    3 ,当网络不佳时或者对方未打开 imessage 时,会默认使用短信发送。
    4 ,既然大多数用户使用 imessage 都不会用于敏感用途,对于少数用于敏感用途的用户,你封了 imessage 实际上这类用户完全可以使用其他 im 软件代替。所以 imessage 没被封属于很正常的事
    wanmyj
        59
    wanmyj  
    OP
       2022-09-05 16:26:38 +08:00
    @ulyc 感谢回复
    > P2P 式的去中化,其实对于匿名化和效率都不会太友好。
    我在发帖时候还没太深入考虑效率的问题,保持连接会占用很多网络资源,不保持连接就没有稳定性可言,这应该是个死结。

    至于匿名性,我理解只要侦测不到流量特征,那和普通的加密流量应该没有区别,除非有群友被解锁手机暴雷,否则不会引入不安全的因素。理解有错请指出
    wanmyj
        60
    wanmyj  
    OP
       2022-09-05 16:32:07 +08:00
    @leefor2020 都想着逃避审查了,肯定不会想在国内站着赚钱了 Hhhhhh
    wanmyj
        61
    wanmyj  
    OP
       2022-09-05 16:37:39 +08:00
    @ly841000 暴露 IP 应该问题不大,只要应用层信息不被破解。
    xuanbg
        62
    xuanbg  
       2022-09-05 16:39:53 +08:00
    IM 的问题就从来不是什么中心化。再说,你开发出来怎么上架?这个问题不解决,说什么都没用啊。
    wanmyj
        63
    wanmyj  
    OP
       2022-09-05 16:47:54 +08:00
    @lengyuqu 前三点我也认同。第四点有待商榷,不是有代替品封不封都管不住敏感用户所以才不封 imessage ,如果这个道理说得通,那被封的所有 im 都符合这条理由。应该还是和厨子谈判后相互做的一个互相的妥协,毕竟厨子一直在吹他产品的隐私保护,iCloud 都交给贵州了,保留一个 E2EE 的通信方式但不允许在国内宣传也不为过了。
    wanmyj
        64
    wanmyj  
    OP
       2022-09-05 16:50:29 +08:00
    @xuanbg 应该不用太考虑国内上架的问题,毕竟如果做开源也就没有打算分张小龙的蛋糕
    maskj4
        65
    maskj4  
       2022-09-05 17:04:05 +08:00
    可别搞这个风险太大,搞不好有人用你这东西密谋造反
    libook
        66
    libook  
       2022-09-05 17:08:47 +08:00
    我记得 Tox 就是去中心化的即时通信工具吧,主要问题还是用啥通信工具取决于社交圈子是不是都在用这个工具。
    krixaar
        67
    krixaar  
       2022-09-05 17:11:22 +08:00
    要那么高的匿名度干啥,自己一台 VPS 私聊不就行了嘛。最近在试用 Snikket ,XMPP 的,功能不多,刚好够用。
    libaokai
        68
    libaokai  
       2022-09-05 17:12:49 +08:00
    我看刑
    lux182
        69
    lux182  
       2022-09-05 17:49:12 +08:00
    联邦通讯,Matrix 好像可以。不过很难叫醒一个装睡的人,如果就是搞搞颜色也行
    sampeng
        70
    sampeng  
       2022-09-05 17:56:53 +08:00
    我看刑
    stephenyin
        71
    stephenyin  
       2022-09-05 18:07:35 +08:00
    @maskj4 #65 最近有这想法的人确实越来越多了。
    SenLief
        72
    SenLief  
       2022-09-05 18:21:21 +08:00
    谈到这个问题,不知道现在有没有基于 ipv6 的通信,目前 3 大运营商已经支持了 ipv6 ,移动端横行,主要打通移动端就可以了。
    huangzxx
        73
    huangzxx  
       2022-09-05 18:26:33 +08:00
    审查不可避免吧
    1002xin
        74
    1002xin  
       2022-09-05 18:33:45 +08:00
    你在国内还想端对端?这从来不是技术问题
    yrj
        75
    yrj  
       2022-09-05 18:42:44 +08:00
    人在国内,刚下公交,我就不参与了。
    ysc3839
        76
    ysc3839  
       2022-09-05 18:46:30 +08:00
    可以看看 Bitmessage?不过 P2P 的话不好保存消息,必须目标用户在线才能发送。
    ysc3839
        77
    ysc3839  
       2022-09-05 18:49:19 +08:00
    @SenLief 其实很多运营商的 NAT 是 Full Cone 的,向某个公共的 STUN 服务器发个请求就打开端口了。而且在网上有运营商设置 IPv6 防火墙禁止外部连入的案例,此时也类似 NAT 需要打洞后才能连接。
    ysc3839
        78
    ysc3839  
       2022-09-05 18:55:37 +08:00
    > 至于匿名性,我理解只要侦测不到流量特征,那和普通的加密流量应该没有区别,除非有群友被解锁手机暴雷,否则不会引入不安全的因素。
    我觉得关键不是加密,而是你没法阻止坏人加入。比如你用 BT 下载盗版资源,没开加密时版权方可以使用抓包等手段知道你下载的内容,开启 BT 加密后,抓包确实不能知道下载内容了,但是如果对方拿到 BT 种子,连接上了你的客户端,仍然可以知道你在下载盗版。
    Vegetable
        79
    Vegetable  
       2022-09-05 18:56:31 +08:00
    E2EE 轮子一大堆。小范围使用没什么问题。但是这个需求本身存在一定的逻辑缺陷。

    哪种人有这种需求呢?加密本身带来的收益,能冲抵易用性的损失吗?这种权衡之下,只有比较在意加密的人才会用这个工具,最后这个工具就会滑坡成专门干坏事儿的工具。针对这个工具的打击也就会随之而来,你如果人在国内,怎么保证自己不被牵连,难道要说技术无罪那一套吗
    ooooo
        80
    ooooo  
       2022-09-05 18:57:14 +08:00
    支持
    腾讯现在人嫌狗弃
    过度搜集用户隐私还动不动封号
    正是其他聊天软件崛起的好机会
    dianso
        81
    dianso  
       2022-09-05 19:01:54 +08:00
    审查是相对的。
    TG 本来就有审查,你用私密频道发幼女图片,就知道了。
    wanmyj
        82
    wanmyj  
    OP
       2022-09-05 19:06:28 +08:00
    @ysc3839
    > P2P 的话不好保存消息,必须目标用户在线才能发送
    这点问题不大,消息记录用分散多备份方式存储,每个在线客户端都自动同步其他在线客户端的消息。比如 ABCD 一个群,只有 AorB 在线,他发出的群消息只保存在 AorB 本地,等 AandB 同时在线,会自动同步 AandB 本地所有的消息到 AandB 本地。同理对其他群成员

    Full cone NAT 能简化一些问题,但是解决不了全部,比如两个客户端都是 nat 内网且只知道自己的公网 ipv4 地址,如何在不使用公网 server 前提下去打这个洞?
    qW7bo2FbzbC0
        83
    qW7bo2FbzbC0  
       2022-09-05 19:16:36 +08:00
    晶哥已经带走了很多 TG 用户
    wanmyj
        84
    wanmyj  
    OP
       2022-09-05 19:18:09 +08:00
    @Vegetable 我看了楼上列举的 E2EE 的轮子,基本都还是离不开公网或者 server 。

    讲真我有这个想法倒不是想和当下的 IM 工具做竞争。实在是对封群封号有种无力感,导致正常的沟通都像做贼。如果这个工具能实现,那最起码有过封群经历的人都会选择这个 app 来建立新群,无需注册且无法审查,不用担心被封群封号。

    PS 以现在的设备计算能力,加密相比于明文传输其实没什么成本。
    ysc3839
        85
    ysc3839  
       2022-09-05 19:19:26 +08:00
    @wanmyj “消息记录用分散多备份方式存储”会导致数据量越来越大,除非设置有效期,到期删除。
    在 NAT 内没法知道公网地址,必须依赖公网服务器。
    另外也可以看看 Zer​oNet ,它实现用户发布内容的方法是,网站可以设置用户存储区,用户用自己的私钥签名数据然后发布到网站,用户数据随着整个网站同步到其他客户端,用户就能在网站中看到其他用户发布的数据,且能验证数据确实是发布者发布的。不过这套方案也不能避免数据越来越大的问题,似乎只能定期删除。
    ngn999
        86
    ngn999  
       2022-09-05 19:28:24 +08:00 via iPhone
    最近在关注这个 https://keet.io/

    号称是分布式的,端对端加密的
    pxiphx891
        87
    pxiphx891  
       2022-09-05 19:33:31 +08:00
    首先,已经有了 qtox
    其次,你直接和你的好朋友共享一个 aes 密钥,然后把文字加密,放到微信上聊,不就行了?
    imtianx
        88
    imtianx  
       2022-09-05 19:39:35 +08:00
    coming.chat, 端到端加密聊天,数字钱包,web3 都有
    wanmyj
        89
    wanmyj  
    OP
       2022-09-05 19:42:51 +08:00
    @ysc3839
    > 没法阻止坏人加入
    这里我想说 share 出去的加群 link ,就好像一串密码,是要自己负责的,可以设置 counter 或者有效期,总之获得这个 link 的人有权在失效前加入创建的群聊。

    这里的群聊并不是像有的 TG channel 一样,如果有人想做匿名 public board cast ,这种需求背离了群聊的初衷。
    wanmyj
        90
    wanmyj  
    OP
       2022-09-05 19:45:16 +08:00
    @pxiphx891 你的其次其实说的挺对,解决了问题,可惜微信不会给开放这个接口,只能自己复制来粘贴去加解密,搞山巅的人才会这么麻烦吧
    wanmyj
        91
    wanmyj  
    OP
       2022-09-05 19:51:30 +08:00
    @ysc3839
    > 会导致数据量越来越大,除非设置有效期,到期删除
    yes and no ,因为并没有一个中心服务器,所以群聊的内容不会被集中存储,终端可以选择对群交流信息的保留与否,且每个终端只会保存属于他的群的聊天记录,所以不会比当前 IM 占用的空间更大。
    > 另外也可以看看 Zer​oNet
    thanks I will check it
    ltkun
        92
    ltkun  
       2022-09-05 19:57:53 +08:00 via Android
    如果是安卓微信的话 可以通过安装插件的方式支持加密聊天 当然需要双方 只是这个功能还都安装 可是应该还是逃不过审核 有个 app 可以试试看 能微信原生 躲过审查 叫 oversec 也需要微信双方安装 这个很 OK 利用安卓无障碍模式来识别加密密文进而解密显示在屏幕上
    cesar
        93
    cesar  
       2022-09-05 20:30:48 +08:00 via Android
    能否实现先不说,如果做出来了
    节点在国内,挂台设备进来收集节点信息,然后挨个找人请喝茶这种事应该不是做不出
    事实上在安卓上装软件,除非是一台干净的没有国产软件的设备,否则马上你设备上的所有 app id 就被收集去了,要么就是伪装 App id?
    节点在海外,只能祈祷没有白名单
    dorothyREN
        94
    dorothyREN  
       2022-09-05 20:56:30 +08:00
    完全去中心化,你怎么登录 /怎么联系别人, 难道全网扫一遍?
    SenLief
        95
    SenLief  
       2022-09-05 21:16:49 +08:00
    @ysc3839 哎,有 NAT 的墙就不行,无论如何也无法发现对方。还是需要中继服务器,所以这是个无解的问题啊。
    wgsgyes
        96
    wgsgyes  
       2022-09-05 22:18:47 +08:00
    楼主先研究 DeltaChat 试试,基于邮件协议的 IM
    est
        97
    est  
       2022-09-05 22:28:33 +08:00
    4chan 老哥和你想到一起去了。他们做了 tox

    /t/193100
    Vegetable
        98
    Vegetable  
       2022-09-05 23:14:24 +08:00
    @wanmyj 成本不是加密,是为了加密和去中心化带来的妥协。你总不会觉得中心化没有任何优势吧,放弃中心化这些优势就是成本。
    bbaihh2000
        99
    bbaihh2000  
       2022-09-06 00:12:01 +08:00 via Android
    看下 session 这个软件
    HankAviator
        100
    HankAviator  
       2022-09-06 00:21:40 +08:00 via Android
    如果节点本身是不可信任的怎么办,如果 IP 可以通过某种方式反推回来,尤其端到端必定是直连到国内节点,那不是一抓一个准了
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1299 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:53 · PVG 07:53 · LAX 15:53 · JFK 18:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.