<?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>Awooga!!! &#187; windows</title>
	<atom:link href="http://awooga.nl/tag/windows/feed" rel="self" type="application/rss+xml" />
	<link>http://awooga.nl</link>
	<description>how hard can it be?</description>
	<lastBuildDate>Tue, 05 Apr 2011 12:46:28 +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>Won&#8217;t someone think of the children?</title>
		<link>http://awooga.nl/wont-someone-think-of-the-children</link>
		<comments>http://awooga.nl/wont-someone-think-of-the-children#comments</comments>
		<pubDate>Wed, 04 Nov 2009 15:36:15 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blacklist]]></category>
		<category><![CDATA[c521]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[opendns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[safe surfing]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[tinyproxy]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[whitelist]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://awooga.nl/?p=443</guid>
		<description><![CDATA[Let&#8217;s do a quick show of hands of parents who think that the internet is a safe place for children to spend their time on? If you&#8217;ve got your hands up you haven&#8217;t been on the internet for very long. To be completely honest, the internet scares me. Or better, the amount of scary stuff [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s do a quick show of hands of parents who think that the internet is a safe place for children to spend their time on?  If you&#8217;ve got your hands up you haven&#8217;t been on the internet for very long.</p>
<p><img class="alignright size-medium wp-image-454" title="kid-in-shock" src="/wp-content/uploads/2009/11/kid-in-shock-300x199.jpg" alt="kid-in-shock" width="300" height="199" />To be completely honest, the internet scares me.  Or better, the amount of scary stuff that is on it, scares me.  So now that my son is old enough to have his own PC in his bedroom, I looked around to see what was available to make sure that he doesn&#8217;t get exposed to material that is well above his age.  They grow up quick enough anyway.</p>
<p>Now as someone who runs <a href="http://www.ubuntu.com/" target="_blank" class="liexternal">Ubuntu</a> on his <a href="/tag/c521" class="liinternal">server</a>, and <a href="http://www.apple.com/macosx/" target="_blank" class="liexternal">OS X</a> on his <a href="/an-apple-a-day" class="liinternal">MacBook</a>, I am already one step ahead of most parents, who have to deal with a <a href="http://www.microsoft.com/windows/" target="_blank" class="liexternal">Microsoft Windows</a> environment of some sort.  Good luck to you.  This blog post depends on a Linux server of some sort, and although the client can be any operating system, I strongly advice you to stick to a <a href="http://en.wikipedia.org/wiki/Unix-like" target="_blank" class="liexternal">*nix</a> based desktop.</p>
<p>After dismissing most options available (things like <a href="http://www.opendns.com/" target="_blank" class="liexternal">OpenDNS</a>, and a variety of dedicated applications to block any harmful content), I decided that however I was going to implement it, it would have to be by using a <a href="http://en.wikipedia.org/wiki/Whitelist" target="_blank" class="liexternal">whitelist</a>, rather than the normal practice of a <a href="http://en.wikipedia.org/wiki/Blacklist" target="_blank" class="liexternal">blacklist</a>.  The reasoning behind this is that the amount of harmful content changes every minute, and no amount of blacklisting will catch 100% of it.  With a whitelist, everything has to be vetted by me, but it ensures total control over their web experience.  I also wanted to be able to approve/deny new websites as my son requests them, with little effort required on my side.</p>
<p>Something that sits between the client and the internet would be the perfect solution, and I quickly stumbled upon <a href="https://www.banu.com/tinyproxy/" target="_blank" class="liexternal">TinyProxy</a>.  As the name implies, the application is small, efficient, easy to manage and it supports blacklisting and whitelisting.  Perfect.<br />
<br /><br /><center><script type="text/javascript"><!--
google_ad_client = "pub-3248212177098373";
google_ad_slot = "3039514391";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center><br /><br />
<strong>Requirements</strong></p>
<ul>
<li>A server running your favourite Linux distribution.  I personally use Ubuntu, but for the purpose of this guide, it doesn&#8217;t matter.</li>
<li>TinyProxy as installed by your favourite package manager.  For Ubuntu that&#8217;s as easy as <code>apt-get install tinyproxy</code>, but obviously that will be different if you run something else.  Make a note of the version number of TinyProxy though, as we&#8217;ll need version <a href="https://www.banu.com/tinyproxy/download/" target="_blank" class="liexternal">1.6.5 or later</a>.</li>
<li>A webserver running on your server.  <a href="http://httpd.apache.org/" target="_blank" class="liexternal">Apache2</a> is what I use, but as long as it supports <a href="http://php.net/" target="_blank" class="liexternal">PHP</a>, then it doesn&#8217;t matter.  What does matter though, is that the webserver should be able to access your TinyProxy <code>whitelist</code> file, which if you have both TinyProxy and the webserver running on the same server will be the case.</li>
<li>A client configured to use TinyProxy.  This can be <a href="http://www.mozilla.com/firefox/" target="_blank" class="liexternal">Firefox</a>, <a href="http://www.microsoft.com/windows/Internet-explorer/" target="_blank" class="liexternal">Internet Explorer</a>, <a href="http://www.google.co.uk/chrome" target="_blank" class="liexternal">Chrome</a>, <a href="http://www.opera.com/" target="_blank" class="liexternal">Opera</a>, or any other browser you like to use.  Be aware though that as soon as your child learns what a <a href="http://en.wikipedia.org/wiki/Proxy_server" target="_blank" class="liexternal">proxy</a> is and how to remove it from his PC/laptop, the whole plan falls apart.</li>
</ul>
<p>Before you continue with the next section, make sure that your webserver is able to serve some pages, and that you have confirmed that TinyProxy is working correctly for you.</p>
<p><strong>Installation</strong></p>
<p>Grab the <a href="/stuff/tinyproxy-admin.tar.gz" class="lizip">tinyproxy-admin.tar.gz</a> package and unpack it somewhere on your server.  There are a number of files in there, each of them I will describe below.</p>
<p><code>tinyproxy.32</code><br />
<code>tinyproxy.64</code> &#8211; These two binaries are the 1.6.5 binary patched with a small change to allow TinyProxy&#8217;s child processes to refresh their filter list when the parent receives a <a href="http://en.wikipedia.org/wiki/SIGHUP" target="_blank" class="liexternal">SIGHUP</a> signal and when the <code>whitelist</code> file is changed.  These changes have also been submitted to the development version of TinyProxy, but because <code>apt-get</code> on my Ubuntu system installs 1.6.5, I have used that code base.  Eventually these patches will appear in the Ubuntu package manager, but until then, these will do.  The extension indicates whether the binary is for 32-bit, or 64-bit *nix.</p>
<p><code>tinyproxy</code> &#8211; This is the TinyProxy start file (usually found in <code>/etc/init.d</code>), which contains a couple of changed lines.  The permission on the <code>tinyproxy.log</code> files is by default set to restrictive.  It needs to be read by the webserver&#8217;s user, which means that setting it to 644 everytime we start TinyProxy is required.</p>
<p>The files below need to be put in your TinyProxy configuration directory, usually <code>/etc/tinyproxy</code>.</p>
<p><code>tinyproxy.conf</code> &#8211; This contains only the required changes to your distribution&#8217;s version.  The <em>ErrorFile</em>, <em>PidFile</em> and <em>Filter</em> locations need to match your installation, and to switch from blacklisting to whitelisting, the <em>FilterDefaultDeny</em> parameter needs to be set to Yes.</p>
<p><code>whitelist</code> &#8211; This contains just a single line; <code>localhost</code>.  You need to whitelist the domain that your webserver runs on, otherwise it won&#8217;t work.  If your local webserver can be reached through a proper domain name, then change <code>localhost</code> to that instead.</p>
<p><code>403.html</code> &#8211; This is the file referred to by the <em>ErrorFile</em> directive in the <code>tinyproxy.conf</code> file.  It contains two variables which need to be changed to match your system.</p>
<p>The following files are part of the administration interface and will need to be put in a directory that can be served by your local webserver.  For instance, if your webserver uses <code>/var/www</code> as the root directory, put these in a new directory called <code>/var/www/tinyproxy</code>.  The pages should then be able to be accessible by navigating to the <a href="#" class="liinternal">http://your.webserver.domain/tinyproxy</a> url.</p>
<p><code>config.php</code> &#8211; This is the configuration for the administration interface.  Make sure that the variables match your configuration, and if you want it to notify you by <a href="http://twitter.com/" target="_blank" class="liexternal">Twitter</a> each time a new domain approval request is made, enter your details in there too.</p>
<p><code>style.css</code><br />
<code>filter.html</code><br />
<code>admin.html</code><br />
<code>filter.php</code><br />
<code>img</code> (dir) &#8211; These are the remaining files which do not require any modification.</p>
<p><strong>How it all works</strong></p>
<p>Whenever a client is requesting a webpage from a domain, the request is done through TinyProxy.  If it finds a line in the <code>whitelist</code> file for the domain, it lets the request pass through, but if it doesn&#8217;t, an <a href="http://en.wikipedia.org/wiki/HTTP_403" target="_blank" class="liexternal">error 403</a> occurs (Forbidden) and the <code>403.html</code> page is served to the client.  The included <code>403.html</code> file calls the <code>filter.html</code> file internally and passes it the website that the client is trying to access.</p>
<p><img class="aligncenter size-full wp-image-461" title="tinyproxy-filter" src="/wp-content/uploads/2009/11/tinyproxy-filter.png" alt="tinyproxy-filter" width="527" height="348" /></p>
<p>When the request is made, the domain gets added to the <code>whitelist</code> file, but with a prefix of <strong>M|</strong>, therefore still not matching a proper whitelisted domain name.  And it is this mechanism which allows me to approve or deny domains whilst keeping the whitelists all in one place.  The admin interface simply drops the <strong>M|</strong> prefix if the domain gets approved, or changes it to <strong>D|</strong> if it remains denied.  Easy peasy :o)<br />
<br /><br /><center><script type="text/javascript"><!--
google_ad_client = "pub-3248212177098373";
google_ad_slot = "3039514391";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center><br /><br />
I appreciate that the above is all a bit long and winded, so I&#8217;ll do a small summary/checklist below for those who are keen to get going.</p>
<blockquote><ul>
<li>Install TinyProxy using package manager</li>
<li>Install webserver</li>
<li>Confirm the above are working</li>
<li>Download tinyproxy-admin.tar.gz</li>
<li>Amend config.php</li>
<li>Move config.php, style.css, filter.html, admin.html, filter.php and the img directory to a subdirectory beneath your webserver</li>
<li>Amend TinyProxy startup script: tinyproxy</li>
<li>Amend TinyProxy configuration file: tinyproxy.conf</li>
<li>Amend whitelist and move it to the TinyProxy configuration directory</li>
<li>Amend 403.html and move it to the TinyProxy configuration directory</li>
<li>Replace tinyproxy binary with patched version</li>
<li>Restart TinyProxy</li>
<li>Breath out ;o)</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://awooga.nl/wont-someone-think-of-the-children/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dell Ighted!</title>
		<link>http://awooga.nl/dell-ighted</link>
		<comments>http://awooga.nl/dell-ighted#comments</comments>
		<pubDate>Fri, 27 Jul 2007 07:26:02 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[c521]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[refund]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.awooga.nl/dell-ighted/</guid>
		<description><![CDATA[Just checked my card balance today, and I&#8217;ve just received a credit for £11.75 from Dell UK (in case you&#8217;re wondering why they would issue this, see this post for the reason). Will they add the 2nd refund later, or have they conveniently forgotten it? To be continued&#8230; ;) Update 23.8.2007 Still no sign of [...]]]></description>
			<content:encoded><![CDATA[<p>Just checked my card balance today, and I&#8217;ve just received a credit for £11.75 from <a href="http://www.dell.co.uk/" target="_blank" class="liexternal">Dell UK</a> (in case you&#8217;re wondering why they would issue this, see <a href="/dell-icious/" class="liinternal">this post</a> for the reason).  Will they add the 2nd refund later, or have they conveniently forgotten it?  To be continued&#8230; ;)<br />
<br /><br /><center><script type="text/javascript"><!--
google_ad_client = "pub-3248212177098373";
google_ad_slot = "3039514391";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center><br /></p>
<blockquote><p><strong>Update 23.8.2007</strong></p>
<p>Still no sign of that promised 2nd refund&#8230;  A polite email is already heading their way :)</p></blockquote>
<blockquote><p><strong>Update 4.9.2007</strong></p>
<p>Finally!  This morning (after chasing this for the past month) the 2nd £11.75 arrived on my credit card.  About time too!</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://awooga.nl/dell-ighted/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell Icious!</title>
		<link>http://awooga.nl/dell-icious</link>
		<comments>http://awooga.nl/dell-icious#comments</comments>
		<pubDate>Tue, 24 Jul 2007 14:32:28 +0000</pubDate>
		<dc:creator>Q</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[c521]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[eula]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[refund]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.awooga.nl/dell-icious/</guid>
		<description><![CDATA[A few weeks back I bought a nice new Dell Dimension C521 baseunit (AMD X2 3600+, etc, etc) to replace my homebrew server with the intention of running several VM&#8217;s on it using Ubuntu as the operating system of choice. I&#8217;ve been using Ubuntu for quite a while now (deflecting from Gentoo as that proved [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/g/image/24570-7/dell-dimension-c521.jpg" alt="Dell Dimension C521" class="alignleft" />A few weeks back I bought a nice new <a href="http://www.dell.co.uk" target="_blank" class="liexternal">Dell Dimension C521</a> baseunit (AMD X2 3600+, etc, etc) to replace my homebrew server with the intention of running several <a href="http://en.wikipedia.org/wiki/Virtual_machine" target="_blank" class="liexternal">VM&#8217;s</a> on it using <a href="http://www.ubuntu.com/" target="_blank" class="liexternal">Ubuntu</a> as the operating system of choice.  I&#8217;ve been using Ubuntu for quite a while now (deflecting from <a href="http://www.gentoo.org/" target="_blank" class="liexternal">Gentoo</a> as that proved a little more maintenance heavy than I was looking for) and so I had no intention what-so-ever to use the included <a href="http://www.microsoft.com/windows/products/windowsvista/editions/homebasic/default.mspx" target="_blank" class="liexternal">Microsoft Windows Vista Home Basic</a> installation that came with the PC.  As there have been <a href="http://www.google.co.uk/search?q=dell+refund+license&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:en-US:official&#038;client=firefox-a" target="_blank" class="liexternal">several successful reports</a> in the media of people getting a refund for the forced Microsoft inclusion, I though it was worth a punt over here too.<br />
<br /><br /><center><script type="text/javascript"><!--
google_ad_client = "pub-3248212177098373";
google_ad_slot = "3039514391";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center><br /><br />
I contacted Dell UK using the <a href="http://support.euro.dell.com/support/emailcustomercare/emea/index.aspx?c=uk&#038;l=en&#038;s=gen" target="_blank" class="liexternal">contact form</a> on the website and wrote to them the following:</p>
<blockquote><p>Hi,</p>
<p>I&#8217;ve just taken delivery of my Dimension C521 which came with a copy of the Microsoft Vista Basic operating system.  As I will be using the Ubuntu linux operating system, I have not agreed to the Microsoft EULA and installed Ubuntu linux on the PC.  Could you please forward me an address where I can send the Microsoft Vista Basic operating system CD to for a refund?  Please note, I am not looking to return my PC, just the accompanying Microsoft operating system.</p></blockquote>
<p>I hit the Submit button and the website told me to expect a reply within 24 hours&#8230;</p>
<p>So imagine my surprise that I received a reply within 4 hours from Dell:</p>
<blockquote><p>Thank you for contacting Dell on-line customer care.</p>
<p>Please be informed that you need not return the CD and I will arrange for the refund of £10, which is the cost of the CD.</p>
<p>I will call you on 27th July with an update regarding the same. If you have any further queries do not hesitate in responding directly to this mail and I will be glad to assist you further.</p></blockquote>
<p>Woohoo!  Result!</p>
<p>Of course, by now I had realised that I had forgotten to mention the Microsoft Works 8.5 CD that came with the order, so I replied with:</p>
<blockquote><p>Thank you very much for the quick reply.  Is it also possible to receive a refund for the Microsoft Works 8.5 CD that came with my PC?  Again, I am quite happy to return the CD unopened to you if you forward me an address to send it to.</p></blockquote>
<p>Nothing ventured, nothing gained ;)</p>
<p>Sure enough, within 30 minutes another reply arrived:</p>
<blockquote><p>Further to your email, Iam also arranging for the refund of £10 for the works CD. I will call you on 27th with an update regarding the refund.</p>
<p>Please be informed that you need not return the CD. If you have any further queries do not hesitate in responding directly to this mail and I will be glad to assist you further.</p></blockquote>
<p><br /><br /><center><script type="text/javascript"><!--
google_ad_client = "pub-3248212177098373";
google_ad_slot = "3039514391";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center><br /><br />
How easy was that?  It is comforting to know that true customer care still exists, although it would have been a whole lot easier if Dell UK just provided a tick box on their website to decline the operating system when ordering.</p>
]]></content:encoded>
			<wfw:commentRss>http://awooga.nl/dell-icious/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

