myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> NetSeparator, Не даст качать, если помегабайтная плата за трафик на внешке.

Ksan
сообщение 8.2.2012, 17:54
Сообщение #1


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Скрипт регулирования поиска и скачивания между юзерами двух разных сетей (внешки и локали)
(аналог NetworkSeparation, только для частного случая, но код свой)

Название: NetSeparator
Платформа: PtokaX
API: 2
Автор: Ksan (aka Trans)
Город: Томск
Дата: 2012-02-08

Примечания:
- 2 варианта скриптов:
---- NetSeparator_AutoUpd - с возможностью автоматического и ручного обновления с сайта списка диапазонов местных сетей
---- NetSeparator - без оного (то есть, список заранее прописываешь в таблицу в нужном формате и при необходимости вручную обновляешь)
- Для работы скриптов требуется папка NetSeparator с двумя файлами, в одном диапазоны, в другом - ники (открывших внешку и отключивших показ предупреждений при скачке).
---- при запуске при отсутствии таблицы с местными диапазонами автообновляемый скрипт сам полезет обновляться при наличии ресурса, содержащего диапазоны местных сетей (адрес нужно прописать в настройках), а когда обновится, входит в рабочий режим, если и обновиться не может, то выпадает в осадок, сообщив о ситуации админам (при наличии нужной таблицы скрипт продолжит работать, даже если в дальнейшем обновления провалятся)
---- необновляемый скрипт при запуске тоже проверяет наличие файла с таблицей диапазонов, если не находит, то сообщает админам и самоотключается.
- Меню: для внешних юзеров - только ОТКЛ/ВКЛ сообщений с предупреждениями, для местных, кроме этого, ещё в меню есть возможность открыться внешке и посмотреть свой статус.
---- админу отправляется отдельное меню в админский раздел - для ручного обновления с сайта (NetSeparator_AutoUpd)
-- И да, чуть не забыл - та ошибка, которая иногда проявлялась в НетворкСепаратион в виде предупреждений не тому юзеру, здесь отсутствует.
-- И ещё - в этом скрипте юзеры с внешки открыты для местных, то есть, для них нет разделения сетей, им не надо заморачиваться насчёт этого. Так что дело только за местными.

Nota Bene: Скрипт писался под свои хабы (хабы нашего города), где весь город и область (грубо говоря) с бесплатным трафиком, у большинства пользоватлей и с внешним интернетом нет проблем, но есть часть населения, сидящие на тарифах с помегабайтной оплатой трафика. Мало, но есть, раньше было больше. И скрипт писался как раз для разграничения в хабах двух сетей (условно говоря) - Томской сети и всего остального интернета. Благо, у нас есть ресурс ТомскНет, где как раз лежит постянно обновляемый список наших сетей и диапазонов, чем я и воспользовался для своего скрипта...для одного из них. Да и второй скрипт, хоть и не автообновляется, но там тоже юзается та же база.
Напоминаю, скрипт сейчас работает только на 2 стороны (на 2 группы сетей). а не на произвольное число групп сетей. Если у кого-то аналогичная или близкая ситуация, думаю, сможете приспособить скрипт под себя.

Библиотека: Для автоматического обновления базы с сайта для скрипта NetSeparator_AutoUpd требуется библиотека Lua Socket

Таблица диапазонов хранится в таком виде:
Код
tNets = {
    ["91.211.184.0"] = {  -- начало диапазона
        [1] = "91.211.184.255",  -- конец диапазона
        [2] = "1540601856",  -- начало (числовой вид)
        [3] = "1540602111",  -- конец (числовой вид)
    },
    ["193.150.68.0"] = {
        [1] = "193.150.68.255",
        [2] = "3247850496",
        [3] = "3247850751",
    },
}


PS: Есть нюанс, не зависящий от скрипта - при поиске, если ищущий клиент в активном режиме, то он получит свои результаты в любом случае, даже у того, кто закрыт (и наоборот, кто закрыт, получит свои результаты даже с внешки, если он сам актив), то есть, поиск ограничивается только для пассива. Со скачиванием этой проблемы нет.

Если найдутся те, кто будет юзать скрипт, просьба потом отписаться тут.

UPD: -- а вот и первый апдейт..
-- обнаружил ошибку в детектировании и анализе при $ConnectToMe и исправил.
-- заодно добавил в сообщение с предупреждением показ юзеру ника того, с кем он безуспешно пытается соединиться;
-- и для тестового режима на всякий случай сделал сохранение списка тех, кто с внешки (при запуске скрипта список обнуляется, чтоб не дублировались ники при каждом сохранении). Это сохранение можно отключить в настройках.

Время перезаливки: 2012-02-10 07:05 (МСК)

Прикрепленные файлы
Прикрепленный файл  NetSeparator_AutoUpd.rar ( 4.73 килобайт ) Кол-во скачиваний: 10
Прикрепленный файл  NetSeparator.rar ( 3.49 килобайт ) Кол-во скачиваний: 15
 


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 10.2.2012, 6:07
Сообщение #2


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




UPD: -- а вот и первый апдейт..
-- обнаружил ошибку в детектировании и анализе при $ConnectToMe и исправил.
-- заодно добавил в сообщение с предупреждением показ юзеру ника того, с кем он безуспешно пытается соединиться;
-- и для тестового режима на всякий случай сделал сохранение списка тех, кто с внешки (при запуске скрипта список обнуляется, чтоб не дублировались ники при каждом сохранении). Это сохранение можно отключить в настройках.

Время перезаливки: 2012-02-10 07:05 (МСК)


Спасибо сказали:
Go to the top of the page
+Quote Post
reidel_viktor
сообщение 13.1.2013, 8:43
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 6.2.2010
Из: Амурск
Пользователь №: 5 974
Спасибо сказали: 0 раз




А как сделать что бы не выдавал постоянно сообщение в главное окно чата ?
а то вот что получается:
[16:42:07] 192.168.76.17 <Чукч@> :святой отец:
[16:42:15] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:42:15] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:42:26] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:42:29] 192.168.92.165 <Alinochka_PetrovnA)> BrunetkO: а дес хочет лол
[16:42:50] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:42:58] 192.168.13.140 <BrunetkO> фу самоубийца
[16:43:06] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:43:06] *<HUBBABOT> *** Вы пытаетесь соединиться с Локальным юзером ЭТО запрещено для экономии трафика - "• Общайтесь на здоровье! "
[16:43:10] 192.168.13.140 <BrunetkO> он не с нашей планеты
Go to the top of the page
+Quote Post
Ksan
сообщение 13.1.2013, 15:39
Сообщение #4


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




reidel_viktor, изучить меню скрипта. big_smile.gif
Там есть команда отключения предупреждений.


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

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

 



RSS Сейчас: 23.11.2024, 4:54