Briar Mailbox 是 Briar messenger的配套应用,它能让你在 Briar 离线时接收来自联系人的加密消息。当 Briar 重新上线时,它会自动从你的邮箱中同步这些消息。
同样地,你也可以向当前离线的联系人发送加密消息。这些消息会被安全存储,并在对方上线时自动送达。
设置 Mailbox 非常简单:只需在一台备用的 Android 设备上安装 Mailbox 应用,通过扫描二维码将其与你的 Briar 账户关联,然后确保这台设备保持连接电源和 Wi-Fi 即可。
然而,你可能希望这个服务能更加稳定,毕竟一个空闲的 Android 设备在一个家用的网络环境和电源保障的条件下,是有可能下线的。好在,你可以通过 Briar Mailbox 的源代码构建程序包,使其可以在 Linux(例如 Debian、Ubuntu)上运行。
本文介绍如何构建 Brair Mailbox 的 x86 cli 程序,并以 Debian 系统为例说明如何运行一个自启动服务。
准备工作
- 本地计算机:安装 docker、git
- 远程服务器:确保已安装 java runtime,例如
openjdk-11-jre
本地构建
为了确保构建环境有一切所需的库文件和配置,我们直接使用 Briar 用于构建应用的 docker 镜像:
1 | git clone https://code.briarproject.org/briar/ci-image-android.git ~/ci-image-android |
进入到容器中后,在容器的 shell 内:
1 | git clone https://code.briarproject.org/briar/briar-mailbox.git ~/briar-mailbox |
接着,开启另一个本地终端,并复制容器内的文件到外面来:
1 | docker cp briar-mailbox-builder:/root/briar-mailbox/mailbox-cli/build/libs/mailbox-cli-linux-x86_64.jar ./mailbox-cli.jar |
然后可将 mailbox-cli.jar 上传到服务器上了。
例如,以用户名为 sammy,主机地址为 remote 为例:
1 | ssh sammy@remote -t 'mkdir -p ~/mailbox-cli' |
服务器配置
确保用户 sammy 的服务可以后台运行:
1 | sudo loginctl enable-linger sammy |
然后,创建一个 systemd service 文件:
1 | mkdir -p ~/.config/systemd/user |
输入以下内容,注意替换其中的 sammy
:
1 | [Unit] |
然后先手动启动一次服务:
1 | java -jar ~/mailbox-cli/mailbox-cli.jar |
在输出中找到二维码(用于连接手机客户端),或者找到 mailbox 的链接(用于连接电脑客户端)。然后在手机或电脑的 Briar 应用程序中配对。配对成功后,可以 Ctrl + C 停止刚刚手动运行的服务。
接着,设置自启动:
1 | systemctl --user enable --now mailbox-cli |
可检查服务状态:
1 | sysetmctl --user status mailbox-cli |
至此,服务端已配置完毕。如果 Mailbox 有更新,和之前的操作方法类似:启动已有的 docker 容器,在其中更新 mailbox 代码库后,重新构建程序,再复制出来,上传到服务器中,重启服务器的服务即可。