介绍 Telegram

By Rei on 05 Feb 2015

最近我知道了一个即时通信工具 Telegram,在短暂试用之后我就喜欢上了这个工具,决定将它作为我的主要的即时通信工具。在阅读了它的 FAQ 之后,我发现 Telegram 有一些跟别家即时通信不一样的地方,值得我写一篇博客推荐。

全功能和易用

要获得我的推荐,首先它要是全功能的,并且要对非技术人群易用,Telegram 就满足了这两个前提条件。

Telegram 提供了主流即时通信工具的功能,我们可以用它发送文字、图片、表情、贴纸、文件、语音等等(单文件大小上限是 1.5 GB),也可以群聊。

Telegram 提供了全平台客户端,包括 Web,桌面(PC/Mac/Linux),移动端(Android/iOS/WP)。聊天记录是存放在云端的,无论用哪个客户端都能看到一致的聊天记录。

Telegram 有两个特色功能:秘密聊天和聊天地址。

秘密聊天允许联系人之间使用端到端方式加密聊天信息,即使掌握了服务端权限也无法解密。端对端加密的聊天记录不会在客户端间同步,只在当前使用的设备可见。秘密聊天还可以设置消息的自毁时间,即阅后即焚。不过经测试,秘密聊天的时候手机截图还是能用的,所以要发隐私内容的时候还要考虑对方是否值得相信。

聊天地址允许用户拥有一个 telegram.me/YourUsernameHere 的聊天地址,任何人打开这个地址就可以跟你开始聊天(需要注册)。这个功能是可选的,只要不设置 username 就不会开启。

在提供了丰富的功能基础上,Telegram 的用户体验非常好,几乎超过了所有同类软件。它的界面简洁,操作符合直觉,反馈迅速,更多的体验我相信试用过的人都会明白。

开放通信协议,API 和客户端源码代码

Telegram 开放了它的通信协议、API 和客户端源码。开放通信协议,可以让开发者开发自己的客户端;开放 API ,可以基于 Telegram 开发第三方服务;开放官方客户端源码,可以让安全专家检查有没有后门。据说 Telegram 打算开放所有源码——包括服务端,但就是否会导致网络分裂的问题还没达成共识。

我对 IETF 标准的 XMPP 协议有过一些了解,所以知道 Telegram 开放协议有多么可贵。XMPP 虽然是 IETF 标准,但是它从来没有成为主流的即时通信协议,更多的是作为应用内聊天功能的底层协议使用(例如网游的聊天功能)。最广为人知使用 XMPP 协议的通信工具是 Gtalk,但是它的功能非常贫乏,不能发送图片和群聊。在 Google 开发了 Hangouts 之后,就不再与 XMPP 协议兼容。

我觉得 XMPP 没办法流行的原因是它的核心功能集太小,图片和群聊功能都是放在扩展协议。XMPP 虽然有很多扩展协议,但是客户端或者服务端并不一定支持,这样就造成即使一个客户端实现了这个功能,对方如果不同时实现,实际上就用不了。现在 XMPP 几乎退出了大众视线。

所以我很高兴看到 Telegram 这样全功能的通信工具开放了通信协议。Telegram 也从开放中获益:它的客户端大都是由非官方的开发者开发,然后纳入官方管理的。以后有什么新平台新设备,可以期待很快有开发者为之开发客户端。

保护隐私

开放协议和源码并不只是一个噱头,Telegram 的目的是保护用户的隐私。Telegram 为了打造一个安全的端对端加密协议,网站发布后不久就把协议细节发布到 Hacker News 上接受公众检阅。

这里还发生了一个趣事,Telegram 在 Hacker News 发布后马上引来了很多质疑声,认为他们的加密协议不可靠。Telegram 认为大部分反馈并没有发现实质问题,于是发起悬赏,谁能破解 Telegram 发起人 Pavel Durov 与他兄弟间的秘密聊天内容,就能获得赏金 $200,000。后来并没有人通过 Hacker News 上的方法攻击成功,倒是一个俄罗斯加密菜鸟(自称)发现了一个协议漏洞,他获得了 $100,000 赏金(没有获得全部赏金因为并没有真正实行攻击)。

这件事记录在这篇文章:The story of Telegram or “Why you shouldn’t listen to Hacker News”。悬赏还在继续,最新的赏金已经涨到了 $300,000

Telegram 花了很大力气保护用户隐私,如果你很重视通信隐私,你应该使用 Telegram 的秘密聊天模式。即使是非秘密聊天模式,Telegram 也比大多数聊天工具安全,因为服务端的数据全部加密,密钥分布在多个数据中心,单单控制一个数据中心无法解密用户的聊天数据。

非营利性

Telegram 还有一个优点,就是它的非营利性。Telegram 目前依靠 Pavel Durov 的基金会赞助,没有盈利压力。

商业非原罪,但是商业化的聊天工具经常附带同一个公司的其他服务,导致功能越来越臃肿,更有甚者将用户当作打压竞争对手的筹码,限制用户发送的内容。非营利性能让 Telegram 把注意力放在如何提高安全性和提供更好的用户体验上,而不是给用户设置障碍。

当然,非营利性也是我担忧 Telegram 前景的一个地方。Telegram 慷慨地提供单个 1.5 GB 文件传输,这让我很担心他们的储存支出。据 FAQ 介绍,如果基金会资金不够了,他们会尝试用户捐助或者增值收费。我不确定这是不是长远之道,只能祝愿 Telegram 能像 Mozilla 那样的非营利组织那么长久。

联系人怎么办?

要迁移到新的聊天工具,可能最大的问题是怎么带着联系人迁移。Telegram 会读取通信录,在联系人注册 Telegram 之后提醒你,但如果注册之后一个联系人都没有怎么办?

我给不出什么建议,一方面是我的朋友很少,很容易就通知完所有人我已经更换聊天工具了;另一方面我的朋友以技术爱好者居多,很容易接受新事物,所以一经我介绍,很多人就一起转了。其中有几个朋友 Telegram 上只有我一个联系人,纯粹是为了跟我联系才多装了一个应用,我要感谢这些朋友。