Dynamic Proxy Built Into Ubuntu

I wanted a free, secure, open source proxy for Ubuntu. I wanted minimal setup and I wanted it to just work.
And it does.

For this little tip, I assume you have an SSH server set up and SSH key-based authentication (though this may work with password authentication).

Add these commands to your .profile (replacing user and host). Create the file if it doesn’t exist.
$SHELL $HOME/.proxy &

Create the file .proxy in your home folder with these contents.
sleep 10s
ssh -fNqq -o "ExitOnForwardFailure yes" -D 9999 user@host

Run the following command in your terminal.
ssh -fNqq -o "ExitOnForwardFailure yes" -D 9999 user@host

And then go to System > Preferences > Network Proxy
Select Manual Proxy Configuration
Socks Host: localhost
Port: 9999

Now all your traffic will be encrypted using SSH! You can leave now or read on to understand why I did it this way.
Nitpicking: If another app or user is using port 9999, this will fail.

Rationale
.profile executes the .proxy file in the background using another shell instance. The shell already in memory is used.
Because the shell is executed in the background, it does not freeze the login process.

Then sleep is executed. This is necessary or the password dialog won’t appear.
At which point we execute ssh silently (qq), in the background (f), without a command (N) and with a proxy server at port 9999 (-D 9999). The option ExitOnForwardFailure is set to ‘yes’ to end the process if port 9999 is already being used.

Embrace, Extend, and Extinguish

Embrace, extend and extinguish is clearly Microsoft’s favourite method to use when destroying their competition. Now is certainly the time to be analyzing what they’re doing and when they’ll be doing it again.

Microsoft’s reign of terror has a long reach. They have bullied a large server vendors (HP, IBM, Redhat, Novell), desktop operating system competitors (DR-DOS, Apple), a popular chipset maker (Intel), middleware development companies (Netscape, Sun), and a GPS manufacturor (TomTom). This is not a comprehensive list but does give you an idea as to the power they have over the software and hardware industries today.

So, who is their next target?

The most difficult to destroy. Their greatest competitor. A target that relies on no single corporation for survival. A target that thrives on the power of openness. That target is Free Software.

And what method are they using to destroy Free Software?

None other than “embrace, extend, and extinguish”.

Let me explain. Microsoft’s sudden interest in bringing IE up to speed is “embrace”. They have a huge focus on getting IE to standards compliance and have even broken their own website (in standards mode) so they can compete.

As always, there is extend. Not only is their offline storage functionality incompatible with the HTML5 standard, but Silverlight is being marketed as a cross platform solution when Linux users only have Silverlight 1.0 compatibility. What does Silverlight 1.0 let us run? Very little. Sure, open source is chasing but Microsoft is putting huge amounts of effort into getting Silverlight moving forward. Fast. I wonder how long Silverlight for Mac will be compatible with the Windows version… Hmmm… And then there’s “web slices” in IE8 which no other browser has compatibility with.

Last, but not least, extinguish. As competing browsers and operating systems become less and less compatible with the web (which is going to be designed to take advantage of the Microsoft standard), there will be fewer users. What effect does this have on, for example, Firefox? Fewer developers. That means slower development and inability to maintain compatibility with modern day websites. Firefox becomes a memory.

Also note: the same logic can be applied to Mono.

This will also have a large impact on Adobe Flash. As Silverlight becomes more and more popular as an innovative, cross-platform solution with an open implementation, Flash succumb to the weight of Microsoft. Adobe will lose a lot of revenue as a result as they have a lot of customers who use their (expensive) tools to create dynamic web pages. As flash player itself produces no revenue, I personally recommend open sourcing the product.

Even so, if you expect manipulating the web standards again to be good enough to take out the Free Software revolution, you’d be wrong. Microsoft knows this.

Once again, they’re embracing. ODF support has recently been included in Service Pack 2 for Office 2007. This is as a result of many governments such as those in Norway, Belgium, the UK and more choosing to use the standard as it avoids vendor lock-in. A software commonly used with this standard document format is OpenOffice, our very own powerhouse for office tasks. And if that wasn’t enough they’ve released OOXML, their very own open standard for office documents, which they used to destroy an international standards committee.

OOXML is not only invalid XML, but has parts which are impossible to implement in non-Microsoft Office suites. As for ODF, how long do you think it is before Microsoft extend that standard and make is subtly incompatible?

Then they’ll extinguish. They will remove all compatibility with existing Office suites and we’ll be left in the dust. People will work away on their documents which will then be saved in a not-so-subtly incompatible format. Sure, they won’t be happy once they realise the lack of interoperability but they’ll be locked in. Too late.

What do you think? Am I being too paranoid or is Microsoft really screwing the community over (again)?

Follow

Get every new post delivered to your Inbox.