Taking It Easy

Stuff, things and wotnot

Virtual Static IP

Having an ISP who assigns you a dynamic IP address each time you connect to the internet can be a pain when you are trying to host services to other people. These can be anything from hosting a website from your computer to running a Microsoft GameVoice Server. It can also be handy when you have a need to connect to your computer from a remote computer. For example you might run telnet or WinVNC.

You could also connect up then note the IP before you leave your computer but this could fail if the connect is dropped and then re-connected. This could mean that the IP address has changed and you will no longer be able to use the originally noted IP to connect to your home PC.

This is where vStaticIP can help. The software checks for IP addresses on the computer it is running on. Then using pre-defined filtering rules it will select the one which is the public IP which has been given to you by your ISP. This IP address can then be made public by having it automatically upload a webpage with the details on it. Then all people (or you) need to do is check the webpage and see what IP address the PC is on.

Alternatively the IP can be encrypted and added to a small file which is uploaded to a website's root directory. The beauty of using this method is that the IP address isn't directly made public. This is where another feature of vStaticIP comes in. When other people (or yourself when checking your home IP) are added to a 'Friends' listing their IP address can be checked by reading this small file. It will only be valid if you have the 'unlock' key which will decrypt the IP address. This way you can keep a list of friends who have given you their keys and check their IP addresses. If you are checking your own IP then you simply need to add yourself on the remotely installed vStaticIP.

Note that this will only upload to a website if FTP access is available. Some free hosts only allow web-based uploads in which case vStaticIP will not be able to upload.




System Requirements

Microsoft Windows 95, 98, NT, 2000 and XP


Simply download the installation package, unzip it and double-click the 'setup.exe' file. This will run the installer. When its all installed just launch it anc check the Public IP Selection Filter is set-up correctly (it defaults to ignore common internal IP address ranges). Fill in the FTP details, prepare the HTML template if necessary and you're away!


Full Install V0.4b Rev14 - 1.87Mb Download not available yet, sorry
Source Code for Visual Basic 6 - 13Kb Download not available yet, sorry

ToDo List and Ideas for the Future

Automatic IP selection.
Option to allow final upload when the app is closed to leave a blank IP (i.e. server down).
Get the links for the website and email to work.
Improve FTP error checking and aborting.
Add history items for friends editing/adding/loading/saving etc.
Implement actual collection of friends IP address from server.
Implement resizing of history/file editor windows.
Addepanels to the status bar for showing things which are enabled plus a countdown timer till next refresh.
Allow custom FTP path and filenames for uploading perhaps?
Add an easy configuration wizard.

Version History 

0.1.1 - first build with minimal functionality, just to test IP finding and filtering
0.1.2 - alot more added including info panel and other available settings
- added modCrypoKey for encryption but only using a test alteration for now
- added modWinInet for FTP functions, which do work but are not encrypted and the HTML publication is not done yet, also the file based publication is not encrypted yet
- added modSettings so that configurations can be saved
- configuration is loaded/saved using modSettings but friends list and loading of ip filter list is not implemented yet
- changed some of the text in frmAddFilterIP because it was wrong
- implemented HTML code hiding/showing
- HTML file editor and history window cannot be resize dragged yet
- added txtFTPResponse window and toggle button cmdShowFTPResponses which was used when testing the FTP functions using the Internet Transfer Control
0.1.3 - txtFTPResponse and cmdShowFTPResponses are not needed but have left them in as the response 'window' may be useful at some stage later for other reasons however the toggle Button cmdShowFTPResponses Is Not Visible
- removed the dummy IP which was added at RefreshIPs() for testing purposes
0.1.4 - timedate stamp has been added to the IP share file which is uploaded
- crypto functions are now called when the IP dat file is created
- the state of visibility of the HTML file editor is now actioned during LoadSettings
- the published file(s) is now only uploaded when the IP actually changes
0.1.5 - implemented loading of filter ip list
0.2.6 - implemented HTML file editor
- added datestamp textbox
- implemented HTML page uploading
0.3.7 - vStaticIP.dat and vStaticIP.htm files are now deleted after use
- added button to allow removal of ip sharing details on the remote server
- window size and position is also now saved in the config.dat file
0.3.8 - when removing details of IP share on remote server - both .dat and the .htm files are changed regardless of the publication methods chosen to ensure details are always removed
- added auto creation of the vStaticIP.hdat file with default code
- app defaults to start on the 'about this application' panel
0.3.9 - added modMain and moved some general functions from frmMain into it
- added modHTML and moved the HTML related functions into it
- added modDeclares and put some vars in frmMain in here
- added a HTML code 'dirty' flag along with save prompts
0.3.10 - fixed bug in FindIPMatch whereby an IP would pass a filter test incorrectly
0.4.11 - added frmFriends for building and editing of friends list
- added SelectAllText proc to modMain and now using it in GotFocus events of the textboxes so that all text within them is automatically highlighted
- implemented load/save of friends list
0.4.12 - friend information panel is now updated when a friend is clicked on
0.4.13 - changed name of 'Public IP Selector Wizard' to 'Public IP Selection Filter'
0.4.14 - revised FindIPMatch (again) to ensure that multiple filters didnt effect the match result this time using a match counting method so that each dotted number in the IP is considered



I decided the existing server browsers didn't do it for me. So I wrote my own. Like you do.

Auto Updater

Screwt needed a way to update itself without bothering the lazy gamers I played with. This was the result.

Virtual Static IP

Back in the old days there weren't many good options for managing dynamic IPs, this project didn't get far.