<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>ameir dot net - Tech Corner</title>
    <link>http://www.ameir.net/blog/</link>
    <description>My little place on the web...</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.3 - http://www.s9y.org/</generator>
    <pubDate>Mon, 23 Aug 2010 20:44:08 GMT</pubDate>

    <image>
        <url>http://www.ameir.net/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: ameir dot net - Tech Corner - My little place on the web...</title>
        <link>http://www.ameir.net/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Yahoo! Mail IMAP Proxy</title>
    <link>http://www.ameir.net/blog/archives/43-Yahoo!-Mail-IMAP-Proxy.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/43-Yahoo!-Mail-IMAP-Proxy.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=43</wfw:comment>

    <slash:comments>45</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;&lt;br /&gt;
There are a few Yahoo! Mail IMAP proxies out there (&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/ypopsemail.com/&#039;]);&quot;  href=&quot;http://ypopsemail.com/&quot;&gt;YPOPS!&lt;/a&gt;, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.freepops.org/&#039;]);&quot;  href=&quot;http://www.freepops.org/&quot;&gt;FreePOPs&lt;/a&gt;), but to be honest, I haven&#039;t had much luck with either of them. &amp;#160;Additionally, switching webmail interfaces to Asia or Classic or whatever can be a bit of a hassle.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Yahoo! supports IMAP on some mobile devices, and now also allows it for anyone using the Zimbra mail client. &amp;#160;Unfortunately, I&#039;m not too fond of that client and much prefer my Thunderbird; too bad it isn&#039;t natively supported.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Luckily, Yahoo&#039;s IMAP implementation isn&#039;t too far off from what other clients recognize; it simply requires a &amp;quot;ID (&amp;quot;GUID&amp;quot; &amp;quot;1&amp;quot;)&amp;quot; &amp;#160;to be issued before logging in. &amp;#160;No clients do that (&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.crasseux.com/linux/&#039;]);&quot;  href=&quot;http://www.crasseux.com/linux/&quot;&gt;except for these hacked up versions of Thunderbird&lt;/a&gt;), so my workaround was to create a simple IMAP proxy.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;This proxy simply takes the commands sent to it by your mail client, passes them on to Yahoo, and relays them back to your client. &amp;#160;It all the while looks for your client to issue a &amp;quot;login&amp;quot; command so that it can inject the &amp;quot;id&amp;quot; command to unlock IMAP access.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;This program is written in C and has been tested on Linux and Windows (via Cygwin).  Read the release notes in the source for more information. &amp;#160;I haven&#039;t written in C for a while, and I know that this program can be improved. &amp;#160;If anyone does so, I&#039;d like to hear from you.&lt;/p&gt; &lt;br /&gt;
Connection settings:&lt;br /&gt;
Username: yahoo_username@yahoo.com&lt;br /&gt;
Hostname: localhost&lt;br /&gt;
Port: 3490&lt;br /&gt;
SSL: off&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/ymap.googlecode.com/svn/trunk/yahooproxy.c&#039;]);&quot;  href=&quot;http://ymap.googlecode.com/svn/trunk/yahooproxy.c&quot;&gt;Download latest source&lt;/a&gt; &lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/ymap.googlecode.com/svn/trunk/yahooproxy-win.zip&#039;]);&quot;  href=&quot;http://ymap.googlecode.com/svn/trunk/yahooproxy-win.zip&quot;&gt;Download Windows Cygwin version&lt;/a&gt; &lt;/p&gt; &lt;br /&gt;
&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/code.google.com/p/ymap/&#039;]);&quot;  href=&quot;http://code.google.com/p/ymap/&quot;&gt;View Google Code Homepage&lt;/a&gt;&lt;br /&gt;
&lt;p&gt; &lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 01 Mar 2010 22:21:22 -0600</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/43-guid.html</guid>
    
</item>
<item>
    <title>Installing Windows XP over a Network using PXE</title>
    <link>http://www.ameir.net/blog/archives/42-Installing-Windows-XP-over-a-Network-using-PXE.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/42-Installing-Windows-XP-over-a-Network-using-PXE.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=42</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=42</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;I just spent countless hours trying to revive an old laptop with seemingly no hope left in it. &amp;#160;Its CD-ROM drive is bad, it doesn&#039;t support booting from USB, and it has no floppy drive. &amp;#160;After backing up the hard drive using a USB caddy, I tried countless ways of loading up bootdisks over PXE using MEMDISK and PXELINUX. &amp;#160;I got very close several times, but unfortunately both FreeDOS and MS-DOS failed me. &amp;#160;The closest I got was by partitioning the hard disk such that I had a 1GB FAT partition at the end with the XP installation files copied to it. &amp;#160;Running winnt32.exe from DOS brought me a lot of hope, but also a lot of pain, namely the error &amp;quot;&lt;span style=&quot;color: #000000; font-family: arial, sans-serif; font-size: small; &quot;&gt;&lt;em style=&quot;font-weight: bold; font-style: normal; &quot;&gt;Setup is out of memory and cannot continue.&lt;/em&gt;&lt;/span&gt;&amp;quot; &amp;#160;I hacked away and the config.sys file and kept editing various bootdisks, but no luck in the end. &amp;#160;I tried dozens of things, but I&#039;ll skip that all and get to the good stuff: &amp;#160;how I got it working.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://www.ameir.net/blog/archives/42-Installing-Windows-XP-over-a-Network-using-PXE.html#extended&quot;&gt;Continue reading &quot;Installing Windows XP over a Network using PXE&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 10 Feb 2010 23:28:04 -0600</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/42-guid.html</guid>
    
</item>
<item>
    <title>Cheapest SSL Certificates</title>
    <link>http://www.ameir.net/blog/archives/39-Cheapest-SSL-Certificates.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/39-Cheapest-SSL-Certificates.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=39</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;Interested in securing your website? &amp;#160;There are several types of certificates out there at wildly varying prices, but they all provide exactly the same function--encryption. &amp;#160;In most cases, you&#039;re no more secure with a $300 certificate than a $10 one; the difference lies in the verification the certificate company performs to confirm your identity. &amp;#160;In short, if you&#039;re not a bank or think your users won&#039;t trust you using a cheapo certificate, then you&#039;ll be fine with a cheapo.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Below the cheapest SSL certificates I found online and have personally used:&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;s&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.dynadot.com/ssl/about.html&#039;]);&quot;  href=&quot;http://www.dynadot.com/ssl/about.html&quot;&gt;AlphaSSL from Dynadot&lt;/a&gt;&amp;#160;($41.50/5 years)&lt;/s&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cheapssls.com/index.php?dispatch=products.view&amp;amp;product_id=3&#039;]);&quot;  href=&quot;http://www.cheapssls.com/index.php?dispatch=products.view&amp;product_id=3&quot;&gt;Positive SSL from CheapSSLs.com&lt;/a&gt;&amp;#160;($24/3 years)&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.cheapssls.com/index.php?dispatch=products.view&amp;amp;product_id=1&#039;]);&quot;  href=&quot;http://www.cheapssls.com/index.php?dispatch=products.view&amp;product_id=1&quot;&gt;RapidSSL from CheapSSLs.com&lt;/a&gt;&amp;#160;($27/3 years)&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.servertastic.com/order/rapidssl/&#039;]);&quot;  href=&quot;https://www.servertastic.com/order/rapidssl/&quot;&gt;RapidSSL from Servertastic&lt;/a&gt;&amp;#160;($50/5 years)&lt;/p&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.regfly.com/ssl/&#039;]);&quot;  href=&quot;http://www.regfly.com/ssl/&quot;&gt;Registerfly&lt;/a&gt;&amp;#160;($9.99/year)&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;As you can see, you get discounts if you pay for multiple years in advance. &amp;#160;If you plan on keeping the domain for a while, it shouldn&#039;t hurt--just be sure to keep the certificate and key in case you decide to switch servers over time.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;If you know of any other deals, let me know!&amp;#160;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 12 Aug 2009 02:02:33 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/39-guid.html</guid>
    
</item>
<item>
    <title>Creating a customized OpenVPN installer - Round 2</title>
    <link>http://www.ameir.net/blog/archives/38-Creating-a-customized-OpenVPN-installer-Round-2.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/38-Creating-a-customized-OpenVPN-installer-Round-2.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=38</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://www.ameir.net/blog/index.php?/archives/30-Creating-a-customized-OpenVPN-installer.html&quot;&gt;In a previous article&lt;/a&gt;, I outlined the steps I took to &amp;quot;roll&amp;quot; my own customized OpenVPN installer, and it worked like a charm back then.&amp;#160; OpenVPN has gone through several revisions since, and getting things running (especially on different architectures) with the new versions just doesn&#039;t work so well.&amp;#160; Luckily, there&#039;s another way to approach this problem and have OpenVPN installed as it was intended (i.e. the correct TAP driver will be detected and the shortcuts where they belong).&amp;#160; This method is more of a workaround, but definitely works.&amp;#160; Note that with this method you can&#039;t rename OpenVPN to &amp;quot;MyVPN&amp;quot; or whatever like the previous method.&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;This method employs the use of an SFX that installs the vanilla OpenVPN installer as downloaded from their site, then automatically installs the keys afterwards.&amp;#160; You have the option of making the install entirely silent as well--it&#039;s all up to you.&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/teejee2008.wordpress.com/&#039;]);&quot;  href=&quot;http://teejee2008.wordpress.com/&quot; target=&quot;_blank&quot;&gt;7-ZIP SFX Maker&lt;/a&gt; (version 2.0 at the time of writing)&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.7-zip.org/&#039;]);&quot;  target=&quot;_blank&quot; href=&quot;http://www.7-zip.org/&quot;&gt;7-Zip&lt;/a&gt; (or another 7-Zip-capable archiver such as &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.izarc.org/&#039;]);&quot;  target=&quot;_blank&quot; href=&quot;http://www.izarc.org/&quot;&gt;IZArc&lt;/a&gt;) &lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.openvpn.net/index.php/open-source/downloads.html&#039;]);&quot;  href=&quot;http://www.openvpn.net/index.php/open-source/downloads.html&quot; target=&quot;_blank&quot;&gt;OpenVPN&lt;/a&gt; (version 2.1_rc19 at the time of writing)&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Your OpenVPN keys&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Steps:&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;First, package your OpenVPN keys with 7-Zip.&amp;#160; If you want multiple OpenVPN connections configured on the same machine, it&#039;s a good idea to have each connection&#039;s keys in a subfolder.&amp;#160; Ensure that each connection has a .ovpn or .conf file with a unique name.&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Next, open up 7-ZIP SFX Maker and add your archived keys by clicking on the &amp;quot;+&amp;quot; symbol.&amp;#160; Now, go to the &amp;quot;General&amp;quot; tab.&amp;#160; Under &amp;quot;Extract to specified folder&amp;quot;, enter &lt;strong&gt;%ProgramFiles%\OpenVPN\config&lt;/strong&gt;.&amp;#160; You can right-click for some preset environment variables if you want to change the path.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;img align=&quot;middle&quot; src=&quot;http://www.ameir.net/blog/uploads/openvpn/7zipsfx_path.png&quot; /&gt;&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;You can change other options if you&#039;d like.&amp;#160; I have &amp;quot;Beginning extraction of keys...&amp;quot; in the &amp;quot;Begin prompt&amp;quot; field of the Text tab.&amp;#160; From here, you&#039;re ready to click &amp;quot;Make SFX&amp;quot;.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Now, create another 7-Zip archive with your new SFX and the OpenVPN installer.&amp;#160; Add this archive to 7-ZIP SFX Maker.&amp;#160; In &amp;quot;General&amp;quot; enter %tmp% or another writable directory in the &amp;quot;Extract to specified folder&amp;quot; field.&amp;#160; I have &amp;quot;Allow user to change extraction path&amp;quot; checked as well--this all depends on your environment and needs.&amp;#160; Under the Text tab, I have it filled as follows:&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;img align=&quot;middle&quot; src=&quot;http://www.ameir.net/blog/uploads/openvpn/7zipsfx_messages.png&quot; /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Under the Shortcuts tab, I created a shortcut to OpenVPN GUI in Startup so that it starts on login.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Now, (and this is important), go to the Execute tab.&amp;#160; We will tell the SFX maker to run the OpenVPN installer then run the SFX for the keys.&amp;#160; Be sure to list them in that order.&amp;#160; Note that I have a /S in the first entry because I want OpenVPN to install silently.&amp;#160; Sadly, not everyone at my company knows how to install software, and I&#039;m satisfied with the setup defaults anyway.&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;img align=&quot;middle&quot; src=&quot;http://www.ameir.net/blog/uploads/openvpn/7zipsfx_execute.png&quot; /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;You&#039;re now ready to &amp;quot;Make SFX&amp;quot;! Your new installer will be placed in the folder your files were in.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;You might want to play around with settings until the installer suits your tastes.&lt;br /&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 23 Jul 2009 14:54:50 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/38-guid.html</guid>
    
</item>
<item>
    <title>Redirect HTTP traffic to HTTPS with IIS</title>
    <link>http://www.ameir.net/blog/archives/37-Redirect-HTTP-traffic-to-HTTPS-with-IIS.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/37-Redirect-HTTP-traffic-to-HTTPS-with-IIS.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=37</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;There are many situations where you&#039;d want a site to be accessible only securely, and there are several resources online on how to accomplish this.  Unfortunately, I couldn&#039;t find a perfect solution for me.  Influenced by &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;this info&lt;/a&gt; and following the steps outlined &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/839357&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/839357&quot;&gt;here&lt;/a&gt; (under In Windows Server 2003 (IIS 6.0)), I came up with the following:&lt;/p&gt;&lt;p&gt;&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#60;%&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;If&amp;#160;Request.ServerVariables&amp;#40;&quot;SERVER_PORT&quot;&amp;#41;=80&amp;#160;Then&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Dim&amp;#160;strSecureURL&lt;br /&gt;
	&amp;#160;&amp;#160;&lt;br /&gt;
	&amp;#160;&amp;#160;strSecureURL&amp;#160;=&amp;#160;Replace&amp;#40;Request.QueryString,&quot;http&quot;,&quot;https&quot;&amp;#41;&amp;#160;&amp;#160;&#039;&amp;#160;entire&amp;#160;old&amp;#160;URL,&amp;#160;but&amp;#160;w/https&lt;br /&gt;
	&amp;#160;&amp;#160;strSecureURL&amp;#160;=&amp;#160;Replace&amp;#40;strSecureURL,&quot;403;&quot;,&quot;&quot;&amp;#41;				&#039;&amp;#160;remove&amp;#160;&quot;403;&quot;&amp;#160;from&amp;#160;beginning&lt;br /&gt;
	&amp;#160;&amp;#160;strSecureURL&amp;#160;=&amp;#160;Replace&amp;#40;strSecureURL,&quot;&amp;#58;80&quot;,&quot;&quot;&amp;#41;				&#039;&amp;#160;remove&amp;#160;port&amp;#160;#&amp;#160;that&#039;s&amp;#160;appended&amp;#160;to&amp;#160;server&amp;#160;name&lt;br /&gt;
	&amp;#160;&amp;#160;Response.Redirect&amp;#160;strSecureURL&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;End&amp;#160;If&amp;#160;&amp;#160;&amp;#160;&lt;br /&gt;
%&amp;#62;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;It works well for my purposes, but of course, your mileage may vary.&lt;/p&gt;&lt;p&gt;More resources:&lt;/p&gt;&lt;p&gt;1.  &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;http://support.microsoft.com/kb/239875&lt;/a&gt;&lt;br /&gt;2.  &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/839357&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/839357&quot;&gt;http://support.microsoft.com/kb/839357&lt;/a&gt;&lt;br /&gt;3.  &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.opsan.com/archive/2005/04/17/395.aspx&#039;]);&quot;  href=&quot;http://blog.opsan.com/archive/2005/04/17/395.aspx&quot; style=&quot;text-decoration: none; &quot;&gt;http://blog.opsan.com/archive/2005/04/17/395.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/839357&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/839357&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/839357&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/839357&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/support.microsoft.com/kb/239875&#039;]);&quot;  href=&quot;http://support.microsoft.com/kb/239875&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 22 Mar 2009 01:46:32 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/37-guid.html</guid>
    
</item>
<item>
    <title>Using OpenDNS on Your Fon Router</title>
    <link>http://www.ameir.net/blog/archives/33-Using-OpenDNS-on-Your-Fon-Router.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/33-Using-OpenDNS-on-Your-Fon-Router.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=33</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=33</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;There is large interest in &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.opendns.com/&#039;]);&quot;  href=&quot;http://www.opendns.com/&quot;&gt;OpenDNS&lt;/a&gt;, and I happen to be a fan of it myself.  Sadly, Fon routers, when connected directly to a modem and using DHCP, use the ISP&#039;s DNS servers and don&#039;t allow you to override those settings.  Fortunately, there is a loophole in older Fon firmware that allows you to enable a BusyBox shell (so you can connect to it via SSH).  This is actually a security hole and shouldn&#039;t be a good thing at all, but hey, I&#039;m kind of glad it exists.  Anyways, let&#039;s get started.&lt;/p&gt;&lt;p&gt;Enable SSH access to your Fon router by &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/blog.blase16.de/index.php?url=2006/11/28/Hacking-Fonera&#039;]);&quot;  href=&quot;http://blog.blase16.de/index.php?url=2006/11/28/Hacking-Fonera&quot;&gt;following these instructions&lt;/a&gt;.  Be sure to enable permanent SSH access, as it&#039;ll be very useful later.  When your Fonera updates to newer firmware that doesn&#039;t allow code injections, SSH will still be enabled.  Be sure to leave your network cable unplugged until after you enable SSH permanently or you might form some gray hairs.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Now, in a shell, let&#039;s create a startup script that overrides the ISP&#039;s DNS settings after the network is initialized.  Type the following:&lt;/p&gt;&lt;pre&gt;vi /etc/init.d/S45opendns&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Now, in the vi window, paste this (press &lt;i&gt;&lt;b&gt;i&lt;/b&gt;&lt;/i&gt; to insert text):&lt;/p&gt;&lt;pre&gt;echo &amp;quot;nameserver 208.67.222.222&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;echo &amp;quot;nameserver 208.67.220.220&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;/pre&gt;&lt;p&gt;This will &amp;quot;blank&amp;quot; /etc/resolv.conf and load it with the OpenDNS settings.  Save and exit vi (press the esc key then type &lt;b&gt;&lt;i&gt;:x&lt;/i&gt;&lt;/b&gt;).&lt;/p&gt;&lt;p&gt;Now, to make the file executable type:&lt;/p&gt;&lt;pre&gt;chmod +x /etc/init.d/S45opendns&lt;/pre&gt;&lt;p&gt;You&#039;re all done!  OpenDNS settings will be persistent across reboots.  You can activate the settings now without having to reboot by simply running your new script:&lt;/p&gt;&lt;pre&gt;/etc/init.d/S45opendns&lt;/pre&gt;&lt;p&gt;If DHCP renewals cause your new nameserver settings to be overwritten to the ISP&#039;s, you can create a cron job that runs every few minutes (you can pick a time based on your ISP&#039;s DHCP lease time):&lt;/p&gt;&lt;p&gt;Type &lt;b&gt;&lt;i&gt;crontab -e&lt;/i&gt;&lt;/b&gt; in the terminal window.  When vi opens, insert the following line at the end:&lt;/p&gt;&lt;pre&gt;15 * * * * /etc/init.d/S45opendns&lt;/pre&gt;&lt;p&gt;This will run your new script every 15 minutes, so there will never be more than a 15-minute period where you will not be using OpenDNS.&lt;/p&gt;&lt;p&gt;That should be all you need to get you going. If you&#039;re using more advanced features of OpenDNS, you can use &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.dnsomatic.com/&#039;]);&quot;  href=&quot;http://www.dnsomatic.com/&quot;&gt;DNS-O-Matic&lt;/a&gt; on your Fon to keep OpenDNS informed of IP changes. Comment below with your experiences.&lt;/p&gt;&lt;p /&gt; 
    </content:encoded>

    <pubDate>Tue, 12 Aug 2008 01:03:19 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/33-guid.html</guid>
    
</item>
<item>
    <title>Taking control of your DNS</title>
    <link>http://www.ameir.net/blog/archives/31-Taking-control-of-your-DNS.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/31-Taking-control-of-your-DNS.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=31</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;br /&gt;
Many webmasters, especially those who run their own servers, rely on&lt;br /&gt;
free DNS providers extensively to help ensure site uptime.  There are&lt;br /&gt;
many out there, with widely varying numbers of pros and cons.  For&lt;br /&gt;
example, afraid.org seems to provide a great number of configuration&lt;br /&gt;
options and features, but adding mass records can still be daunting. &lt;br /&gt;
This is true with just about all other free DNS services, as they&lt;br /&gt;
typically allow you to add one record at a time.  I accidentally&lt;br /&gt;
stumbled upon a free host that didn&#039;t sound free at all, &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.dollardns.net/&#039;]);&quot;  href=&quot;http://www.dollardns.net/&quot; target=&quot;_blank&quot;&gt;DollarDNS&lt;/a&gt;,&lt;br /&gt;
that offers more than I ever expected in a free DNS host.  They offer&lt;br /&gt;
the typical set of features that most DNS hosts offer, but with one&lt;br /&gt;
very important feature:  full control of your zone files.&lt;p&gt;Domains are&lt;br /&gt;
added via a web interface, and a sample zone file (from a template that&lt;br /&gt;
you can configure) is created.  From there, you can use their web&lt;br /&gt;
interface to add records, or just dive into the zone editor.  The zone&lt;br /&gt;
editor is recommended for those who have a bit of experience with DNS&lt;br /&gt;
servers as errors can be easily made, but that method is extremely&lt;br /&gt;
efficient.  For example, if you want to create dozens of CNAMES that&lt;br /&gt;
point to www.domain.tld, copying and pasting one line multiple times is&lt;br /&gt;
much easier than going to through the web interface dozens of times.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;Also, since the zone editor is essentially a plain-text editor that&lt;br /&gt;
offers you full control, you can easily import and export zone files&lt;br /&gt;
from/to different locations.  Afraid.org allows you to export your zone&lt;br /&gt;
file, so moving to DollarDNS just involves a simple copy-and-paste. &lt;br /&gt;
You can also use your own text editor or a script to generate your zone&lt;br /&gt;
file and paste it into DollarDNS when finished.&lt;br /&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;No minimum TTL maximum hostname limit appears to be mentioned&lt;br /&gt;
anywhere, so I doubt that there are any.  You seemingly have infinite control over your zone.&lt;/p&gt;&lt;p&gt;I&lt;br /&gt;
currently use them for slave DNS and after a NOTIFY, DollarDNS requests&lt;br /&gt;
a transfer within a second or so.  Compare that to any other service.&lt;/p&gt;&lt;p&gt;DollarDNS&lt;br /&gt;
offers two DNS servers, although only ns1.dollardns.net appears to be&lt;br /&gt;
authoritative (ns2.dollardns.net refuses queries immediately).  Still,&lt;br /&gt;
assuming you have other DNS servers authoritative for your domain, that&lt;br /&gt;
isn&#039;t a major issue.&lt;/p&gt;&lt;p&gt;Dynamic DNS is also supported via a client&lt;br /&gt;
that they provide, although I have not tested it.  Based on the quality&lt;br /&gt;
of the service overall, I expect the dynamic portion to work flawlessly&lt;br /&gt;
as well.&lt;/p&gt;&lt;p&gt;I recommend this service overall due to its feature set, quality, reliability, and the admin&#039;s modesty (the admin &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.dollardns.net/compare.html&#039;]);&quot;  href=&quot;http://www.dollardns.net/compare.html&quot; target=&quot;_blank&quot;&gt;created a page comparing DollarDNS to others&lt;/a&gt;, and &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.dollardns.net/home.html&#039;]);&quot;  href=&quot;http://www.dollardns.net/home.html&quot; target=&quot;_blank&quot;&gt;he admits on the homepage&lt;/a&gt; that domain registrations through his service aren&#039;t the cheapest around).&lt;/p&gt;&lt;p&gt;If you know of a free host that amazes you, leave a comment.  I&#039;d like to hear about it.&lt;br /&gt;&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 15 Mar 2008 17:11:39 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/31-guid.html</guid>
    
</item>
<item>
    <title>Creating a customized OpenVPN installer</title>
    <link>http://www.ameir.net/blog/archives/30-Creating-a-customized-OpenVPN-installer.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/30-Creating-a-customized-OpenVPN-installer.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=30</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=30</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;:&amp;#160; See &amp;quot;&lt;a href=&quot;http://www.ameir.net/blog/index.php?/archives/38-Creating-a-customized-OpenVPN-installer-Round-2.html&quot;&gt;Creating a customized OpenVPN installer - Round 2&lt;/a&gt;&amp;quot; for another approach to a custom OpenVPN installer.&lt;br /&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;br /&gt;
OpenVPN is an excellent product with seemingly infinite configuration options.  After setting everything up to your tastes, though, you may find that your end users are a bit too &amp;quot;simple&amp;quot; to install OpenVPN and your custom config files successfully.  I find that many users (well, where I work at least) are uncomfortable browsing to and placing files in C:\Program Files\OpenVPN.  You can easily get around this by creating a self-extracting executable with a default output path of C:\Program Files\OpenVPN (use &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.izarc.org/&#039;]);&quot;  href=&quot;http://www.izarc.org/&quot; target=&quot;_blank&quot;&gt;IZArc&lt;/a&gt; to make nice free SXEs).  Although that gets the job done, the end user would still need to install OpenVPN, the run the SXE.  Why not cut down the number of steps in half (or by one :p ), while at the same time adding your company&#039;s touch to the OpenVPN installer?&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;Recent documentation on this is not very widespread, but luckily still of good use.  The main source of documentation on this can be found &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/openvpn.se/files/howto/openvpn-howto_roll_your_own_installation_package.html&#039;]);&quot;  href=&quot;http://openvpn.se/files/howto/openvpn-howto_roll_your_own_installation_package.html&quot;&gt;here&lt;/a&gt;, and is supplied by the creator of OpenVPN GUI.  The documentation can be followed, but unfortunately the packages provided are a bit outdated.  To get up-to-date (and to become Vista-compatible), we first &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/openvpn.net/download.html&#039;]);&quot;  href=&quot;http://openvpn.net/download.html&quot; target=&quot;_blank&quot; title=&quot;OpenVPN download page&quot;&gt;download a copy of the current release candidate&lt;/a&gt; (2.1 RC4 at the time of writing).  I actually had to get the Windows installer since I didn&#039;t want to bother compiling from source.  Next, I &lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.openvpn.se/files/install_packages_source/&#039;]);&quot;  href=&quot;http://www.openvpn.se/files/install_packages_source/&quot; target=&quot;_blank&quot; title=&quot;OpenVPN GUI&quot;&gt;downloaded the 2.1 beta 7 package&lt;/a&gt; from the OpenVPN GUI site.  I installed the Windows installer by accepting all defaults, then extracted the install source (anywhere should work).  Next, to get things up-to-date I replaced openvpn.exe and openvpn-gui.exe in the openvpn\bin folder of the extracted archive with that from my Windows installation (C:\Program Files\OpenVPN\bin).&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;To get our installer to work with Vista, we need to replace the blacklisted 0801 TAP driver with the newer 0901 TAP driver.  This is not documented anywhere I could find, but doing this turned out to be easy and effective.  Simply make replacements as we did above, but instead copy the contents of C:\Program Files\OpenVPN\driver to the openvpn\tap-win32\i386 folder of the extracted archive.  You can safely remove the older 0801 files.  To make this work, we now have to edit the openvpn-gui.nsi script in the extracted archive.  In any text editor (&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/notepad-plus.sourceforge.net/&#039;]);&quot;  href=&quot;http://notepad-plus.sourceforge.net/&quot; target=&quot;_blank&quot; title=&quot;Notepad++&quot;&gt;Notepad++&lt;/a&gt; worked great for me and offered syntax highlighting), open up openvpn-gui.nsi, look for &lt;em&gt;!define TAP &amp;quot;tap0801&amp;quot;&lt;/em&gt;, and replace that with &lt;em&gt;!define TAP &amp;quot;tap0901&amp;quot;&lt;/em&gt;.  Your archive is now Vista-compatible.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;There are many other changes that can be made in the Nullsoft installer script such as including your company name, custom icons, and most importantly your OpenVPN client config.  You can look through the script to understand how it works and modify it accordingly.  To include your custom config/cert files, browse in your text editor to &lt;strong&gt;Section &amp;quot;OpenVPN GUI&amp;quot; SecGUI&lt;/strong&gt;.  You will see a comment indicating where your custom config files go.  To include multiple files in the install, simply add more &lt;em&gt;File&lt;/em&gt; entries, like so:&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;&amp;#160;&amp;#160;#&amp;#160;Include&amp;#160;your&amp;#160;custom&amp;#160;config&amp;#160;file&amp;#40;s&amp;#41;&amp;#160;here.&lt;br /&gt;
&amp;#160;&amp;#160;SetOutPath&amp;#160;&amp;#34;$INSTDIR\config&amp;#34;&lt;br /&gt;
&amp;#160;&amp;#160;File&amp;#160;&amp;#34;${HOME}\config\client.ovpn&amp;#34;&lt;br /&gt;
&amp;#160;&amp;#160;File&amp;#160;&amp;#34;${HOME}\config\ca.crt&amp;#34;&lt;br /&gt;
&amp;#160;&amp;#160;File&amp;#160;&amp;#34;${HOME}\config\dh2048.pem&amp;#34;&lt;br /&gt;
&amp;#160;&amp;#160;File&amp;#160;&amp;#34;${HOME}\config\client.crt&amp;#34;&lt;br /&gt;
&amp;#160;&amp;#160;File&amp;#160;&amp;#34;${HOME}\config\client.key&amp;#34;&lt;/div&gt;&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;This will include client.ovpn, ca.crt, dh2048.pem, etc. to your custom installer, and will place them in the config folder upon installation.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;To compile your masterpiece into an executable, you need to download and install The Nullsoft Scriptable Install System.  Although a newer edition may work, I went with the original documentation&#039;s recommendation and installed the older v2.05.  You can get this here. Once installed, you can simply right-click on the openvpn-gui.nsi script you modified and click on &amp;quot;Compile NSIS Script&amp;quot;.  A log of the compilation will show and an opportunity to test the installer will show if everything went well.  You will also have an installable .exe waiting for you in the current directory waiting to be distributed to your clients.&lt;br /&gt;&lt;br /&gt;If you ran into errors, look through the logs to try to identify what&#039;s going on.  Otherwise, you can simply just make some changes to the archive I already hacked up:&lt;br /&gt;http://www.ameir.net/blog/uploads/openvpn_install_source-2.1rc4-gui-1.0.3.zip&lt;br /&gt;&lt;br /&gt;If you&#039;re just interested in creating a custom OpenVPN installer for Windows and don&#039;t particularly care to dabble in Nullsoft install scripts or are just lazy, download the archive above and make whatever changes you may need.  The hacks described above are implemented in this package.&lt;br /&gt;&lt;br /&gt;NOTES:&lt;br /&gt;&lt;br /&gt;In Vista, if you&#039;re using routing (tun mode), the end user must run OpenVPN by running as an administrator.  This is because the routing table must be modified to tell your computer how to get to your company network.  Otherwise, the client may appear to be connected (he/she actually is), but attempts to access the company network will fail, as packets are instead trying to go through the default route (usually your ISP).  Using tap mode eliminates this requirement as clients are given IPs in the company&#039;s subnet range, therefore eliminating the need to do routing.&lt;/p&gt; &lt;br /&gt;
&lt;p&gt;If using certificate authentication, then each of your users will need unique files in their config directory.  I don&#039;t know of a way to automate this, unless you generate the client certificates on the fly and have a program initiate a compile of openvpn-gui.nsi with the new certificates included.  In my install of OpenVPN, users are authenticated via Active Directory, so we don&#039;t have to distribute any user-specific files.&amp;#160; You may very well just have to use self-extracting archives or train your users how to work with zip files!&lt;/p&gt; &lt;br /&gt;
&lt;p&gt; &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 19 Jan 2008 20:42:15 -0600</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/30-guid.html</guid>
    
</item>
<item>
    <title>Free mail relay servers</title>
    <link>http://www.ameir.net/blog/archives/27-Free-mail-relay-servers.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/27-Free-mail-relay-servers.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=27</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;p&gt;For many people, using an external mail server for outbound mail is more than critical. There are many reasons for this, some of which are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;bypassing dynamic IP blacklists by using a non-blacklisted mail server &lt;/li&gt;&lt;li&gt;sending mail from an alternative mail server on an alternative SMTP port (useful if your ISP blocks port 25, and the external server supports alternative ports) &lt;/li&gt;&lt;li&gt;hardcoding an SMTP server into a web-based application (like a forum or CMS) when a mail server is otherwise unavailable&lt;/li&gt;&lt;/ul&gt;&lt;p /&gt;&lt;p /&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Relaying allows you to send email through an external mail server, but the email looks as if it&#039;s coming from your own domain. For example, I can send an email from anything@ameir.net to anythingelse@gmail.com via an intermediate host without the Gmail user knowing about the intermediary (unless he/she looks at the headers). This doesn&#039;t sound like a big deal at all, but if you lie under one of the bulleted conditions above, then you may find it hard to communicate with the rest of the web. Most mail servers only allow you to send mail from the email address you own from them (e.g. sending mail through AOL&#039;s mail servers requires you to send the mail FROM your address).&lt;/p&gt;&lt;p&gt;Because I was on a dynamic IP and because Comcast mysteriously blocked port 25, I found that I needed a way to have emails from my server get to me. My backups were no longer being sent via email, my blog wasn&#039;t notifying me of any actions, and I figured it would be cool to finally send an email without a DNSBL rejecting me solely because of my IP address.&lt;/p&gt;&lt;p&gt;Luckily, here are some solutions:&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.hotmail.com/&#039;]);&quot;  href=&quot;http://www.hotmail.com/&quot;&gt;Hotmail&lt;/a&gt; (ports 25, 587)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;Now offers free POP3 and SMTP access.  Reliable service, as it&#039;s from a big and trusted name.  Read below for info:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;&lt;/span&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/arstechnica.com/microsoft/news/2009/03/rollout-for-hotmail-pop3-worldwide-support-complete.ars&#039;]);&quot;  href=&quot;http://arstechnica.com/microsoft/news/2009/03/rollout-for-hotmail-pop3-worldwide-support-complete.ars&quot;&gt;http://arstechnica.com/microsoft/news/2009/03/rollout-for-hotmail-pop3-worldwide-support-complete.ars&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.gawab.com/&#039;]);&quot;  href=&quot;http://www.gawab.com/&quot;&gt;Gawab&lt;/a&gt;  (ports 25, 587)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;Offers POP3/IMAP/SMTP, with relaying possible through their SMTP servers.  Quite reliable, and I use it on a daily basis.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; &quot;&gt;&lt;/span&gt;&lt;br /&gt;ulmb.com (ports 25, 587)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This service actually provides you with a webhosting account of 5GB. I tried using them as a webhost once, but gave up after I ran into some restrictions. Still, they support email and relaying (although relaying isn&#039;t advertised), which is of great use. They do not pester you about DNS pointing to them or anything of the sort either.&lt;/p&gt;&lt;p&gt;&lt;strike&gt;&lt;b&gt;mail.ikojomail.com (ports 25, 26)&lt;/b&gt;&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;&lt;strike&gt;This is an email service that offers a 5GB quota with IMAP, POP, and all the bells and whistles. Unfortunately, its webmail interface needs a little working on (it doesn&#039;t synchronize with the actual IMAP data), but as a pure IMAP email service it works very well. As an SMTP relay it works even better.&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;UPDATE: This domain recently expired, leaving the service inoperable. If you can find the IP for the domain when it was up, you might be in luck.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.inboxnow.com/&#039;]);&quot;  title=&quot;Inboxnow homepage&quot; href=&quot;http://www.inboxnow.com/&quot; target=&quot;_blank&quot;&gt;mail.inboxnow.com&lt;/a&gt; &lt;/b&gt;&lt;b&gt;(ports 25, 26)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This service is the same as Ikojomail, but with a different name. The webmail interface works just like Ikojomail&#039;s (not well). For IMAP and SMTP, the service is fast and works great.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.icmail.net/&#039;]);&quot;  title=&quot;ICMail homepage&quot; href=&quot;http://www.icmail.net/&quot; target=&quot;_blank&quot;&gt;mail.icmail.net&lt;/a&gt; &lt;/b&gt;&lt;b&gt;(ports 25, 587)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;This service has been around for a couple of years and is pretty reliable. They offer POP/IMAP/SMTP, and their SMTP servers allow you to send from another sender. The only thing I don&#039;t like about it is that it complains sometimes when you send emails shortly after each other/have multiple connections to the SMTP server.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/my.webalta.ru/registration/?redir=mail/&#039;]);&quot;  title=&quot;Webalta signup page&quot; href=&quot;http://my.webalta.ru/registration/?redir=mail/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;smtp.webalta.com&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;(port 25)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;This is a web search company from Russia that offers email accounts. The signup and webmail interfaces are in Russian, but you can get by based on the icons and the locations of the text fields if you don&#039;t know Russian (I sure don&#039;t). The service is pretty fast, and, as you expected, allows you to send emails from another sender. Seems pretty reliable.&lt;/span&gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;b&gt;&lt;a onclick=&quot;_gaq.push([&#039;_trackPageview&#039;, &#039;/extlink/www.kakle.com/signup_info.php&#039;]);&quot;  title=&quot;Kakle signup page&quot; href=&quot;https://www.kakle.com/signup_info.php&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;mail.kakle.com&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;(ports 25, 465)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: line-through; &quot;&gt;This service provides 5GB webmail with full IMAP/POP capabilities. It&#039;s actually a pretty good service (when it works), and uses Squirrelmail as the webmail frontend. Message filters are done by Squirrelmail so it&#039;s not entirely server side (because you have to login and load Squirrelmail for filtering to occur). Sometimes incoming email has problems (it either works great or not at all), but as an outgoing SMTP server it works superbly. Note that port 465 is typically SMTP over SSL, but Kakle uses it as standard SMTP. &lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p /&gt;&lt;p&gt;If you own a mail server but do not know how to set up relaying, there is nothing to worry about. There is documentation online for everything.&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://www.ameir.net/blog/archives/27-Free-mail-relay-servers.html#extended&quot;&gt;Continue reading &quot;Free mail relay servers&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 13 Sep 2007 18:09:02 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/27-guid.html</guid>
    
</item>
<item>
    <title>Backup Email Solutions</title>
    <link>http://www.ameir.net/blog/archives/22-Backup-Email-Solutions.html</link>
            <category>Tech Corner</category>
    
    <comments>http://www.ameir.net/blog/archives/22-Backup-Email-Solutions.html#comments</comments>
    <wfw:comment>http://www.ameir.net/blog/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.ameir.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Ameir Abdeldayem)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;I recently ran into a problem with my server setup where I would have incredibly long and random moments of downtime.  The downtime wasn&#039;t the server&#039;s fault, but moreso due issues at the colocation site (i.e. my friend&#039;s house &lt;img src=&quot;http://www.ameir.net/blog/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ).  During this time period, of course, I was unable to send, receive, or retrieve any emails.  Because I&#039;m so dependent on email, and because the downtime was becoming excessive, I had to find some way to get around this.  After doing some searching, I came up with these possibilities:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;backup MX service that tries to deliver your mail to your main mail server periodically&lt;/b&gt;; once your server is back up, the mail will be delivered to your usual inbox.  If you only expect minor downtimes this solution is a good safeguard to ensure that you&#039;ll never lose any emails, but for those of you with shaky configurations (or if you have a long-term project to complete that requires downtime), this may be inideal because your emails will not be accessible until your mail server is back up and running.&lt;/li&gt;&lt;li&gt;&lt;b&gt;backup MX service that forwards all of your email to another address&lt;/b&gt;; you will be able to read these emails immediately (even while your mail server is down), but the messages will not appear in your mail server&#039;s inbox once it comes back up.  This is nice for those who need immediate access to their emails, and cannot afford to wait until the server is back up (knowing that in many cases bringing the server back up is a time-consuming task).  You unfortunately cannot access your existing email with this method, but then again, you can&#039;t do so with any method so long as the server&#039;s down.  You also have to be aware that your mail server is down so you&#039;ll know to check your other email address.  Hopefully an error message from your mail client is enough.&lt;/li&gt;&lt;li&gt;&lt;b&gt;outsourced email&lt;/b&gt;; an external provider completely handles all aspects of your domain&#039;s email; your MX records will point to the provider&#039;s servers, as will your email client.  All spam control, filtering, mail rules, etc., will be handled at the host&#039;s end.  Your mail server is essentially unnecessary with this solution.  You certainly have much less control over your emails and cannot perform low-level tasks such as messing with your mboxes/Maildir, but you do have the relief of not worrying about your mail server&#039;s status.&lt;/li&gt;&lt;/ol&gt;&lt;p /&gt;&lt;p&gt;You can see that each of these methods have their pros and cons, and I cannot tell you which method works best for your situation.  I can, though, explain my situation and explain what works best for me.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;My situation:  I have excessive, spontaneous, and oft&lt;img src=&quot;file:///C:/DOCUME~1/Ameir/LOCALS~1/Temp/moz-screenshot.jpg&quot; /&gt;entimes lengthy downtimes due to various reasons (ISP issues, people tampering with my server &amp;gt;:-[ , etc.).  Because I&#039;m in school and often expect important emails, I have to make sure that I can access incoming emails at any time.&lt;/p&gt;&lt;p&gt;My solution:  I first started off using a backup MX service that forwarded all of my emails to my Gmail account.  This was useful since I already had a copy of all of my emails forwarded there (I had procmail send a copy to two other email accounts for archiving/backup purposes, while keeping a copy on my mail server).  This method worked and worked well.  Because I had my previous emails already in my Gmail account, all new emails arrived smoothly and I couldn&#039;t tell (from a Gmail perspective) that my mail server ever went down without looking at the message headers to see what mail server accepted and forwarded the email.  I recommend this solution for those who archive their emails like I did by forwarding copies to other accounts, and for those who are comfortable with that backup email address.  Gmail is able to respond with another From: address, so your replies will look like they&#039;re coming from you@yourdomain.com.&lt;/p&gt;&lt;p&gt;I eventually ditched this method just because I am in love with IMAP and missed the convenience of it.  I never looked back at POP after using IMAP, which makes me want to yell at Google for only supporting POP.  Anyways, my solution turned out to be one that allows for me to use IMAP, and still have access to all my emails when my server is down.  I never thought I&#039;d do it, but I did; I outsourced!  I ended up pointing my MX records over to AOL&#039;s servers (yes, I never thought I&#039;d go with them either) and from then on checked my emails through Thundbird.  AOL offers IMAP(S), POP(S), and SMTP, so they really do have the basics for me.  They don&#039;t have many basic features such as mail rules or mail forwarding (which I&#039;m praying for), but luckily I never was reliant on these.  There are many other providers that offer domain email hosting for free, but usually only the paid accounts are given POP/IMAP access, which is why I outsourced in the first place.  &lt;/p&gt;&lt;p&gt;If you know anything about me, you know that I don&#039;t like paying for anything.  I&#039;ve therefore compiled a list of free backup MX services and domain email hosts.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Secondary MX - tries to deliver to main mail server&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;rollernet.us&lt;/li&gt;&lt;li&gt;editdns.net&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Secondary MX - forwards to another email address&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;zoneedit.net&lt;/li&gt;&lt;li&gt;ulmb.com&lt;/li&gt;&lt;li&gt;most webhosting accounts&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;p&gt;Domain email hosting&lt;/p&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;AOL&lt;/li&gt;&lt;li&gt;Google Apps&lt;/li&gt;&lt;li&gt;Bluetie&lt;/li&gt;&lt;li&gt;Gawab&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Fri, 03 Aug 2007 18:05:30 -0500</pubDate>
    <guid isPermaLink="false">http://www.ameir.net/blog/archives/22-guid.html</guid>
    
</item>

</channel>
</rss>