If you're like me you're a decent law-abiding citizen who feels that privacy is a fundamental right, not merely something we enjoyed by default because technology had not yet found a way to eliminate it. Fortuntely, technology brings us both problems and solutions. One such solution is JonDo, a popular and somewhat proven anonymous proxy service. This article will show you how to create a secure, anonymous browsing platform to ensure your right to free thought and inquiry preserved.
Create the Virtual Machine
First we need to take the ISO of the JonDo Live CD and turn it into a virtual machine. I'll walk you through those steps. It's important to note that we are not creating a persistent install here, that's beyond the scope of this article and with JonDo still being beta I'm not sure I'd recommend it. The install we are building will let you make changes to the file system but those changes would be lost when the virtual machine is rebooted. We're going to cheat a little and use VMware's snapshot feature to lock in any file system changes we want, and use VMware's host-guest shared folders to let us make some file system changes effectively persistent. But all that is to come after we do the basics!
- Download the latest JonDo Live CD
- Verify the hash of the file you downloaded with the MD5 hash listed on the download page. I recommend Hash Tab for Windows or Mac users.
- Create a new virtual machine in VMware.
- Choose Typical
- Set the "Installer disc image file (iso)" as the JonDo Live ISO file you downloaded. Click Next.
- Choose Linux as the guest operating system and Debian 5 as the version. Click Next.
- Choose the name of your virtual machine (e.g., "JonDo Live")
- Choose the location where you want the files to be. Click Next.
- Choose a small maximum disk size, I choose 1 GB. With my current setup I don't even use it. Click Next.
- Click "Customize Hardware".
- I increased the memory to 1 GB
- I added a second CD ROM drive, defined as an ISO pointing to the VMware Tools (e.g., C:\Program Files (x86)\VMware\VMware Workstation\linux.iso (if you do this you may need to set the drive as initially not connected otherwise VMware might try to boot off this cdrom device instead of the one with the live image, depending on how VMware orders the drives, you will then just need to connect the drive from the VMware lower toolbar once you've booted into the OS)
- I removed the floppy drive
- I set the Network Adapter as Bridged with replicate physical network connection state.
- After leaving the customize hardware screen, uncheck the power on after finishing option.
- (Optional) I now "Edit Virtual Machine Settings" and on the Options tab I go to "Shared Folders" and create a share which is "Always enabled"; I called my share "shared". Reminder, this Live CD VM is not a persistent install, so this is where you can keep files/settings/etc. you don't want to risk losing.
- Power on this Virtual Machine
- When you get to the boot menu choose the "486" option (not failsafe, not 686, and not anything with PAE)
- When you boot it may say you have no network connection, click the network icon in the task bar and choose "Auto Ethernet". You should now have a network connection.
Begin Using JonDo
Your JonDo Live VMware virtual machine is now ready to use!
Before you go and do a lot of anonymous browsing you really should install the VMware Tools, it will greatly enhance your overall experience of this virtual JonDo machine.
Install VMware Tools (optional)
You are perfectly free at this point to use your JonDo Live virtual machine, but the beauty of VMware is its ability to allow you to flit between host and guest operating systems, effortlessly moving your mouse, sharing your clipboard, exchanging files, and resizing the display.
These steps are a little annoying but a few hours of my working through the issues will hopefully make it easy enough for you. The reason we can't just directly install the VMware Tools is because it has dependencies which are not fulfilled by the JonDo Live image as delivered.
- Go to a terminal window (click the terminal icon on the bottom task bar).
- Type "sudo bash" to get a root shell.
- Type "apt-get install make"
- Type "apt-get install gcc-4.1"
- Type "apt-get install linux-headers-`uname -r`". If you get the error "can't find any package" then the linux headers for your kernel version may no longer be in the repository, you'll need to find a repository that has it and add that to the /etc/apt/sources.list. If you got an error related to not finding something needed for the install then run "apt-get update" to update its list of packages and re-run the install of linux headers. (See below for more info if you are having trouble with finding the appropriate kernel header sources.)
- Type "apt-get install psmisc"
- On the Desktop right click the "VMware Tools" CD icon and select "Mount". Its contents will now be located as "/media/VMware Tools"
- Type "cp /media/VMware Tools/VMwareTools-8.4.8-491717.tar.gz /tmp" to copy the tools archive to the /tmp directory (modify the file name as needed to accommodate future versions)
- Type "cd /tmp"
- Type "gunzip VMwareTools-8.4.8-491717.tar.gz"
- Type "tar xvf VMwareTools-8.4.8-491717.tar"
- Type "cd VMwareTools-8.4.8-491717"
- Type "./vmware-install.pl" to begin the installer
- Choose the defaults for everything they ask (just hit enter/return each time)
- When it is finished type "/usr/bin/vmware-user" to start up the VMware Tools
Congratulations! You now have the VMware Tools installed.
Your shared folder is available inside the JonDo VM at "/mnt/hgfs/shared".
Additional Kernel Header Sources
On a recent update of my JonDo Live environment I found that the kernel headers were removed from the default repository and I couldn't seem to find it anywhere... After some hours I figured out how to solve the problem. You can manually find the Debian packages for linux headers and then manually install them. The site which has these archived repositories http://snapshot.debian.org, which you can use to see into the past by specifying a date/time combination to navigate the archive.
The way I located the files I needed probably isn't the best, but here's what I did. First, I navigate to the root of the dated repository. For example, http://snapshot.debian.org/archive/debian/20120806T041225Z/ shows the repository state on August 6th, 2012. This date was soon after the release of the kernel version I had (found with uname -a). There are two Debian packages for Linux headers, the "common" and then the architecture specific one. You will need to manually download both of those files and then manually install them.
First I found the Packages.bz2 file which lists all the various packages. You'll need to download, uncompress, and view this file. My dated one was located here: http://snapshot.debian.org/archive/debian/20120806T041225Z/dists/wheezy/main/binary-i386/Packages.bz2. Manually search that file for a package called linux-headers-3.2.0-3-486 (substitute your `uname -r` entry for the OS version I mention). You will see a path there that corresponds to a location off the root (e.g., http://snapshot.debian.org/archive/debian/20120806T041225Z/). That package has a dependency on the "common" header library, so we now need to find that one. Looking again in Packages.bz2 I found the entry for "linux-headers-3.2.0-3-common" (modify for the version you have) and then download the package from the location indicated. Once you have them downloaded you manually install them. Install each by running the "dpkg -i PACKAGENAME.DEB" command, start with the "common" package.
Once you install both packages you can proceed to step 6 above!
Making your Environment Persistent (Optional)
After you've gotten everything configured, including importing your existing JonDo account info or creating your premium account, you want to save the configuration work you've done so you won't lose it if the virtual machine reboots. All you need to do is use the "VM" menu, click the "Snapshot" menu item, then choose "Take Snapshot". As you likely know, this allows you to return to this exact state of the machine at any future time, complete with the file system, memory, display, etc. exactly as it was at this moment. Instead of booting or rebooting your JonDo VM you can just revert to this snapshot. Any files you wish to be persistent and not see reverted or erased you should put in the shared folder you could have optionally created. For example, I keep things like downloaded files, bookmarks, my JonDo exported credentials, etc. in this shared location (e.g., /mnt/hgfs/shared).
Securing your Data Locally (Optional)
To further ensure your privacy you can (and probably should) make sure your virtual machine files (the files VMware uses to store your VM data) are encrypted, either the files themselves (using Windows built-in encryption option) or, better still, by placing the entire directory inside an encrypted virtual drive, with such products as the free TrueCrypt. Be aware, however, that when you use your virtual machine its RAM will be held in your real, physical RAM and as such it can and will be stored in the host's Windows pagefile.sys, where it could potentially be recovered much later, having been written to disk. The solution in this case is to encrypt your entire system disk with TrueCrypt, such that the swap file is also encrypted or to use an encryption product like Jetico's container encryption which includes swap file encryption as an option.
It is sad that it's come to this, that we honorable, law-abiding citizens must defend ourselves against the unreasonable invasion of our thoughts and study of our activities, but wishing it was not so accomplishes little. Hopefully this little guide will have helped you take back some of your privacy.
If you're serious about playing around with Android I urge you to check out my article on how you can convert a $249 Barnes & Noble Nook Color e-reader into a full Android tablet! I just did it and it's turning out to be one of the coolest gadgets I've had!
Tonight I wanted to play around with the Google Android OS for mobile devices, but having neither an Android tablet or phone I was forced to investigate how I could run it on my computer. I found the answer I was looking for and succeeded in running it on my PC. And here is my super quick guide on how you can do it, too.
You will need the virtual machine software VMware Player or VMware Workstation. If you don't have either, you can download and install VMware Player for free.
Grab the Android Live ISO, the one to use is the Asus Eee PC version. (I tried the generic version and it wouldn't even boot under VMware.) You can navigate to the latest version here or just use this direct link for the 2.2 version.
Configure the VMware Player or VMware Workstation options for this VM. You want to choose:
- CD/DVD pointed at the ISO file you just downloaded for Android
- 512 MB memory
- Any network setting should work (BUT, you will need to follow the instructions in step 3)
- Sound card should be changed to "SB X-Fi Audio"
- 2 GB IDE hard disk (optional)
With the VM powered off, modify the .vmx file that VMware created using a text editor. You MUST change the existing line to now read:
ethernet0.virtualDev = "vlance"
If you don't make this change you will have no network access in Android!
Power on the Android VM and from the bootloader screen choose the first option and everything should work!
Making it Permanent
The above works great for getting a feel for Android, but because this is a "live" version of Android using a ram disk for temporary storage, all your changes will be lost when you shutdown or reboot. To make your environment permanent it's actually very easy:
- Reboot the virtual machine (Power > Reset in VMware)
- Choose the "Install to hard disk" option from the bootloader
- Create a single primary partition in the partition editor, using all available space. Make the partition bootable. Quit the partition editor.
- Allow it to install the OS to the selected partition, using ext3.
- Allow the installer to use Grub as your boot loader.
- Do not attempt to create a virtual SD card (I didn't investigate how this works, so when I tried it it appeared to overwrite the OS I just wrote to disk. So don't do this unless you know what you're doing.)
- Choose to Run Android x86 when asked.
And now you've got a permanent Android x86 virtual machine!
Certain features are not supported by Android x86, primarily those applications which require devices missing from the virtual machine (e.g., the camera). Other applications such as the YouTube application appear to work except that it does not seem to play videos; I suspect this may have to do with specific hardware acceleration missing from the virtualization. Also, see the many debugging and virtualization related options in the app list; you can do things like spoof geolocation. While limited in some respects, this is an excellent tool for testing and debugging your web and mobile apps on Android.
Have fun playing around with it!
Buying a new computer should be a joyous event, whipping all the geeky portions of the brain into delighted merriment. But those geeky neurons can sometimes barely crack a smile, knowing what's in store for them, days upon days of mental effort wasted on a dreaded migration of applications and data accumulated over many years. But, my friends, there is a new and wonderful way to migrate your PC! In less than a day you can shelve your old PC, having moved everything flawlessly to your new PC! The secret? The virtual machine!
Instead of the old methods of manually copying your data and reinstalling your old applications or using automated tools of varying (but always failing) quality to assist, this new approach converts your old system into a virtual machine that will run inside your new machine exactly as it had. All your data and all your applications will work just as they had because the old computer's entire hard disk, operating system, applications, and data were moved. And because everything is by default encapsulated within this virtual machine, you won't clutter up your beautiful new machine with old software meant for a now antiquated operating system, nor will you be forced to buy upgrades to that old software to get it to work in your new operating system. It is as flawless a migration solution as you can expect in the Windows world.
As beautiful as this solution is, there are a few issues of which you need to be made aware. Since your old hard drive is being copied to your new computer you will be giving up that space on the new computer, but only an amount equivalent to the used portion on the old computer's disks. This usually isn't a serious problem since your technology evolves rapidly and your new computer probably has vastly more space than you'll actually use any time soon. Since your old computer is being run inside a virtual machine you may see a change in performance, relative to what you experienced being on the old physical machine. Advances in computing power and disk speed may actually make the experience better, but with two computers, one physical and one virtual, competing for one set of physical resources (memory, disk, and CPU) performance can be a real problem if you're not sensible about what you're trying to do.
In this series of articles I'll discuss how to do a migration with a virtual machine running under the free VMware Player and its more sophisticated but costly VMware Workstation. While there are a few commercial products which do sell themselves as easy solutions to this very problem of migrating your old PC into your new PC via virtualization, the many reviews of those products have not impressed me; I have used VMware for many years now and been perpetually impressed by the quality of their products and by the large support community available should things go wrong.
Quick Guide to Virtualizing Your Old Computer
For those who want the synopsis and do not need a detailed walk through or notes on getting the most from your set up I'll describe the process very briefly. In the next article I'll discuss recommendations for moving certain content outside of your old machine before building the virtual machine, optimizations you can ultimately make to ensure the virtual machine is as speedy as it can be, creating the most seamless experience with VMware's Unity feature and sharing options, and more.
Step 1: Backup Your Computer
Do not proceed if you aren't going to back up your computer. Seriously. Backups are a pain and will take hours to run, but you are about to do something very, very serious. While you probably won't have any problems, you'd be a fool not to obviate a potential disaster. I strongly recommend Acronis True Image Home. I have used them for years and it's fantastically good software for a really good price ($49); this is not a sponsored recommendation, this is my opinion.
Step 2: Build Your Virtual Machine Image
VMware has a free product called VMware Converter which lets you build a VMware compatible image you will move to your new computer and run with their WMware Player or VMware Workstation products.
VMware Converter will run build the VM image while letting you continue to use Windows but I strongly recommend you leave it running overnight and not use the computer during this time. Since you will of course need a great deal of disk space for this image, and since there will be a lot of disk access, it's far better to use an external drive. By using an external drive you reduce disk contention during the creation of the VM image and you make it dead simple to move the VM image to the new computer. I've had good luck with the Western Digital My Book drives. If you've got a new PC which supports USB 3.0 I'd strongly recommend you buy a drive which supports 3.0 (it will also support your old computer's 2.0 interface); you'll appreciate the hours you will ultimately save with this much faster drive.
When you're ready, download VMware Converter. Run it, and follow its instructions.
Step 3: Install VMware on the New PC
You will need to install the free VMware Player or the paid VMware Workstation on your new PC. Download one of those and install it. VMware Player is sufficient for almost everyone but developers or software testers.
Step 4: Copy your Virtual Machine Disk to the New PC
From the location where you created the virtual machine disk with the VMware Converter, hopefully an external drive, copy the relevant folder to your new PC. VMware uses a folder to house all the related files of a virtual machine and it is this folder, not just any single file in it, that you'll need to copy. Choose any location you like on the new machine, but for sanity's sake you may wish to use the default location VMware uses (My Virtual Machines in the My Documents folder of the home directory of the user who created the virtual machines). I recommend copying instead of moving so that you can recopy in case anything goes wrong when you first try to get the new image working.
Step 5: Boot Your Virtual Old PC
Start VMware Player or VMware Workstation on your new PC and run the virtual machine image you built of your old PC. You may encounter a few hiccups during your initial use of this virtual machine, so be prepared for some possible frustration and head scratching.
The first thing that might happen is you might be asked whether you moved or copied the virtual machine image. While either is a safe option, you may wish to choose "moved" if this is the final resting place of the virtual machine; if you choose copy it recreates some unique identifiers in the image, including things like network card MAC address.
If you have trouble booting up your virtualized system one of the first things to try is booting it into safe mode (by hitting F8 as soon as Windows starts to boot) and go into the driver section of the Computer Management Console and remove any unusable legacy drivers which don't apply to your current system, in particular the video drivers; other drives to look at for removal are disk controller drivers for physical disk controllers you had in your old system, as well as sound card drivers for a device which was only physically in the old computer. Try removing these drivers one at a time and rebooting. And only remove drivers which truly don't apply to the new virtual system, your virtual machine will have video, disk controller, sound card, and other drivers which are virtualized, so leave those untouched; I am only recommending removing those drivers which are still in the system but which the system cannot use and may be causing trouble. If you make things worse, don't worry, that's why I recommended copying the files from your external drive. All you need to do is shut down the VMware software and recopy the files to go back to where you were and start again. Another option worth pursuing if your computer can't even boot into safe mode is to use the phenomenal and free Autoruns program to edit the drivers, services, and start up programs of a running or offline computer. You would need to mount the virtual disk from the dead computer and then run Autoruns as Admininstrator and choose the File > Analyze Offline System... menu item.
If you still have problems booting your system after removing drivers you should seek help in the support forums at VMware; they are very helpful and should solve any remaining problems.
And voila, your old PC has now been successfully placed inside your new computer, ready to use any time you want with all your old software and data! You can now manually migrate only the data and applications you want from the virtual old PC to the new one, and you can do it at whatever pace you like, because it's all there.
Don't forget to wipe your old computer's hard drive before donating or storing it; if your computer has a special boot mode which allows it to re-image itself, make sure you safely wipe the partition where your data lived before re-imaging it!