支持加密传输的飞鸽传书Cryptgeon

在这里插入图片描述

简介

什么是 Cryptgeon ?

Cryptgeon 是一个安全的开源笔记/文件共享服务,灵感来自于 PrivNote,使用 RustSvelte 编写。包括一个服务器、一个网页和一个 CLI 客户端。

主要特点

  • 安全性:通过客户端加密,服务器无法解密内容,确保用户数据的隐私。
  • 短暂的笔记:笔记具有查看次数和时间限制,数据仅存储在内存中,不会持久化到磁盘。
  • 支持多种格式:用户可以发送文本或文件。
  • 暗黑模式:提供强制的暗黑模式支持。
  • 简单易用:提供 CLI 客户端和网页界面,便于用户使用。

工作原理

加密鸽会为每条笔记都生成一个独立的 id (256bit)key 256(bit)

其中id用于保存和提取密信, 在这之后这封密信将会被客户端使用 AES 算法的 GCM 模式和key进行加密然后发送至服务器,数据将会保存在服务器的内存中且永远不会被持久化到硬盘上,服务端永远不会得到密钥并且无法解读密信的内容。

ℹ️ 加密鸽(Cryptgeon)必须使用https,否则浏览器可能将不会支援加密鸽的加密算法。

Cryptgeon 还支持自定义配置和多个实例的运行,适合需要安全共享信息的用户。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 2.9.0

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3.8'

services:
  redis:
    image: redis:7-alpine
    container_name: cryptgeon-db
    restart: unless-stopped
    volumes:  
      - ./data:/data

  app:
    image: cupcakearmy/cryptgeon:latest
    container_name: cryptgeon-web
    restart: unless-stopped
    depends_on:
      - redis
    environment:
      SIZE_LIMIT: 4 MiB
    ports:
      - 3128:8000

环境变量的简单说明

变量名称 默认值 描述
REDIS redis://redis/ Redis 连接 URL
SIZE_LIMIT 1 KiB 最大请求体(body)限制,最大为 512 MiB
MAX_VIEWS 100 密信最多查看次数限制
MAX_EXPIRATION 360 密信最长过期时间限制(分钟)
ALLOW_ADVANCED true 是否允许自定义设置,该项如果设为false,则不会显示自定义设置模块
THEME_IMAGE "" 自定义 Logo 图片,你在这里填写的的图片链接必须是可以公开访问的。
THEME_TEXT "" 自定义在 Logo 下方的文本。

更多更完整的说明请参考官方英文版:https://github.com/cupcakearmy/cryptgeon#environment-variables

然后执行下面的命令

# 新建文件夹 cryptgeon 和 子目录
mkdir -p /volume1/docker/cryptgeon/data

# 进入 cryptgeon 目录
cd /volume1/docker/cryptgeon

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

反向代理

在前面,我们提到了必须要使用 https 协议,才能让浏览器支持加密鸽(Cryptgeon)的加密算法,所以还需要做反代来进行协议转换。

假设访问地址为: https://cryptgeon.laosu.tech

域名 局域网地址 备注
cryptgeon.laosu.tech http://192.168.0.197:3128 Cryptgeon 的访问地址

npm 中的设置

SSL 都勾选了

运行

在浏览器中输入 https://cryptgeon.laosu.tech 都能看到主界面

输入文本后,点 创建

生成可访问的 URL 和二维码

打开 上传文件 开关,可以加密传输文件

前端显示的最大值,是未包括约 35% 编码开销在内的数字,所以虽然我们环境变量设置的是 4 MiB ,但实际上能上传的文件最大值只有 2.96 MiB

超过最大值的文件,上传会失败

而在打开 高级设置 时,可以定义密码和阅读次数

参考文档

cupcakearmy/cryptgeon: cryptgeon is a secure, open source note / file sharing service inspired by PrivNote written in rust & svelte.
地址:https://github.com/cupcakearmy/cryptgeon

cryptgeon
地址:https://cryptgeon.org/

猜你喜欢

转载自blog.csdn.net/wbsu2004/article/details/147036427
今日推荐