Welcome to Machine Unix

Search Below

A Mini Encryption and CloudUploader Tool

I’ve been playing with encryption tools on various platforms and I have put together a mini application called CloudUploader for OSX Lion. The task is very basic and simple but useful too. What it simply does is that it allows you to select a file of your choice, zips the file, allows you to specify a remote server, and applies encryption method of your liking before uploading to the server you have specified. See the image below:

CloudUploader-1

Below are assumed:

  1. The Directory the file being uploaded must exist in the Remote Server.
  2. The file you are going to be uploading should not have any spaces, for example …/myfile.txt is acceptable but …/my file.txt is not!
  3. It uses keys or passwords. You must specify a password if you are not using a key.
  4. In the text, I mention Joyent Server, it is because where my server is hosted ( I work for them too! ), but you can change the text in the application script
  5. This is not a supported application by Joyent at all, it came out purely out of my curiosity and on my own and:
  6. Please use it on your own risk!

The file will be uploaded with a date format ending with .e file format, for example:

Message

In the example below the file 042422352013.zip.e indicates a file format that is zipped and encrypted. In my case, I uploaded the file in my Joyent Server and in /root directory. To decrypt and unzip the file, the following must be done either in the remote server or in locally:

[root@machine-unix ~]# openssl des3 -d -in 042422352013.zip.e -out 042422352013.zip
enter des-ede3-cbc decryption password:

[root@machine-unix ~]# unzip 042422352013.zip
Archive: 042422352013.zip
inflating: goodreads_export.csv

Now that the file is decrypted and unzipped, my .csv file is completely visible. Couple of technical details are as follows

  1. Currently openssl and most of it ciphers are supported, meaning that no gnupg yet but it is in the plans! If you find a bug in openssl cipher let me know!
  2. Only one file can be selected, no multiple files yet
  3. The password entered in the password field is for encrypting/decrypting the file, and it is not the password of your server ( DON’T DO THAT )
  4. Under the covers, scp is used to upload the file, therefore the remote server must be listening on port 22 ( same with SSH )

The tool is completely opensource and it is written in Pashua in conjunction with CocoaDialog, you can edit the script in the Resources directory however you wish!

You can download the tool here, and I wrapped it around an installer which is made with Platypus. All you need to do is to download it from the location, and run the installer. It will copy the application into your /Applications folder. From here, you can either doubleclick the app or drag and drop to your Dock.

Let me know how useful this application to you and what I can do to improve it!

Enjoy!

Icon for the application is downloaded from deviantart