Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Служебные скрипты [PtokaX] _ IpToCountry

Автор: Tsd 4.12.2016, 13:42

IpToCountry

Версия: 1.0
Автор: Tsd
Системные требования:
PtokaX 0.5.0.0 или новее
Lua 5.1
LuaSocket
ltn12
zip (Widows)
http://mydc.ru/topic5839.html (Unix)

Описание: Скрипт автоматически обновляет базу IpToCounry в заданное время (конфиг),
а так же при запуске скрипта (конфиг). Ведёт лог обновлений, записывает логи в папку logs,
позволяет посмотреть лог через меню хаба. Более подробно написано в конфиге, перед первым
запуском скрипта обязательно прочитайте/правьте его.

Внимание! Для любителей исправлять скрипты и включенной функции обновления при запуске скрипта. Сервер обновлений имеет лимит скачивания, откройте любым редактором файл IpToCountry.csv
и прочитайте про лимит скачивания. Проще говоря, ваш IP может быть забанен при частом скачивании, что и произошло со мной во время тестирования скрипта (6 часов мылся и парился).

Протестировано на Windows/Debian
04.12.2016

Изменения в версиях скрипта:
Версия 1.1
Добавлено:
Прoверка версии Ptokax. При несоблюдении требований версии скрипт запустится, но не будет выполнять своих функций. Напоминалка об этом нику в конфиге в ЛС от бота хаба.
Изменен формат отправки сообщений нику.

 IpToCountry_1.1.zip ( 3.47 килобайт ) : 40
 IpToCountry_1.0.zip ( 3.13 килобайт ) : 8
 

Автор: Karumo 4.12.2016, 16:28

Интересно конечно, но боюсь с сокетами будет подглючивать. У меня давно работает другая версия:
Для линукса:
скачивание геобазы ип каждые сутки в 12 часов и распаковка в папку птохи (пусть будет /etc/ptokax/cfg/):

1) создаем скрипт: get_ipgeobase.sh
в него пишем

Код
#!/bin/sh
# default patch for CRON /etc/ptokax/cfg/get_ipgeobase.sh
wget software77.net/geo-ip/?DL=1 -O /etc/ptokax/cfg/IpToCountry.csv.gz
gunzip -f /etc/ptokax/cfg/IpToCountry.csv.gz

2) ставим ему права на запуск
Код
chmod 755 /etc/ptokax/cfg/get_ipgeobase.sh


3) делаем в cron задачу запуска его каждые сутки в 12 часов
Код
EDITOR=mcedit crontab -e

или если не стоит mc то просто
Код
crontab -e

в конец файла добавляем строку:
Код
0 12 * * * /etc/ptokax/cfg/get_ipgeobase.sh

сохраняем.

И сам скрипт:
Код
-- грузим раз в сутки
function OnStartup()
        TmrMan.AddTimer(24*60*60000,"IP2Country.Reload")
end



Автор: Tsd 18.12.2016, 11:55

Оказалось - тема актуальна и для клиента с обновлением. Кто бы взялся за реализацию...