想基于电报开发完全去中心化的端端加密的即时通信 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 。

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

11159 次点击
所在节点    程序员
153 条回复
LnTrx
2022-09-06 00:31:13 +08:00
楼里提了很多其他软件,如果楼主觉得自己的解决方案更胜一筹,不妨用后做个详细对比
mokiki
2022-09-06 00:35:27 +08:00
我觉得应该兼容 GPG 的非对称密码做自验证,这个很重要,这样能 show respect for 资深黑客大佬,也许能凝聚到他们的力量。

不需要每个人都有公网 IP ,公网 IP 可以协助打洞,打不了洞可以转发。

应该以公钥为中心,公网 IP 和转发用户 Key 都是公钥用户的临时地址,公钥即是词典 Key ,公网 IP ,转发 Key ,都是持续更新的列表值。

先实现基本的去中心身份自验证系统和通信,然后是文件。

我不是大佬,但是这个东西我断断续续想了有几年了。从楼主的 4 和 5 条,可见楼主想的也很多。这个东西,我觉得是很多中国程序员 ITer 不约而同重复想过的东西,需要把大家的力量凝聚在一起才能真正做出来。

西方人不懂中国人被 DNS 投毒和 IP 屏蔽的痛苦,这样的去中心化系统还是靠中国人创造。

期待和楼主联系。
mokiki
2022-09-06 00:51:35 +08:00
@HankAviator 对称密钥加密可破中间转发节点不可信。如果是对方不可信,你也不会聊太多私人信息是不是? IP 反推,可让你自己觉得可信的国外节点做转发。

为什么 zhihu 是关键词触发人工审核删贴封号,而不是直接抓用户?把人全抓了,它们自己都受不了。
cnbatch
2022-09-06 00:53:57 +08:00
分几种情况

首先是移动端:

1:三大运营商的移动端基本上已经做到了 IPv6 全覆盖,所以 IP 地址在这里不是问题。
2:分发客户端是麻烦事,安卓尚且可以分发 apk ,苹果呢?不过也可以放弃支持苹果 iOS ,毕竟早已有先例,Syncthing 就是这样。
3:这个软件注定不可能在国内各大应用商店商家,所以只可能在 Google Play 出现
3.1:不少用户只能够自行下载 apk 并手动安装到手机上。
3.2:能够下载 apk 的网站很大可能性会被挡在外头。
3.3:于是,很有可能会有恶意软件假装成是这个 IM 的 apk ,诱骗用户安装。
4:现在国行手机的系统说不定已经全面内置审查功能,能够阻止用户安装特定软件(比如去年爆出的小米手机阻止安装各种 VPN 软件)。
4.1:因此,他们完全可以做到阻止用户安装该 IM ,甚至主动卸载该 IM 。


接下来说 PC 端(桌面系统):

1:只有部分地区的宽带会给用户分配 IPv6 ,可惜普及率还是不算高,这样一来就必须借助中心服务器的帮助,或者借助双栈公网的用户的帮忙。
1.1:中心服务器的相关讨论,大家已经说了很多,不再重复。
1.2:双栈公网的用户虽然也有不少(“宽带症候群”里面可以找到一大堆),但占用户总数的比例还是太少了,更何况不可能要求所有双栈公网用户都用这个 IM 。
2:分发安装包给用户相对移动端来说倒是简单不少,自己想办法去官方网站下载就行。
3:最需要注意的是杀毒软件,他们完全可以把这款 IM 当成病毒杀掉。
3.1:国外杀软倒是容易解决,应用自带签名,and/or 把 IM 提交给杀软公司免误杀,都行。
3.2:国产杀软无解。
3.3:可以教用户把 IM 所在的文件夹设置成白名单,但谁知道国产杀软理不理会呢。
4:除了国产杀软,还有国产系统,操作同上。虽然用户量应该无限接近零,但谁知道会不会真有人这么干呢。
cnbatch
2022-09-06 00:57:19 +08:00
@cnbatch 忘了说,其实 PC 端也会遭遇移动端的“恶意软件伪装”。各大下载站可没少干这种事,更不用说针对这类 IM 了。
48y1951r9G8k7Zou
2022-09-06 00:57:56 +08:00
说到即时通讯,那就不得不提 OTR: https://otr.cypherpunks.ca/index.php

除了众所周知的加密和认证之外,还强调了 可否认性 和 前向安全。

单纯的端到端加密往往不能满足这两点,甚至可能比那些“不安全”的协议还危险。

当然,正如楼上很多人所说,这其实并不是一个技术问题。。
SekiBetu
2022-09-06 04:49:41 +08:00
signal 已经开发好了,服务端到客户端都开源,自己部署即可
Aloento
2022-09-06 05:02:41 +08:00
刑啊,刑的很啊!
楼主得先找准你与现有产品的异同点,为什么要有这样一个新的聊天软件?用户为什么要用你的这个新软件呢?
Cbdy
2022-09-06 07:06:46 +08:00
不如直接用电报?
lysS
2022-09-06 08:46:14 +08:00
怎么可能有去中心化的东西,整个 Internet 就是中心化的东西
ncworm
2022-09-06 09:29:25 +08:00
不要重复造轮子了
leefor2020
2022-09-06 09:48:34 +08:00
@pxiphx891 ,会不会被审核发现不能解析你们在聊什么,反而进重点名单或者干脆直接喝茶
jadelike
2022-09-06 10:04:17 +08:00
我可以,本人国企工作,也比较闲,请问怎么联系
zbinlin
2022-09-06 11:07:24 +08:00
上面已经有人提到了 matrix ,另外还有一个 https://jami.net/
whypool
2022-09-06 12:08:56 +08:00
im 怎么可能去中心化
群组关系不可能所有终端全量同步
polobug
2022-09-06 12:35:36 +08:00
有什么事是会被审查的吗? zz ?大部分人没这种需求把,只有 zz 狂热份子才有把
taikobo
2022-09-06 13:23:57 +08:00
jami 和 matrix 都已经在做了
不用造轮子
有空去帮这两个项目贡献点代码吧
之前用过一阵子 jami ,android 端信息送达问题极大,开发都是加拿大人,国内这网络环境,还得要国产程序员来针对性优化

楼上某人说得好,自己就是节点,耗电恐怖,所以理想状态就是有分布式节点,这一点 matrix 有 homeserver ,jami 有 dhtproxy dhtnode ,都是现成解决方案,jami 最近提出的 git 为底层逻辑的群聊 swarm 也很有意思,如果有个群里有 2 波人,都断网了,2 波人可以在各自内网里聊天,恢复后聊天记录可以自动同步到群里

总之我觉得自己造轮子没必要,是很爽,按照自己心意做,但是要做到能用,太遥远了
taikobo
2022-09-06 13:29:26 +08:00
https://jami.net/why-is-jami-truly-distributed/

https://docs.jami.net/user/jami-distributed-network.html

我看下来愿景真的挺美好的,就是他们组人手真的很少,开发进度也不快,实际用起来小问题很多
7RTDKSAK
2022-09-06 13:47:39 +08:00
这不是已经有了吗?

RETRO SHARE
shinsekai
2022-09-06 14:20:42 +08:00
@wanmyj iCloud 云端信息不上传密钥,iCloud 云备份才上传。

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

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

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

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

© 2021 V2EX