How to make your own Web Proxy: Parts I and II

Today, we are going to learn how to make our own web proxy server on a Windows PC.

Unfortunately (yes, the bad news comes first and early), you'll need a few things to get it going, but I figured that if you're reading this blog, you already have most of the stuff.

Part One: Requirements

This whole project is a Windows-based proxy solution. It will allow you to theoretically connect from with a locked down work environment to a Homemade Proxy server. I realize that there may be better ways to do this using Linux, but this howto is focus for those shackled to the floors of MS.

You can consider this whole project's functionally split between four pieces of software:
-Privoxy: Open source Software Proxy Server for Windows.
-OpenSSH for windows: Open Source SSH Server.
-Putty/PortaPutty: Freeware (close Source) SSH Client.
-Portablefirefox: Portable version of the famous Firefox Browser

Hardware Requirements:
-USB Thumbdrive 128MB+
-A PC/Server outside of your work/target area
-Configurable Out-Facing Home Router (/w port forwarding)
-A Working Internet connection

Software Requirements:
-OpenSSH --> Home PC/Server
-Privoxy --> Home PC/Server
-PortaPutty --> USB Thumbdrive
-PortableFirefox --> USB thumbdrive

User Requirements:
-Knowledge of your Proxy Server's internal/external IP.
-Administrative privileges on the proxy machine.

Part Two: Installation and Configuration


1 - First thing's first, install OpenSSH on your PC at home.

2 - Second, Install Privoxy on your PC/Server.

3 - Lastly, we want to "install" PortaPutty and Portable Firefox on that Thumbdrive of yours.

Technically we can use any SSH client and Browser that we want, and of course they don't have to be "portable". I chose the portable version of the application because we can save these settings on the thumbdrive and take it with us, but technically you are not forced to use these programs.

Initial Configuration

Configuring Putty is a little bit of a doozy. What we're going to do is employ a technique commonly referred to as tunneling. That is we will take a type connection and forward it through a secure connection, namely SSH. The end result being an infrastructure that reroutes regularly blocked traffic to a non-blocked, secured connection as if to tunnel. This essentially gives you the security of SSH at the minimal cost of having a couple of extra steps in your everyday use.

- OpenSSH: Go to OpenSSH's site and download the latest version. Follow the instructions very carefully and make sure you can SSH into your server from another machine on the same network. This will be the most arduous task as this software is quite old and it requires the user to go through a lot of manual steps. Make sure that after you have installed it, the SSHD service is running as the SYSTEM account and make sure that the server is configured to respond on port/socket 443.

-Configure it to run off of port 8118 (default).
-Configure Privoxy to run as a Service.

-Click on Saved Sessions and type in a name
-In the Host Name area enter the IP Address of your PC/Server
-In the Port area, enter 443
-Select SSH as the Protocol
-Select the named profile and click on the save button.
-Go to: Connections--> SSH-->tunnels.
-In Source Port type: 8118
-In Destination type:
-Select the options (Local, Auto).
-Go back to the sessions section
-Highlight "inside" and click save.

You have now configured your putty to reroute all of your PCs 8118 traffic to the server you're connecting to on port 8118.

Portable Firefox:
-Go to -->Tools -->Options, click on Connection Settings
-Select Manual Proxy Configuration
-In the HTTP Proxy input box, type:
-In the Port input box, type: 8118

You have no configured your portable firefox browser to seek web traffic at your proxy server's location and not it's default.


Testing the Proxy:
-Open up Putty
-Select the named profile
-Click connect
-Log in
-Open up your Firefox and check the proxy settings.
-See that you can surf on the net.

If so then you have configured your Proxy correctly. To double check this statement, log into the proxy server and stop the privoxy software.

Congratulations, you have successfully configured your own web proxy server! In the next installment, we will elaborate on tunnel ANY kind of internet traffic through SSH (requests for specific apps/setups are welcomed).

Please note that circumventing your company's firewall or using this knowledge in an illegal manner (as determined and described by the owners of the PC you are going to apply this to) is not condoned by codescribes.



WindowsLiveWriter (WLW) + Blog Ink Plugin = Awesome

Looks like Tablet PC bloggers (Taggers? Hmm i think i like that), like myself can rejoice at the fact that someone has made the ultimate Tagger's plugin: an Ink Plugin for WLW.

I'm going to give it a whirl, and possibly edit/post most random stuff.

Update: here it is.


You will need to setup a drivehq.com account so that you can publish the ink files to it and then link to them from your blog.

Luckily, Ed has thought of that already for us.

Resource Link: Setting up WLW with DriveHQ
Note: be sure to sign up with a non free email, DriveHQ will prevent you from being able to publish folders in that case.


Windows LiveWriter Beta Post

Well, I have to say, off the bat, the LiveWriter feels a lot more Microsoft-y. It's got the whole Vista/Office 2007 theme/feel to it: spacious and legible. I like it so far.

It does look like LiveWriter mimics in it's windows what the post will end up looking like (I did notice that after having connected to my blog it was downloading a few files).

It may not have a built-in youtube video file module, but it does have the ability to import plugins. A quick glance at the plugins page revealed a plugin that would allow me to add a video from youtube as well as other flashbased video providers. A definite benefit (without having to pay for it).

Though, i do like the feature from BlogJet that allows me to retrieve a previous post and edit it, pretty much on the fly. That's a nice feature to have but i'm not sure it's 60 buckaroos nice.

Edit: spoke too soon, I just found that same feature on LiveWriter, it's under File->Open Posts which pretty much rocks...

I'm gonna have to do a comparison chart/table thingy. I wonder if either one of these programs has a tool to do a quick table.

Update: I'm really digging on Windows LiveWriter.

Blogjet 2.0 {= )

Looks like I will be able to take more time into publishing posts on here, since I will be testing out BlogJet 2.0 for the entirety of the trial period (i’m pretty broke right now).

Apparently, one of the better new features is that you can paste/post youtube videos directly into the app as you’re semi-offline-blogging.  The big advantage here, of course, is the time delayed posts that will give more time for the poster to spellcheck research their posted content, and provide youtube video on the side.

There’s one drawback to this seemingly nifty utility, it costs around 60 bucks!  Looks like there’s a free alternative from Microsoft that I could use.  I’ll try that one too and will let you all know how they both fair.

Blademonkey out.


Vista speech recognition post

So here I am. It's about 5:26 AM and I haven't slept for a while.
I just finished installing a bunch of drivers on the computer. I've also been playing around with windows Vista. I've been playing with the specific feature called speech recognition, and it's pretty impressive. As you may have figured out I'm actually using the speech recognition write this post. As a result my grammar may not be 100% accurate and my spelling will be less than stellar.

It's a really quite interesting watching this thing recognize my own voice (most of the time). I find that speech recognition is quite prejudicial of my accent, but still quite far along than it uses to be 5 years ago. unfortunately I cannot post anymore since Eleni has just informed me that I'm keeping her up.

I have to say that Speech recognition on a tablet PC with Vista feels really good, over you get over the whole geek Factor.it feels right, but I'll probably not use it in public.

{= )


Tablet PC + Ubuntu

Well looks like I can "TriBoot" VISTA+XP+Ubuntu successfully, even after that hap hazardous partition encounter. The next step is getting the X60 Tablet to act like a tablet in Ubuntu.

This post will document my excursion into this foray.

From the stock install, I notice the following things that are not functional:

-Wacom Digitizer
-Wifi Nic.

Good thing Ubuntu has found the wired NIC or I'd be out of luck

look for updates!

another all nighter

I stayed up all night attempting to set up a triple-boot (yes it's a dual boot +1).

I got a copy of Vista Business from our MSDN at work and am planning on looting, ahem, testing more Vista stuff. It took a while for me to set up Vista on the tablet and it still is not complete. The fingerprint reader is not being detected and the rotate feature does not kick in when I switch from laptop to tablet mode.

The dual boot was simple, and although Ubuntu has me jumping through hoops, I think i may be able to finish it sometime at work today.

note: You can only have 4 primary partitions on a single HD at any time, so that means that unless you have two physical disks, you would not be able to add to this Triple boot (since Ubuntu requires a swap partition).

here's more stuff:
This is a rave on ubuntu working on a tablet
This is a post on how to get the tablet features working, i'll probably have to revisit those.

Update: Note to self, don't convert primary boot partitions into primary extended/Logical partitions.

I almost had a heart attack when, after having found out that i need TWO partitions for ubuntu, i converted a ERD partition into an extended partition. I couldn't get back to partition magic to delete the change yet, i was still able to boot to either Vista or XP.

After some praying to the IT gods, i decided to run an older version of Partition Magic (7.0) which allowed me to delete the rogue change. Phew.

Note to all, and this is a good tip from EchoBinary, when partitioning for the SWAP mount, you can use a logical partition to mount it to. Now, this still means that you will have maxed out the amount of allowed primary partition, but it will give you the option of having multiple logical drives.

Ubuntu is installing now. Woot!