<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>brianirish.com &#187; Technical Mumbo Jumbo</title>
	<atom:link href="http://brianirish.com/category/technical-mumbo-jumbo/feed/" rel="self" type="application/rss+xml" />
	<link>http://brianirish.com</link>
	<description>Scientific progress goes *boink*</description>
	<lastBuildDate>Sun, 30 May 2010 02:43:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Installing an Anonymous Squid Proxy in CentOS 5.5</title>
		<link>http://brianirish.com/2010/05/29/installing-an-anonymous-squid-proxy-in-centos-5-5/</link>
		<comments>http://brianirish.com/2010/05/29/installing-an-anonymous-squid-proxy-in-centos-5-5/#comments</comments>
		<pubDate>Sun, 30 May 2010 02:35:38 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Technical Mumbo Jumbo]]></category>

		<guid isPermaLink="false">http://brianirish.com/?p=416</guid>
		<description><![CDATA[Purpose: Given access to your own CentOS box, you can setup Squid to make your server a proxy. And not just any proxy - an anonymous proxy (one that will mask your IP address). We'll also go a step further for you, and tell you how you can use this and your local firewall to [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><strong>Purpose:</strong> Given access to your own CentOS box, you can setup Squid to make your server a proxy. And not just any proxy - an anonymous proxy (one that will mask your IP address). We'll also go a step further for you, and tell you how you can use this and your local firewall to access Hulu from outside of the United States.<br />&nbsp;<br />
<strong>Assumptions:</strong></p>
<ul>
<li>You have root access to your CentOS box.</li>
<li>You have eyes that are connected to your brain.</li>
</ul>
<p><strong>Step 1: Squid sure is yummy.</strong><br />
Install the latest Squid from yum:<br />
<code>yum install squid</code><br />
<strong> </strong></p>
<p><strong>Step 2: Time to play "EDIT! THAT! CONF!" (applause)</strong><br />
Go on ahead and vi into that brand spanking new squid.conf file:</p>
<p><code>vi /etc/squid/squid.conf</code></p>
<p>There are a couple of things we're going to edit in here. By default, Squid installs as a non-anonymous proxy. However, the Squid developers have left behind a very nicely documented conf file, so that even grandma can get in on the action.</p>
<p><strong>Step 2a: Forwarded For OFF!</strong></p>
<p>What we'll do first is keep the client IP address from being recognized. Search for "forwarded_for" and turn it off:</p>
<p><code>forwarded_for off</code></p>
<p><strong>Step 2b: Paranoia sets in</strong></p>
<p>Good. Next, we're going to enable the old "http_anonymizer paranoid" feature of Squid. Go ahead and do a search for just that, and uncomment the example they give you:<br />
<code> </code></p>
<p><code>header_access Allow allow all<br />
header_access Authorization allow all<br />
header_access WWW-Authenticate allow all<br />
header_access Proxy-Authorization allow all<br />
header_access Proxy-Authenticate allow all<br />
header_access Cache-Control allow all<br />
header_access Content-Encoding allow all<br />
header_access Content-Length allow all<br />
header_access Content-Type allow all<br />
header_access Date allow all<br />
header_access Expires allow all<br />
header_access Host allow all<br />
header_access If-Modified-Since allow all<br />
header_access Last-Modified allow all<br />
header_access Location allow all<br />
header_access Pragma allow all<br />
header_access Accept allow all<br />
header_access Accept-Charset allow all<br />
header_access Accept-Encoding allow all<br />
header_access Accept-Language allow all<br />
header_access Content-Language allow all<br />
header_access Mime-Version allow all<br />
header_access Retry-After allow all<br />
header_access Title allow all<br />
header_access Connection allow all<br />
header_access Proxy-Connection allow all<br />
header_access All deny all</code></p>
<p>Sweet. The documentation gives a quick and dirty explanation of what this does, but it's basically fine-tuning your HTTP headers for maximum anonymousness. I love that that's actually a word.</p>
<p><strong>Step 2c: Agent Anonymous, reporting for duty! (Haha, doodie)</strong></p>
<p>Right, the final edit in this wonderful conf file is right beneath our last one, in the header_replace area. You can do a search for TAG: header_replace, but it's just as easy to scroll down a few ticks. Add the following:<br />
<code>header_replace User-Agent anonymous</code></p>
<p><strong>Step 3: Hello, World! From, Nobody at All</strong></p>
<p>You're done! Restart the Squid service using:<br />
<code>/etc/init.d/squid restart</code></p>
<p>Change your proxy settings in your browser to point to the IP address of your Squid server (Squid defaults to listening on port 3128). If you don't know how to do that, Google that shit. What am I, a comprehensive tutorial author?</p>
<p><strong>EXTRA SAUCE: International Hulu Support</strong></p>
<p>Ah, so the whole reason you want this Squid server is to watch Hulu, eh? Now that you've done the hard part in connecting to your very own Squid proxy server, getting to Hulu is quite simple. First, let's double check that your proxy is working as it should.</p>
<p>Visit <a title="What Is My IP?" href="http://whatismyip.com" target="_blank">http://www.whatismyip.com</a> and make sure you see the IP address of your proxy server. Also ensure that underneath it doesn't give you a warning saying that a possible proxy server is connected. That would mean you didn't properly configure Squid to be entirely anonymous. If you've followed my instructions above, then I don't know WTF you've done and you're on your own. Google is your friend now, not me.</p>
<p>Take one last precaution and visit <a title="Hulu's Geo Check" href="http://releasegeo.hulu.com/geoCheck" target="_blank">http://releasegeo.hulu.com/geoCheck</a>. You should see "valid false", which means your Geo Location check is valid, and it doesn't think you're using a proxy. Hooray!</p>
<p>Whatever OS you're using, be it Windows, Linux, or OS X, find the easiest way to block OUTGOING ports. In Windows, it's super easy using Windows Firewall. Windows users can follow the guide here: <a title="Block a port in Windows 7's firewall" href="http://maximumpcguides.com/windows-7/block-a-port-in-windows-7s-firewall/" target="_blank">http://maximumpcguides.com/windows-7/block-a-port-in-windows-7s-firewall/</a> NOTE: If you follow that guide, make sure to use the OUTGOING port blocker, not INCOMING like it tells you. Block outgoing ports 80, 443, and 1935.</p>
<p>If you're using *NIX or OS X, you probably know how to do this shit already. Block outgoing ports 80, 443, and 1935 (ah, that was a good year). Use whatever means necessary!</p>
<p>After your new firewall rules are in place, you should now be able to view videos on Hulu. Depending on your proxy, you *probably* won't get HD videos but hey, it's better than nothing at all.</p>
<div class="shr-publisher-416"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://brianirish.com/2010/05/29/installing-an-anonymous-squid-proxy-in-centos-5-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

