boxafe¶ ↑
Boxafe
mounts EncFS filesystems or “boxes” that you define in a configuration file with a friendly DSL. It can also mount them on startup. EncFS must be installed separately.
Note: Currently supports OS X. Partial Linux support.
Requirements¶ ↑
-
Ruby 2.2+
Installation¶ ↑
gem install boxafe
Configuration¶ ↑
Location: ~/.boxafe.rb
# mount a box (this will prompt for your password) box do name 'A box' root '/secure/abox' mount '/Volumes/abox' end # this command is run: # encfs "/secure/abox" "/Volumes/abox" -- -ovolname="A box" # get the password from a file box do name 'Password file box' root '/secure/password-file-box' mount '/Volumes/password-file-box' password_file '/secret/password' end # get the password from the OS X keychain box do name 'Keychain box' root '/secure/keychain-box' mount '/Volumes/keychain-box' keychain 'keychain-box-password' end # adds an extpass to the command: # --extpass="security 2>&1 >/dev/null find-generic-password -gl 'keychain-box-password' # specify a custom path to the encfs XML configuration file box do name 'Custom box' root '/secure/custom-box' mount '/Volumes/custom-box' encfs_config '/secure/.custom-box.encfs6.xml' end # adds an environment variable: # ENCFS6_CONFIG="/secure/.custom-box.encfs6.xml" # use a volume name different than the name box do name 'Volume box' root '/secure/volume-box' mount '/Volumes/volume-box' volume 'Secure Volume' end # changes the ovolname option # use a hash configuration config = { name: 'Hash box', root: '/secure/hash-box', mount: '/Volumes/hash-box' } box config # load configuration from environment variables box env(:box_name, :box_root, :box_mount) # Reads $BOX_NAME, $BOX_ROOT, $BOX_MOUNT # customize path to binaries encfs '/opt/local/bin/encfs' umount '/usr/local/bin/umount'
Usage¶ ↑
# mount/unmount all defined boxes boxafe mount boxafe unmount # mount/unmount one box boxafe mount 'A box' boxafe unmount 'A box' # check what boxes are mounted boxafe status # mount all boxes on startup (currently only on OS X) boxafe start # stop boxes from mounting on startup boxafe stop
Compatibility¶ ↑
Boxafe
is currently geared towards OS X with partial Linux support.
Cron scheduling is partially implemented with whenever, and other extpass methods like a password file would be helpful.
Contributing¶ ↑
-
Create a topic branch -
git checkout -b my_branch
-
Push to your branch -
git push origin my_branch
-
Create a pull request from your branch
Please add a changelog entry for new features and bug fixes.
Writing specs will get your code pulled faster.
Roadmap¶ ↑
This is the list of planned features/changes:
-
Complete test suite.
-
Growl/OS X notifications.
-
“Repair” feature to un-quarantine files on OS X.
-
Cron scheduling with whenever.
Meta¶ ↑
-
Author: Simon Oulevay (Alpha Hydrae)
-
License: MIT (see LICENSE.txt)