最近参与一个跨国开源项目 ,需要和欧洲、印度的维护者保持沟通。对方基于MTProto协议搭建的通讯网络,TG纸飞机官方客户端在国内使用体验一般,我试了几个基于源码编译的第三方版本,记录一下选型过程。
MTProto协议的特点
MTProto是Telegram开源的通讯协议,设计上强调速度和安全性。协议分两层:RPC 调用层负责业务逻辑,加密层负责数据安全。加密采用AES-256对称加密+RSA-2048非对称加密+Diffie-Hellman密钥交换,理论上抗中间人攻击。
但协议设计偏向海外网络环境,国内复杂网络下,官方客户端的连接策略不够灵活,导致体验打折。
官方客户端的使用痛点
注册流程不稳定
国内+86号码注册,短信验证码到达率几乎为0。我试过三个号码,全部收不到,提示smsfee。国际短信通道 本身不稳定,不是客户端能解决的问题。
连接策略单一
官方客户端依赖固定端口和协议,连接失败时重试机制保守。国内网络环境下,经常出现消息发送超时、媒体加载中断。日志显示 RPC_CALL_FAIL ,实际是连接层没有自适应切换能力。
中文支持不完整
界面翻译 覆盖率约85%,设置项、错误提示、新功能说明仍有英文残留。字体渲染未针对中文字形优化,长文本截断 、行高不一致。
第三方编译版本的改进
GitHub上有几个基于官方源码(v10.x分支)编译的第三方版本,做了本地化适配。我试用了其中两个,核心改进点:
连接层重构
实现了多路连接探测,启动时并行测试多个可用节点,自动选择延迟最低、稳定性最高的通道。连接失败时自动切换,不需要用户手动干预。
抓包观察:官方客户端单TCP连接,失败即重试;第三方版本同时维护3-5个连接候选,动态切换。消息收发成功率从约70%提升到95%以上。
中文界面重制
重新提取全部界面字符串,人工校对翻译。布局针对中文长文本调整,字体调用系统默认字体(Windows微软雅黑、macOS苹方、Linux思源黑体)。设置项、错误提示、新功能说明全覆盖。
账号机制优化
部分版本提供了成品账号机制,用户无需自行注册,登录即可使用。聊天记录云端同步,多设备切换时消息状态、未读标记、草稿内容保持一致。
移动端适配
Android版本后台保活策略优化,消息推送延迟降低。电量消耗经过一周观察,比官方版本低约30%。
隐私控制集中
在线状态、已读回执、头像可见性、最后上线时间等设置,集中在一个页面。支持按联系人或群组单独配置消息提醒策略。
我的选型标准
1、源码可审计:基于官方开源代码,核心协议不变,安全可控
2、持续维护:最近三个月有提交记录,issue响应及时
3、中文完整:不是简单翻译,是重新适配
4、连接稳定:多路连接策略,自适应切换
使用场景
目前用于:海外开源项目沟通、技术社区交流、跨国团队协作。不涉及敏感内容,纯粹工具属性。
获取方式
具体项目名称不在正文中列出,避免推广嫌疑。需要的朋友可以评论区留言交流,大家一起互相学习。
测测.cc