Скрипт регулирования поиска и скачивания между юзерами двух разных сетей (внешки и локали)
(аналог NetworkSeparation, только для частного случая, но код свой)
Название: NetSeparator
Платформа: PtokaX
API: 2
Автор: Ksan (aka Trans)
Город: Томск
Дата: 2012-02-08
Примечания:
- 2 варианта скриптов:
---- NetSeparator_AutoUpd - с возможностью автоматического и ручного обновления с сайта списка диапазонов местных сетей
---- NetSeparator - без оного (то есть, список заранее прописываешь в таблицу в нужном формате и при необходимости вручную обновляешь)
- Для работы скриптов требуется папка NetSeparator с двумя файлами, в одном диапазоны, в другом - ники (открывших внешку и отключивших показ предупреждений при скачке).
---- при запуске при отсутствии таблицы с местными диапазонами автообновляемый скрипт сам полезет обновляться при наличии ресурса, содержащего диапазоны местных сетей (адрес нужно прописать в настройках), а когда обновится, входит в рабочий режим, если и обновиться не может, то выпадает в осадок, сообщив о ситуации админам (при наличии нужной таблицы скрипт продолжит работать, даже если в дальнейшем обновления провалятся)
---- необновляемый скрипт при запуске тоже проверяет наличие файла с таблицей диапазонов, если не находит, то сообщает админам и самоотключается.
- Меню: для внешних юзеров - только ОТКЛ/ВКЛ сообщений с предупреждениями, для местных, кроме этого, ещё в меню есть возможность открыться внешке и посмотреть свой статус.
---- админу отправляется отдельное меню в админский раздел - для ручного обновления с сайта (NetSeparator_AutoUpd)
-- И да, чуть не забыл - та ошибка, которая иногда проявлялась в НетворкСепаратион в виде предупреждений не тому юзеру, здесь отсутствует.
-- И ещё - в этом скрипте юзеры с внешки открыты для местных, то есть, для них нет разделения сетей, им не надо заморачиваться насчёт этого. Так что дело только за местными.
Nota Bene: Скрипт писался под свои хабы (хабы нашего города), где весь город и область (грубо говоря) с бесплатным трафиком, у большинства пользоватлей и с внешним интернетом нет проблем, но есть часть населения, сидящие на тарифах с помегабайтной оплатой трафика. Мало, но есть, раньше было больше. И скрипт писался как раз для разграничения в хабах двух сетей (условно говоря) - Томской сети и всего остального интернета. Благо, у нас есть ресурс ТомскНет, где как раз лежит постянно обновляемый список наших сетей и диапазонов, чем я и воспользовался для своего скрипта...для одного из них. Да и второй скрипт, хоть и не автообновляется, но там тоже юзается та же база.
Напоминаю, скрипт сейчас работает только на 2 стороны (на 2 группы сетей). а не на произвольное число групп сетей. Если у кого-то аналогичная или близкая ситуация, думаю, сможете приспособить скрипт под себя.
Библиотека: Для автоматического обновления базы с сайта для скрипта NetSeparator_AutoUpd требуется http://mydc.ru/topic43.html
UPD: -- а вот и первый апдейт..
-- обнаружил ошибку в детектировании и анализе при $ConnectToMe и исправил.
-- заодно добавил в сообщение с предупреждением показ юзеру ника того, с кем он безуспешно пытается соединиться;
-- и для тестового режима на всякий случай сделал сохранение списка тех, кто с внешки (при запуске скрипта список обнуляется, чтоб не дублировались ники при каждом сохранении). Это сохранение можно отключить в настройках.
Время перезаливки: 2012-02-10 07:05 (МСК)
А как сделать что бы не выдавал постоянно сообщение в главное окно чата ?
а то вот что получается:
[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> он не с нашей планеты
reidel_viktor, изучить меню скрипта.
Там есть команда отключения предупреждений.