Creating the perfect USB companion

Mark Vletter
op 28 augustus 2008

Creating the perfect USB companion

How to create a USB stick to make your life easier.

Situation

At the office I work on a Windows XP computer. At home I have both: an Apple and a Vista laptop.

My problem: My passwords, documents and the websites that I “favorited” are scattered across these workplaces.

I want to have a few things with me at all time:

  • My passwords
  • My favorite browser (and favorites)
  • My FTP connections data
  • My Putty connection data
  • Some files.

What I do not want is to lose this data, so backups are required. I want to use opensource or free software as much as possible.

USB for central storage

I decided to buy a USB key. I wanted a waterproof stick, which I had had before but it had to be ordered so I bought a default 4Gb USB key with a key ring so I could but is on my keychain. The reason for putting it there is that the keys and my mobilephone/PDA are the only thing I have with me at all times. There are some PDA’s with USB key like capabilities so you can use that as well but you’ll need a cable with you and I don’t know if that’s ideal.

Because I work on several platforms the data and applications it use have to be cross platform compatible.

Password storage

I started with my passwords. I want all my passwords sorted and I use different passwords for every website for security reasons. I downloaded Keypass from portable apps. I downloaded both the Windows and the Apple version but there is Keypass for Linux and pocked PC and loads of other platforms as well.

The app works great and works on several platforms. At work I installed a backup/sync application (Allway Sync) and run Keypass from the network drive. At home I use the USB key on both my Apple and the Vista laptop.

Keepass is a great app (the only thing I miss is multiple users and leveling). That’s one app down, lots more to go.

Browser

The next thing was my favorite browser Firefox. There is a version for both Apple and Windows on portableapps.com. The reason I want the Firefox browser with me at all times, is that I work on client workstations as well. They often use (old versions of) IE and the web based CRM and the web based knowledgebase applications we use at the office don’t work to well on IE6.

I did notice some performance problems with running Firefox from the USB KEY at all times so I use it just as a backup and I have not solved my favorite website problem yet.

Download can be found on Portableapps.

Favorite websites available at all time

There are several possible solutions for this problem. First of there is Foxmarks. With Foxmarks your favorites in Firefox are automatically stored on a central server. This means that you can access your favorites from any place and once you install the Foxmarks Firefox plug-in, your favorites are automatically synced. It’s a great application so that’s option one.  More information on foxmarks can be found on www.xmarks.com.

Option two is Delicious. There is a Firefox plug in for this webbased application as well. You can also add tags with Delicious and create a tag cloud. Delicious can show you news items which they thing you will find interesting based on your tag cloud. Delicious has other options too. Other people can see your favorites and they can alert you on news you might enjoy reading using Delicious as well. These can be seen as a RSS feed in your RSS reader so this will prevent you from getting “you should read this” emails and less email is always better.

The advantage of Foxmarks is that you can put your favorites in folders and that they can be found offline as well. The advantage of Delicious is that it can be used for other purposes as well.

Delicious best suits my needs so the Delicious Firefox plugin is installed on all work stations, and my USB stick.

FTP

Now FTP. I found a great application called Filezilla. It’s a cross platform open source FTP client. It uses one central file so store the FTP information but here are three problems.

  • You can’t install one central password to prevent the file that’s stores the information from opening. If you loose your USB key anybody can log in to any of your FTP servers. You can setup Filezilla so that is does not remember your passwords but you will have to use Keypass at all times, and that will slow you down. For now this is the only safe solution. (another solution will follow later in this article).
  • The central file used in the Mac version and the Windows version are stored on different locations. You have to manually make two files (one for Mac, one for Windows)and place them in different folders. This works best before starting the application for the first time.
  • The latest version of Filezilla does not work on my version of Mac OSX (10.4).

There is a feature request for the first of the three problems. The third will soon fix itself because I’m upgrading to 10.5. There is an older version of Filezilla that will work on OSX 10.4: Filezilla 3.0.6 RC1.

The files you have to create are called “fzdefaults.xml”. On Windows you place it in the same place where FileZillaPortable.exe is placed. I wanted my config files stored in /Data so this is the content of my config file:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes” ?>
<FileZilla3>
<Settings>
<Setting name=”Config Location”>Data</Setting>
</Settings>
</FileZilla3>

For Mac you place the file in “/Contents/SharedSupport”. Because I want to use the same /Data folder the contents of my file here looks like this:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes” ?>
<FileZilla3>
<Settings>
<Setting name=”Config Location”>../../../Data</Setting>
</Settings>
</FileZilla3>

Putty

Now for Putty. Putty does not work under Apple (or Linux) because the Apple terminal will provide you with ssh capabilities as will Linux. I do want to use Putty on Vista but there is another problem here. Putty stores it’s data in de Windows registry. Some people didn’t find that to useful so they decided to create a Putty version which stores it’s settings locally.

Safe file storage

Last but not least: file storage. I want one secure folder on my USB key where I can store my files encrypted. I found a cross platform application called Truecrypt. You install the application. Create a storage file and this file can be mounted as a drive. You can decide the size of the secure drive yourself.

Because you don’t want to install Truecrypt  on every computer you use it on, you can create a “Travelers Disk”. This means that the program can run itself from the USB key. This does work on Windows, on Apple you’ll have to install the program.

Well this all sound great but there are some problems.

Problems on Apple

You have to manually mount the secure disk using Truecrypt. Once you want to remove the mounted safe disk you can “dismount it” using the eject icon, but that won’t work. It looks like it works but it doesn’t. You won’t be able to dismount the USB key itself either once you mounted the safe drive because it says its still “in use”. You have to manually dismount the disk using Truecrypt. And… the mounting and dismounting is not that fast…

I have been working on a mount/dismount workaround, which you’ll read later.

On Windows

Then Windows. Once you installed the client all works fine on Windows. I wanted Truecrypt to run as a travelers disk as well, but that took some tweaking. I finally managed it writing my own autorun.inf file.

[autorun]
label=MYSTICK
UseAutoPlay=1

action=Mount
open=TrueCryptTrueCrypt.exe /q background /lM /c y /m rm /v “FilesLocked”

shelldismount=&Dismount
shelldismountcommand=TrueCryptTrueCrypt.exe /q /d

shell=runtc
shellruntc=Run TrueCrypt
shellruntccommand=TrueCryptTrueCrypt.exe

This does not automount the drive, but it does give you the options when you right click the USB drive.

Since I use fixed work places, I’ll be installing the application on all workplaces.
The Windows client has an auto mount feature and can start up minimized. Auto mount does not work right on my laptop, but you can create and mount favorite volumes with two clicks and that does work for me. On other workstations I’ll be able to use the autorun.inf file.

One more thing. Windows thought that the data was damaged after I created the secure file using my Apple. It keeps on saying the data is damaged but once checked it says there is nothing wrong. I decided to disable checking.

More on TrueCrypt autorun.

Automounting on apple

There is a workaround for Apple posted on the TrueCrypt forum that starts TrueCrypt on login, but I want it to start when I plug in the USB key, not on booting my mac. This is what I did.

  • mount your drive through TrueCrypt and add them to your favorites
  • open “automator”
  • select “utilities” and then “run shell script”
  • run the auto-mount command and when mounted quit the application:
    • /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt –auto-mount=favorites
    • /usr/bin/killall TrueCrypt
  • save as “application” type
  • exit

This scripts starts TrueCrypt, promts you for the password, mounts the secure drive and then quits TrueCrypt.

You can create a second script:

  • open “automator”
  • select “utilities” and then “run shell script”
  • run the dismount command, select the USB drive and Remove it:
    • /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt –dismount
    • Get finder parts “name USB stick” -> this is not how it’s called in the English version of OSX, but I don’t know the proper translation.
    • Eject drive
  • save as “application” type
  • exit

This script dismounts the secure and the USDB drive.

You can use “Do Something When” (DSW) to start the script when you mount your USB drive.

You can use DSW to start the second script when dismounting the secure drive (you can use the normal eject option from Apple on the secure drive and it will dismount both drives).

More options with a secure drive

If you have a secure drive you can put ALL your there so everything will be secure. I have not tested this, but it sound pretty cool. I don’t know how the backup application will react to all of this, but I’ll test that in the future.

Conclusion

I now have a great USB key. I did not post a clone of my stick because updates are frequent and i don’t want you running old (insecure) versions.

My native language is Dutch too: if you have any improvements (content and gramma;) please contact me on mark.vletter@voys.nl.

Tweet Deel Deel