论坛大厅这几个月,从头到尾说一遍 在这里跟支持我的朋友们说声抱歉,久等了。

8 好冷 3周前 143次点击

大家好,我是好冷。

今天发这个帖子,是想把论坛大厅从网页端到现在安卓端这段路,从头到尾好好说一说。也算是对过去几个月的交代,对那些一直在等的人有个回应。

一、网页端那会儿:被骂过来的

今年2月开始做网页端,那会儿正好春节。一个人折腾云服务器、配环境、写代码,熬了不少夜。服务器是2核4G的,跑网页端本来就是擦边球,能跑起来就不错了。

最开始名字叫“论坛助手”,后来有人提醒说隔壁有个Windows端的也叫论坛助手,容易搞混,就改成了“论坛中心”。再到现在做APP,最后定名为“论坛大厅”——比中心接地气一点,也没那么正式。

网页端那段时间,被喷子追着骂了不少。

有人说“套壳没意义”,有人说“名字都写不对还开发什么”(争渡打成真度、点名圈打成点名、天坦打成天坛,确实是我手滑),有人说“搞这个有什么用”,还有那句被问了无数遍的“我都能上浏览器了,为什么要用你的网页”。半夜盯着报错日志的时候,旁边就是群里的嘲讽,说实话难受过。

但网页端当时的功能其实不少:发帖、回帖、插入音频链接、引用回复、回复他人评论、操作结果提示、敏感词拦截、被禁言状态显示解封时间、支持账号/手机号/邮箱登录、登录状态保持、TalkBack适配、帖子详情自动跳转、手动加载更多、刷新记录时间、回复自动刷新、个人资料查看积分发帖回帖数……签到功能也折腾了好久才拿下。

但现在回头看,网页端被骂得那么惨,除了喷子嘴碎,也有它自己的问题。更新的时候重启一下进程,用户那边就断开;服务器压力一大,加载就慢;用户访问全靠我的服务器扛,扛不住就崩。这玩意儿天生就不适合当主力。

后来网页端停摆了。身体出了点问题,加上处理一些个人事务,实在顾不上。过年那段时间彻底躺平,什么都没碰。那会儿论坛里有人说“这人跑了”,有人说“项目黄了”,我没解释,也解释不动。

二、想明白的一些事

躺着的这段时间,反而想明白了一些事。

网页端被骂得那么惨,除了喷子嘴碎,也有它自己的问题。更新的时候重启一下进程,用户那边就断开;服务器压力一大,加载就慢;用户访问全靠我的服务器扛,扛不住就崩。这玩意儿天生就不适合当主力。

换个方向做安卓端,也许才是对的。想通了一个道理:或许APP能给用户带来更好的体验。

APP不受服务器重启影响,运行起来更流畅,用户访问直接走手机网络,我的服务器只负责转发一下请求,压力小多了。你们访问也更快,两边都不得罪。

三、安卓端折腾记:4核8G跑编译

安卓端从零开始,比想象中麻烦得多。逆向四个社区(点名圈、帮忙社区、天坦社区、爱盲论坛)、集成真度网API、做无障碍适配、搞反作弊系统……这次不是“搭个框架凑合用”,是一个功能一个功能抠。

最折腾的是编译那关。4核8G的服务器跑安卓编译,Gradle一跑就是半小时,CPU飙满、内存吃紧、硬盘狂转,中间不知道崩了多少次。有一次凌晨三点,看着满屏的报错日志,真想撂挑子不干了。

但想着还有人在等,继续调参数、改配置、加swap。最后跑通的那一刻,只有一个念头:虽然是垃圾,但我也把它发挥到极致了。

网页端的功能,能搬过来的都会搬过来。发帖、回帖、插入音频链接、引用回复、回复他人评论、操作结果提示、敏感词拦截、被禁言状态显示解封时间、登录状态保持、TalkBack适配……之前在网页端没实现的,这次尽量补齐。

四、关于反作弊系统:为什么要搞这些

网页端那段经历,让我吸取了一个很深刻的教训——自动刷新这件事。

之前网页端搞了30秒自动刷新,本意是让用户不用手动刷新就能看到新帖子,结果因为请求太频繁,服务器IP直接被封了。后来才改成手动刷新加频率限制。

这件事让我意识到,不管是干扰原论坛服务器,还是干扰我的平台,都需要有相应的机制来应对。有人可能会问,你在本地APP里搞反作弊,爬虫和脚本干扰你的平台,有什么关系?但我想说的是,这些行为不仅会干扰原论坛服务器的正常运行,也会对我的APP造成影响——用户点进去加载不了,体验不好,最后骂的还是我。

所以这次在安卓端搞了反作弊系统。有些权限是主动申请的,有些是系统自动收集的,目的只有一个:在尽量减少对正常用户干扰的前提下,拦住那些自动化的脚本和爬虫。

关于数据怎么存、怎么调用,这里一并说清楚:所有用户数据都存在你们自己手机本地,或者直接跟原论坛服务器交互。我的服务器只负责登录时帮忙传个话,发帖时帮忙传个话,传完就忘,不存任何东西。用户隐私要泄露了,要么是原论坛服务器被攻击了,要么是用户手机中了木马病毒——跟我这没关系。

根据《中华人民共和国网络安全法》第二十一条,网络运营者应当按照网络安全等级保护制度的要求,采取技术措施保障网络安全,留存相关网络日志不少于六个月。反作弊系统收集的设备信息、网络信息、操作行为,都是依法进行,目的就是为了保障平台安全,识别自动化脚本和爬虫。

根据《中华人民共和国数据安全法》第二十七条,开展数据处理活动应当依照法律、法规的规定,建立健全全流程数据安全管理制度,采取相应的技术措施和其他必要措施,保障数据安全。我们采用加密技术保障数据传输安全,实施严格的访问权限控制。

这套系统不完美,肯定还有很多改善的地方。如果不想继续授权相关数据,可以随时停止使用服务,或者清除数据并卸载APP。后面还会加一个“一键擦除个人数据”功能,点击以后,你的信息将会完全进行销毁,除法律法规要求留存不少于60天的日志信息外,其他信息会依法进行删除。

五、关于那个“IP漏洞”事件

之前某论坛接入的某款软件,因为利用论坛API返回的IP信息,导致用户能看到真实IP的事情,当时闹得挺大。论坛管理员也及时发了声明公告,即日起加强登录安全验证和内容审核。

我想说的是,我的服务器只负责转发请求,不存储任何用户信息。你们登录、发帖、回帖时输入的信息,会直接发送给原论坛服务器处理。原论坛服务器返回什么,我就给你们展示什么,中间不做任何篡改。

六、现在走到哪一步了

目前进度:真度论坛API已经跑通,剩下四个社区的代码正在编写,无障碍适配会优先做好。

网页端没死,等安卓端跑稳了,会重新拉回来。它不是我现在的重点,但也不会就这么扔了。

七、关于权限、隐私和法律法规

有些权限包括读取已安装应用列表及读取手机存储权限,这些都是可以拒绝或者允许的,不影响核心浏览功能。

如果你们点击APP以后,看到有用户协议跟隐私政策这个弹窗,恳请大家理解。毕竟上面运行了反作弊系统,有些权限是需要申请的。

根据行业惯例,接入网站的工具,网站运营方有权要求对通过工具访问网站的用户行为进行管理和处置。我搞这套反作弊系统,既是给别人负责,也是为我的APP平台乃至服务器负责。

如果有好的想法和建议,欢迎在下方讨论,或者加入QQ群:866519114。也可以在微信公众号“每天保持一个好心情”后台留言,或者发邮件到2414137742@qq.com,加QQ好友2414137742备注来意也可以。

我知道或许有人会质疑,就这个东西,搞这么大动静,是不是太小题大做了?但我想的是,这既是对原论坛服务器负责,也是对我自己的平台负责。见过太多因小失大的案例,所以这次宁可麻烦一点,也要把事情做在前面。

感谢那些从网页端一直跟到现在的人。你们还在等,我就继续做。

共 5 条评论
随风倒 3周前
0 
哪里去下载
好冷 [楼主] 3周前
0 
现在是内测阶段,我这边要测试,功能还不怎么完整,残次品相当于,现在还不对外提供下载,感谢你的关注。
0 
期待
Sleep 3周前
0 
为什么不使用本地网络访问?为什么一定要用服务器转发?是你流量太多了,对吗?
我好奇,明明能直接访问对应网站,那为什么要专门从你那访问呢?真的很好奇唉,难道从你这访问有很多优势?
添加一条新评论

登录后可以发表评论 去登录