前言
在日常工作和生活中,我们常常需要传递一些敏感信息,例如账号密码、一次性登录链接或者私密的文字内容。通过聊天软件或者邮箱直接发送,往往存在被截取、泄露的风险。有没有一种方式,可以让我们安全地传递消息,并且在被阅读后自动销毁呢?
Enclosed 就是这样一款简约而强大的网络应用程序。它通过端到端加密,确保服务器和存储端对内容一无所知;用户可以设置密码、有效期(TTL),甚至让便条在被阅读后立即自毁,从而大幅提升信息的安全性。
本文将带大家使用 Docker 快速部署 Enclosed,让你轻松拥有一个属于自己的安全便条服务,在需要分享敏感信息时,再也不用担心安全问题。
项目简介
Enclosed是一个简约的网络应用程序,旨在发送私密且安全的笔记。
所有笔记均采用端到端加密,确保服务器和存储对内容一无所知。用户可以设置密码、定义有效期 (TTL),并选择在阅读后将笔记自毁。
项目图片
主页面
创建笔记界面
生成链接
接收端
输入密码查看
再次打开链接内容已删除
主要功能
- 端到端加密:您的笔记在客户端加密,使用 AES-GCM 和使用 PBKDF2 派生的 256 位密钥。
- 文件附件:与您的笔记安全地共享文件。
- 零知识:服务器无法访问笔记或文件的内容。
- 可配置的安全选项:设置密码、到期时间,并选择阅读笔记后自毁。
- 简约的用户界面:简单直观的用户界面,可快速共享笔记。
- i18n 支持:提供多种语言。
- 身份验证:可选电子邮件/密码身份验证来创建笔记。
- 黑暗模式:适合深夜分享笔记的黑暗主题。
- 响应式设计:适用于所有设备,从台式机到手机。
- 开源:源代码可在 Apache 2.0 许可下使用。
- 自托管:运行 Enclosed 实例以进行私人笔记共享。
- CLI:用于从终端创建笔记的命令行界面。
- 对环境的影响非常小:该应用程序和文档在 websitecarbon.com 上被评为 A+(参见此处)。
demo
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷
准备条件
1)一台服务器或者NAS(理论上只有其他NAS都可以)
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的开源项目
https://github.com/CorentinTh/enclosed
目前有1.6k stars
更多功能或者二次修改可以访问gitee
3)域名(可选)
域名可以根据自己的需求绑定
①《飞牛NAS上搭建》
新建项目:
enclosed
compose配置如下:
services:
enclosed:
image: corentinth/enclosed # 使用 corentinth/enclosed 镜像
container_name: enclosed # 容器名称,方便管理
ports:
- 8787:8787 # 映射端口:宿主机 8787 -> 容器 8787
volumes:
- ./data:/app/.data # 将当前目录的 data 文件夹挂载到容器内,实现数据持久化
environment:
- TZ=Asia/Shanghai # 设置容器时区为上海
restart: always # 自动重启策略:始终重启
接下来启动即可
正常启动
打开
飞牛云的
ip:8787(防火墙放开)
端口即可打开
由于这个项目必须使用ssl证书https方式访问,在飞牛上可以使用之前分享过的免费Cloudflare-Tunnels的方式配置证书和域名访问
或者有公网ip的使用lucky做反向代理来访问,这里就不过多的介绍了
补充docker可用的镜像仓库
国内如果无法拉取镜像的可以使用
仓库1
https://1ms.run/
仓库2
https://docker.ywsj.tk/
仓库3
https://mirror.azure.cn/
仓库4
https://hub.rat.dev/
仓库5
https://docker.1ms.run
仓库6
https://docker.itelyou.cf/
仓库7
https://abc.itelyou.cf/
②《vps上搭建》
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir enclosed;cd enclosed #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
enclosed:
image: corentinth/enclosed # 使用 corentinth/enclosed 镜像
container_name: enclosed # 容器名称,方便管理
ports:
- 8787:8787 # 映射端口:宿主机 8787 -> 容器 8787
volumes:
- ./data:/app/.data # 将当前目录的 data 文件夹挂载到容器内,实现数据持久化
environment:
- TZ=Asia/Shanghai # 设置容器时区为上海
restart: always # 自动重启策略:始终重启
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
enclosed corentinth/enclosed "docker-entrypoint.s…" enclosed 27 minutes ago Up 27 minutes 0.0.0.0:8787->8787/tcp, [::]:8787->8787/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口8787)防火墙就可以web端访问了
http://ip:8787
此时还无法使用需要绑定域名加SSL证书来访问继续看下一步绑定域名
绑定域名
如需绑定域名的自行绑定
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
A记录
nginx代理
强制https访问
绑定完域名配置好证书就可以用域名来访问了
正常使用了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区