GeoIP addon
-----------

A simple interface between LDM and Maxmind's GeoIP location service. Because of
the proprietary nature and large size of the library, the IP database must be
downloaded and installed separately:

- Visit http://www.maxmind.com/ and obtain the free or
paid-for GeoLite country database.

- Install this database in the forum/helperapps directory
with name GeoIP.dat. (Take care with the upper and lower case
characters). Alternatively, edit the 'extras' geoip.xml
file and set the correct path and filename.

NB: I offer no support in respect of mistakes, gaps, etc, in this
database.


Install the extra in the normal way:

- Upload the geoip-plugin.xml plugin via the vb/admincp

- Upload the contents of the helperapps subdirectory
into your forums/helperapps subdirectory (create this
subdirectory if necessary).

- Activate/deactivate the extra and set the control parameters
via the LDM/Admin/Settings page.

This provides a framework for:

- Controlling LDM's 'mirror sites' feature, based on the visitor's
country of residence.

and

- Analysing access to LDM by country on the LDM/Admin/Hits page



Controlling LDM's 'mirror sites' feature
----------------------------------------

In order to use this feature, you must define which country locations should be directed to
which mirror, via the LDM/Admin/Settings page, GeoIP Interface, geoip_mirrormap setting.

A sample set of definitions are supplied in the extra's file 'sample-geoip-mirrormap.txt'
as model.

The setting consists of several lines, each starting with the name of one of your mirror
sites (as given on LDM/Admin/Mirrors), followed by a comma-separated list of
standard two-letter country codes, e.g. "mirrorname,AT,US". Sites may appear
more than once, to avoid long lines. Refer below for the current list of country
codes and corresponding country names.

The last line may take the form "mirrorname,*" to match all countries that have
not previously been specified.  It is also possible to include comment lines,
starting with #.

Thereafter, when the geolite extra is active and a user requests a download or
media play, LDM will find the first match for the user's country, and increase
that mirror's priority to 99999. As a result, this mirror will appear
preselected at the top of the list of mirrors offers to the user for downloads
and be automatically selected for media plays.

Users from countries that are not listed (and which do not match a wild card)
will be presented with the list of mirrors ordered in the normal way (i.e. by
priority number then by current speed of response).

Example:  The sample ldm_geoip.dat file contains the following content, which
assumes you have set up three mirror sites, with names LDM-EU, LDM-NA and LDM-ROW:

# Redirect EU-27 users to mirror LDM1
LDM-EU,AT,BE,BG,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HU
LDM-EU,IE,IT,LT,LU,LV,MT,NL,PL,PT,RO,SE,SI,SK
# NAFTA users go to LDM2
LDM-US,CA,MX,US
# The rest go to LDM3
LDM-ROW,*


Analysing access to LDM by country
----------------------------------

When the addon is installed and active, the LDM/Admin/Hits analyses are modified
to include information on per-country access and individual IP locations.



Codes/Countries
---------------

This is the current list of country codes used by GeoIP.

AF : Afghanistan
AX : Aland Islands
AL : Albania
DZ : Algeria
AS : American Samoa
AD : Andorra
AO : Angola
AI : Anguilla
A1 : Anonymous Proxy
AQ : Antarctica
AG : Antigua and Barbuda
AR : Argentina
AM : Armenia
AW : Aruba
AP : Asia/Pacific Region
AU : Australia
AT : Austria
AZ : Azerbaijan
BS : Bahamas
BH : Bahrain
BD : Bangladesh
BB : Barbados
BY : Belarus
BE : Belgium
BZ : Belize
BJ : Benin
BM : Bermuda
BT : Bhutan
BO : Bolivia
BA : Bosnia and Herzegovina
BW : Botswana
BV : Bouvet Island
BR : Brazil
IO : British Indian Ocean Territory
BN : Brunei Darussalam
BG : Bulgaria
BF : Burkina Faso
BI : Burundi
KH : Cambodia
CM : Cameroon
CA : Canada
CV : Cape Verde
KY : Cayman Islands
CF : Central African Republic
TD : Chad
CL : Chile
CN : China
CX : Christmas Island
CC : Cocos (Keeling) Islands
CO : Colombia
KM : Comoros
CG : Congo
CD : Congo, The Democratic Republic of the
CK : Cook Islands
CR : Costa Rica
CI : Cote D'Ivoire
HR : Croatia
CU : Cuba
CY : Cyprus
CZ : Czech Republic
DK : Denmark
DJ : Djibouti
DM : Dominica
DO : Dominican Republic
EC : Ecuador
EG : Egypt
SV : El Salvador
GQ : Equatorial Guinea
ER : Eritrea
EE : Estonia
ET : Ethiopia
EU : Europe
FK : Falkland Islands (Malvinas)
FO : Faroe Islands
FJ : Fiji
FI : Finland
FR : France
FX : France, Metropolitan
GF : French Guiana
PF : French Polynesia
TF : French Southern Territories
GA : Gabon
GM : Gambia
GE : Georgia
DE : Germany
GH : Ghana
GI : Gibraltar
GR : Greece
GL : Greenland
GD : Grenada
GP : Guadeloupe
GU : Guam
GT : Guatemala
GG : Guernsey
GN : Guinea
GW : Guinea-Bissau
GY : Guyana
HT : Haiti
HM : Heard Island and McDonald Islands
VA : Holy See (Vatican City State)
HN : Honduras
HK : Hong Kong
HU : Hungary
IS : Iceland
IN : India
ID : Indonesia
IR : Iran, Islamic Republic of
IQ : Iraq
IE : Ireland
IM : Isle of Man
IL : Israel
IT : Italy
JM : Jamaica
JP : Japan
JE : Jersey
JO : Jordan
KZ : Kazakstan
KE : Kenya
KI : Kiribati
KP : Korea, Democratic People's Republic of
KR : Korea, Republic of
KW : Kuwait
KG : Kyrgyzstan
LA : Lao People's Democratic Republic
LV : Latvia
LB : Lebanon
LS : Lesotho
LR : Liberia
LY : Libyan Arab Jamahiriya
LI : Liechtenstein
LT : Lithuania
LU : Luxembourg
MO : Macau
MK : Macedonia
MG : Madagascar
MW : Malawi
MY : Malaysia
MV : Maldives
ML : Mali
MT : Malta
MH : Marshall Islands
MQ : Martinique
MR : Mauritania
MU : Mauritius
YT : Mayotte
MX : Mexico
FM : Micronesia, Federated States of
MD : Moldova, Republic of
MC : Monaco
MN : Mongolia
ME : Montenegro
MS : Montserrat
MA : Morocco
MZ : Mozambique
MM : Myanmar
NA : Namibia
NR : Nauru
NP : Nepal
NL : Netherlands
AN : Netherlands Antilles
NC : New Caledonia
NZ : New Zealand
NI : Nicaragua
NE : Niger
NG : Nigeria
NU : Niue
NF : Norfolk Island
MP : Northern Mariana Islands
NO : Norway
OM : Oman
O1 : Other
PK : Pakistan
PW : Palau
PS : Palestinian Territory
PA : Panama
PG : Papua New Guinea
PY : Paraguay
PE : Peru
PH : Philippines
PN : Pitcairn Islands
PL : Poland
PT : Portugal
PR : Puerto Rico
QA : Qatar
RE : Reunion
RO : Romania
RU : Russian Federation
RW : Rwanda
BL : Saint Barthelemy
SH : Saint Helena
KN : Saint Kitts and Nevis
LC : Saint Lucia
MF : Saint Martin
PM : Saint Pierre and Miquelon
VC : Saint Vincent and the Grenadines
WS : Samoa
SM : San Marino
ST : Sao Tome and Principe
A2 : Satellite Provider
SA : Saudi Arabia
SN : Senegal
RS : Serbia
SC : Seychelles
SL : Sierra Leone
SG : Singapore
SK : Slovakia
SI : Slovenia
SB : Solomon Islands
SO : Somalia
ZA : South Africa
GS : South Georgia and the South Sandwich Islands
ES : Spain
LK : Sri Lanka
SD : Sudan
SR : Suriname
SJ : Svalbard and Jan Mayen
SZ : Swaziland
SE : Sweden
CH : Switzerland
SY : Syrian Arab Republic
TW : Taiwan
TJ : Tajikistan
TZ : Tanzania, United Republic of
TH : Thailand
TL : Timor-Leste
TG : Togo
TK : Tokelau
TO : Tonga
TT : Trinidad and Tobago
TN : Tunisia
TR : Turkey
TM : Turkmenistan
TC : Turks and Caicos Islands
TV : Tuvalu
UG : Uganda
UA : Ukraine
AE : United Arab Emirates
GB : United Kingdom
US : United States
UM : United States Minor Outlying Islands
UY : Uruguay
UZ : Uzbekistan
VU : Vanuatu
VE : Venezuela
VN : Vietnam
VG : Virgin Islands, British
VI : Virgin Islands, U.S.
WF : Wallis and Futuna
EH : Western Sahara
YE : Yemen
ZM : Zambia
ZW : Zimbabwe
