DynamoDNS v2.1 - THE Dynamic DNS Client
by The Rageman (http://www.rageman.com)
------------------------------------------------------------------------------

Thanks for trying DynamoDNS. Having a dynamic IP has been a real pain
in the ass for a long time, so I was pretty excited to hear about
Monolith's project with Dynamic DNS. Different configuration problems
made the other available clients not work for me, so I developed my
own.

------------------------------------------------------------------------------

SETUP:
    Just unzip Dynamo.exe to a folder and create yourself a shortcut.
    If you don't already have WinINet.Dll, put the one included with
    the program in your Windows\System directory. If you don't have it
    AND are running NT, you might need to use the reg file. For Windows95,
    this is done automatically from within the program. The Reg file and
    the actual DLL are in WinINet.zip, included with this package.

    Here's a little hint: If you have Microsoft Internet Explorer 3.x+
    installed, you shouldn't have to worry about the WinINet.dll,
    WINet4NT.reg, or anything other than Dynamo.exe. That isn't a promise,
    but it is usually true. Try running the Dynamo.exe first and see if it
    works first. If you can run the program and get connected to Monolith,
    you should be fine.

DO NOT LEAVE A COPY OF WININET.DLL IN YOUR DYNAMO DNS DIRECTORY!
THIS CAN CAUSE PROBLEMS WITH YOUR ID AND PASSWORD BEING VERIFIED!

    The only requirements for using DynamoDNS are that you are using
    Windows 95 or NT, have an Internet connection of some sort, and that
    you have signed up for a free account with Monolith. If you haven't
    done this, run DynamoDNS and under the Monolith menu, you'll find
    "Sign up for a FREE account". There is also a "What is Dynamic DNS?"
    selection if you are a little confused about the whole Dynamic DNS thing.

    Once you have your account information from Monolith, you are ready to
    setup DynamoDNS.

All of the following info is entered from the main DynamoDNS setup
screen. If you don't see it come up automatically the first time,
click the Skull icon in your system tray to show the screen.

------------------------------ACCOUNT INFORMATION-----------------------------

[Login Information]
    Enter the MONOLITH ID and the SECURITY CODE. Select "Change Login Info"
    from the Monolith menu to set this information. It will come up
    automatically if you try to update a hostname and haven't entered the
    info.

[Hostnames Setup]
    If you already have an account with Monolith, and have existing
    hostnames, Choose "Load Hostnames from Monolith" from the Monolith
    menu. This will contact Monolith's server and fill the hostname list
    with all that you have setup with them. The "Autoload Hostname List"
    option defaults to ON. When checked, DynamoDNS will fill the list upon
    startup and after any Add/Delete operation.

    To add a new hostname, just type the name you want in the
    hostname field, set "Hostname Action" to Add, and Hit Enter (or click
    the Update Hostname button). If you have Auto-Assist checked, you can
    skip the "Hostname Action" step. It will try to update it, and if it
    doesn't exist, DynamoDNS will then try Adding instead.

    If you decide that you don't want a specific hostname anymore, you can
    set the "Hostname Action" to Delete and hit Enter. Deleting of hostnames
    can only be done one at a time. You wouldn't want to have it
    accidentally delete them all because you left this set to Delete. So
    when Automatic Updates take place, DynamoDNS ignores the "Hostname Action"

    Just to make sure that you understand, a hostname is the name
    that you want your computer will go by on Monolith's Dynamic DNS
    network. For example, if you choose ButtMunch, people on the
    Internet (ALL People, not just Monolith subscribers) will be able
    to refer to your computer as buttmunch.dyn.ml.org. If you choose
    one that is already taken, as with any mistake in information,
    the results from Monolith on the screen should tell you.

        ** This does not allow for multiple accounts, only multiple
        ** hostnames belonging to one account. If you have two or more
        ** accounts with Monolith, you can use the /account= switch
        ** described below to fix you up.

[Hostnames Options]
    Each hostname that you register with Monolith has two specific options.
    The first is the ability for others to use a "Wildcard Alias" prefix
    when trying to find your computer.
    For example, if you had your machine registered as
    buttmunch.dyn.ml.org and you were running a web server, most people
    would be in the habit of typing http://www.buttmunch.dyn.ml.org when
    using their web browser. Without "Wildcard Alias" checked for a
    hostname, they wouldn't be able to find you with the "www." on the
    beginning. "Wildcard Alias" ability allows someome to type anything
    as a hostname prefix (www., ftp., irc., etc..) and still find you.

    The other per-hostname option is whether or not to have DynamoDNS
    update this hostname for you automatically. This happens when
    DynamoDNS starts up and when your IP address changes (if you have
    these features turned on in an option to be described in a minute).
    This is most useful if you have more than one hostname, but only want
    one updated regularly.

    DynamoDNS will only use MODIFY when updating automatically, and it
    will use ADD when needed IF you are using Auto Assist mode. However,
    you cannot set DynamoDNS to automatically Add or Delete hostnames, this
    would make no sense in an automatic situation. For those actions, open
    up the settings screen and do it from there.

[Hostname Action]
    For a better explanation of "Hostname Action", just think of as what
    action you wish to perform on the selected hostname the next time
    that you Update with Monolith. You have three options, Add, Modify,
    and Delete. If you are creating a new hostname, you must use Add.
    Otherwise, Monolith will return an error stating as much. If you
    decide that you no longer want a hostname, you use Delete. All other
    updates should be of type Modify. Modifying the hostname means that
    you are updating the hostname record in their database with the IP
    address of your current Internet connection.
    Try not to add hostnames for fun, practice, or testing. Monolith frowns
    on this and just might send you a nasty letter or something. After all,
    it is a free service, let's respect it. Oh, and when you decide you
    aren't going to use a hostname anymore, be kind to the Monolith's
    server DELETE it. :)

    If you don't want to have to think about this option too much,
    try turning on "Auto Assist" in DynamoDNS's options. In this
    mode, DynamoDNS will try to figure out what it is that you are
    trying to do and lend a hand:) For the time being, it does only
    the following:

    ** If you try to ADD and it already exists, it changes to MODIFY.
    ** If you try to MODIFY and it does not exist, it tries ADD.

[Update Type]
    Set the Update Type. If you are using Modify as the Hostname Action,
    then you have a choice here of Activate, Deactivate, or MX Update. I
    haven't researched it yet, but I believe that Activate and Deactivate
    do just that to your hostname. It doesn't have anything to do with your
    Login or Account info. Mostly, this should be set to activate unless
    for some reason you want your IP removed from their database. Maybe,
    for example, you want to make it look like your computer is down so
    people won't be bothering you. In this case, you would use Deactivate.
    Setting this to MX Update will allow you to set the Mail eXchanger for
    your hostname.

            !!! Read about MX Host before using this option!!!

    Deactivating an account or Updating your MX record cannot be done
    automatically. Deactivating an account on a regular basis would make
    no sense and the MX record should most often be a setting that doesn't
    change. MX Records are only updated once a day at Monolith, unlike
    DynamicDNS Hostnames which are updated every 10 minutes...

    Under normal circumstances, you shouldn't have to mess with this option.

------------------------------MACHINE INFORMATION-----------------------------

[IP Check Interval]
    This is how often, in seconds, that DynamoDNS will check the IP Addresses
    on your system to see if they have changed since the last update. Valid
    values are 0-999, with 0 being disabled. You can use the +/- and up/down
    keys to change the value, or just type in a valid number.

[Online IP]
    This is a list of all IP Addresses found on your system. Normally, this
    will be the IP of each network adapter, with an Internet connection
    usually being one of them (the last one in most cases). If you use the
    menu option, "Only Use Dial-Up Networking IP", this will be a list of the
    IP's of all currently active DUN connections. (On NT, you can have more
    than one, Windows 95 is limited to one at a time). Normally, the timer
    chooses the proper one at the specified interval. It will default to the
    last one, unless you have specified an "IP Search Mask" under the Setup
    menu. The IP Search Mask is just a little helper to help DynamoDNS find
    the proper one. With any Internet provider, your IP has a certain form.
    The farther to the left, the less likely it is to be different from the
    last one you had. All ISP's have a reserved area, with all the addresses
    under it being for their users. So if your IP address is 208.195.1.23,
    it will most likely always begin with at least the 208. So, you could use
    the IP Search Mask and enter 208 for the mask. That way, DynamoDNS won't
    recognize a valid IP address unless it starts with the mask. This is not
    a wildcard field, just a partial IP field. If you enter 208.*, it will
    never find an IP under any circumstance. Just enter a valid portion of
    your IP. If you don't use this feature, when you disconnect, the last IP
    in the list will be different from the previous last IP in the list. So
    DynamoDNS would think it has changed and try to update. And if you aren't
    connected, it will just sit there and timeout waiting to reach the host.
    If you also use the "Require IP for Auto-Updates" option, then DynamoDNS
    won't try an update unless it finds a valid IP and/or one that matches
    your IP Search Mask. Unchecking this option can be useful if your IP is
    of a type that DynamoDNS can't detect. If you update your host with the
    IP field empty, Monolith will determine it on their end. But in a case
    like this, DynamoDNS won't be able to detect when it changes, it could
    only be done automatically when DynamoDNS starts, or when initiated
    manually by the user. 

[MX Host]
    !! Leave MAIL EXCHANGER BLANK unless you know exactly
    !! what it does. I don't. But Monolith makes it sound
    !! like bad things happen when it is used incorrectly...

    Basically, this is the name, NOT an IP address, of a machine that has
    mail SERVER software running on it. This needs to be a machine capable
    of recieving mail and sending it out to the appropriate user. This
    does not mean a mail CLIENT, such as Internet Mail, Eudora, Pegasus,
    etc. Those are not the same thing. The person who administrates the
    machine you use here must know what you are doing and have their
    system setup to respond correctly. So if you don't know or aren't sure,
    just cruise right past this option and don't look back:)

[Offline IP]
    Use this option to forward your hostname elsewhere. Most people use this
    to set their IP address to 0.0.0.0 before they disconnect from the
    Internet. That way, people that are trying to reach you won't be waiting
    and waiting for the connection, it would just return "Bad IP address" and
    most people could figure it out or you could tell them ahead of time.
    You can also use it to forward your hostname to another machine somewhere
    else. There are services available that handle such forwarding. I just
    don't know of any at the moment. If you have an IP that you want to add
    to the list, just type it in. When you leave the field, it will be
    automatically added to the list. When first running DynamoDNS, it will
    have 0.0.0.0 already in the list. 

------------------------------DynamoDNS OPTIONS-------------------------------

[Update At Startup]
    This option tells DynamoDNS to try and get the current IP address as
    soon as it loads and update all hostnames that have "Automatically Update"
    checked with the Monolith database.

        Command Line: This is equivilent /update on the command-line.

[Update When IP Changes]
    This options tells DynamoDNS to monitor your current IP address, and when
    it changes, Update Monolith with the newest one. It checks IP's at the
    interval specified by the above mentioned, IP Check Interval setting.
    This option requires the Update At Startup option, and it forces that
    setting when you select this one. 

        Command Line: This is equivilent to /auto on the command-line.
        /update is not needed, because the functionality of /update is
        included in /auto.

[Auto Assist]
    This option is basically for people that have trouble understanding the
    whole Add/Modify/Delete process. It is also for people that mess with
    their hostnames a lot and get tired of changing the setting back and
    forth. With Auto Assist on, Hostname Action settings are mostly
    determined for you. If you try to Add a hostname that already exists,
    it tries Modify. If you try to Modify a site that doesn't exist, it tries
    Add. Just an idiot proofer... No offense intended to those of you having
    these problems:) This mode could have more funtionality as the program
    evolves.

[Autoload Hostname List]
    When checked, DynamoDNS will attempt to connect to Monolith when it first
    starts and get the current list of hostnames that you have Added with
    them. It won't update unless you have Update At Startup checked. Also,
    after Adding or Deleting a hostname, it will refresh the list based on
    what Monolith says you have. This way, if you use other updaters to update
    your hostnames (why anyone would is beyond me... :), it will keep the list
    current.

[Save Settings On Exit]
    This should be pretty self explanatory. Do you want to enter all this
    information over and over again???? I didn't think so....

[Go Offline On Exit]
    This option tells DynamoDNS to give Monolith an alternate IP address
    for your hostname name while you are not connected to the Internet,
    or for whatever reason you don't want the hostname sent to your computer.
    This option should not be used with the /exit option, but only when
    DynamoDNS is running all the time. Otherwise, DynamoDNS will start, update
    your IP address, and then it would exit, overwriting the info you just
    posted with the offline ip address; in effect doing nothing except
    making it impossible for people to find you.

        Command Line: This is equivilent to /quitoffline on the command-line.
        You can also use /gooffline to make DynamoDNS Go offline immediately
        upon startup using the IP address that you have setup as Offline IP
        in Machine Information. You could use the /exit switch and the
        /gooffline together to make a shortcut that sets Offline status for
        your hostname and then exits.
        However, never use /exit with the /quitoffline option. This would
        serve no real purpose. It would cause DynamoDNS to start, and after
        the first update, be it manual or automatic, it would exit and do
        another update with your Offline IP in the process. Thus, doing
        nothing but make you unreachable by anyone on the Internet. 

[Check For Updates]
    This option tells DynamoDNS to check with Rageman, during your first
    hostname update after starting, to see if a newer version of DynamoDNS
    is available. This is a good option to keep on 'cuz this program is
    always in development. And since Monolith changes their setup quite often,
    this will alert you a newer version that might solve any problems.
    Starting with v2.0.0, this only happens once per time that DynamoDNS runs.
    Previously, it would check during each update, so that has been changed.
    People that turned it off might want to consider turning it back on with
    versions 2.0.0 and above...

        Command Line: This is equivilent to /dyncheck on the command-line.

[Play Sounds]
    Due to popular demand, there is now more than just a beep when you get
    successfully updated. Of course, I had to go the extra mile and do it
    right. In your Control Panel, there is now a DynamoDNS section in the
    Sounds applet. You can set sounds for most of DynamoDNS's events to
    alert you to what it is doing and if it is doing it right. Under the
    Setup menu is an option to open the Control Panel's sounds applet where
    you can setup the sounds you want. 

--------------------------------DynamoDNS Menus-------------------------------

[DynamoDNS Menu]
    Has basic DynamoDNS options plus little extras.
    UpdateHostname, UpdateAll, Go Offline, Go Offline All, Stop, & Exit are
    the same as their button counterparts. Extras are:
    [Logging]
        Whether or not to log events and updates to a log file. It logs them
        to DynLog.txt in the DynamoDNS directory.
    [View Log & Erase Log]
        Self explanatory...
    [Exit (Don't Go Offline)]
        Allows you to exit DynamoDNS without going Offline, overriding the
        "Go Offline On Exit" option that is either set in the options or on
        the command line.

[Monolith Menu]
    Contains functions that are specific to the service provided by Monolith.
    [Change Login Info]
        Lets you set your UserID and Password for Monolith's service.
    [Change Server Info]
        Allows you to set the paths to the login server, scripts, and web URLs.
        The screen shown by this menu also has an import option. Clicking that
        button will fill the fields with the ones that I have found most to
        work most recently. They have modified their service a few times in the
        past, and each time, it has required either a new version or registry
        patches. This feature should do away with most of the minor fixes. I
        will keep their most recent changes on my site for this function to
        import them from.
    [Network Status and News]
        This menu item will show their status page in the results windows,
        letting you know of any problems that are outstanding and any upcoming
        changes.
    [Load Hostnames from Monolith]
        Imports all active hostnames from Monolith's database.
    [Load Hostnames from Registry]
        Imports all saved hostnames from your registry.
    [Sign Up, Dynamic DNS, and Monolith Site]
        Monolith's Web Sites for the mentioned items.

[Setup Menu]
    Items that are specific to DynamoDNS.
    [Sounds]
        Opens up the Control Panel's Sounds applet, where DynamoDNS's sound
        events are set...
    [Set IP Search Mask]
        Sets the IP Search Mask mentioned above in the description of the
        Online IP list.
    [Only Use Dial-Up Networking IP]
        Looks for DUN connections instead of Network adapters.
    [Require IP for Auto-updates]
        DynamoDNS won't auto-update if the IP field is blank.
    [Ping to Keep Connection Alive]
        DynamoDNS will ping the server you specify when it checks for new IP's
        so that you don't get timed out by your ISP and disconnected.
    [Save Settings Now]
        duh...

[TroubleShooting Menu]
    Items to help you with problems using DynamoDNS.
    [Check WININET.DLL Location]
        Checks your system to see if anything is wrong with the location of
        WinINet.Dll. These problems can cause you to not get authenticated
        by Monolith, even if you have the right userid/password.
    [Write Debug Info To Log]
        Does a basic registry dump of the current profile, and some of the
        current settings, to the logfile. Can be helpful to me (Rageman) if
        you are having troubles and need help.

[Rage Menu]
    [Email Rageman, Visit Rageman.com, About DynamoDNS]
        Self explanatory...
    [News from the Rageman]
        Gets recent news about plans and changes for DynamoDNS. There might be
        a rant or two here from time to time...
    [Check for DynamoDNS Update]
        Does a quick check to see if a newer version is available.

-----TIPS---------------------------------------------------------------------
I design my apps to be out of my way. I hate an app that persists in
forcing dialog boxes, splash screens, etc all over the place. Other
than the first time you run DynamoDNS, it starts in the system tray
area. If you want to start DynamoDNS with the setup dialog showing
(this also contains the results from Monolith), run DynamoDNS with the
/setup switch on the command line. Used with the other switches
described below, DynamoDNS can run many different ways. How you will
want to run DynamoDNS depends on how you are used to running things now.

***CONFIG A***

  Some people run apps that can dial the Internet and then
  automatically run other programs as soon as you are connected.
  If you are running one of these, I suggest that you DynamoDNS with
  /update /exit added to the command line.

  Example: C:\Program Files\Dynamo\Dynamo.exe /update /exit

  The /exit option makes DynamoDNS exit as soon as it does it's first
  update. If it doesn't seem like it is working, take this option off
  and look at the results window. This would probably give you a good
  idea of the problem. Also, when exiting, the Exit button changes to
  WAIT. Clicking the WAIT button will make DynamoDNS stay running and
  override the /exit switch.

  If you have Update At Startup checked in the options, you can omit
  /update. I didn't provide /exit as a option in the program's UI because
  users could might get caught in a loop that never lets them in to change
  the options.

  If you want to see the results before DynamoDNS exits, add the /setup
  switch. Also, when exiting, the Exit button changes to WAIT. Clicking the
  WAIT button will make DynamoDNS stay running and override the /exit switch.

  Example: C:\Program Files\Dynamo\Dynamo.exe /update /exit /setup

  This will make DynamoDNS start up, show the dialog, connect to
  Monolith, wait about 3 seconds for you to get a glance, and then exit.
  If you need longer, you'll need to run without the /exit switch or hit
  the WAIT button to keep DynamoDNS running. As mentioned above, the WAIT
  button is the Exit button which changes to WAIT when auto-exiting or when
  exiting after a "Go Offline On Exit" process.

***CONFIG B***

  If you connect to the Internet manually, or if your program doesn't
  launch other programs for you, I suggest leaving DynamoDNS running
  all the time with the "Update When IP Changes" option checked. Create
  a shortcut to Dynamo.exe and put it in your Startup group. DynamoDNS
  will wait for you to get connected to the Internet and update your IP
  when it changes. This mode doesn't require any command-line options,
  only that the "Update When IP Changes" option is checked.

  If you want the setup dialog showing when DynamoDNS starts, just add
  the /setup switch to the command line.

  Example: C:\Program Files\Dynamo\Dynamo.exe /setup

  If you want the dialog to go away, hit the Hide button. This only
  closes the setup dialog. Choose Exit to actually exit DynamoDNS
  completely.

***CONFIG C (Rageman Recommended!)***

  I highly recommend using NetLaunch by Robert Simpson. It is a GREAT app
  for connecting, disconnecting, and launching apps for each situation.
  You can get it at http://www.primenet.com/~simpson or email
  simpson@primenet.com for more info. It RULES!

  This is how I run DynamoDNS on my system.
  I have DynamoDNS set to update on Startup and Automatically when the IP
  changes. I also have "Go Offline On Exit" selected.
  Then in Robert's NetLaunch, I have DynamoDNS set to run after a Connect
  with "Only One Instance" checked. Then, also in NetLaunch, I set
  DynamoDNS to be shutdown "Just Prior To" a disconnect, and have it
  "Close All Windows" of DynamoDNS. This is a neat feature of his program
  because you can setup NetLaunch to connect and disconnect at specified
  times. And when it shuts down an app "Just Prior To" a disconnect, he
  waits until it is shutdown before going ahead with the disconnect. That
  gives DynamoDNS the time it needs to Go Offline with your hostnames first.
  And since the close is only set for "Just Prior To", it doesn't close
  DynamoDNS when you are accidentally disconnected. That lets DynamoDNS
  monitor the IP and do updates as needed. But when I really want it down,
  it does the Offline thing. Pretty damned cool...

----------------------------Command-Line Switches-----------------------------

All command line options take precedence over normal settings and stay in
effect until the program is shut down and restarted without the options. 

/setup          Starts DynamoDNS with the options/results windows showing.

/dyncheck       Tells DynamoDNS to check for updated versions DynamoDNS.

/update         Makes DynamoDNS update the IP as soon as it starts.

/auto           Equivilent to checking the 'Update When IP Changes' box

/exit           Makes DynamoDNS exit after the first update.

/quitoffline	Equivilent to checking the 'Go Offline On Exit' box

/gooffline      Makes DynamoDNS immediately update your account using your
                Offline IP. This only applies to the first update. Any
                automatic IP updating that is selected will still happen as
                it normally would. So if this option is used with /auto, the
                autoupdate would update the actual ip address about 30 seconds
                after startup. This is best used with the /exit option, so you
                could have a shortcut just to have DynamoDNS put you Offline
                and then exit.

/ip=            Force DynamoDNS to use a specific IP address. Use it as this:
                C:\Program Files\Dynamo\Dynamo.exe /ip=100.100.100.100
                when you need to force it to a specific IP address.
                This will apply to all updates until the program is run
                without the /ip= command line switch or until it is run with
                a different /ip= command line switch. This does NOT apply to
                setting your hostname to Offline! That will still use the
                Offline setting in the options screen. Be aware of this when
                using the "Go Offline On Exit" option. Using this switch
                disables the Auto load of IP addresses on your system. The
                IP list will be empty, except for the IP you specify on the
                command line.

/account=       If for some reason you have more than one account with
                Monolith, you can use this switch to start a new instance of
                DynamoDNS with its own options and hostnames. Just use it
                like
                C:\Program Files\Dynamo\Dynamo.exe /account=Joe
                where Joe would be a name that you give the account so that
                you can remember. Each time this is done, a new key gets
                created in the registry so don't screw around with it too
                much if you don't need to. Not using this switch is
                equivilent to using the default account. While running this
                option, the title bar of the main window and the trayicon's
                tooltip will show the Account name in []'s. This makes it
                easy to keep track of multiple copies running at the same
                time.

/!              Debug Mode. All this does at the moment is do a full HTML dump
                of all recieved results to your log file (in the DynamoDNS
                directory). If something isn't coming across the results
                window, you might want to add this switch and see what is
                coming across in raw, unfiltered format. If you have problems,
                I might ask you to add this switch and send me the output.
                Other than that, it has no purpose at the moment...

------------------------------------------------------------------------------

This app was made out of necessity for me and I have released it to the world
because I know a lot of people have been looking for a good app to do just
this. Let me know of anything it lacks, screws up, etc. It is always work in
progress around here.

Oh yeah, I assume no rights for damages, etc, blah, blah, blah....
Use at your own risk, Don't fear the reaper, A bird in the hand, .....

[Rageman, Rage Creations, and Better Living Through RAGE!] are not
affiliated with Monolith whatsoever. I am just really happy that they
do what they do and want it to flourish for a long time.

Get newest versions and updates at http://www.rageman.com

		The Rageman
			(rageman@rageman.com)

------------------------------------------------------------------------------
