安全共享敏感信息的共享工具Hemmelig.app

简介

什么是 Hemmelig ?

Hemmelig 是一个自托管的应用程序,用于安全地共享敏感信息,采用客户端加密和自销毁消息的功能。用户可以通过 Hemmelig 分享加密的秘密,这些秘密在查看后或到期后将被自动删除,确保信息不被存储在服务器上。

主要特点

  1. 客户端加密 :使用 AES-256-GCM 加密,确保数据在离开用户浏览器之前进行加密。
  2. 自销毁秘密:配置秘密的到期时间和查看限制,增强信息的安全性。
  3. 密码保护:为秘密添加额外的安全层,防止未授权访问。
  4. IP 限制 :限制访问特定的 IP 范围,以提高安全性。
  5. 文件上传:允许认证用户共享加密文件。
  6. 富文本编辑器:提供丰富的文本格式功能,便于用户格式化共享内容。
  7. 二维码分享:允许用户生成二维码,方便在移动设备上轻松分享秘密。
  8. 多语言支持:支持多种语言,方便全球用户使用。
  9. 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,并在其中建一个子文件夹 databaseuploads

文件夹 装载路径 说明
docker/hemmelig/database /app/database 存放数据库
docker/hemmelig/uploads /app/uploads 存放上传文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
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 更快捷

bash 复制代码
# 新建文件夹 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 文件

yaml 复制代码
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 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 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/

相关推荐
眠りたいです2 小时前
Docker:容器虚拟化技术基础-namespace,cgroups,资源管理与LXC
运维·docker·中间件·容器
java_logo4 小时前
宝塔 Linux 面板 Docker 容器化部署指南
linux·运维·docker·宝塔·docker部署宝塔·宝塔部署教程·docker部署baota
用户3521802454754 小时前
🚀 Milvus 实战部署全记录
数据库·docker·ai编程
令狐囱4 小时前
宝塔docker 运行 go-zero-looklook项目
docker·容器·golang
yBmZlQzJ4 小时前
内网穿透 + 域名解析:到底解决了什么核心问题?
运维·经验分享·网络协议·docker·容器
小挪号底迪滴4 小时前
Docker容器化实践:从开发到生产的完整流程
运维·docker·容器
gordon~94 小时前
Docker常用命令
运维·docker·容器
隔壁小红馆4 小时前
docker 部署pgsql
运维·docker·容器
石小千6 小时前
Ubuntu24.04 安装Docker
运维·docker·容器