A simple GUI app for gocryptfs, using web tech stack. Works on macOS and Linux.
UI / interaction mimicked from Cryptomator. English and Simplified Chinese are included.
AppImage
file (alternatively you can use chmod +x Cloak*.AppImage
), then just run it.xattr -d -r com.apple.quarantine Cloak.app
in Terminal, otherwise GateKeeper would refuse to run the app.Open
menu item of the tray icon (or menubar icon).I wrote a similar GUI called Cloaklet using QML + Golang. However, I don’t enjoy developing in QML at all, and quickly ran into some issues which I can’t resolve. After that I went back to use Cryptomator, but its UI feels slow and somehow inconsistent. This time I got an idea from one of my early projects to use web browser as UI renderer, thus this new project.
Notice: you have to use a running instance of macOS, either a VM or a real Apple computer.
xcode-select --install
.cd frontend && npm install
.go run build.go build
in project root, and it should create the Cloak.app
bundle.sudo apt install libappindicator3-dev gcc libgtk-3-dev libxapp-dev
.cd frontend && npm install
.go run build.go build
and it should produce an AppImage binary.The AppImage binary includes all required libraries and tools, so you can run it right away.
The frontend (UI) project resides in frontend
directory. It’s a standard Vue project managed by vue-cli.
npm install
inside frontend
directory.npm run serve
inside frontend
directory.serve
task from vue-cli UI, run vue ui
to get started.You should build the frontend project first so the backend can find assets for the UI.
frontend
directory, run npm run build
.go run .
in the project root.gocryptfs
requires FUSE
to function. For macOS please install OSXFUSE
.gocryptfs
does not work on Windows.statik
module because it contains large blob of files produced by the frontend project.libxapp-dev
would not result in error; But when running the built AppImage on Linux Mint, menu item will lose highlighting.Author: Cloaklet
Source Code: https://github.com/Cloaklet/Cloak
#vue #vuejs #javascript