Please Disable Ad-Block To View This Website.

If you block ads, this site can not survive!

Ads are very minimal for registered users. If you don't have an account please register now!

DOWNLOAD
 Full Scripts
 Addons
 Snippets
 DLLs
 MTS Themes
 Tutorials
 Misc.
 File Queue
 Download mIRC
INTERACT
 Screenshots
 Challenge
 Top Downloads
 Submit Form
 Forums

SEARCH
Site Search

FRIENDS
Link to us!
PhotoShelf

Home | Comments:
Average Rating:   10   ip2country v1.06 by Free
Description:
A remarkably detailed addon that includes a great many features, all of which are centered around the association of a host name or IP with a particular location in the world, the resolution of which is performed at a lightning fast speed.

Submitted Review Author's Updates
Review
The first thing that strikes me about this addon is how insanely comprehensive it is. The author appears to have all his bases covered and I have little doubt that any user, should they have the patience to go through the well

structured help sections in both the readme and the main dialog, could benefit greatly from it. However, for purposes of conducting this review I will play the part of the average user, inattentive and careless, whose first instinct is to load the script and dive straight into it without a moment's consideration. One of the greatest features, and the one that drew me to the addon initially, is the ability to show the country a user is connecting from in channel events (join, part, quit etc.). A curious person may routinely find himself venturing to IP Whois sites to look up the location of a user with whom they are unfamiliar; this addon would serve as an indispensable attachment to his regular mIRC setup. On to the script!

Ok, loading it was trivial. I'm told that the options that piqued my interest are already enabled, so let's try connecting and joining a busy channel: #ubuntu on Freenode with its 1500 users should do the trick. Within seconds:

[13:24:02] * amatuxx (~user@p5B2E9C79.dip0.t-ipconnect.de) from Germany has joined #ubuntu
[13:24:04] * wars (~wars@123.118.149.241) from China has joined #ubuntu

Note the timestamps; this script works quickly and on both hostnames and even unresolved IPs too. In fact, using the benchmark utility (accessible through popups as well as the main dialog) shows that a typical IP lookup takes an average of ~2ms on my machine. For most intents and purposes, that is instantaneous and a very impressive result. I leave the script running in the channel and open the scripts editor to glance at the code.

The script file is colossal, over 200KB! More documentation; the 'advanced features' section reveals a general purpose $ip2c() identifier geared towards scripters who plan to build upon the existing functionality of the script on the offchance that the author has neglected to include a particular feature. The code appears to be well commented, but at the same time I don't envy the scripter who takes it upon himself to try and follow it all. Scripting ettiquette seems to have been adhered to satisfactorily; names of aliases, variables etc. are verbose enough to be well understood, the code is split up into manageable routines, and the author has even simulated tabbing in his main dialog table definition so that it looks neater and more organized.

As a scripter, the portion of the code that interests me is the part aptly referred to by the author as 'the heart of the script': an alias that is given an IP and locates the range in which it lies from the 130,000+ ranges in its database. The solution is elegant: it's coded entirely in mIRC script and employs a simple binary search algorithm to locate a range in at most 17 iterations of its core loop. Measures have been taken to reduce execution time of all orders of magnitude and this routine is a prime example of what a difference a good method of data storage can make.

For a man of simple pleasures, this alias has hitherto served me with what I can safely say is all I really need. However, I haven't even scratched the surface of what's possible. I haven't mentioned its trigger response options, its extensive database update system, its performance monitors, plus the fact that it gives you complete and easy-to-use control over the list of hostname and IP entries. Download the addon and see these things for yourself, chances are you will be blown away.

My sincere compliments to the author for what must have been an extraordinarily laborious task. It's a shame that this had to be released at a time where site activity is at such a low point. Nevertheless, I hope this addon gets all the attention it deserves.

Reviewed by jaytea
1. Added BANS & UNBANS to show the country code(s) of the countries caught in a ban, & updated the Options Dialog to include "Bans/Unbans shows cc" - for switching on and off showing Ban country codes. This is OFF by default.
This was a complicated procedure (400+ lines of scripting) - and very complex ban masks might be ignored, yet hopefully every common and many not so common ban masks should resolve properly. Be aware that some ban masks can encompass many countries; the list may be longer than your liking. Example: //echo $ip2c.ban.check(212.*) returns the 2 digit country code (very long?) string of: BN UZ GA PK CD CG ZA TJ PH HK TZ GH QA VA OM LV AX KR HN AN UY VE GU VI ID NZ AU CN MY TW ZW CU EC SG PR DO GT CO BO PA PE MX CA BY BH MA RE BR LI TH GM GE RS MT FO GR BF KW BA AZ RO AM JP JO CY IS GG LB IL CL AR GI BI SC SZ UG SL SM KN NP SO KE ET MR AF MM CM CI MZ NG FI HR PS SI KZ MK EG LT AS SY SA DK AT JE LU IN EE NE AE IQ A2 SK BG CZ CH NO BE IT HU SE KG TR IE PL IR UA US NL MD SD FR PT GB ES RU EU DE

2. Added new top level domains: xxx ( http://data.iana.org/TLD/tlds-alpha-by-domain.txt )

3. Fixed a typo in ALIAS ip2c.IPv4.IPv6 : changed: {return ipv6) to: { return ipv6 }

4. Updated to website forum URL to go directly to the right section: Use the Forum:run http://www.much.net/forums/viewforum.php?f=45

5. Added a Help button for the Who/Whois option

6. Updated the /ip2c help info to display clearer

7. Updated ip2country.lookup.ini with more 2nd Level Domains. To use these, you will have to Rebuild (the 2nd Level) Domains.

Rebuilding is done by right clicking and in the menu popup: ip2c >> Settings & Options >> Update Domains >> Rebuild Domains Button


Screenshot:

Comments:

  Mode:    Create New Post

codemastr_Oct 22, 2010 12:09AM
Rating:     10wow jaytea nice review lol how much time did it take :) hehe

FreeNov 1, 2010 7:15AM
Perhaps not quite as long as it took to write the script :P



Create New Post

You must be logged in to post messages.