index.rst 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. Matrix聊天快速指南
  2. ==================
  3. **注:此文已经过时,请等待此文更新**
  4. 矩阵一入深似海,从此 `电幕 <https://zh.wikipedia.org/wiki/%E7%94%B5%E5%B9%95>`__ 是路人。
  5. Matrix 和其他通信服务的比较
  6. --------------------------------
  7. 关于 Matrix 的介绍,可以参考我在2017年软件自由日上的演讲: https://matrixim.cc/sfd2017-matrix.pdf
  8. 为什么不用某些通信服务:
  9. - 客户端必须是 `自由软件 <https://fsfs-zh.readthedocs.io/zh/latest/free-sw/#_2>`__ ,确保该软件不容易做不正确的事,于是排除微信、QQ、Skype、Discord等软件,有报告称,某些私有聊天软件会配合政府监控用户:
  10. + `微信一app两制 <https://citizenlab.org/2016/11/wechat-china-censorship-one-app-two-systems/>`__
  11. + `微软,棱镜门和NSA <https://www.theguardian.com/world/2013/jul/11/microsoft-nsa-collaboration-user-data>`__
  12. - 服务端也需要是自由软件,从而不会因为集中在一个服务器而被封锁。Telegram 在多个国家被封锁,说明了我们需要一个可以自己架设服务器的通信服务。此外,Telegram 需要用手机号注册,在国内手机号实名认证的状况下,对隐私也是一个威胁。
  13. - 在上一点的基础上,不同服务器间需要能互通,即使用邦联式(federation)聊天协议,电子邮件、XMPP 和 Matrix 都是这样的协议。
  14. - 支持端到端加密,最好是协议自身支持
  15. Matrix 就是一个满足以上特性的协议。
  16. 其他通信服务:
  17. - IRC 和 Rocket.Chat, Mattermost 等协作平台:有自由的客户端和服务端,可以自己架设服务器,但是它们不是邦联式协议,不同服务器的用户之间无法通信。
  18. - `XMPP <https://xmpp.org>`__: 一个经典的通信协议,核心功能很小,扩展性很强。在安全方面,有XEP标准支持OTR端到端加密,支持多端加密的OMEMO也已经在一些客户端中启用。近些年来,XMPP 协议有很大的进步,但是各客户端和服务器对 XMPP 扩展的支持不太统一。
  19. - `Tox <https://tox.chat>`__, `GNU Ring <https://ring.cx>`__, bitmessage 等 P2P 协议:比邦联式更加去中心化,但是缺乏离线消息和单账户多设备支持
  20. 最简单的 Matrix 使用方式:使用在线的 Riot web
  21. ----------------------------------------------------
  22. 首先,Matrix是一个去中心化的网络,我们需要先选择一个服务器。Hello Matrix 提供了一份 `非官方 Matrix 服务器列表 <https://www.hello-matrix.net/public_servers.php>`__ 。
  23. 注意有的服务器注册时需要填写 Google reCAPTCHA, 如果上 Google 不方便,可以选择一个不需要 reCAPTCHA 注册的服务器,如本文作者的 matrixim.cc.
  24. 以下以 matrixim.cc 为例介绍如何用在线的 Riot web 使用 Matrix.
  25. 注册和登录
  26. ~~~~~~~~~~~
  27. 打开 https://matrixim.cc 首页,可以看到 *Chat with Riot now!* 链接,点击进去可以进入 Riot 的界面 https://chat.matrixim.cc. 点击 *Create an account* 便可创建账户,注意只需要填写用户名和密码,不需要填写邮箱地址和手机号。创建账户之后就可以登录了。
  28. 为了在其他客户端中方便地使用 Matrix,我们要记下服务器的链接和自己的 Matrix ID.
  29. 我们先看 Riot web 的左边栏,最下面有 5 个按钮,用鼠标光标指向这些按钮可以看到它们的说明。
  30. .. image:: riot-left-panel.png
  31. 我们点击右下角的设置按钮,可以看到设置界面,把设置界面拉到最下方,可以看到服务器地址和 Matrix ID.
  32. .. image:: settings.png
  33. 从上图可以看到,我的 Matrix ID 是 @vimacs:matrixim.cc, 所用服务器的 URL 是 https://matrixim.cc.
  34. - Matrix ID 是 Matrix 网络上一个用户的标识,类似于电子邮件的地址,要联系一个 Matrix 用户,要使用 Matrix ID
  35. - 服务器 URL 是登录时使用的服务器地址,如果你用 Riot 的 Android 或 iOS 版本,你需要在登录时选择用自定义服务器,在 Home server URL 中填写这个地址
  36. 开始聊天
  37. ~~~~~~~~~
  38. 登录后,可以看到 Riot web 的首页,为了方便,我在下图中标出常用的功能。
  39. .. image:: riot-home.png
  40. 点击左下角的目录图标,可以看到你用的服务器中的公开聊天室列表。你也可以直接填写要加入的房间,如``#lcpu:matrixim.cc``,然后回车就能加入。
  41. 要和其他人私聊,可以点左下角的Start chat(图案是一个人),填写你要联络的人的 Matrix ID.
  42. 你也可以点击图案是加号的按钮,创建一个房间,然后拉其他人进来。
  43. 于是你已经学会了使用 Matrix 协议进行通信了。
  44. 结语
  45. ----
  46. 以上讲解了怎样用最简单的方式使用 Matrix,然而 Matrix 是个很强大的协议,客户端软件也不只有 Riot 一个。
  47. 要想更熟练地使用 Matrix 聊天,你还可以学习:
  48. - 使用 Riot web 的离线版本,以及 Riot 的 Android, iOS 端
  49. - 使用其他客户端软件,如 `nheko <https://github.com/mujx/nheko>`__
  50. - 使用端到端加密,保护你的隐私
  51. - 如果有服务器资源,可以自己架设服务器