Updated October 05th 2011
uOneCrypt
by: deepbit
For along time I've wanted to store lots of my data in internet, since I don't trust hard disks for "all" my information.
The problem was I coudn't find a storage service which would allow me encrypting the data (local encryption) and then uploading the information. Some software do that but they are not free software, so you cannot check if there is a hidden mechanism to decrypt your data.
Actually I haven't carried out a state of the art on the different storage solutions, but I decided to work anyway on a software regarding the Ubuntu Cloud Storage Service. So I decided to start a new software with the encryption feature. I tried to do it as much platform compatible as I could.
I've read about encryption in Ubuntu One Cloud by means encfs, but the only client of UbuntuOne is for Ubuntu (or linux), not for Osx or Windows.
So here is the software.
Usage is very simple, you just upload information to the cloud like if it was an FTP client and everything you store under the /CRYPT folder will be encrypted with your private key.
The configuration is pretty basic, write your user, password (ubuntu one) and a private key in the file uOne.cfg.
I'm going to show the basic usage:
We'll start with an empty storage account, (it's not neccesary, but let uOneCrypt to create /CRYPT by itself).

deepbits-iMac:uOneCrypt deepbit$ python uOneCrypt.py
uOneCrypt:/> ls
Size | Node
--------------------------------------------------------------------------------
--- | CRYPT/
--------------------------------------------------------------------------------
Start the client and /CRYPT is created automatically

uOneCrypt:/> cd CRYPT
uOneCrypt:/CRYPT> ls
Size | Node
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
There's nothing inside, so let's upload some content.
uOneCrypt:/CRYPT> put uOneCrypt.py
uOneCrypt:/CRYPT> put uOne.cfg
uOneCrypt:/CRYPT> ls
Size | Node
--------------------------------------------------------------------------------
30.5 Kb | uOneCrypt.py
328 Bytes | uOne.cfg
--------------------------------------------------------------------------------

The .ToC file contains the real names of the files and folers, DON'T DELETE THIS FILE NEVER!
uOneCrypt:/CRYPT> cd ..
uOneCrypt:/> mkdir newDir
Directory //newDir created
uOneCrypt:/> ls
Size | Node
--------------------------------------------------------------------------------
--- | CRYPT/
--- | newDir/
--------------------------------------------------------------------------------
uOneCrypt:/> put uOneCrypt.py
uOneCrypt:/> ls
Size | Node
--------------------------------------------------------------------------------
--- | CRYPT/
--- | newDir/
30.4 Kb | uOneCrypt.py
--------------------------------------------------------------------------------
uOneCrypt:/>

uOneCrypt:/> help
Documented commands (type help <topic>):
========================================
EOF cd del dir exit get ls md mkdir put quit rd rm rmdir
Undocumented commands:
======================
help
As you can see, the content outside /CRYPT is not encrypted (obviosly the data inside the file is encrypted, test it yourself)
And that's all, I'd like to create a FUSE module in order to integrate this software as another filesystem either in Linux, or OSx or Windows.
If you want to see any further features read the README on the project's page
Any help will be wellcome! :)
