Secure IM

这是一个由来已久的Repo。准确来说,不能算一个Repo,而是一个抽象概念,指的是写一个安全的即时聊天软件这个任务。在它之下,有很多Repo。

这个设想提出的时间不记得了,可能距我第一个此类型的Repo很近,也可能很远。记忆模糊了。大致是国内查水表的时候才有的设想,时间早于BKT搬迁到Discord之前。

但都有个共同点:不是没写完就是根本不能用 gbwfttjj

我的Repo

我的Secure IM实现Repo大部分都是用C#写的,除了少数几个特殊。

项目基本上一个弃坑后,另一个开坑,开发曲折上升。我已经身心疲惫,不想再开新坑了。能把当前正在进行的项目写到能用,我就满足了。

DoveOfPeace

根据我本地git log的结果来看,第一次开写是在2017年1月24日,弃坑于2017年12月24日。

这个项目是我开发Secure IM系列中开发时间最长的一个Repo,虽然没写完,但是为之后所有的Secure IM Repo打下了基础。在写这个Repo的过程中,我了解到一些我曾经闻所未闻的东西,第一次接触密码学,第一次尝试加密解密等等。此外我在其间,尝试引用NTRU/ECC非对称加密算法但无疾而终只得回退;尝试迁移至Linux搞开发,引发换行符bug;尝试从.Net Framework迁移到.Net core。我所尝试各种事情的痕迹,都留在git log内。这个项目也是唯一拥有3备份的项目。

但是最终因为我脑容量不足以统筹这个项目各个部分凌乱的代码而选择弃坑。那时候,一打开这个项目,满脑袋都是糨糊。事实上,这个项目只是一直在被编写,从未被调试过,这也是我弃坑的原因之一。没有调试,我无法控制它的走向。

在开发过程中,我提出了我自己瞎编的一个Protocol,DoveOfPeace Protocol。主要强调安全性,抗检测性。也是之后的Teji Protocol的原型。事实上,这个Protocol及其衍生铲平,只是我的片面理解,并不具备任何防备能力,而且还很复杂。没有实用性。

在我弃坑之后,我陆续从各大镜像源上移除了这个项目。但仍然保有一份本地存档。因为来自这个项目的许多代码,可以直接搬运到新的Secure IM实现上。

Hermit

这是第二代Secure IM实现,开写于2018年2月10日,弃坑于2018年4月30日。

一个短命的实现,大部分工作都在于重构之前写废掉的DoveOfPeace,并做了解耦工作,但最终因为网络部分写得和屎一样+过于超前,且解耦不完全导致弃坑。另外,没有调试也是弃坑原因之一。

但是这个Repo只用了2个月,就实现了和DoveOfPeace写了近1年的代码相差无几的功能,原因已说过:DoveOfPeace的实现,可以直接搬运到几乎所有我的Secure IM实现上。因为我的Secure IM大框架从未改变过。

Teji

这是第三代Secure IM实现,开写于2018年6月28日。目前一直在缓慢开发,没有弃坑。

这次,我吸取之前的教训,做了反思,认识到自己需要不断地边写边调试才能写好一个程序。于是不再像之前那样,从抽象的部分写起,而是先从实打实的网络部分写起。并有了继续写下去的动力。我希望这是最后一个我的Secure IM实现了。因为已经够多了,时间花费得太长了。

截图(第一次测试网络部分的结果):图丢了。。。丢在家里了。。。

teji.py

一个过渡实现2018年9月份的时候开始写,2018年10月2日弃坑,与其余实现不同的是,这个实现是用Python。

原因主要是那时候没带电脑,手又痒,手机只能跑Python和C/C++,故做此操作。其二,当时正值对上面所述的Teji实现暂缓更新之际,遂打算用Python写个轻量的IM实现看一看。

后因为电脑到手+不是很熟悉Python,一切都要从头再来,包括数据结构,依赖库。于是弃坑

别人的Repo

jx

老板在一次比赛上写的(似乎是这样的?或者是一次课程作业?)boss-im,以及在不久之后推送的C#复刻版(原本是Java写的)ChinoIM

61

一直要写,一直弃坑(不要打我不要打我cannotlook)。我有记录的项目只有:nekochat,然后现在已经page not found了。根据最近聊天记录,似乎有另一个工程在一直写?

pineapple

借用泄露的某游戏内核IRC聊天机制,写的net core复刻版Biscuit。没写完

chris椰叶

IRC + SSH tdel

results matching ""

    No results matching ""