Published Sep 17, 2010
Updated Nov 27, 2012
"Quickly" gives a country name from an IP (less than 0.01 sec).
Updated on 2 Nov 2011
All flattrs received will be used to flatter others : )
The Script can:
* show the country as part of the JOIN & PART & QUIT message & much more
* show the country in the /whois , /whowas & /who reply
* show the country on the first line when a new QUERY or DCC Chat window opens
* show the country of a DCC File Sender or Receiver
* show the country when you right click on a nick
* show the country when you DNS an IP
* show you a whole channel's country details at once
* show the country code(s) of the countries caught in a ban
* check someone or an IP manually
* add your own 2nd level domains if you know their country (150+ already included)
* work as an identifier in your own scripts
* run your custom actions on given countries after a JOIN/PART/QUIT
* reply to public !ip & !country queries
* give your messages where you want in the colour you want
* and more.
The addon comes with extensive built in help documentation and works with mIRC v6.01+
<span style="font-weight:bold;">Precofigured to run seamlessly on loading.
No need to set up anything as it starts with a recommeded set of options.
It's fun, easy to use, and simple to switch on & off all, or just parts of it.</span>
<span style="color: #000; font-size: 9px;">Addon will work from mIRC v6.01 upwards
Please be aware that country information can only be shown
if the IP is found and not hidden, and the country is where
the IP is from and not necessarily the country the person is in.</span>
Nov 02, 2011
Oct 10, 2010
Oct 02, 2010
Sep 26, 2010
Sep 20, 2010
Sep 17, 2010
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 (~firstname.lastname@example.org) 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 on 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.