     					 DnsSpeeder 2.85 Readme
                     
                                             Aug.10 2012
                                             
                                        Author :    sharewarestudio.com
                                        Email  :    support@sharewarestudio.com
                                        Website:  http://www.sharewarestudio.com
						  

-----------------------------------------------------------------------------
Caution: This program is a freeware, any possible loss caused by this program is no relation to sharewarestudio.com, if you don't permit this, 
you must delete it immediately. If you use this program, We consider you permit all of these.   
-----------------------------------------------------------------------------

Contents
   1. Overview
   2. System Requirement
   3. What's New
   4. Files
   5. Getting Started
   6. Known Issues
   7. Revision History
   8. To do

------------------------------------
1. Overview
------------------------------------

DnsSpeeder is a green, lightweight and freeware networking tool capable to run as a DNS proxy/server,therefore speeding up your Internet connection. 
DnsSpeeder accepts clientĄ¯s DNS requests and looks up the ip addresses of the requested domain at local cache, when found, it sends the result to the client. 
If not,it sends query to certain DNS servers and return resolution results to the client. 

The features as following:
 
1.1 DNS proxy/server

    -. It sets all the DNS servers of active adapters of localhost to "127.0.0.1" and binds to udp port 53 so that it can see all the requests from localhost.  From version 2.50,
       it can bind IP address, binding "127.0.0.1"  means binding all adapters and resolving domains only for localhost, binding other ip address means resolving domains 
       for localhost and other computers.  You can disable resolving domains for localhost.
    -. It accepts clientĄ¯s DNS requests and looks up the ip addresses of the request domain at local cache.when found, it sends the reults to the client. If not,
    it sends query to certain DNS servers and return resolution results to the client. 
    -. It deals with the A record now, any other records will be forwarded to the DNS servers.
    -. It reads DNS servers from Windows registry and uses the first ip address as default forwarding DNS server. You can modify this DNS server.
    -. Detect  the first DNS server every 10 seconds, if down, it will test the second DNS server, if all DNS servers are down, it will remind user by red-twinkled trayicon. 
    -. Managing more DNS servers, test their resolving speed to select the fasted DNS server.
    -. It can filter some unsuitable domains by setting up regular expressions and domains, as to regular expresstions, see http://msdn.microsoft.com/en-us/library/ae5bf541.aspx 
    -. Sometimes the system DNS resovling may become abnormal after you stop dnsspeeder, it may be caused by wrong system DNS servers, 
  you can set up correct system dns servers by "Restore DNS" feature.
    -. Black IP, some DNS servers will reply to DnsSpeeder with wrong IP addresses to hijack domains, DnsSpeeder can delete these ip addresses and prevent them from 
  entering cache.
    -. Supporting resolving DNS from SOCKS5 protocal smoother than before. 
    -. Support Windows XP/2000/2003/Vista/WIN7. 

1.2 DNS cache item

  -. It can save DNS cache items on localhost, You can add/modify/delete/import/output the DNS items. If DNS items are outdated, 
  you can delete them by setting a certain outdated period.
  -. You can resolve DNS by hand, DnsSpeeder will resolve all DNS items within a certain period automatically, that is Updating Regularly. 
  You also can 'Updating by TTL', that is updating single DNS record individually when the TTL of this record is out of date. 
  -. You can search and locate any DNS item by a keyword.
  -. Using a new file to save DNS items named "DnsItem.dat", you can import the file "DnsItem.csv" from DnsSpeeder 1.5 or 1.8.
  -. Now you can set some domains not to update, it is useful if you want to let the ip address of a domain to be same.
  -. You can add domains to filter list to filter them, you also can add ip addresses among DNS cache items to Black IP.

  1.3 Performance Statistics

  -. DnsSpeeder can display its runtime status and some performance data such as 

       Cached DNS items,
       Cache Last Update,
       Cache Next Update,
       Total Run Time,
       Current DNS server,
       Total Requests, 
       Illegal Requests(not requests or wrong requests)
       Discard Requests(requests discarded if there is a same domain being resolved),
       Filtered Requests(requests filtered)
       Cached Reqeusts(requests cached in cache list),
       Non-Cached Requests(requests not cached in list, have to query from the DNS server ), 
       DNS lookup errors(errors occurred during the query process), 
       Saved Time(saved time for you),
       Avg Respond time for all requests, 
       Avg Respond time for forward requests,
       Avg Repond time for cached requests, 
       Avg Respond time for remote DNS server.

  1.4 Other features.

   -. Start at login automatically.
   -. You can use nslookup to test current DNS server or DnsSpeeder.
   -. Display new trayicon features when DnsSpeeder is started,stopped,resolving,offline.
   -. It can use SOCKS5 proxy server to resolve domains, however, we are not  so sure of this feature.
   -. Support English , Simplified Chinese and Traditional Chinese,  you can modify "English.lng" to translate a new language and rename "English.lng" to other filename
    like "New language.lng", then email to us (support@sharewarestudio.com), we will add the new languarge translation to DnsSpeeder.
   -. All requests will be displayed on Tab requests. You can modify the max displayed number.

2. System Requirement.
------------------------------------
 -. Local : Windows XP/2000/2003/Vista/WIN7
 -. Remote : All computers including network devices
 
3. What's New
------------------------------------
+You can import from files with black ip addresses to Black ip list now.
+If you stop DNSSpeeder, it will not check online status and resolving speeder of DNS servers' any more. If you want to enable this freature, you can exit DNSSpeeder, then modify 
  the "DisableDNSServerCheckingWhenStopped" item in DnsSpeeder.ini from 1 to 0.  restart DNSSpeeder.
+Support Vista/WIN7 operation system.  You should NOT run DNSSpeeder from disk c:, you had better copy all DNSSpeeder files to disk D: or disk E: and make it run as a adminsitator.
=Fixed a serious bug, it may make DNSSpeeder crash when it recieves illegal data from DNS servers.
=Fixed some bugs when SOCKS5 proxy is enabled.
=Fixed program updateing problem for version 2.80, reporting 2.80 as a newer version.
=Fixed black ip amount problem, whatever the amount of black ip, the length of black ip list in DnsSpeeder.ini will be cut to 256 characters.
=Fixed cache update display on the main dialog, changed to display currect updating method.
=Fixed some interface problems under WINXP English version.
=Fixed checking resolving speeder of DNS server, when checking is started, any menus will be cancelled.  
=Fixed two same DNS servers will appear in the listbox which is to right-up on the interface.

4. Files 
------------------------------------

File                                              Discription
-----------------------                      -----------------------------------------------------------------------
DnsSpeeder.exe                     Main execute file.
DnsSpeeder.pdb                    Together with BugCatcher.dll for bug reporting.
BugCatcher.dll                         Together with DnsSpeeder.pdb  for bug reporting.
DnsSpeeder.exe.bug             Bug file generated by BugCatcher.dll, if you encounter crash, you can send this file to us.
requests.dat                             Generated by DnsSpeeder, saved DNS requests if you troggle "Log all requests to file".
IpLocation.dat                          Used by DNS servers checking, acquire country from ip address.
dnsspeeder.info                     This file
dnsserver.txt                            DNS servers file used by DNS servers Tab. 
DnsSpeeder.ini                      Config file for DnsSpeeder
DnsSpeeder.log                     Log file for DnsSpeeder
DnsItem.dat                             DNs cache file
SimplifiedChinese.lng           Simplified Chinese language file
TraditionalChinese.lng          Traditional Chinese language file
English.lng                               Standard language file used for translation.


5. Getting Started
------------------------------------
  -. Firstly, download this program and unzip it.
  -. Second, just run DnsSpeeder.exe
  -. To stop, click stop button.
  -. To start, click start button.

6. Known Issues
------------------------------------
-. DnsSpeeder should be run under administrator privilege. If not, DnsSpeeder will not work properly.
-. When DnsSpeeder starts, it will change system's DNS server to 127.0.0.1 and stop DNS Client service if it is on; 
  when it stops, it will change system's DNS server to all the DNS server displayed on DnsSpeeder interface and start DNS Client service if it is initially on. 
  Sometimes the system DNS resovling may become abnormal after you stop dnsspeeder, it may be caused by wrong system DNS servers, 
  you can set up correct system dns servers by "Restore DNS" feature.
-. During DnsSpeeder running, the DNS server settings of every adapter cann't be changed, otherwise DnsSpeeder cann't work.
-. When running under Vista/WIN7, MAKE SURE NOT to put DNSSpeeder files to disk c: . and run it with administrator power level.

7. Revision History
------------------------------------
= bug fixed
+ improvement/modification
-  feature deleted

[Start of Versions History]

Version 2.85(Aug.10,2012)
--------------------------------
+You can import from files with black ip addresses to Black ip list now.
+If you stop DNSSpeeder, it will not check online status and resolving speeder of DNS servers' any more. If you want to enable this freature, you can exit DNSSpeeder, then modify 
  the "DisableDNSServerCheckingWhenStopped" item in DnsSpeeder.ini from 1 to 0,  restart DNSSpeeder.
+Support Vista/WIN7 operation system. You should NOT run DNSSpeeder from disk c:, you had better copy all DNSSpeeder files to disk D: or disk E: and make it run as a adminsitator.
=Fixed a serious bug, it may make DNSSpeeder crash when it recieves illegal data from DNS servers.
=Fixed some bugs when SOCKS5 proxy is enabled.
=Fixed program updateing problem for version 2.80, reporting 2.80 as a newer version.
=Fixed black ip amount problem, whatever the amount of black ip, the length of black ip list in DnsSpeeder.ini will be cut to 256 characters.
=Fixed cache update display on the main dialog, changed to display currect updating method.
=Fixed some interface problems under WINXP English version.
=Fixed checking resolving speeder of DNS server, when checking is started, any menus will be cancelled.  
=Fixed two same DNS servers will appear in the listbox which is to right-up on the interface.

Version 2.81(Jul,30,2011)
--------------------------------
=Fixed program updateing problem for version 2.80, reporting 2.80 as a newer version.
=Fixed black ip amount problem, whatever the amount of black ip, the length of black ip list in DnsSpeeder.ini will be cut to 256 characters.
=Fixed restore DNS button and tray menu, when DNS proxy started , restore DNS function should be prohibited.

Version 2.80(Jun.19,2011)
--------------------------------
+Add a new domain updating method named 'Updating by TTL'  except 'Updating Regularly ', Updating by TTL means updating single DNS record individually
   if the TTL of this record is out. You can select this new updating in option dialog.
+Remember the maximum status of the main dialog.
=Fixed tab control bug, sometimeswe cann't see the scrolling bars in  tab control. 
=Fixed when add new domain to filtering list, there is only the last domain left.
- Discard automatically download default DNS serves from the official website.

Version 2.50 ( Dec. 23,2010)
--------------------------------
+ Add menu to main interface,Improve Options dialog and Report dialog. Enable maximum the main dialog.
+ Add a meter to indicate the amount of DNS requests every second.
+ Support English , Simplified Chinese and Traditional Chinese,  you can modify "English.lng" to translate a new language and rename "English.lng" to other filename
like "New language.lng", then email to us (support@sharewarestudio.com), we will add the new language translation to DnsSpeeder.
+ Add two tabs,one is Requests, to display all requests in detail, the other is DNS severs, to check the real DNS resolving speed of every DNS server.
+ Add r-click menu for tab Requests and tab DNS severs.
+ Add Black IP feature, some DNS servers will reply to DnsSpeeder with wrong IP addresses to hijack domains, DnsSpeeder can delete these ip addresses and 
prevent them from entering cache.
+ Managing more DNS servers, test their resolving speed to select the fasted DNS server.
+ Imporved domain and regular expresstion filtering.
+  it can bind IP address, binding "127.0.0.1"  means binding all adapters and resolving domains only for localhost, binding other ip address means resolving domains 
     for localhost and other computers.  You can disable resolving domains for localhost.
= Fixed program update checking thread.

Version 2.10 ( Sep. 20,2010)
--------------------------------
+ Add a new button "Options" and a new dialog "Options"  to set up some settings. Move some settings from main dialog to "Options" dialog.
+ Add a new button "Filter" and a new dialog "Filter", let user to set up some filter expressions to prohibit  unsuitable domains.
+ Add a new button  "Restore DNS" and a new dialog "Restore DNS", Sometimes the system DNS resovling may become abnormal after you stop dnsspeeder, 
it may be caused by wrong system DNS servers, you can set up correct system dns servers by "Restore DNS" feature.
+ Efficiency of dns resolving was Improved,It uses multi-thread to resolve domains, now it can resolve a large quantity of domains in a high speed.
+ Using a new file to save DNS items named "DnsItem.dat", you can import the file "DnsItem.csv" from DnsSpeeder 1.5 or 1.8.
+ Add a new feature about DNS item updating and add a new column "Update", now you can set some domains not to update, it is useful if you want to let the ip address 
of a domain to be same.
+ System-tray icon indicates if DnsSpeeder is offline.
+ The menu of system-tray icon was improved, "Options" and "Filter" were added.
+ When adapter is down and up again, DnsSpeeder acts properly. 
+ The speed of displaying DNS items is Improved.
+ Add several new items to Performance Statistics, such as Cached DNS items,Cache Last Update,Cache Next Update,Total Run Time,Current DNS server,
Queued Requests, Illegal Requests,Filtered Requests.
= Fix treating other DNS record type as A record, any other records will be forwarded to the DNS servers.
= Fix when you stop or close DnsSpeeder, however, you cann't access the Internet any more, when you start DnsSpeeder again, it is ok.
= Fix a big sorting bug of the cache list, sometime when sorting, its cpu usage will be up to 50%-100%
= Fix a serve bug, when DnsSpeeder recieves a unrequested DNS response, it will crash.

Version 2.00 ( Aug. 18,2010)
--------------------------------
+ Add a new button "Options" and a new dialog "Options"  to set up some settings. Move some settings from main dialog to "Options" dialog.
+ Add a new button "Filter" and a new dialog "Filter", let user to set up some filter expressions to prohibit  unsuitable domains.
+ Add a new button  "Set System DNS" and a new dialog "Set System DNS", Sometimes the system DNS resovling may become abnormal after you stop dnsspeeder,
it may be caused by wrong system DNS servers, you can set up correct system dns servers by "Set System DNS" feature.
+ Efficiency of dns resolving was Improved,It uses multi-thread to resolve domains, now it can resolve a large quantity of domains in a high speed.
+ Using a new file to save DNS items named "DnsItem.dat", you can import the file "DnsItem.csv" from DnsSpeeder 1.5 or 1.8.
+ Add a new feature about DNS item updating and add a new column "Update", now you can set some domains not to update, it is useful if you want to let the ip address of
a domain to be same.
+ System-tray icon indicates if DnsSpeeder is offline.
+ The menu of system-tray icon was improved, "Options" and "Filter" were added.
+ When adapter is down and up again, DnsSpeeder acts properly. 
+ The speed of displaying DNS items is Improved.
+ Add several new items to Performance Statistics, such as Cached DNS items,Cache Last Update,Cache Next Update,Total Run Time,Current DNS server,
Queued Requests, Illegal Requests,Filtered Requests.
= Fix treating other DNS record type as A record, any other records will be forwarded to the DNS servers.
= Fix a bug when you stop or close DnsSpeeder, however, you cann't access the Internet any more, when you start DnsSpeeder again, it is ok.
= Fix a bug of the cache list sorting, sometime when sorting, its cpu usage will be up to 50%-100%
= Fix a serve bug, when DnsSpeeder recieves a unrequested DNS response, it will crash.

Version 1.80 ( Nov. 12,2009)
--------------------------------
+ Add a new button "Detail" and a new dialog "DnsSpeeder Information" to display some statistics data and status data. This dailog can record its position and 
whether it is be displayed or not, so that next DnsSpeeder starts, this dialog will appear by itself. 
+ DnsSpeeder will reserve dns servers for every adapter, when DnsSpeeder stops or exits, It will restore correct dns servers.
+ DnsSpeeder restarts the "DNS Client" service depending on whether it was initially started before DnsSpeeder started. 
+ Add s new option "Hide this dialog when starts" to hide DnsSpeeder's main dialog when it starts.
+ The "Dns cache list update" option can be disable now, just set the value to zero.
+ Dns cache list can be multiple selected.
+ System-tray icon indicates if DnsSpeeder is running,disabled,updating,etc,.
+ The menu of system-tray icon was improved, serval item were added.
+ Efficiency of dns resolving was Improved, 
+ You can delete outdated DNS items by setting a certain outdated period.
+ It can clear the hits count  of all items or selected. 
+ Add a new column "LastHitDate" to indicate the last hit date of every DNS items.
= Fix DnsSpeeder will clash when recieves a dns reply exceed twenty ip addresses.
= Fix the "Start at login" option didn't act normal.
= Fix column sorting (descending/ascending)  act abnormally.
= Fix sorting the ID, TTL and HIT columns result in the column heading to be obscured or disappear.
- Delete TTL value from DNS Item and DNS item property dialog.
- Delete the "Hide" button.

Version 1.50 ( Sep. 25,2009)
--------------------------------
 + It can  resolve all DNS items within a certain period automatically. 
 + It can start when Windows starts.
 + It can display the count of DNS items, handling domains and current used DNS server.
 + It can verify whether the DNS server is up or not, thus it can remind user to setup corrent DNS server .
 = Fix when DnsSpeeder stopped, the system cann't access the Internet.
 = Fix DnsSpeeder not working when DNS Client service is up.

Version 1.25 ( Sep. 15, 2009)
--------------------------------
+It can read DNS servers from system and display them on the list of DNS Servers.
+CannĄ¯t run two instances of DnsSpeeder.
+Dns resolving capability was improved.
=It can save DNS servers to ini file properly.
=Fix threads suspended when many DNS resolving requests coming at the same time.

Version 1.20 ( Sep. 4, 2009)
--------------------------------
 This program is released.

[End of Versions History]

8. To do
------------------------------------
+ Setup resolving rules, to filter source ips, domains, DNS types, tagart ip addresses, etc.
+ Support authoritative resolving, this is, to become an authoritative DNS sever.
+ Setup a windows service to improve pereformance of resolving.


support@sharewarestudio.com
http://www.sharewarestudio.com

