
简介
什么是 Hemmelig ?
Hemmelig是一个自托管的应用程序,用于安全地共享敏感信息,采用客户端加密和自销毁消息的功能。用户可以通过Hemmelig分享加密的秘密,这些秘密在查看后或到期后将被自动删除,确保信息不被存储在服务器上。
主要特点
- 客户端加密:使用
AES-256-GCM加密,确保数据在离开用户浏览器之前进行加密。 - 自销毁秘密:配置秘密的到期时间和查看限制,增强信息的安全性。
- 密码保护:为秘密添加额外的安全层,防止未授权访问。
- IP 限制:限制访问特定的
IP范围,以提高安全性。 - 文件上传:允许认证用户共享加密文件。
- 富文本编辑器:提供丰富的文本格式功能,便于用户格式化共享内容。
- 二维码分享:允许用户生成二维码,方便在移动设备上轻松分享秘密。
- 多语言支持:支持多种语言,方便全球用户使用。
- Webhook 通知:提供查看或销毁秘密时的通知功能。
应用场景
- 敏感信息共享:适合需要在员工之间或客户之间安全分享敏感数据的企业和组织。
- 个人隐私保护:个人用户可以用它来安全地分享密码、API 密钥等敏感信息。
- 临时信息交流:用于需要保密并且短期有效的信息传递,确保信息的私密性。
- 开发者和 DevOps:开发人员可以在 CI/CD 流程中安全地共享和管理敏感数据。

Hemmelig 是一个加密秘密分享平台,支持安全传输敏感信息,所有加密过程在客户端完成,确保数据到达服务器前已加密。
准备
直接用 IP 访问会,创建分享时会一直显示 正在创建秘密...

估计可能是需要使用 https 协议,尝试用反向代理可以解决,假设实际访问地址为: https://hem.laosu.tech
| 域名 | 局域网地址 | 备注 |
|---|---|---|
hem.laosu.tech | http://192.168.0.197:3298 | Hemmelig 的访问地址 |
在 npm 中的设置

SSL 都勾选了

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 hemmelig ,选择第一个 hemmeligapp/hemmelig,版本选择 latest。
本文写作时,
v7的具体版本为v7.0.20;

卷
在 docker 文件夹中,创建一个新文件夹 hemmelig,并在其中建一个子文件夹 database 和 uploads
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/hemmelig/database | /app/database | 存放数据库 |
docker/hemmelig/uploads | /app/uploads | 存放上传文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
3298 | 3000 |

环境
| 环境变量 | 说明 | 默认值 |
|---|---|---|
DATABASE_URL | SQLite 数据库文件的路径 | file:/app/database/hemmelig.db |
BETTER_AUTH_SECRET | 用于身份验证的强安全密钥,至少 32 个字符,可以用 openssl rand -base64 32 生成 | change-this-to-a-secure-secret-min-32-chars |
BETTER_AUTH_URL | 身份验证的回调 URL,通常为应用的域名和端口 | https://secrets.example.com |
NODE_ENV | 设置 Node.js 环境为生产环境 | production |
HEMMELIG_BASE_URL | 应用程序的基本 URL,用于生成链接 | https://secrets.example.com |
更多环境变量的说明,可以参考: https://github.com/HemmeligOrg/Hemmelig.app/blob/v7/docs/env.md

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 hemmelig 和 子目录
mkdir -p /volume1/docker/hemmelig/{database,uploads}
# 进入 pingvin 目录
cd /volume1/docker/hemmelig
# 运行容器
docker run -d \
--name hemmelig \
--restart unless-stopped \
-p 3298:3000 \
-v $(pwd)/database:/app/database \
-v $(pwd)/uploads:/app/uploads \
-e DATABASE_URL="file:/app/database/hemmelig.db" \
-e BETTER_AUTH_SECRET="$(openssl rand -base64 32)" \
-e BETTER_AUTH_URL="https://hem.laosu.tech" \
hemmeligapp/hemmelig:v7
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
services:
hemmelig:
image: hemmeligapp/hemmelig:v7
container_name: hemmelig
restart: unless-stopped
ports:
- '3298:3000'
volumes:
- ./database:/app/database
- ./uploads:/app/uploads
environment:
- DATABASE_URL=file:/app/database/hemmelig.db
- BETTER_AUTH_SECRET=change-this-to-a-secure-secret-min-32-chars
- BETTER_AUTH_URL=https://hem.laosu.tech
- NODE_ENV=production
- HEMMELIG_BASE_URL=https://hem.laosu.tech
healthcheck:
test:
[
'CMD',
'wget',
'--no-verbose',
'--tries=1',
'--spider',
'http://localhost:3000/api/health/ready',
]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
然后通过 SSH 登录到您的群晖,执行下面的命令:
# 新建文件夹 hemmelig 和 子目录
mkdir -p /volume1/docker/hemmelig/{database,uploads}
# 进入 pingvin 目录
cd /volume1/docker/hemmelig
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行
在浏览器中输入 https://hem.laosu.tech 就能看到注册管理员界面

注册完成后,还需要登录

后台管理的主界面

再次打开 https://hem.laosu.tech,会看到应用的主界面

输入一段内容,可以直接创建

不仅有 URL 还有二维码

当然你还可以加入各种条件,例如过期时间、最大查看次数等等

参考文档
HemmeligOrg/Hemmelig.app: Keep your sensitive information out of chat logs, emails, and more with encrypted secrets.
地址:https://github.com/HemmeligOrg/Hemmelig.app
Hemmelig.app - Hemmelig - Share Secrets Securely
地址:https://hemmelig.app/
685

被折叠的 条评论
为什么被折叠?



