Eponym
Run a Dot-Com Website On Your Own PC
Want to run an app like FileChucker but don't want to rent server space? Eponym can help with that.
Eponym is a free program that lets you point your own dot-com domain name to your home computer. You can either go the totally-free route using Eponym with DynDNS to get a domain name like yoursite.dyndns.org; or, you can use Eponym together with a free ZoneEdit account and a paid domain name (~$10/year through a registrar like Dreamhost) to get a domain name like www.yoursite.com. Either way, you can then run a website from your home computer, using a webserver program like Apache, which is built in to OS X and Linux, and easy to install on Windows.
Features:
- runs on Mac OS X, Microsoft Windows, Unix/Linux, and any other OS that runs Perl
- sends you an email when your IP changes, and if there is a problem updating your hostname(s)
- can send regular status emails containing your IP, even if it hasn't changed (can even run in a hostless mode, only sending email notifications)
- supports multiple email recipients
- works with all of the top-level domain names that DynDNS.org offers,
and works with dyndns, statdns, and custom hostnames
- supports ZoneEdit.com as well, so you can
use yourdomain.com with your dynamic IP address
- can update multiple hostnames on any one account
- can update multiple accounts by simply running multiple instances
- includes wildcard support so subdomain.you.dyndns.org works
- supports the DynDNS options mx, backmx, and offline
- simple to use: just create a Windows Scheduled Task or a cron-job
to run Eponym every 15 minutes
- your username/password are never stored; instead we use them to create
your authorization string during setup, and then store that
- does a forced update of any hostname that hasn't been updated for 29 days,
to prevent DynDNS.org's automatic stale-hostname deletion. (also has a
--force option to manually force an update.)
- web-based IP detection based on a pool of websites that report this info;
web-based is the only multi-platform method, and it's also the only method
that really makes sense, since the vast majority of users are behind routers,
and since the whole point of DynDNS is to give your public IP address
to the world. and selecting a few IP-reporting sites at random from a
large pool is also only logical, so that we don't constantly use the same
server(s) like checkip.dyndns.org.
Download
You can download & install Eponym right now.
You'll just need eponym.txt and eponym_prefs.txt.
Payment
Eponym is free, but happy Eponym "customers" sometimes ask how they can help to
support it, so we have a donations page for that.
And of course, you can always support Encodable by buying one of
our other apps!
Quick Start Instructions
Download eponym.txt and eponym_prefs.txt
to somewhere in your PATH, rename eponym.txt to eponym.pl, and run perl eponym.pl.
Follow the instructions that it gives you. (Windows users may need to edit the prefs file
with Wordpad instead of Notepad.) Once it's all set up, make sure to use your OS's scheduler
(Scheduled Tasks or cron) to set Eponym to run automatically every 15 minutes or so.
Detailed Instructions for Windows Users
- Make sure your file extensions are turned on, in the View options.
- Download eponym.txt and eponym_prefs.txt
into your c:\windows or c:\winnt folder. Then open My Computer and navigate to
that folder, and inside of it, rename eponym.txt to eponym.pl.
Open both files in Notepad, and if either one contains
strange characters, or if all the text seems to be smooshed together on the
first few lines, then open the file in Wordpad (NOT Word) and click File, Save.
That should remove the strange characters and restore the lines.
- Download and install ActivePerl,
which gives you a perl interpreter on your Windows system. Note that if you already
have this installed, you don't need to re-install it.
- Open a command prompt, type cd \windows or cd
\winnt depending on where you downloaded the files, and then type perl eponym.pl --getauth to
generate your authorization string. If you get errors about missing perl modules,
just install them.
- Edit the file eponym_prefs.txt in Notepad or Wordpad, and enter the values for
your authorization string, and your hostname(s) to update.
- Search google.com for the phrase "your IP address is" (in quotes) and you'll find
thousands of websites that report your IP address. Collect the addresses of
10 to 15 such sites, and add them as ip_reporters in the eponym_prefs.txt file.
(Since this script will be checking them frequently, we require each user to find their
own sites, so that we don't overload a certain small set of servers.)
- The two other preferences, detection_frequency and wildcard, are safe to leave
at their default values.
- Now, in order to make sure that your dynamic DNS hostname(s) are always pointing to
your current IP address, you need to make sure Eponym runs regularly.
If you're running Windows XP (or possibly 2000) or newer, go to Control Panel ->
Scheduled Tasks and add a new task with the command being
c:\perl\bin\perl.exe and the time being Daily.
On the last step there's a checkbox that says "Open advanced
properties..." -- make sure to check that, and when the advanced properties window
comes up, set "Run:" to "c:\perl\bin\perl.exe c:\windows\eponym.pl"
and then set "Start in:" to "c:\windows".
Finally, on the Schedule tab click Advanced, and set it to repeat every 15 minutes.
You won't see a window when Eponym runs; if you want to see what it's up to, set your email
address and SMTP server in the prefs file, and/or watch the file
c:\windows\eponym-current-state.txt.
Detailed Instructions for Mac OS X and Linux Users
- Download eponym.txt and eponym_prefs.txt
into any directory on your system. Rename eponym.txt to eponym.pl.
Open both files in a text editor, and if either one contains
strange characters, or if all the text seems to be smooshed together on the
first few lines, then look for an option to "strip line endings" or "strip carriage
returns" in the editor. You might have to try a few different editors to
find one that'll do it. Or sometimes, just opening the file and saving it
will remove the strange characters.
- Open a terminal, cd to the directory where you downloaded the files, and then
type perl eponym.pl --getauth
to generate your authorization string. (If you get errors about missing perl modules,
just install them.)
- Edit the file eponym_prefs.txt in a text editor, and enter the values for
your authorization string, and your hostname(s) to update.
- Search google.com for the phrase "your IP address is" (in quotes) and you'll find
thousands of websites that report your IP address. Collect the addresses of
10 to 15 such sites, and add them as ip_reporters in the eponym_prefs.txt file.
(Since this script will be checking them frequently, we require each user to find their
own sites, so that we don't overload a certain small set of servers.)
- The two other preferences, detection_frequency and wildcard, are safe to leave
at their default values.
- Now, in order to make sure that your dynamic DNS hostname(s) are always pointing to
your current IP address, you need to make sure that eponym runs regularly.
Run chmod a+x /path/to/eponym.pl to make it executable, and
then do the following:
- put the line */15 * * * * /path/to/eponym.pl >/dev/null 2>&1 into the crontab of
a normal (non-root) user on your system. (Just run crontab -e
as that user to edit his crontab.) This will cause eponym to run every 15 minutes.
That will cause Eponym to run in the background. If you want to see what it's up to, set your email address and SMTP server in the prefs file, and/or watch the file eponym-current-state.txt in Eponym's directory. - put the line */15 * * * * /path/to/eponym.pl >/dev/null 2>&1 into the crontab of
a normal (non-root) user on your system. (Just run crontab -e
as that user to edit his crontab.) This will cause eponym to run every 15 minutes.
Support
Please feel free to contact us if you have any questions,
problems, or suggestions about Eponym.
Changelog
20150224: v2.72: bugfix: when updating a wildcard hostname like *.foo.com in zoneedit, the DNS lookup of that address (which we did as literally *.foo.com) could fail in some configurations, resulting in it never updating; so we now make up a random syntactically-valid subdomain within foo.com and do the lookup on that instead. Also added a blacklist feature for the IP-reporter URLs, so that when one of them fails to report an IP, we won't try to use it again during that same run, since it's unlikely to report an IP on subsequent attempts.
20130811: v2.67: added support for SMTP authentication, for the email notifications feature.