corelan/EncFSGui

GitHub: corelan/EncFSGui

macOS 平台上的 EncFS 加密文件系统图形化管理工具,提供可视化的加密卷挂载、卸载和配置功能。

Stars: 38 | Forks: 11

# EncFSGui EncFSGui 项目的公开仓库,这是一个 OSX 上的 encfs 图形界面封装工具。 注意:该项目已被废弃。请改用 ## 警告 此应用程序仍然缺少一些(次要)功能,但现在应该已经可以使用了。
它仍处于活跃开发中,并将定期更新。
如果你今天不想自己编译,可以从这里获取最新编译版本的应用程序:
打开 dmg 文件,并将 encfsgui.app 拖入 /Applications。
注意:要运行该应用,请查看下方的“在 OSX 上安装依赖项”部分。你必须安装依赖项才能使用该应用!!
## 什么是 EncFSGui ? EncFSGui 是一个小工具,允许你管理系统上的 encfs 文件夹,并在需要时挂载/卸载文件夹。它与最新的 encfs 版本完全兼容。
你也可以使用 EncFSGui 挂载由 BoxCryptor Classic 或其他依赖 encfs 的类似工具创建的 encfs 文件夹。
EncFSGui 是为 OSX 编写的,但也可能在 Linux 上编译/运行(不过可能需要进行一些修改)。
如果你正在寻找适用于 Windows 的 EncFS 工具,请查看 sourceforge 上的 EncFSMP 项目。
我完全清楚 EncFSMP 也可以在 OSX 上运行,但遗憾的是,嵌入式文件系统引擎在 OSX 上的性能并不理想。
你可以在 找到更多关于 EncFSGui 的信息。 ## 它是如何工作的 ? EncFSGui 是 encfs、encfsctl 和 mount 的封装,并依赖 OSXFuse 提供文件系统。
换句话说,它完全依赖这些实用程序,以及与这些工具交互并捕获其输出的能力。
因此,EncFSGui 的源代码非常容易理解,因为它不包含任何加密技术或其他黑魔法来完成其工作。
缺点是它只是一个封装器,如果工具的行为方式发生变化,它可能会失效。
## 背景 此应用程序使用 C++ 编写,并使用了 wxWidgets 跨平台库。
虽然源代码在 Linux/Unix 和 Windows 下可能编译得很好,但它主要是为 OSX 编写的,并且包含硬编码的字符串和路径,这肯定会阻止该应用在 Windows 上运行。它实际上可能在 Linux 上运行(但我自己还没有测试过)
此外,这是我的第一个 C++ 项目。由于我几周前才开始(自学)C++,我完全清楚我的 C++ 水平很烂。我非常渴望学习和改进,并且乐于接受建设性的建议和帮助。
话虽如此,非常欢迎所有积极的贡献。如果你想做出贡献,请先查看开发环境设置部分。
如果你想试用该应用程序,你需要在 OSX 机器上安装一些依赖项: - encfs - OSXFuse ## 运行 EncFSGui:在 OSX 上安装依赖项 (此过程应适用于 Yosemite 和 El Capitan,因为这两个版本是我自己正在使用的) 1. 安装 xcode 开发命令行工具 只需运行 'gcc',OSX 应该会询问你是否要安装 xcode 命令行工具 ``` gcc ``` 如果你已经安装了 XCode(编译此应用本身并不需要),你也可以运行: ``` xcode-select --install ``` 验证命令行工具是否已正确安装:
`xcode-select -p` (应该打印出以 'Developer' 结尾的路径,但这仅在你安装了 xcode 时才有效)
`gcc --version` (应该打印出版本信息)
3. 安装 homebrew ``` ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" sudo chown -R $(whoami) /usr/local/lib brew doctor ``` 4. 安装 OSXFuse 从 下载 dmg 镜像并安装 5. 安装 encfs ``` brew update ``` 在 El Capitan 上,你可能需要覆盖一些权限: ``` sudo chown -R $USER:admin /usr/local/include sudo chown -R $USER:admin /usr/local/lib/pkgconfig brew link xz libtool boost rlog ``` (如果需要,先安装 xz libtool 等) 然后检查是否一切正常,最后安装 encfs ``` brew doctor brew install homebrew/fuse/encfs ``` 检查 encfs 是否工作: ``` encfs ``` ## 开发环境设置 ### 安装依赖项 1. 首先按上面列出的步骤安装依赖项 2. 从 github 将最新版本的 wxWidgets 仓库克隆到本地硬盘上的文件夹: ``` git clone https://github.com/wxWidgets/wxWidgets.git wxWidgets-latest ``` 3. 构建 wxWidget 库二进制文件以进行静态链接 (在 wxWidgets-latest 文件夹内运行以下命令) ``` mkdir build-release-static cd build-release-static export PATH=$(pwd):$PATH ../configure --enable-optimise --prefix="$(pwd)" --enable-stl --enable-unicode --enable-threads --enable-static --disable-shared --enable-monolithic --enable-graphics_ctx make # 构建 samples 和 demos (可选) cd samples; make;cd .. cd demos; make;cd .. ``` 4. 安装 libcurl 并构建以进行静态链接 - 访问 并下载最新的 'source archive'。(确保获取 tar.gz 版本)。在撰写本文时,最新版本是 7.47.0 () - 解压到一个文件夹(例如 /Users/corelanc0d3r/dev/curl-7.47.0) - 在 curl-7.47.0 文件夹内,使用 OSX SSL 模块构建静态库 ``` export MACOSX_DEPLOYMENT_TARGET="10.6" ./configure --with-darwinssl --disable-shared make make test sudo make install ``` `make install` 命令会将头文件放入 ``` /usr/local/include/curl ``` 库将存储为 ``` /usr/local/lib/libcurl.a /usr/local/lib/libcurl.dylib ``` 运行 `curl --version` 以确认一切正常。 ### 编译 EncFSGui 之前:更新路径 1. 编辑 Makefile - 更新 `WX_BUILD_DIR` 变量,使其包含你自己机器上 `build-release-static` 文件夹的绝对路径。 ### 编译和链接 EncFSGui 1. 编译/链接前运行 `make clean` 2. 运行 `make` 进行编译和链接 ### 从 Yosemite 升级到 El Capitan 后 如果你将开发机器从 Yosemite 升级到了 El Capitan,你可能需要修复一些权限: ``` sudo chown -R $(whoami) /usr/local/lib sudo chown -R $USER:admin /usr/local/include sudo chown -R $USER:admin /usr/local/lib/pkgconfig ``` 同时更新 brew 也是个好主意 ``` brew update ``` ## 待办事项 - [ ] 更改 encfs 卷的密码(例程已存在)(并在需要时更新 Keychain) - [ ] 允许使用主密码 - [ ] 实现整体错误处理 - [ ] 代码清理和文档编写 - [ ] 在需要的地方创建适当的析构函数 - [ ] 为函数和类添加适当的文档 - [ ] 审查变量和函数命名约定 - [ ] 采用更好的编码风格(也就是重写整个该死的东西) - [ ] 学习如何编写正确的 C++(哈——这永远不可能发生!) - [ ] 防止 Command+C(复制)触发对话框中的“取消”按钮(已知问题,看起来是: // ) - [ ] 允许使用包含引号(单引号和双引号)的密码 - [ ] 将安装说明移至 wiki - [ ] 根据需要在各处添加许可证信息 - [ ] 检查是否可能静态编译带有 encfs、osxfuse 和 openssl 的应用程序,同时不放弃关闭应用程序的能力(不卸载卷) ### 已完成 - [X] 更新 - [X] 检查更新的代码 - [X] “自动检查更新”选项 - [X] 改进比较版本信息的机制(仅报告更高的版本号,忽略较低的版本号) - [X] 添加代码以编辑(未挂载的)卷 - [X] 重命名卷 - [X] 选择不同的挂载点 - [X] 从 Keychain 取消保存密码(如果已保存) - [X] 将密码保存到 Keychain(如果尚未保存) - [X] 检查如何作为图标启动并添加为选项 - [X] 向图标添加上下文菜单,允许挂载/卸载卷 - [X] 实现“登录时启动应用程序” - [X] 在不再需要时删除临时文件 - [X] 向列表控件添加右键上下文菜单
标签:BoxCryptor, EncFS, GUI封装, Kali工具, OSX, OSXFuse, 二进制发布, 加密文件系统, 图形用户界面, 开源工具, 数据加密, 文件夹加密, 文件系统安全, 磁盘挂载, 系统工具, 网络安全, 隐私保护