「知识管理的尽头,是安全与效率的平衡」—— 你的每一份笔记都值得被加密保护
痛点直击:为什么需要加密同步?
Obsidian 的好用程度不必多说(个人心目中最佳),然而官方同步服务年费高达 48~96 美元,且对隐私敏感用户而言,将笔记明文存储在第三方平台存在风险。
使用 Obsidian Git 插件同步方案虽然免费,但安全性存在两大硬伤:
- 隐私泄露:配置文件、日记、账号密码等敏感内容以明文形式存储Github、Gitea等库容易泄露
私有部署Git仓库:需要一定的部署经验和服务器资源,即使私有部署特别敏感数据最好也加密
- 私有部署推荐gitea,占用资源极小,稳定
解决方案:git-cryptx 的毛遂自荐
该工具为博主基于Rust开发开源,功能、性能、安全性已经过验证发布稳定版,如有问题和功能需求欢迎issues。
- 本项目长期维护,同类型工具git-crypt作者已基本不更新功能和解决issues。
特性亮点
- 使用简单:仅需git-cryptx init初始化和set-key设置密钥即可配置完成
- 无感加解密:文件在
git add
时自动加密,git checkout
时自动解密,全程无需手动干预 - 自由定义加密范围:支持配置个别类型的文件或某些文件夹下的,仅需配置一次
- AES-256-GCM 军用级加密:采用256位密钥的高级加密标准(AES)算法,结合伽罗瓦/计数器模式(GCM),提供机密性、完整性和真实性保护
- 跨平台支持:完美兼容 Windows/macOS/Linux,与Git工具、Obsidian Git 插件深度适配
五分钟搭建安全笔记体系
该方案已通过以下环境验证:
- macOS Sequoia 15.3 + Obsidian 1.8.4
- Windows 10 + Obsidian 1.8.4
第一步:安装工具链
# MacOS Homebrew 一键安装
brew tap ChrisHyperFunc/brew
brew install git-cryptx
brew upgrade git-cryptx # 保持最新版本
# Windows 下载安装
https://github.com/ChrisHyperFunc/git-cryptx/releases/tag/v1.0.0
解压后得到 git-cryptx.exe
需要配置系统环境变量$Path才能使用,这里推荐直接复制git-cryptx.exe到安装Git的目录
Git一般已经配置Path,我的Git安装目录复制到:
E:\Applications\Git\cmd\git-cryptx.exe
# Linux 下载安装
https://github.com/ChrisHyperFunc/git-cryptx/releases/tag/v1.0.0
解压后得到 git-cryptx,请确保将可执行文件永久添加到系统的 PATH 中:
将以下行添加到您的 ~/.bashrc、~/.bash_profile 或 ~/.zshrc 文件中:
export PATH="$PATH:/path/to/your/git-cryptx-folder"
然后运行:
source ~/.bashrc # 或 source ~/.bash_profile 或 source ~/.zshrc
第二步:初始化加密仓库
任意Git仓库:在GitHub或Gitee创建您的Git仓库(Git如何使用本文不做重点说明)
使用命令工具操作:
git clone https://github.com/yourname/obsidian-doc.git
cd obsidian-doc # 进入你的笔记库目录
git-cryptx init # 初始化 git-cryptx
git-cryptx set-key pass123456 # 设置加密解密的密码
注意:密码会存储在.git/cryptx/keys/global_ase_key文件中,用记事本打开可获取密码。
第三步:配置加密规则
编辑 .gitattributes
文件:
遵循gitattributes语法规则,配置您想加密的文件:
example.secret filter=git-cryptx diff=git-cryptx
*.secret filter=git-cryptx diff=git-cryptx
config/*.key filter=git-cryptx diff=git-cryptx
sensitive/* filter=git-cryptx diff=git-cryptx
sub_tree_directories/** filter=git-cryptx diff=git-cryptx
如有必要排除(gitattributes文件一定不要加密)
.gitattributes !filter !diff
第四步:集成 Obsidian Git
- 安装 Obsidian Git 插件
- 配置自动同步策略(推荐 10 分钟间隔)
高阶玩法:多设备协同指南
新设备接入步骤
克隆加密仓库
使用命令工具操作:
git clone https://github.com/yourname/obsidian-doc.git
cd obsidian-doc # 进入你的笔记库目录
使用git-cryptx初始化及设置密钥
使用命令工具操作:
git-cryptx init # 初始化 git-cryptx
git-cryptx set-key pass123456 # 设置加密解密的密码
重新检出文件(该操作用于解密已加密的文件)
# Clean working directory
git clean -fd
# Checkout files to trigger decryption
git checkout .
打开 Obsidian 选择该目录即可同步写作(不需要在下载Git插件)
避坑指南:开发者亲授秘籍
- 冲突解决遇到
<<<<<<< HEAD
冲突时,需解决明文冲突,可使用IDEA等工具方便操作 - 冲突避免在多机同步使用时,编辑完文档后最后看下是否有没推送的改动,确保全部提交,一般workspace.json容易冲突
出现 git-cryptx Command Not Found异常Obsidian Git插件面板
- 该问题原因是Git插件内部执行git-cryptx命令时,无法正确读取系统环境变量,即使其他命令行工具都能正常读取。此文件在Mac系统中可能会出现。
- 解决办法:修改.git/config中指定执行git-cryptx为绝对路径
PS D:\obsidian-doc\.git> cat config [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = ssh://git@github.com/yourname/obsidian-doc.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [filter "git-cryptx"] clean = git-cryptx clean %f #修改此处为git-cryptx绝对路径 smudge = git-cryptx smudge %f #修改此处为git-cryptx绝对路径 required = true [diff "git-cryptx"] textconv = git-cryptx diff #修改此处为git-cryptx绝对路径 修改后的效果: # Windows [filter "git-cryptx"] clean = E:/Applications/Git/cmd/git-cryptx.exe clean %f smudge = E:/Applications/Git/cmd/git-cryptx.exe smudge %f required = true [diff "git-cryptx"] textconv = E:/Applications/Git/cmd/git-cryptx.exe diff # Mac 或 Linux 类似 [filter "git-cryptx"] clean = ~/Git/cmd/git-cryptx clean %f smudge = ~/Git/cmd/git-cryptx smudge %f required = true [diff "git-cryptx"] textconv = ~/Git/cmd/git-cryptx diff
结语:让知识自由流动
通过 Obsidian+Git+git-cryptx 的组合拳,我们既获得了 Git 的版本控制与多端同步能力,又通过透明加密守护了隐私数据。
Obsidian地址:https://obsidian.md
项目地址:https://github.com/ChrisHyperFunc/git-cryptx
本文作者:DeepSeek 初稿,博主Chris校对完善。
AI 提示词:
你现在是科技/IT自媒体的优秀从业者,请以《效率工具|Obsidian+git-cryptx:内容加密多机同步的笔记写作方案》为题,生成md格式的一篇文章。要求符合科技/IT自媒体从业者的表达逻辑,要符合微信公众号、知乎、掘金等审核要求,吸引读者,不要生硬。需要贴图的地方空出来后面补充。
标题内容解释:Obsidian + Git 插件实现多机同步,git-cryptx是博主采用Rust自研,可以自动实现文件操作无感的加密解密。
实践中有疑问?欢迎在评论区留言探讨!关注本专栏,获取更多独立开发者相关深度评测。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。