Repolode
rfjakob

rfjakob/gocryptfs

用 Go 编写的加密叠加文件系统,通过 FUSE 将密文目录挂载为可读的明文视图。

可替代:CryptomatorVeraCrypt

Star
4,652
Fork
303
未关闭 Issue
67
最近提交
20天前

这是什么?

gocryptfs 让文件在磁盘上保持加密状态,并通过挂载点以普通明文文件的形式呈现。使用一条初始化命令创建加密目录后,将其挂载到另一个目录即可:写入挂载点的内容会被加密后保存到底层文件夹,底层目录可以直接同步或备份而不泄露明文。

项目基于 go-fuse 库实现,是 EncFS 的替代者,目标是修复其安全缺陷。文件内容默认使用 AES-GCM 加密,在缺少 AES 硬件加速的 CPU 上可选用 XChaCha20-Poly1305。它还提供反向模式,可以把明文目录以加密视图的形式暴露出来,并包含 fsck、修改密码等功能。

主要支持 Linux,macOS 支持处于测试阶段,Windows 用户可以使用另一个独立的 C++ 实现。

核心功能

  • 01透明加密后端目录中的文件内容和文件名。
  • 02基于 FUSE 挂载,现有应用无需修改即可正常读写。
  • 03支持 AES-GCM 和 XChaCha20-Poly1305 两种内容加密算法。
  • 04提供反向模式,可将明文目录以加密视图形式暴露。
  • 05包含 fsck、修改密码等工具,并提供稳定的命令行接口供脚本调用。

适用场景

  • 对同步到云存储或 NAS 的本地文件夹进行加密。
  • 在 Linux 笔记本上对敏感文档进行静态加密。
  • 制作可直接复制的加密备份,而不暴露明文。
  • 在脚本或 SiriKali 等图形界面中调用 gocryptfs。

快速上手

  1. 1

    使用发行版包管理器安装(Debian/Ubuntu)

    apt install gocryptfs
  2. 2

    创建密文和明文目录

    mkdir cipher plain
  3. 3

    初始化加密目录

    ./gocryptfs -init cipher
  4. 4

    将加密目录挂载为明文视图

    ./gocryptfs cipher plain

使用前须知

  • 原生平台为 Linux;macOS 支持为测试版,Windows 需使用独立的项目。
  • 挂载功能需要先安装发行版的 fuse 软件包。

标签

常见问题

gocryptfs 是什么?
用 Go 编写的加密叠加文件系统,通过 FUSE 将密文目录挂载为可读的明文视图。 gocryptfs 让文件在磁盘上保持加密状态,并通过挂载点以普通明文文件的形式呈现。使用一条初始化命令创建加密目录后,将其挂载到另一个目录即可:写入挂载点的内容会被加密后保存到底层文件夹,底层目录可以直接同步或备份而不泄露明文。
gocryptfs 可以免费使用吗?用的什么许可证?
gocryptfs 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
gocryptfs 还在维护吗?
活跃维护中。gocryptfs 最近一次提交是在 2026年10月1日。
gocryptfs 适合用来做什么?
对同步到云存储或 NAS 的本地文件夹进行加密。 在 Linux 笔记本上对敏感文档进行静态加密。 制作可直接复制的加密备份,而不暴露明文。 在脚本或 SiriKali 等图形界面中调用 gocryptfs。
gocryptfs 怎么安装和运行?
使用发行版包管理器安装(Debian/Ubuntu): apt install gocryptfs 创建密文和明文目录: mkdir cipher plain 初始化加密目录: ./gocryptfs -init cipher 将加密目录挂载为明文视图: ./gocryptfs cipher plain
在哪里获取 gocryptfs?
源代码和安装说明在 GitHub 上:https://github.com/rfjakob/gocryptfs

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目