<?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>Michael Mayhew &#187; proxy</title>
	<atom:link href="http://blog.mmayhew.com/tag/proxy/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mmayhew.com</link>
	<description>A geek&#039;s perspective on technology and politics</description>
	<lastBuildDate>Tue, 13 Apr 2010 05:18:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Use SSH as a Proxy Server</title>
		<link>http://blog.mmayhew.com/use-ssh-as-a-proxy-server/</link>
		<comments>http://blog.mmayhew.com/use-ssh-as-a-proxy-server/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 04:24:29 +0000</pubDate>
		<dc:creator>mmayhew</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[firewall avoidance]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[secure browsing]]></category>
		<category><![CDATA[socks proxy]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.mmayhew.com/?p=16</guid>
		<description><![CDATA[Not many people know you can easily create a SOCKS proxy with your SSH session, point your browser to it and browse securely on any network. There are many different situations this may be handy: You could be on a public network and not want your web traffic visible to snoopers. You could be on [...]]]></description>
			<content:encoded><![CDATA[<p>Not many people know you can easily create a SOCKS proxy with your SSH session, point your browser to it and browse securely on any network.</p>
<p>There are many different situations this may be handy:</p>
<ul>
<li>You could be on a public network and not want your web traffic visible to snoopers.</li>
<li>You could be on a computer that doesn&#8217;t have direct access to the Internet but have SSH access to an Internet accessible computer.</li>
<li>You could be at work and not want your web traffic monitored. AKA: Firewall Avoidance.  I, of course, am not promoting firewall avoidance but it is definitely a possibility with SSH.</li>
</ul>
<p>Now let&#8217;s get down to how you do this:</p>
<p><strong>Windows</strong></p>
<p>I&#8217;m assuming you already know how to SSH using PuTTY.  If you need help with this, leave a comment and I&#8217;ll provide more detail.</p>
<p>In PuTTY, go to Connection -&gt; SSH -&gt; Tunnels.  Type any number in the &#8216;Source port&#8217; text field.  I like using 9999 myself.  Then select the &#8216;Dynamic&#8217; radio button.  Then click Add.</p>
<p>That&#8217;s the only change you need to make before connecting to your SSH host.  Now when you connect, you can use port 9999 locally as a SOCKS proxy.  I&#8217;ll explain how to use this after the Linux section.</p>
<p><strong>Linux</strong></p>
<p>Again, I&#8217;m assuming you already know how to SSH from command line.  All you have to do is add &#8220;-D &lt;port&gt;&#8221; to your SSH command.  If you were going to use port 9999 as your local SOCKS proxy, your command may look like:</p>
<blockquote><p>ssh -D 9999 username@hostname</p></blockquote>
<p>Once you connect, you will have a SOCKS proxy running locally on your specified port.</p>
<p><strong>OK, Now What?</strong></p>
<p>So now you have the SOCKS proxy running locally.  You can point your browser, IM client or any application that has SOCKS proxy support. Here are a few examples:</p>
<blockquote><p>Internet Explorer: Tools -&gt; Connections -&gt; LAN Settings -&gt; &#8220;Use a proxy server [...] &#8221; -&gt; Advanced -&gt; SOCKS</p>
<p>Firefox: Edit -&gt; Preferences -&gt; Advanced -&gt; Network -&gt; Settings -&gt; Manual proxy connection -&gt; SOCKS Host</p>
<p>Pidgin (gaim): Tools -&gt; Preferences -&gt; Network -&gt; Proxy type -&gt; SOCKS 5</p></blockquote>
<p>If you poke around other applications you&#8217;ll find many support a SOCKS proxy and many do not.</p>
<p>Tips:</p>
<blockquote><p>Even when using a SOCKS proxy, most applications will do DNS resolution before going through the proxy.  Many applications have settings for this.  In Firefox type &#8220;about:config&#8221; in the url bar and find the following setting&#8221;network.proxy.socks_remote_dns&#8221; and change it to true.  In Pidgin, there is a checkbox for &#8220;Use remote ..&#8221;</p>
<p>In Linux, if you are getting a permission issue, you must use a port higher than 1024 as the SOCKS proxy unless you are root</p></blockquote>
<p>Please post any questions in the comments area, and I&#8217;ll address them ASAP!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mmayhew.com/use-ssh-as-a-proxy-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

