有关 Nekogram Lite 的故事
梨子因为被恶意举报从 Google Play 下架了,以及对 Google Play 政策的不满,Nekogram Lite 不会再上架应用商店了,以后就直接通过 apk 分发了。
从 Zuragram 到复活 Nekogram
一切的故事要从我开始用 Nekogram 说起。以前的话我是一个 Plus Messenger 用户,2019 年初的时候,忘了从哪个频道说“发现市面上还没有一个可以一键复读的客户端,我就做了一个”。我当时就去装了,后来发现这个复读真是太好用了,然后基本需要的功能也都有(有分类 tab,无引用转发,查看 ID 等等),就只用这个客户端,不再用 Plus 了。
后来有天 Nekogram 说不维护了,渐渐地频道、群组和机器人都删了。再后来 Telegram 出了新版,有了归档这个功能。我当时非常喜欢也需要这个功能,相对来说我觉得有了归档我就不需要分类 tab 了。但是我又很想要复读。于是我 fork 出了 Zuragram 这个库,在官方客户端的基础上学着之前的 Nekogram 加了复读的功能。
我创建了 @Zuragram 这个频道,把我的 app 上传了上去。在把它发到瓜体中文的群里之后,陆续有了一些人关注。
后来猫耳又做了那个下拉菜单式的选分类的设计,还换了可爱的蓝色的一只猫的图标(之前是一个绿色的小飞机)。他找到我说官方不让用那个小飞机,让我换到 Nekogram 上来开发。我对可爱的图标没有抵抗力,一心想用上这个可爱的图标的 app,就研究了一下午怎么让未读数显示在那个菜单上(猫耳并没有做,而我其时从未开发过安卓应用)。后来又陆陆续续地把之前 Nekogram 的功能加了回来。
这段时间猫耳没电脑,所以一直都是我在维护,偶尔有人提议比较好做我又觉得有用的功能,我就会做一做。有一次我发了个投票,问要上架 Play 应用商店吗。我其实只是想调查一下,并没打算上架。猫耳看到投票之后就跟我说,需要上架的话可以用他的账号,我也没当回事,后来他把我邀请进来他的开发者账号协作,我就填了信息让 Nekogram 上架了。
放弃 Nekogram 的控制权,转向 Nekogram Lite
猫耳开始越来越频繁地参与这个项目,包括写新功能、回用户反馈、宣传,还做了 f-droid 版。然后他没事了就通过 FCM 往用户的手机上推送通知,有时候是喵,有时候是测试。我一直挺反感这项行为的,说也不听。后来有次他推了一条英文通知,然后有国外的用户来找我,说你们 app 是不是有后门,为什么会有这种东西,我不知道怎么解释,他自己又不去解释。下一个版本我就把 FCM 的 key 换掉了,结果猫耳把仓库转移到他名下私有了,把组织删了,Play 后台也把我踢了。过了几天我想想这样不好,这样下去这个包名就没法再上架 Play 商店了,也没人再来开发新功能了。我就去跟他道歉了,把签名文件也交出来,相当于把这个 app 的控制权又还回到猫耳手上了。好在猫耳还挺好哄,这样就算是把它哄回来了,这个项目得以继续更新。
可是有些地方和猫耳意见不合,猫耳又不听我的。比如我喜欢透明的状态栏,猫耳喜欢加深的状态栏,他把默认的给改回去了,还威胁说要取消掉状态栏透明的功能。还有猫耳让那个点设置里很隐蔽的一道杠来开关隐藏功能(没有任何线索和提示)我不赞同,而我写的通过一个可收起菜单来展示猫耳说太丑了。包括这次我觉得转发应该显示全部对话,按官方那样没法转发到归档,而猫耳觉得转发到归档没用,自嗨在最上面才方便。这些让我很难过,我自己开发却都用不上我需要的功能,所以我又 fork 出了 Nekogram Lite。习惯了以后觉得上架 Google Play 挺方便的,因为只打算给自己和朋友用所以删掉了很多我不需要的功能,设置了售价因为不想从 Nekogram 引流过来,也不希望很多人装了然后发现功能少了或者不停地缠着我问这两个有什么区别。
但是我又没想到,出来个 Nekogram X,做免费代理客户端,本来也是挺好的事。但是把那些自己不会翻墙或者每天就想着颠覆国家政权的人都聚到一个群里,甚至还给了管理员,在频道说什么一个阻止人们自发纪念活动的政府根本没资格搞一个什么所谓的"公祭日", NekoX 今天继续更新.。然后还有人,可能不是世界(NekoX 的作者)但十有八九是他们群里的人,跑去把 Nekogram 和 Nekogram Lite 都给举报了。自己用那个客户端代码是抄上游的,却去举报自己的上游,不仅如此,还把 Lite 一起跟着举报了。
Nekogram Lite 就被下架了,理由是未经允许上传通讯录。我给 Google 写信申诉,Google 的“支持团队”态度极其傲慢,我至今也不知道他们怎么举报的。这说明我即使再上架,也还是会被下架,所以算了。我当时脑子进了屎,还选了“让 Google 帮我管理签名密钥”。所以这次被迫换了密钥和包名,以前的包名以后就不维护了。
我就是想安安静静地用个复读客户端怎么就这么难。
与 NekoX 的矛盾(4月12日更新)
我当时真的挺生气的,因为 NekoX 群里有些人,还有些管理员确实语气很嚣张,在 Nekogram 下架之后还幸灾乐祸地表示“Nekogram 有后门,会把通讯录上传,NekoX 有解决”(我去查过,代码都是一样的)。然后因为我也不赞同 NekoX 官方频道及群里的某些政治立场,动辄就称别人是“粉红”、“粉蛆”之类的。所以这篇文章当时就那样写了,主要是为了表达我当时的情绪。
或许 Nekogram 下架跟 NekoX 并没有什么关系,也许是猫耳或者我得罪了什么我不认识的人才遭受如此针对性的恶意吧。但因为应用下架之后猫耳在频道里称下架是因为 NekoX 恶意举报(不久之后就又删了),加上我发的这篇文章,这一切带来的困扰让 NekoX 的作者觉得有必要出来澄清一下。两边就又开始互相攻击,猫耳在 Nekogram 频道里说 NekoX 是反政府组织,NekoX 频道里则说 Nekogram 有将谷歌分析与 AppCenter的分析数据信上交给共产党政权的可能。我当时还在外面吃饭,刚跟世界在群里协调几句,把一些激化矛盾从频道里删掉了,猫耳就又双叒叕把我给屏蔽了。还在群里踢了近 100 人(包括我),又说要下版本加点限制。
因为毕竟拿不出证据嘛,我劝猫耳也去道个歉,他不干,说“我不管”。然后又把仓库 archive 了,又通过 FCM 给用户推你妈死了。
好在世界也还蛮善解人意,在我的道歉和协调下,也把有敌意的内容从频道里删掉了。虽说如果我是用户的话,一个会跟我说“你妈死了”的客户端我是肯定会卸载的,但也姑且算是公关过去了吧。
我真的好累。
经常被问的问题
Q1. Nekogram Lite 是什么,和 Nekogram 有什么区别,和 Nekogram X 有什么区别?
Nekogram Lite 是我维护的客户端,也是我自用的客户端,只有我用的上的功能。如果你认为你和我的需求点刚好一样,不多不少,并且信任我,那你需要它。否则,你不需要它。
Nekogram 是猫耳逆变器维护的客户端,虽然我也有参与,但以他的审美和产品需求为决定权。Bug 修复和新功能(新 bug)相对比较多。可能会时不时地往你的手机上推通知。
Nekogram X 是世界做的客户端,bug 修复和新功能(新 bug)相对更多。
Q2. 我的 app 有后门吗?
Nekogram Lite:从我的频道下载的 app 由我构建并签名。如果你是更新应用,能正常安装不需要卸载说明签名没有变。理论上是可以按照 Telegram 官方的 reproducible build 指引校验的,虽然我没试过。
Nekogram:从 5.15 版本开始由猫耳逆变器构建(签名为原来的保持不变)。
Nekogram X:由世界构建并签名。Nekogram X 同时提供了 FOSS 版本。
如果你使用一个人构建的 app,你应当充分信任这个人,否则你最好自己构建。诘问他“你的 app 有后门吗”是没有意义的。我个人认为这三个应用都还没有出现应用和开源代码不一致的情况。
Q3. Nekogram Lite 有什么优点?
稳定,bug 少。Nekogram Lite 对官方版本的魔改更加克制,并且不重要的问题不会发新版本。不会像 Nekogram 那样频繁地发版本或像 Nekogram X 那样极为频繁地出 bug 和发版本。不会推送 FCM 通知骚扰用户,或者动辄就“不维护了”。
Q4. Nekogram 会不维护吗?Nekogram Lite 会不维护吗?
Nekogram Lite 是我自用的客户端,只要我还在用,就会一直更新下去,但是未必会有新功能。Nekogram 是否更新、是否有新功能则要看猫耳心情。
Q5. 可以期待 iOS 版吗?
我现在已经集齐了 MacBook,iPhone 和会 iOS 开发的人。iOS 版本的代码预计一两个月内就可以有(因为是工作学习之余开发所以会比较慢)。但是还没有一个开发者账号(iOS 应用要分发必须要开发者账号)。虽然六七百块钱一年对我来说并不多,但是我想不出有什么理由要为了这些 20 块钱都不愿意掏,还会去举报你的人做这件事。