大家好,我是羊刀仙。
本篇的项目名为Enclosed,是我在检查NAS上的Docker更新偶然发现,跟之前介绍过的it-tools工具箱是同一个作者。
该项目旨在私密和安全地发送便条(笔记和文件):服务端无法解密和查看客户端加密的内容(浏览器中加密),可设置阅读限制或阅后立即焚毁(服务器拥有者也无法破译)。
之前介绍过加密鸽,也都是完全开源免费,感兴趣的朋友可以翻阅了解。
整个搭建流程相当简单,项目本身也足够轻量,且支持Docker一键部署。各位可以简单了解下项目特点,咱们即刻开始部署。
项目特点
端到端加密:笔记在客户端使用 AES-GCM 加密,并使用 PBKDF2 派生的 256 位密钥。
支持笔记和共享文件。
服务端无法解密和查看客户端加密的笔记或文件,真正私密。
可设置密码、到期时间,并选择阅读笔记后自毁。
用户界面简单直观,可快速共享笔记。
支持提供多种语言。
支持身份验证,可选电子邮件/密码身份验证来创建笔记。
支持暗黑主题切换。
响应式设计适用于所有设备,从台式机到手机。
轻量免费开源,源代码可根据 Apache 2.0 许可获得。
支持自托管,通过Docker快速部署。
支持从终端创建笔记的命令行接口。
部署流程
为了更方便后期维护管理,本篇会采用Docker Compose进行部署。各平台都大同小异,大家可选择性参考。
首先在文件中心创建一个文件夹,用于存放应用的基础数据。我这里直接创建一个名为Enclosed的文件夹。
打开Container Station,创建新的应用程序。将以下代码复制粘贴进框内,修改后进行创建。
#verion: '3'
services:
enclosed:
image: corentinth/enclosed
container_name: enclosed
ports:
- 9788:8787 # 冒号左侧可改
volumes:
- /share/Container/enclosed/enclosed-data:/app/.data
restart: unless-stopped
最新版本docker compose更新到v2.25.0后,便不再需要在yaml文件中写入verion: '3'
。如果你的版本没有更新,请删除#️⃣取消注释。
部署完毕后,WEB输入 NAS_IP:9788 即可进行访问。第一次进入如下图所示,先选择语言,换成简体中文。可以看到标红的提示部分,应用需要我们通过HTTPS访问,否则将无法创建或查看笔记。因此咱们接下来便着手反向代理和HTTPS访问。
如果各位想要了解更多项目信息,可以点击右上角新建笔记旁的小猫图标,转移到项目地址查看。
反向代理
因为是部署在NAS上,所以还是通过老朋友Lucky来实现。关于Lucky的详细部署使用流程,请翻阅往期文章,也十分简单。
这里我直接放一张子规则的配置图。服务类型选择反向代理,前端地址为自定义二级域名,后端地址为内网服务的完整访问地址。填写完毕后点击修改规则服务即可。
如果不想被恶意上传附件之类,可以打开上面安全管理中的基本认证,为应用上一道锁。
项目应用
左侧三分之二的大框可以输入文字内容,右侧可输入笔记密码,选择时效,开启阅后即焚一级添加附件文件。附件支持多文件上传,但并不能上传整个文件夹。
输入完毕后创建笔记,可以点击复制链接或分享笔记进行分享。共享笔记咱们后文单独解释。
我这里转用Safari浏览器打开,提示需要密码。
输入密码后,便可进行查看。
同样的我创建一条阅后即焚笔记,查看前会出现提示,大概意思是查看笔记后,它将被永久删除,并且无法恢复。
已经过期的笔记或勾选阅后即焚后,再次进入笔记链接会得到以下界面。
关于共享笔记
创建笔记后的分享形式,分享笔记这个选项仅在macOS、iOS以及Windows的浏览器中才会出现,安卓则仅有复制链接选项。
macOS点击分享笔记后的选项,也可自定义编辑扩展获得更多分享选项。
Winddows点击分享笔记,可以在商店中安装更多应用扩展。
顺便也来看看iOS端,这个分享选项就跟我们平时分享图片之类内容差不多,挺方便的。并且移动端的适配做得相当不错,自适应、缩放这些完全没问题。
最后
这类应用通过加密和自毁功能来确保信息的隐私性和安全性,非常适合个人或组织用来分享私人/机密信息,防止因意外让未被授权的人员读取。
项目本身开源且免费没啥缺点,要是能在环境变量支持自定义标题啥的就更好了~大家有什么建议也都可以去提issues。
如果各位觉得文章内容还不错,别忘了三连支持下,能点点关注就更好了!后续我还会持续分享各类教程以及有趣好玩的项目。
感谢观看,本文完。
评论区