ClipboardTransfer

ClipboardTransfer allows you to "upload" a file to or "download" a file from the system clipboard.

Uploading to or downloading from the clipboard may sound kind of funny at first, but my original intent in creating this software was to provide a file-transfer mechanism for remote-desktop software which share the clipboard but which don't, by themselves, have file transfer capabilities.

For example, I often need to use VNC to connect to a client's machine. Since VNC doesn't currently have a built-in method for transferring files (although I believe this is in the works), I would need to use some convoluted method in order to transfer files back and forth. With any luck, I was able to simply map a drive. If this was locked down, however, it became complicated. The problem was often much worse for lower-level technicians, who were often simply unable to perform a file transfer.

VNC "shares" the clipboard between systems, however. Using this feature, I began simply UUEncoding files and placing them on the clipboard, then UUDecoding them at the receiving end. This method worked, although it was fairly labor intensive.

(*) Compress the file
(*) UUEncode the file
(*) Place the zipped and uuencoded file on the clipboard
(*) Grab the clipboard on the remote machine
(*) UUDecode the file
(*) Uncompress the file

While not really that much work, it wasn't something I could just hand to a Tier 1 technician to perform. At first, I thought I would simply write a quick batch file to handle the steps involved. After a few minutes thought, however, I decided to implement the transfer using Python.

Which brings me to this project, ClipboardTransfer. ClipboardTransfer is an open-source project released under a BSD-style license and implemented in Python. It currently only supports Microsoft Windows. I obviously plan to support other operating systems, but Windows is what I needed it to work for first.

The program doesn't do anything magical, it basically performs the six steps outlined above. A specified file is first bzipped and uuencoded, then placed on the clipboard. To recreate the file, it is uudecoded and bunzipped.

Copyright © 2004, 2005 Timothy J. Warren
All Rights Reserved.