myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Модуль GeoCity, Определяем местоположение по IP с точностью до города

alex82
сообщение 23.8.2009, 7:30
Сообщение #1


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Модуль GeoCity

Версия: 1.00
Системные требования: Lua 5.1, MySQL 4.1 или новее
Автор: alex82

Описание:
Данный модуль предназначен для получения информации о местоположении IP-адреса с точностью до города. В качестве источника информации используется база данных GeoLite City, хранящаяся в бд MySQL. Дистрибутив модуля также включает в себя набор утилит, необходимых для его установки.

Установка модуля:
Для PtokaX:
1. Извлечь файл geocity.lua в папку libs, в папку scripts/libs, или в корневую папку PtokaX.
2. Открыть файл geocity.lua в блокноте, и прописать имя БД, имя пользователя и пароль.

Для Lua-AIO:
1. Извлечь файл geocity.lua в папку lib, или в корневую папку программы.
2. Открыть файл geocity.lua в блокноте, и прописать имя БД, имя пользователя и пароль.


Установка базы данных:
1. Скачать базу данных GeoLite City отсюда - http://www.maxmind.com/app/geolitecity.
2. Распаковать файлы GeoLiteCity-Blocks.csv и GeoLiteCity-Location.csv в папку geocity.
3. Создать базу данных в MySQL.
4. Открыть файл config.lua (находится в папке tools) и прописать имя БД, имя пользователя и пароль.
5. Запустить GeoCity Updater и нажать "Пуск"

Функции модуля
geocity.GetInfo(sIP or iIP) - Возвращает информацию об указанном IP-адресе. В случае успешного вызова возвращается двухбуквенный код страны и название города. В случае неудачи возвращается nil.

geocity.GetFullInfo(sIP or iIP) - Возвращает информацию об указанном IP-адресе. В случае успешного вызова возвращается таблица, которая может содержать поля loc_id, country, region, city, postal, lat, long. В случае неудачи возвращается nil.

geocity.GetLocId(sIP or iIP) - Возвращает Location ID для указанного IP-адреса. В случае неудачи возвращает nil.

geocity.GetInfoById(sLocID or iLocID) - Возвращает информацию о Location ID. В случае успешного вызова возвращается двухбуквенный код страны и название города. В случае неудачи возвращается nil.

geocity.GetFullInfoById(sLocID or iLocID) - Возвращает информацию о Location ID. В случае успешного вызова возвращается таблица, которая может содержать поля loc_id, country, region, city, postal, lat, long. В случае неудачи возвращается nil.


geocity.GetCountry(sCountryCode) - Возвращает название страны, соответствующее её двухбуквенному коду. В случае неудачи возвращает nil.

geocity.GetRegion(sCountryCode, sRegion) - Возвращает название региона. В случае неудачи возвращает nil.


geocity.Check() - Проверяет наличие соединения с MySQL, и, при необходимости, восстанавливает его. Если соединение имеется, или было восстановлено, возвращает true. В случае неудачи возвращает nil
Описание утилит
GeoCity Updater
Предназначена для импорта базы данных GeoLite City, а также информации о странах и регионах, в БД MySQL.

GeoCity Test
Небльшая программа для тестирования модуля GeoCity.

Country Select
Программа, предназначенная для уменьшеня размера базы данных GeoLite City путем удаления из неё ненужной информации о странах.

Get Ranges
Программа позволяет получить список диапазонов, отсутствующих в базе данных GeoLite City
Changelog
1.01
Изменен формат хранения названий регионов, благодаря чему упростился код выборки данных из соответствующей таблицы
Названия стран теперь хранятся в таблице Lua

Прикрепленный файл  GeoCity_Updater_1.02.rar ( 2.38 мегабайт ) Кол-во скачиваний: 92

Прикрепленный файл  geocity_1.01.7z ( 1.94 мегабайт ) Кол-во скачиваний: 93

Прикрепленный файл  geocity_1.00.7z ( 1.94 мегабайт ) Кол-во скачиваний: 230


Класс php для работы с GeoCity:Прикрепленный файл  php_geocity.rar ( 3.67 килобайт ) Кол-во скачиваний: 32


Скрипты, использующие модуль GeoCity:
GeoCity MOTD


Спасибо сказали:
Go to the top of the page
+Quote Post
 
Начать новую тему
Ответов
mariner
сообщение 5.1.2010, 2:02
Сообщение #2


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Прикрепленный файл  geocity.zip ( 74.29 килобайт ) Кол-во скачиваний: 52


обновлятор. Проверял на убунте. Пока "бета версия" Дальше сделаю пакет для debian\ubuntu и установщик для других unix-систем
Go to the top of the page
+Quote Post
mariner
сообщение 21.2.2010, 16:01
Сообщение #3


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




UP!

Работоспособность скрипта обновления из shell подтверждена. Но есть запрос в скрип обновления(добавления) базы. Хотелось бы опцию включения-выключения логирования и опцию куда складывать лог (то бишь директория). У меня все.
Go to the top of the page
+Quote Post
LoT
сообщение 23.2.2010, 17:12
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 3.6.2009
Пользователь №: 3 496
Спасибо сказали: 6 раз




mariner
Спасибо, на gentoo тоже все заработало, только... не до конца)) выкидывает ошибку об отсутствии luasql
Есть ли вариант написать то же самн, только заменить функции работы с бд на стандартные VH:SQLQuery ?
Или просто напиши))) пару строчек примера, дальше сам разберусь.

Зараннее спасибо)
Go to the top of the page
+Quote Post
mariner
сообщение 23.2.2010, 17:14
Сообщение #5


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Скрипт не мой, собственно. Я написал лишь shell-обертку, чтобы запускать из консоли. Думаю в генту есть таки liblua5.1-sql. Собери. Это привнесет как поддержку mysql в PtokaX, так и в shell-интерпретатор
Go to the top of the page
+Quote Post
Setuper
сообщение 23.2.2010, 17:27
Сообщение #6


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Вы про разное говорите. Один про верли, другой про птоху))))
Go to the top of the page
+Quote Post
mariner
сообщение 23.2.2010, 17:29
Сообщение #7


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




То то меня напрягло VH:
^_^
Go to the top of the page
+Quote Post
LoT
сообщение 23.2.2010, 19:02
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 3.6.2009
Пользователь №: 3 496
Спасибо сказали: 6 раз




mariner, ну, то что скрипт написал не ты, а только shell, я понял, а вот дальше ступил big_smile1.gif
подумал, раз уже переделал обновлялку для линуха, то и луа-скрипт адаптировал))



P.S. liblua5.х-sql в gentoo нет. Буду думать, может, найду где-то.
Go to the top of the page
+Quote Post
alex82
сообщение 20.9.2010, 12:08
Сообщение #9


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Доступна версия 1.01. Подробности в первом посте.

PS. Чуть позже выложу класс php для работы с GeoCity.


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 5.10.2010, 2:03
Сообщение #10


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




У меня вопрос к форумчанам. Найдутся ли добровольцы, знающие географию России, и желающие помочь проекту?

Если да - обьясню суть проблемы подробнее.

Добровольцы могут отписываться в этой теме.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 5.10.2010, 7:16
Сообщение #11


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




а собственно в чем проблема то?

Прикрепленный файл  locations.rar ( 291.07 килобайт ) Кол-во скачиваний: 13


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 5.10.2010, 17:48
Сообщение #12


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Таки выложил обещанный класс php. В архиве также имеется тестовый скрипт.

Подробности в первом посте.


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 15.10.2010, 10:16
Сообщение #13


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Доступен GeoCity Updater 1.02

Изменения:
Переписан интерфейс программы.
Теперь утилита умеет самостоятельно скачивать архив с базами данных.
Добавлена функция уплотнения БД, позволяющая удалить информацию о городах для определенных стран.
Добавлена возможность перевода названий городов (В текущей версии переводятся только города Украины и России).
Утилита совместима с модулем GeoCity 1.01, и не совместима с версией 1.00


Спасибо сказали:
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsGeoCity MOTD (RusHub)
Информация о местоположении юзера в сообщении дня
0 Saymon21 6 058 20.7.2010, 20:07 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsGeoCity MOTD
API2 | Информация о местоположении юзера в сообщении дня
9 alex82 18 177 28.11.2009, 22:31 Посл. сообщение: mariner

 



RSS Сейчас: 27.11.2024, 3:15