Coder Social home page Coder Social logo

Cloaklet

A simple GUI app wrapping around gocryptfs. Currently usable on macOS.

UI and interaction is mimicked from Cryptomator.

How to build

Tool dependencies

You should have the following tools installed:

  • Qt5 suite: brew install qt5.
  • Clang: xcode-select --install to install the CommandLine Tools from Apple.
  • Go: brew install go, 1.14 would be fine.
  • qamel: go get -u -v github.com/go-qamel/qamel/cmd/qamel in project root to install.

Setup qamel profile

  • Run brew info qt5 to print the caveats for the installed Qt5 formula. What we need is the path to Qt tools, typically located at /usr/local/opt/qt/bin.
  • Run qamel profile setup to setup the default profile, it will ask you for path of each tool, use these:
    • For Qt tools dir, use the one you got from brew info qt5
    • For C compiler, use /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
    • For C++ compiler, use /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++

Build for development

When building for development it's not necessary to create an application bundle, instead we just need a executable binary file. The binary file alone is fast to compile thus saves a lot of time.

Generate moc headers

Qt's moc (Meta Object Compiler) is used to generate a header file specific to the extend.h file. This file provides some extended functionality via CGO, including a QML type named MousePos which provides MousePos.pos() slot to effeciently get current cursor coordinates.

# This will generate "moc-extend.h" file
/usr/local/opt/qt/bin/moc -o moc-extend.h extend.h

Build the binary

qamel build to build with the default profile. Run with ./Cloaklet.

Build for release

Just run go run build.go buildBundle, it should do all the building and bundling stuff and generates Cloaklet.app bundle. Double click it to start the app.

Notice

If the compiler complains about finding std library headers, you might need to set the Apple SDK path like this before running build command:

export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"

License

GPL v3, see LICENSE file.

cloaklet's Projects

cloak icon cloak

Yet another GUI app for gocryptfs.

cloaklet icon cloaklet

A simple GUI app wrapping around gocryptfs for macOS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.