Self-host

自托管 Dropt relay

relay 让手机在不同网络下把加密载荷交给桌面端。它不解密笔记,只保存待取走的消息。

用 Docker 启动

自托管需要 relay 源码或镜像,目前不公开分发。需要的用户请来信 silicoville@gmail.com 索取。下面的 Docker 与 nginx 示例供拿到源码之后参考;生产部署时请使用你自己的随机 token,不要复用示例值。

# 拿到源码后,在源码目录内构建并运行:
docker build -t mycel-dropt-relay .
docker run --rm -p 8787:8787 \
  -e DROPT_RELAY_WRITE_TOKEN="replace-with-random-write-token" \
  -e DROPT_RELAY_DRAIN_TOKEN="replace-with-random-drain-token" \
  mycel-dropt-relay

Token 分工

  • DROPT_RELAY_WRITE_TOKEN:给手机端写入加密消息。
  • DROPT_RELAY_DRAIN_TOKEN:给桌面端取回并删除消息。

这两个 token 是 relay 的访问控制,不是解密密钥。不要把它们写进公开仓库或截图。

nginx 反代示例

server {
  server_name relay.example.com;

  location / {
    proxy_pass http://127.0.0.1:8787;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

安全边界

  • relay 只保存加密载荷与队列元数据。
  • 桌面端 drain 成功后,relay 删除对应队列项。
  • 如果 relay 暴露到公网,请使用 HTTPS,并把 token 存在服务器环境变量里。
  • 如果 token 泄露,请立即轮换 token 并重启服务。

连接到 Mycel

在桌面端的手机捕获或 Dropt 设置里填入 relay 地址和 token。手机端通过配对页或分享路径提交后,桌面端会从 relay drain 内容并写入本地库。

Dropt relay 配对面板:relay URL、write/drain token 字段(演示用假值,真实使用时填本机 relay 凭证)