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

2022-09-05 12:51:01 +08:00
 wanmyj

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 。

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

9396 次点击
所在节点    程序员
153 条回复
Jooooooooo
2022-09-05 12:54:39 +08:00
如果你的目标是"解决墙内审查", 那从技术上解决完全是行不通的.

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

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

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

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

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

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


目前我用加密的 IRC ,服务器一半挑国外的。。。。期待楼主能出成功。
marcogray
2022-09-05 13:54:34 +08:00
建议从去中心这一个角度去考虑,其他都是建立在这一点上的附加功能。Web3 会是一个非常好的方向来解决这个问题。

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

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

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

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

© 2021 V2EX