开源文档协作套件CryptPad
本文完成于
2022年9月,11月的时候补充了些内容,修改了部分图片,原本是准备发的,不知什么原因又给拖延了;
当时的版是v5.1.0,而现在最新的版本是v5.2.1;
什么是 CryptPad ?
CryptPad是一个端到端加密和开源的协作套件。它旨在支持协作,实时同步对文档的更改。由于所有数据都是加密的,因此服务及其管理员无法查看正在编辑和存储的内容。
老苏觉得可以作为 Google 在线办公产品套件的优秀的替代品

CryptPad 的一些文件格式转换工具是基于 OnlyOffice 的代码,但是,这仅涉及客户端代码,CryptPad 并不使用 OnlyOffice 文档服务器。CryptPad 的加密协作,与上游 OnlyOffice 部分使用的加密系统完全不同。
CryptPad 是完全私有的,所有的内容都是由你的浏览器进行加密和解密的。这意味着文件、聊天记录在你登录的会话之外是无法阅读的。即使是服务管理员也无法得到你的信息。
准备
域名
服务器配置使用了字段 httpUnsafeOrigin 和 httpSafeOrigin 这 2 个不同的 URL。
默认情况下,在开发实例上,它们对应于 http://localhost:3000/( unsafe ) 和 http://localhost:3001/( safe )。第二个(安全)通常不向用户显示,它只在 iframe 内部使用。
使用安全 URL 手动打开 CryptPad 不会提供对应用程序的访问。但还是要两个域才能充分利用 CryptPad 的安全功能。
因为协作所以肯定不只是在局域网使用,所以老苏准备了 2个域名
但其实从头至尾也没用上第二个域名,😂
| 容器端口 | 域名 | |
|---|---|---|
主域 |
3100 |
cryptpad.laosu.ml |
沙箱 |
3101 |
sandbox.laosu.ml |
因为没有备案,实际访问时需带上端口,例如:https://cryptpad.laosu.ml:444
设置文件
官方提供了 config.example.js,我们可以直接从https://raw.githubusercontent.com/xwiki-labs/cryptpad/main/config/config.example.js 直接另存为 config.js,但接下来要做两处修改
- 第一处,找到
httpUnsafeOrigin: 'http://localhost:3000',,将其改为我们设置的主域httpUnsafeOrigin: 'https://cryptpad.laosu.ml:444',

- 第二处,找到
installMethod: 'unspecified',,将其改为installMethod: 'docker',

安装
在群晖上以 Docker 方式安装。
cryptpad 分为独立版(标签为latest和alpine)和 nginx 代理版(标签为nginx和nginx-alpine),但老苏用到 npm 做反代,所以没去研究nginx 代理版的两个版本,也就只知道环境变量很多,有兴趣可以自己研究
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 cryptpad 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 cryptpad 和 子目录 |

运行
在浏览器中输入 https://cryptpad.laosu.ml:444 ,就能看到主界面
默认支持繁体中文

先要注册用户

需要注意:
- 密码不能少于
8位; - 密码如果忘记了,是不能找回的;

当然你也可以用访客

登录过程

登录成功 后的主界面

新建一个文档,可选的类型挺丰富的

新建一个白板试试

所有创建的文件都可以在 磁碟 中找到

配置管理员
直接按照官方的说明操作,原文在:https://docs.cryptpad.org/en/admin_guide/installation.html?highlight=adminkeys#configure-administrators

找到注册用户的公钥

复制后写入到 config.js 中,记得保存后,需要重启 CryptPad 容器

在用户菜单中,会多出 管理员

管理员能做一些系统设置、管理工作,比如 关闭注册

遗留问题
在工作表中,存在部分菜单不能正常显示

中文输入也会显示为方块

其他模块中暂时未发现,显然不像是字体问题,有点奇怪
参考文档
xwiki-labs/cryptpad: Collaboration suite, end-to-end encrypted and open-source.
地址:https://github.com/xwiki-labs/cryptpadxwiki-labs/cryptpad-docker
地址:https://github.com/xwiki-labs/cryptpad-dockerCryptPad.org
地址:https://cryptpad.org/CryptPad Documentation — CryptPad 5.0 documentation
地址:https://docs.cryptpad.org/en/CONFIG · Issue #795 · xwiki-labs/cryptpad
地址:https://github.com/xwiki-labs/cryptpad/issues/795