Change Log

Change Log - Simple Port Forwarding - &

Completely redid the code for the port tester, making it way more faster and fixed a few minor bugs.

Added more commands to handle more router models.

Code changes.

Changes to the main Window in the program. Added a button to update the router database and to test the port forwarding.

Multiple code changes and improvements.

Update to all commands in the program to handle hidden objects. Some routers would have the same name or id for a text box for example. But the one with the same name was hidden. But the program would see the hidden one first and so didn't set the correct object. The scripts will now skip any hidden ones and search on for the next one instead.

Major code changes and updates to support more routers.

Major code changes and updates.

Large amounts of code improvements.
Added more commands to handle more routers.
Improved debug mode.

Improvements to the scripting code.
Other small improvements to the interface.

Minor Code tweaks.

Bug fixes to the interface.

Fixed bug in the button sub classing control in the program. The subclass would cause the program to crash when you closed a window in the program.

Minor code tweaks
GUI fixes.
Added VB6 SP6 runtime files. Some users had corrupted or outdated runtimes the program needs.

Minor code tweaks.

Removed message about removing the password from the program when log in failed. This was meant for the old way the program logged into the router. Since that has changed, this message was no longer needed.
Added some control dll's to have SPF use instead of the ones on the users systems. On a few rare systems, if the users theme controls had the wrong or mismatched versions then SPF or their computer would crash. I have put the correct files with SPF and it will use those now instead. I am hoping this will fix the crash problems for those few people.
Code Tweaks.

Added more commands to handle more routers.

Added better support for the window positions of the program. On some users systems, if they had another program running that worked with program windows, it would cause the program to save the window positions off screen, or if a user lowered their screen resolution and the old position would now be off screen. The program now checks the current screen resolution and brings the windows back on screen. I made sure this supports people with multiple monitors :-)
I have changed the program update feature. It use to offer to download and apply new updates (this is for the program not the router database, that still updates automatically). Well with some of the newer updates and planned updates in the future, I have found it to be a pain getting the update program I made to handle everything. I find it far easier to let users download the new setup, which will take care of everything. So now the program will check for a program update, and if there is one, it will open the simple port forwarding website if the user wants. Then the users can download the new version. This helps make things a lot easier on me :-)

Code tweaks.

Minor graphic fix.
Added more commands to handle more routers.

Major interface update.
Code tweaks and fine tuning.
Added new option whether or not to show the router pic. This is off by default. This will help users who don't wish to connect to the site to get the router pic. 1 less connection and depending on your internet speed will help speed up the start of the program not having to wait for the router pic.

Major bug fix. In the past when a user had DEP enabled on their system it would crash the program. In past updates I found some API's in windows to help stop this. This worked for many people, but there where still some users where DEP was still crashing the system. I was able to finally trace it to my custom buttons I had made. I have since replaced them with new buttons and redid the main windows of the program. So far on my system with DEP enabled the crashes have stopped :-)
Many UI changes
Multiple code tweaks.

Multiple small bug fixes.
Multiple code tweaks.
More commands added to handle more routers.

Bug fixes.

Minor bug fixes.
Added more commands to handle more routers.

Script Code improvements to better handle certain routers.

Added more commands to handle more routers.

Many code updates to make the scripts work better and handle more routers.
Program now remembers the window positions instead of always starting in the center of the screen. This is for users with dual monitors who wish to have the window open where they put it, such as on a different screen.
Code improvements and changes.
Normally all settings are stored in a ini file so people can use it on thumb drives and on different computers. The new window position settings will be the only settings stored in the registry. The reason for this, if you use the program from a thumb drive, save the window position, then when you run the program again from the thumb drive on a different system that has a smaller resolution and such, then the program would open off screen. by storing the keys in the registry it stays for the computer in ran on instead.

Added more commands to handle more routers.

Graphic bug fixes in the main window. The text in the list would become corrupt, that has now been fixed.

GUI code fixes.
Added a new right click menu option to the rule list in the main window of the program. "Update All With Current Local IP" will allow a user to update all the rules in the list with their current local IP. This is useful for the people who use the portable version with thumb drives and on jobs and the local IP is different on each machine they run it on. Also for users who haven't ran the program for a while and their local IP is different. Before the user had to click on each rule to update the IP. Now they can do it with one click.
Major code improvements.
Updated the log text to be easier to read.
Program is now compatible with DEP, and should stop the program from crashing when DEP is enabled on the system.
Changed the search router list button from an icon to text. This will help new users see the search option better.

Code fixes and improvements.

Fix minor graphic glitch in the main window of the program.

Code improvements on all script commands to better handle more routers.

Added more commands to handle more routers.

Code improvements to many script commands.
Added more commands to handle more routers.

Updated All commands to better handle certain conditions that would cause the commands to fail if certain characters where in the command name. This update now allows the support of even more routers.

Updated the Static IP tool with a new Save preset option. This is for those users who change networks.
Improved some of the user interface code.

Some users who ran the port tester would have virtual networks installed. The port tester would have this IP chosen by default sometimes, which would cause the port test to fails since some users didn't see the IP and change it to their correct local IP. I have made the program now auto change to the users correct IP. This should help avoid those situations.

Code improvements to multiple commands. Some older routers and even a few newer routers have the same text box names on the port forwarding pages for every text box. This made it hard for the program to know which box to go to when adding rules. The new improvements now handle this and these routers are now fully supported.

Updated dozens of commands to better handle more routers.

Tweaked some of the new commands for better performance.

Updated Pro feature to detect port settings from newest version of StrongDC++
Some new routers have a validation code at login, I have added new commands to handle these new logins.

Small bug fix, one of the commands that deals with combo boxes was failing on certain values. This has now been fixed.

Small bug fix. One of the buttons on the check list wasn't working. That is now fixed :-)

Added a new command line to run the program in a basic UI mode. So instead of the new interface the basic will go back to the windows default theme. This is for people on versions of windows older than XP or who have trouble with the new interface. To run in basic mode use the command line -basic or /basic

Code improvements.

Fixed graphic glitch when a user was using scaling higher than 100%.
Improved memory usage of the program. The new graphics where taking more memory than I cared for. The program now auto cleans its memory every 15 sec.
Program is now 100% portable.
Removed VB6 SP6 runtimes from the setup. Most systems already have these files and this will reduce the download size of the program setup.

Fixed small bug where when the program added entries for some P2P clients it made the names to long. Thus some routers wouldn't accept the port forwarding rule. The program now makes the names smaller.

New & improved user interface.
Added more commands to handle more routers.
Code improvements & tweaks.
Removed Branding options, program is no longer able to be branded.
Removed custom color options. With the new Skin interface changing colors is not option. On all non skinned windows they will use the current system theme for colors.
Program is now Free/Pro version. The core of port forwarding is still free. So users can still auto port forward like always. All extra features and all new upcoming features will be part of the pro version.
Key codes for the pro version will also work for Simple internet Meter. So users get 2 programs for the price of one, and all current buyers of Simple Internet Meter get Simple port Forwarding Pro for free.
Previous versions of simple port forwarding will no longer get any updates. Such as Routers, ports and program updates.

Added more commands to handle more routers.

Tweaked the detect router code to auto detect more routers.
Fixed small bug in silent mode option.

Added more commands to handle more routers.

Added support for the program to use both ADO and DAO. The program will first try to use ADO to connect to the databases, if it fails it will use DAO instead. This should help the people who have one or the other corrupt on their system.

Small fix, the detect multiple routers tool was not listing the routers in the correct order, that has now been fixed.
Added more commands to handle more routers.

Changed the way silent mode works in the program. On some routers (Linksys for example) the web page would not accept the way the program tries to log in (Example: http://admin:password@
When silent mode was enabled it kept the standard log in window from appearing so the page wouldn't load. The program will now still suppress error messages from pages but allow the log in box to show.
So now no extra steps are needed to make pages like this work. If the router doesn't accept the current log in (Example: http://admin:password@ then the log in box will show like normal and the user can log in, even with silent mode on.

Fixed bug when an @ or : was in the username or password.
Fixed manifest file to force the program to use the ocx files in the same dir. Some systems that had multiple versions of the same ocx files and would cause the program to crash.

Fix some minor bugs in a few of the commands.

Removed the 172. ip range from the "Detect Multiple Routers" Tool.
Fixed error during startup.
Fixed bug where the program would take 100% cpu until a router was selected.
Improved the search function when doing a search in the router list.

The program now Uses ADO instead of DAO to connect and read the databases.
Fixed bug where program would lock up if the user had multiple network connections and a non internet connection was set as default.
Added error reporting at program startup. If the program has trouble connecting to the databases the user is informed instead of the program locking up.
Fixed a bug in one of the commands.

Code improvements to multiple commands.
Updated detection code of the "Detect Multiple Routers" Tool.

Small bug fixes.
Added more commands to handle more routers.
Fixed program crashing when updating to a new version.

Removed multiple 3rd party controls and now make direct API calls instead. This uses three less files and makes the setup smaller and the program faster.
Minor code improvements.

UI Changes.
Added new item under the Advanced menu, "Open Windows Firewall".
Added new item under the Advanced menu, "Open Network Connections".
Added Unicode support. Now the program can handle any language. Supported languages has increased from 11 to 52.

Bug fix, some of the commands I changed would break under certain conditions and thus that command would fail, this has now been fixed.

Program is now 99% - 100% translatable (I may have missed only a few areas hehe).
Set Static IP tool now remembers the static IP the user set. So if the user runs the tool again the IP wont change on them.
Bug Fix: Current Local IP in the menu now properly updates when your IP changes.
Minor bug fixes.
GUI Changes.
Code improvements.
Added more commands to handle more routers.
Removed Getting Started Info Text. Since the check list was added the info tab and text was unneeded.

Added support to detect the port settings of Vibe Streamer (
Minor Spelling Corrections.

Added more commands to handle more routers.
Added more info on what to do when a user gets an error (Example: Getting Access Denied errors) when trying to update their routers. This should help users get things working faster instead of waiting for support.

Added more commands to handle more routers.

Small bug fixes.
Added new setting under the advanced menu. "Enable Script Throttle", normally the program pauses .5 sec between each step in a script, this isn't always needed and can help speed things up.
Small UI changes.
When using the set static IP tool the boxes where locked, they can now be changed manually by the user.
Program now shows the machines local IP address in the right hand side of the menu.

Small GUI fixes.
Adjusted the detection code for the special programs list to take into account the virtual folders in Windows Vista & newer.

Added more commands to handle more routers.
Updated the detect multiple routers tool to better detect certain IP's.
Added a new tool to clear IE's cache. Since the program uses IE to view the pages sometimes a page would load out of IE's cache causing a problem with the page not being updated. Aside from adding a new command to include in the scripts this can also be called by the user as well from the advanced menu.

Added new tool to detect if a user is behind multiple routers.
The program now auto detects if the user is behind multiple routers and lets the user know on Step 1. of the check list.

Small bug fix for routers with long text box names.

The built in port tester now test both TCP & UDP ports.
Small bug fixes.

Added more commands to handle more routers.
Made editing the script from the program possible. This mainly benefits me when I am trying to help and support a new router and the user doesn't have MS Access installed on their system so I can edit the script. Now the script can be edited right from the program.
Small bug fixes.
Code improvements, making some commands and calls more efficient.
Multiple user interface changes and tweaking.
Added a new repair Internet Explorer Tool under the advanced menu. This tool reregisters all the files needed for IE and fixes a lot of problems when IE isn't working right.
Added a new repair MDAC and Jet tool. This will help fix problems when the router database wont load.
Added new menu item to point people to a page on the site to help if port forwarding still doesn't work after the router has been updated.
Added a new Check List to the getting started window. This will help guide users from start to finish.
Added support to detect the port settings of BitLord (

Added many more commands to handle more routers.
Added support to detect the port settings of strongDC++ (
Added support to detect the port settings of DreaMule (

Added more commands to handle more routers.

Added support to detect the port settings of Ares P2P (

Added better error handling to help find problems easier.
To help new users better handle some p2p programs the program will now check the p2p programs settings and get the port for the user. All p2p programs set a random default port on each install so there was no way to have them added to the program list. So it was up to the user to go to the p2p program, find the settings and see what port it is using. Well now the program will do it for you making things much simpler for the user. Currently support p2p programs (to get their settings) Azureus Vuze, BitComet, BitTornado, BitTorrent, Emule (Shared), Emule (User Specific), LimeWire, Shareaza, uTorrent.
The program no longer uses for its port testing. I have added my own port tester to the site. This will give me more options to adding more features in the future.

Added more commands to handle more routers.
Small UI fixes.

small update, Kept getting requests to add some programs and games to the ports database. But some programs can't be added. An example is uTorrent, it uses a different port on every install. So now the program will display a list of programs it cannot have in the database and the reason why. This should help with the number of requests I get.

Fixed rare bug where the wrong script would load.
Added new options under the advanced menu to allow the user to view the scripts that is loaded for the selected router.
Added more options under the file menu.
When adding a new port to forward the default was the custom tab, this has been changed to the Database tab.
Added a option under the tools menu for a person to contact me if the router pic used for their router isn't right.
Added link to the contact me page on the add new port window, if a person would like to have a program or game added to the port database.
Added a "search for router" window. The router list is growing large, and trying to find your router in a drop down can be hard. I have added a search window to hopefully make it a little easier on users.

Added more branding options, such as changing the logo. These new options are to make the branding more for the user.
I have also removed the "Powered By" from the title when branded.
I have replaced the donate text link with "Powered By" on the main window when branded.

Better enhanced the user interface. With the last update the logo was a gif and looked horrible when the colors where changed. The logo has been replaced with transparent png's instead.
Fixed a few bugs in the user interface. Some items were not resizing properly.
Made the port tester window resizable.
You can now change the programs colors without having to restart for the colors to take effect.
Some small code enhancements.

The program can now be branded! You can now change the name of the program in the title of each window. Example: Normal - Simple Port Forwarding By, Branded: My Awesome Program - Powered By
Which means you can package and put the program out for your site or company. However there are some rules! make sure to read more about it in the help file.
Added a new auto detect feature. The detect router feature works well with a lot of the netgear and some of the linksys. These routers give their model on the first http response. Other routers don't. So it doesn't work for all. But I will be expanding on this later. When you run the program for the first time it will try to auto detect the router IP and model. Taking an extra step out of the process for the user.
You can now change the colors of the program. This is for people out there who like to have certain colors. And also when a person brands it they may want to use different colors.
Fixed a small bug with removing ports from the windows firewall.
Some minor code improvements.

Added more commands to handle more routers.

Added more commands to handle more routers.
Small fixes and improved some of the code.
Added a page loading progress page to the program.
Changed the way to program waits for a command to finish. Before it would take 100% cpu while waiting, this has now been fixed.
Fixed the "View/Remove Ports" screen to handle new window pop ups.
Redid the way the port tester determines if the test is successful or not. Before it would read the webpage and look for the word success. Now it instead checks if a connection attempt came in on the port, making the test more reliable.

The program now has its own website. the program is still part of it just now has its own product page. Both web sites will be linked together and be apart of each other. Having its own site will allow me to have more detailed information on the program.
The program now supports multiple languages. A small portion of the program is English only, but the main interface now supports 10 other languages.
The program can now connect to any address, which means it can now work with remote routers through their web interface the same way you can normally with a local router on your network. Of course you have to make sure remote management is enabled and supported by your router.
Added more script commands to support more routers.
Slowed down how fast the scripts run. On some routers the script would run too fast and cause errors with the script.
Cosmetic changes.

Needed to add more commands to handle some newer routers.
Removed 2 files from the setup. the database dll's are part of MDAC and MS Jet 4.0 which is part of the OS from Windows 2000 and above. No need to have the files in the setup and taking up space.

I have changed the way the program displays the router pictures. Normally the router pics are stored on the users system and are updated when you update the databases. But with so far 172 routers the update is 1.5 MB so as more routers get add the update file will grow rather large. So now the program will download the router picture from the website cutting down on the size of the updates dramatically. Even lowering the size of the program setup. After all why have so many pictures of routers on your system if you only use one? By removing the router pics from the updates the update size has gone from 1.5mb to 165kb.

Added http type so users can now choose http:// or https:// depending on what there router needs. Very few routers need https:// but some when connecting through remote management needs it.
Added a new tool to add the ports being forward to the windows firewall. this tool will add each port being forwarded to the windows firewall making one less step for the user to do :-) This comes in handy when you need to add a lot of ports! You may ask, well I will just add the program that needs the ports to the firewall, but this doesn’t always work with such programs like a ftp server, IIS and a lot of programs that listen on a port but doesn’t make outside connections, or programs that use multiple exe's and services. Sometimes you have to add the port to the firewall, this new tool will make that easier than ever.
Added a donate button to the main window. This is for mainly my benefit :-) If people like the program and have a few bucks to spare they can donate to me if they like. I want to keep all my programs free, so donate is the answer.
Fixed small bug where the program was miscounting the total of "Ports To Be Opened:" text.

Program now handles when a page opens a new window. This allows the program to now support routers that would pop open a new window with port forwarding.
More commands added to handle more routers.
Minor Bug Fixes.

Added new setting to allow the user to set what port to connect through. This is needed for router pages that are not on the default port 80. Plus this also allows the user to connect to routers through their remote admin pages.

Fix a bug that cause the program not to set the combo boxes on some router pages and would also keep the program from finishing the script.

Redid some commands to handle more options.
fix bug where the view/remove ports button wouldn't load a page after you clicked the update router button.

Added donate button under the help menu.
Added new File menu.
Added minimize button to the main program window.
Made the IP address boxes a little bigger.
Changed the 'Visit Website' under the help menu to go to the program page instead of the sites main page.
Added hotkeys to the menu.
Fixed tab order in the program.
Fixed some spelling errors.
Changed the programs exe name from Simple_Port_Forwarding.exe to spf.exe
Added new program update system for the program. Now when there is a new update to the program you can have the program download the new update and apply it automatically. Thus the user no longer has to download the new setup, the program will download the new exe, saving time and bandwidth for both the user and my site. Also the new update check only checks once per day when you open it.
Added new code so the program will now check if an entry name is already on the router page. If so it will skip that entry. Example: if you add some entries and click update router the router gets updated. You then add a new entry along with the other ones that have already been applied and you click on update router again, the program will now skip the ones that were already done as it will see the entry names on the page and skip those, thus only adding the new entry.
Changed a lot of code around and clean some things up, also added even more commands to handle more routers.

Added a ton more commands to handle even more routers.
Redid a lot of code making it more efficient.

Added a lot more commands to handle more routers.
Improved some of the commands on how they handle the pages.
Added Silent mode, a user can control if the pages show script errors or popups.
Added a first time run window telling the user to make sure to update the database as new routers are being added all the time.

Added more commands to handle more routers.
Fixed a few small bugs.
The user can now leave the username and password blank, when the program loads the router pages it will then pop up asking for the username and password. This is needed on some routers that don't like how the program passes the username and password.

Added more commands to handle more routers.
Fixed a few spelling errors.

The program is now free!

update to support more routers.

Added more commands to handle more routers.

Added more options for routers.
Added more error handling.
Added more checks and balances.
Added new options to the router database for how many entries a router can hold, this helps when people try to add more than their router can handle.
Added splash screen so users can see the program has opened. (In previous versions the program would not open right away due to it connecting to the database, now the program does nothing till the splash is shown so the user knows the program is running)
Added an extra step in the "Getting Started" screen, it now informs the user to click the "View/Remove Current Ports" button and clean up any unneeded ports before adding the new entries.
Fixed bug where adding a new custom entry with the same name as another entry, the program didn’t warn the user.
Fixed bug where if you tried to add a entry with the same ports as another entry but with different protocols the program still wouldn’t let you continue, saying the port was already in the list. The program now checks the protocol as well so this doesn’t happen again. Example Ports 45 - 50 on TCP and ports 45- 50 on UDP will no longer cause the warning.
Added Debugging mode option. This will allow the user to see which command is failing from a script if the program isn’t working with their router.
Added new tool to help check if your ports are open and working with port forwarding.
Added support to handle pages with frames.
Added Pictures For Each Router In The Database.

Added more commands to handle more routers.
Code tweaks and cleanup making the program handle errors and pages better.
Added new options to the router database to better handle routers.

First Release