惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
The Last Watchdog
The Last Watchdog
Cyberwarzone
Cyberwarzone
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The Cloudflare Blog
V
V2EX
博客园_首页
博客园 - 聂微东
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
GRAHAM CLULEY
T
Tenable Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
SecWiki News
SecWiki News
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
A
About on SuperTechFans
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
D
DataBreaches.Net
P
Privacy & Cybersecurity Law Blog
Schneier on Security
Schneier on Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
D
Docker
P
Proofpoint News Feed

白鱼小栈

让博客优雅地使用全局 MiSans 字体:MiSans Webfont 字体分包项目,WordPress 证件全屏水印助手 V4 发布!一个快速给身份证照片添加全屏水印的 HTML 小工具|白鱼小栈 升级到 Umami V3 并重写博客底部的“数据挂件”脚本,显示博客 UV/PV 访问数据 安全验证|白鱼小栈 安全验证|白鱼小栈 开服初体验:用 MCSManager 面板快速搭建 Minecraft 服务器|白鱼小栈 安全验证|白鱼小栈 不要买小米打印机,会变得不幸…|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 Docker 部署 Umami,为自己的网站添加访客统计功能 Redmi K40 刷机:刷入 Pixel Experience 类原生系统|白鱼小栈 超详细 Matrix Synapse 部署教程:去中心化聊天服务器搭建与配置指南|白鱼小栈 免费可商用,微软的开源表情合集 Fluent Emoji|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 安全验证|白鱼小栈 属于你的私有聊天系统:Rocket.Chat 部署过程|白鱼小栈
Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
白榆 · 2023-09-02 · via 白鱼小栈
图片[1]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
图源 Cinny 官网|官方 demoGitHub 地址

引言

常见的 Matrix 客户端包括:

Element(最为熟知和常用)

  • 跨平台支持:Element 提供了适用于多个平台的客户端,包括桌面、移动和Web版本。
  • 功能丰富:Element 提供了广泛的功能,包括端到端加密、音视频通话、文件共享、插件支持等。
  • 社区支持:Element 是 Matrix 社区内最受欢迎的客户端之一,拥有大量用户和支持。

Cinny(新一代 Matrix 客户端,UI 设计简洁现代):

  • 轻量级:Cinny 是一个轻量级的 Matrix 客户端,适用于那些喜欢简洁界面的用户。
  • 无需安装:通过浏览器即可使用 Cinny。
  • 不足:发布日期较新,因此功能不如 Element 全面,例如 Cinny 暂不支持音视频通话;另外,当前 Cinny 仅有 Web 端,无 Android 和 iOS 应用;
图片[2]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
图源 Cinny 官网|Cinny 的特性

为什么选择 Cinny 作为客户端:

  1. 部署简单。只需要把 Cinny 编译后的源码上传到网站根目录就可以使用了。
  2. UI 好看。设计语言很统一,界面简洁优雅。(Cinny 的 UI 也是博主尤其青睐它的原因)

1. 下载 Cinny 源码

我们打开 Cinny 的 GitHub 项目地址:https://github.com/cinnyapp/cinny ,下载最新的 release 包。

下载后,我们将其上传到网站的根目录,并手动解压。你将得到一些文件和文件夹:

图片[3]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
 

现在,只要你的 nginx 配置正确,你已经可以通过域名访问 Cinny 客户端了。

图片[4]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
Cinny 客户端的登录界面

2. Cinny 客户端的配置

2.1 修改服务器列表

我们需要将自己的服务器地址添加到 Cinny 配置文件中,以便用户可以在下拉列表中选择。

图片[5]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
默认情况下,下拉列表里只有 5 个服务器。

我们编辑 config.json 文件:

图片[6]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈

打开 config.json 文件:

图片[7]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈

其中,"allowCustomHomeservers" 用于控制是否允许用户手动输入服务端域名。为避免用户错误配置,我们这里保持 false 不变。

"homeserverList" 里可以包含多个服务端的域名,要注意缩进和逗号分隔。

以下是原版 config.json 文件,建议保存备用:

{
  "defaultHomeserver": 3,
  "homeserverList": [
    "converser.eu",
    "envs.net",
    "halogen.city",
    "matrix.org",
    "mozilla.org"
  ],
  "allowCustomHomeservers": true
}

以下是一个示例配置文件,假设仅允许用户选择 server.xxx.com 登录,且不允许用户自主输入服务端地址:

{
  "defaultHomeserver": 0, #默认服务器
  "homeserverList": [
    "<server.xxx.com 填入你的服务端域名>"
    
  ],
  "allowCustomHomeservers": false #是否允许用户手动输入域名
}

完成编辑后,保存并退出。

现在我们回到浏览器,刷新客户端网页。若刚才的配置无误,你将能够选择自己的 server.xxx.com 域名作为服务端地址。

注意:可能的坑

修改完了 config.json 文件,回到客户端网页却还是只有原来的 “matrix.org” 等五个地址可供选择?

打开浏览器 F12 开发人员工具,先禁用一下浏览器缓存就好了:

图片[8]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
把 “禁用缓存” 勾选上,然后刷新网页

3. 完成

至此,已完成 Cinny 客户端的部署。Cinny 美中不足有两点:

  • 功能仍需完善

相较于老牌客户端 Element,Cinny 缺失了很多功能,例如没有音视频通话、没有重置密码入口

其它的一些小功能也没有,比如 in-chat key verification ,不过这倒不影响核心功能

  • 一些细节有问题

移动端界面仍需改善,层级逻辑有问题

所有使用 webkit 的 iOS 浏览器(Safari 等),一旦焦点定位到输入框,浏览器就会自动放大网页。查了一些资料后发现,这是因为 Cinny 默认的输入框文本大小小于 12px ,触发了 iOS 的一种缩放机制

4. 后续

其实现在你已经可以正常登录使用了,但你可以进行一些额外设置,用起来更舒服。

4.1 Cinny 汉化 (可选)

Cinny 不提供多语言设置。如果想汉化 Cinny 只能采取一种愚蠢且费力的方法。请打开 网站根目录/assets/index-xxxxxxxx.json 文件,自行将其中的英文部分汉化成中文。(没错,这文件非常长)

注意:可能的坑

  1. 提前备份原版 index-xxxxxxxx.json 文件
  2. 建议每次只修改一小部分,然后回到客户端刷新网页看看效果,避免出错

唉,完成全部文本的汉化是一个大工程,加上本人对 Matrix 一些功能表述的不熟悉,花了我好几天的时间 ಥ_ಥ

这是效果展示:

图片[9]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
汉化后的设置界面
图片[10]|Cinny 上手体验:简洁、优雅的新一代 Matrix 客户端|白鱼小栈
汉化后的聊天界面

4.2 自定义品牌 (可选)

如果你希望将 Cinny 用于生产环境,并把默认的大黑鸟 logo 去掉,那么你可以打开 /assets 文件夹,将里面的图标换成你自己的。

换的时候注意每个图标的尺寸大小。可通过 某些在线工具 批量生成多尺寸 logo 图像。

4.3 第三方 OIDC 登录 (可选)

如果你还没有配置第三方账号(也就是 OIDC (OpenID Connect) 登录),可以参阅这篇文章:https://www.baiyuyu.com/304.html

全文完!总体而言,Cinny 还是一款比较优秀的 Matrix 客户端,希望能够被继续完善。

2023/12 补充:

注:本人部署时使用的是 v2.2.4 版本。现在版本号好像来到了 v3.2.0,应该新增了不少功能

2024/2 补充:

为能够及时在移动设备上接收消息,建议搭配 Element 之类的 App 使用,毕竟你总不能一直把浏览器网页挂在后台吧