Create an EncFS volume compatible with BoxCryptor Classic

If you are planning to share an encrypted volume between Linux/OSX and Windows (I will assume you are sharing it on Dropbox, but you could use any similar service) and you are using EncFS under Linux/OSX and BoxCryptor under Windows, there are some specifig settings to use when you create the EncFS volume. Infact even if BoxCryptor claims to be “encfs compatible”, it’s not 100%.

Suppose you want to create an encrypted volume located at $HOME/.TestTmpEncrypted and mounted at $HOME/TestTmp you need the following command:

answer “Y” when you are asked if you want to create the folders:

At this point you will need to select between default paranoia mode or advanced mode. Please choose the advanced one (x):

Manual configuration mode selected.

Select 256 as key size:

Choose 1024 as block size:

Select Stream as filename encoding:

Do NOT enable filename initialization vector chaining:

Do NOT enable per-file initialization vectors:

Do NOT enable external chained IV:

Do NOT enable random bytes to each block header:

Enable file-hole pass-through:

Finally you will see:

At this point set a passphrase for your new volume:

You should be able to mount this volume using BoxCryptor.

How to configure Edimax EW-7811UN Wifi dongle on Raspbian

If you want to connect your RaspberryPi to your home network and you want to avoid cables, I suggest you to use the Edimax wifi adapter. This device is quite cheap (around £8 on Amazon) and it’s very easy to configure on Raspbian (I assume you are using a recent version of Raspbian. I’m using the one released on 20/06/2014).

edimax-pi3

 

Configure the wifi adapter

Edit /etc/network/interfaces and insert these configuration values:

Power management issue

There is a known “issue” with this adapter default configuration that makes it to turn off if the wlan interface is not in use for some minutes. To avoid this you have to customize the parameters used to load the kernel module. First check that your adapter is using 8192cu module:

Create the file /etc/modprobe.d/8192cu.conf and insert the following lines inside:

I also suggest to create a little entry in crontab to make the RaspberryPi ping your router every minute. This will ensure that your wifi connection will stay alive. To edit crontab just type (from pi user, you don’t need to be root):

and insert this line at the end:

where 192.168.0.1 is the IP of your router (of course substitute this value with the ip of your router).

Keep Alive Script

I created a further script to keep my WIFI alive. This script will ping the router (change the IP using the one of your router) every 5 minutes and if the ping fails it brings down the wlan0 interface, the kernel module for the wifi and bring them up again.

Just put this script in /root/wifi_recover.sh and then execute from root user:

Insert this line inside the crontab editor:

Conclusion

The configuration is done. Just reboot your RaspberryPi and enjoy your wifi connection.

Configuring ddclient to update your dynamic DNS at noip.com

noip.com is one of the few dynamic DNS free services that are reliable to use. If you have, like in my situation, a RaspberryPi connected to your home DSL and you want it to be always reachable without knowing the current IP address (the IP could change if you have a normal DSL service at home), you need a dynamic DNS service.

To update the noip.com one you just need ddclient, a tool that is available in Raspbian/Debian repository. You can install it with this command:

then you just need to edit /etc/ddclient.conf

and restart the client:

That’s all! Please remember that noip.com free accounts have a limitation: they need to be confirmed every 30 days (you will receive an email and you need to click on the link contained to update your DNS).