+  HandyCache форум
|-+  Главная категория» Общие вопросы» Расширения на языке Lua в HandyCache
Имя пользователя:
Пароль:
Страниц: 1 2 3 [4] 5 6 ... 29   Вниз
  Отправить эту тему    Печать  
Автор Тема: Расширения на языке Lua в HandyCache  (Прочитано 346452 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #60 : 16 Июнь 2009, 23:02:00 »

Программу не удалось найти, а скрипт получился таким:
---
function GetContentLength(s)
  _,_,x= string.find(s, "[cC]ontent%-[lL]ength: (%d*)")
  if x==nil then return 0 else return tonumber(x) end
end

function main()
  x= GetContentLength(hc_header)
  if x>72 then os.execute([["d:\Program\HandyCache\lua\invmp3.exe d:\Program\HandyCache\lua\beep.mp3"]]) end
end
---
Все бы хорошо, но в момент срабатывания скрипта кратковременно появляется окошко cmd. Можно от этого как то избавиться? В мануалах ничего такого не нашел.  Help me!

этот скрипт на новой версий работать будет? и нельзя ли сделать так что бы он срабатывал только на это правило в "Чёрном списке":
#4#~#True#~#adult|amateur|[^c]anal[^iy]|anus|babe[^l]|bitch|bondage|boob|clit|devk[iy]|dick|erohost|dildo|donne|eroti(c|k)|sperm|fuck|gay|intim|lesbian|nude|orgazm|orgy|porn|pussy|se(ks|x)[^=]|(c|s)ek(c|s)|slut|suck|tits|virgin|xxx#~##~#

кто нить из клиентов зайдёт на такой сайт и из колонок сразу сигнал , вот весело будет Улыбка
Сообщить модератору   Записан

всё будет хорошо =)
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #61 : 17 Июнь 2009, 08:13:58 »

этот скрипт на новой версий работать будет?

Будет, если шапку добавишь и hc_header заменишь на hc.answer_header

Цитировать
и нельзя ли сделать так что бы он срабатывал только на это правило в "Чёрном списке":

Можно сделать, чтобы скрипт срабатывал вместо того правила, издавал звук и сам блокировал загрузку.
А если не проверять на сервере "Content-Length" (что разумно для блокируемых сайтов), то можно и просто звук издавать, а блокировать "Черным списком".


P.S. И вообще, неправильную тему ты выбрал для своего вопроса. Не место ему в разделе "Новых предложений". В "Общих вопросах" по скриптам есть своя тема.
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #62 : 17 Июнь 2009, 22:24:54 »

Будет, если шапку добавишь и hc_header заменишь на hc.answer_header
Можно сделать, чтобы скрипт срабатывал вместо того правила, издавал звук и сам блокировал загрузку.
А если не проверять на сервере "Content-Length" (что разумно для блокируемых сайтов), то можно и просто звук издавать, а блокировать "Черным списком".
о чёрт.... нифига не понял Улыбка насчёт скриптов нечего не понимаю Улыбка учить времени нет, работа Подмигивающий
ну ладно, может когда нибудь кто то сделает, скопирую Улыбка спасибо.
P.S. И вообще, неправильную тему ты выбрал для своего вопроса. Не место ему в разделе "Новых предложений". В "Общих вопросах" по скриптам есть своя тема.
ну извиняи тогда. Я прочитал-процитировал, и спросил тут же.
Сообщить модератору   Записан

всё будет хорошо =)
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #63 : 17 Июнь 2009, 23:23:55 »

Zelen
Держи расширение
Код:
--[[ <HCExtension>
@name          block with sound
@author        mai62
@version       0.01
@description   Блокирует загрузку и выдает звуковой сигнал
@rule            sex
@event         RequestHeaderReceived/request
</HCExtension> ]]


function request()
  hc.action = "stop"
  hc.play_sound('Windows Critical Stop.wav')
  hc.monitor_string = hc.monitor_string.."block with sound "
end

Вместо Windows Critical Stop.wav напиши имя любого wav-файла (не забудь про кавычки) и положи его в папку НС.
В строке "@rule            sex" sex замени на правило из черного списка. Таких строк можно добавить сколько нужно.
Сообщить модератору   Записан
Walder
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #64 : 18 Июнь 2009, 08:08:55 »

Ребята извините но такой вопрос есть скрипт опять Улыбка)

--[[ <HCExtension>
@name          For_hc_user
@author        ___
@version       0.01
@description   Блокирует пользователя при переборе трафика
@event         RequestHeaderReceived/request
</HCExtension> ]]

!https://webim.qip.ru:5222
!https://login.icq.com:443

function request()

 if hc.user_name == 'ww' and hc.user_from_internet > 314527800 then
  hc.action = 'only_from_cache'
 end

 if hc.user_name == 'pecherer' and hc.user_from_internet > 209715200 then
  hc.action = 'only_from_cache'
 end

 if hc.user_name == 'taxist' and hc.user_from_internet > 209715200 then
  hc.action = 'only_from_cache'
 end
 
 if hc.user_name == 'puto' and hc.user_from_internet > 157286400 then
  hc.action = 'only_from_cache'
 end
end

Мне нужно чтоб он полностью блокировал пользователя после истичение трафика кроме исключение 2 сайта, подскажите как будет выглядеть скрипт ! Благодарю !
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #65 : 18 Июнь 2009, 08:37:39 »

Мне нужно чтоб он полностью блокировал пользователя после истичение трафика кроме исключение 2 сайта, подскажите как будет выглядеть скрипт ! Благодарю !

Исключения перенеси в шапку в поле @exception и замени действия на 'stop':

Код:
--[[ <HCExtension>
@name          For_hc_user
@author        ___
@version       0.01
@description   Блокирует пользователя при переборе трафика
@exception    webim\.qip\.ru:5222
@exception    login\.icq\.com:443
@event         RequestHeaderReceived/request
</HCExtension> ]]


function request()

 if hc.user_name == 'ww' and hc.user_from_internet > 30*1024*1024 then
  hc.action = 'stop'
 end

 if hc.user_name == 'pecherer' and hc.user_from_internet > 20*1024*1024 then
  hc.action = 'stop'
 end

 if hc.user_name == 'taxist' and hc.user_from_internet > 20*1024*1024 then
  hc.action = 'stop'
 end
 
 if hc.user_name == 'puto' and hc.user_from_internet > 15*1024*1024 then
  hc.action = 'stop'
 end

end
Сообщить модератору   Записан
Walder
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #66 : 18 Июнь 2009, 09:43:18 »

Спасибро !

 if hc.user_name == 'ww' and hc.user_from_internet > 30*1024*1024 then
  hc.action = 'stop'
 end

Не понял надо саму формулу пргописывать 30*1024*1024  или ты для вида показал ? У пользователя "ww"  300 mb  теперь пишем 300*1024*1024? = 314527800  или можно 314527800  оставить ?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #67 : 18 Июнь 2009, 10:07:44 »

Не понял надо саму формулу пргописывать 30*1024*1024  или ты для вида показал ?

Для вида. Можешь писать 300*1024*1024 или 314527800 , как тебе удобнее.
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #68 : 18 Июнь 2009, 21:23:27 »

Zelen Держи расширение
большое спасибо Улыбка
Сообщить модератору   Записан

всё будет хорошо =)
Walder
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 17


« Ответ #69 : 19 Июнь 2009, 05:20:09 »

Благодарю все пашет Улыбка
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #70 : 20 Июнь 2009, 19:44:44 »

Zelen
Держи расширение
Вместо Windows Critical Stop.wav напиши имя любого wav-файла (не забудь про кавычки) и положи его в папку НС.
В строке "@rule            sex" sex замени на правило из черного списка. Таких строк можно добавить сколько нужно.

какое исключение и как надо добавить в скрипт, чтобы вот такие url:
http://my.mail.ru/proxy-mrim-status?[email]prostogirls@mail.ru[/email],a.s.fox7@mail.ru,slavic_74@mail.ru,kadysheva-tatyan@mail.ru,vah_djandullaev@mail.ru,leprikon07@bk.ru,sangirl_87@mail.ru,goodies_88@mail.ru,txak_yulya@inbox.ru,zarinas89@mail.ru,kdyrbaev.kuanysh@mail.ru,aibechka@inbox.ru,u_rustam@bk.ru,akselerator@mail.ru,timon_vip@bk.ru,prorock010@mail.ru,kim_v_xxx_1985@mail.ru,wooferfunk_mik@inbox.ru,espanola@bk.ru,galim.gapparov@mail.ru,sitora555.87@mail.ru,princessdiana02@mail.ru,cuty86@mail.ru,sebeta@mail.ru
не "тилинкали"  lol, целый день "тиииннн!" из колонок звенит  Веселый
Или невозможно исключить? Улыбка
Сообщить модератору   Записан

всё будет хорошо =)
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #71 : 20 Июнь 2009, 20:59:11 »

После строк, начинающихся с @rule добавь строку
@exception                             my\.mail\.ru
Если еще нужны будут исключения, добавляй еще строки.
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #72 : 20 Июнь 2009, 21:36:01 »

хорошо, спасибо Улыбка
Сообщить модератору   Записан

всё будет хорошо =)
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #73 : 21 Июнь 2009, 06:44:21 »

Вопросик назрел по eR_Block_external_links.lua
Я добавил ru-board в исключения
Код:
if ref_host~='yandex' and ref_host~='google' and ref_host~='ru-board' then
с тем, чтобы картинки, запрашиваемые ru-board с других сайтов шли мимо скрипта, - каким образом сделать тоже самое с  translate.google.com, учитывая что отдаваемый перевод идет как, например,
http://74.125.77.132/translate_c?hl=ru&sl=auto&tl=ru&u=http://d-link.com/corporate/worldwideoffices/%3Fredirect%3D%252Fdefault.aspx&rurl=translate.google.com&usg=ALkJrhgzDDem4WCXEhNrwXXEnxhYtvowew
Естественно, что ресурсы сайта блокируются Грустный
Спасибо.
upd.
или нужно в @rule напихать адресов translate? Туплю что-то..
« Последнее редактирование: 21 Июнь 2009, 06:50:27 от Fernand » Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #74 : 22 Июнь 2009, 07:57:48 »

каким образом сделать тоже самое с  translate.google.com, учитывая что отдаваемый перевод идет как, например,
http://74.125.77.132/translate_c...

А реферер был какой при переходе на эту страницу? Не translate.google.com?
Проверь монитор, возможно это Черный список срабатывает, а не скрипт.

Иначе приложи лог монитора и отладочный лог HC. Надо смотреть, что конкретно срабатывает и какие рефереры там были.
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #75 : 22 Июнь 2009, 14:40:36 »

Реферер в виде IP..
Ну вот сайт на который я ни разу не заходил (соответственно в кэше разве что реклама могла быть): http://miranda.com

лог:

* log.7z (3.34 Кб - загружено 16 раз.)
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #76 : 22 Июнь 2009, 18:29:32 »

Реферер в виде IP.

Понятно. И IP у серверов Гугла много.

Проще всего настроить горячую клавишу и зажимать ее при клике по ссылке с переводом, но можно и скрипт поправить. Например, так:

Замени в скрипте строки
   -- Если есть Referer, то
    if ref~=nil then 

на
   -- Если есть Referer и в нем нет '/translate_c', то
    if ref and not re.match(ref,[[/translate_c]]) then


Сообщить модератору   Записан
Sofos
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #77 : 23 Июнь 2009, 12:08:33 »

В настройках вписан внешний прокси, получается опера-НС-внешний прокси. Хочу пустить через НС еще один браузер, только что бы он не использовал внешний прокси. Как это реализовать?
Сообщить модератору   Записан
Fernand
Пользователь
**

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #78 : 23 Июнь 2009, 12:39:10 »

DenZzz, спасибо - все работает.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #79 : 23 Июнь 2009, 12:54:18 »

В настройках вписан внешний прокси, получается опера-НС-внешний прокси. Хочу пустить через НС еще один браузер, только что бы он не использовал внешний прокси. Как это реализовать?

Только расширением. Текст расширения примерно такой:

Код:
--[[ <HCExtension>
@name          Разные внешние прокси для разных браузеров (R-Proxy)
@author        DenZzz
@version       0.1 для HC v1.00 RC2 (1.0.0.180) и возможно выше
@description   Переключает внешние прокси в зависимости от браузеров
@event         RequestHeaderReceived/Request
</HCExtension> ]]


function Request()

 if re.match(hc.request_header, [[User-Agent:[^\r\n]*Opera]]) then
  hc.use_proxy = '192.168.55.2:8080'
 end

 if re.match(hc.request_header, [[User-Agent:[^\r\n]*Firefox]]) then
  hc.use_proxy = '10.0.0.1:8080'
 end

end  -- Конец функции Request

Опера пойдет через один прокси, Firefox - через другой, а IE вообще пойдет мимо, если список внешних прокси отключен.
« Последнее редактирование: 23 Июнь 2009, 14:12:55 от DenZzz » Сообщить модератору   Записан
Страниц: 1 2 3 [4] 5 6 ... 29   Вверх
  Отправить эту тему    Печать  

 
Перейти в: