简介
什么是 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\-p3298:3000\-v$(pwd)/database:/app/database\-v$(pwd)/uploads:/app/uploads\-eDATABASE_URL="file:/app/database/hemmelig.db"\-eBETTER_AUTH_SECRET="$(openssl rand -base6432)"\-eBETTER_AUTH_URL="https://hem.laosu.tech"\hemmeligapp/hemmelig:v7也可以用docker-compose安装,将下面的内容保存为docker-compose.yml文件
services:hemmelig:image:hemmeligapp/hemmelig:v7container_name:hemmeligrestart:unless-stoppedports:-'3298:3000'volumes:-./database:/app/database-./uploads:/app/uploadsenvironment:-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.techhealthcheck:test:['CMD','wget','--no-verbose','--tries=1','--spider','http://localhost:3000/api/health/ready',]interval:30stimeout:10sretries:3start_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/