Ubiquitous_Nothing
Новичок
Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #200 : 26 апреля 2010, 17:04:53 » |
|
Главное - уже что-то работает!!! k_ok_o_s, а не могли бы вы этим кое-чем поделиться? Вдруг оно еще кому-нибудь полезным будет 
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #201 : 26 мая 2010, 19:20:02 » |
|
что-то у меня скрипт, который блокирует загрузку больших файлов в зависимости от системного времени(в начале топика есть) вообще никак не работает. поставил специально 1мб на закачку, а реакции ноль. Может есть более новая версия скрипта?
|
|
|
|
|
DenZzz
|
 |
« Ответ #202 : 26 мая 2010, 21:56:38 » |
|
Может есть более новая версия скрипта?
Приложил к посту. P.S. Эту тему лучше читать с конца. Скрипты с первых страниц не будут работать в свежих версиях HC.
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #203 : 27 мая 2010, 12:02:45 » |
|
Спасибо, похоже пора сделать что-то вроде закрепленного сообщения, где напечатать название скиптов, и что они делают. Ну и само собой все их кучей прикрепить архивом или поодиночке... Это я для удобства... P.S. У меня еще один вопросик, или просьба... А можно как-нибудь сделать блок по определенной фразе в ссылке, тоже по времени (запросы на торрент блокировать)- а то в черный список внес правило, оно работает, но ведь не будешь его каждый раз включать-выключать...
|
|
|
|
|
mai62
|
 |
« Ответ #204 : 27 мая 2010, 12:34:21 » |
|
Это блок по определенной фразе в ссылке как понимать? Имеется ввиду фраза в URL или в получаемых данных? Можно и то, и другое. Второе сложней, но тоже можно.
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #205 : 27 мая 2010, 22:19:38 » |
|
В URL конечно, торренты ведь проверяют себя периодически отсылая запросы вида _http://torrent.com/announce?info_hash=%CNRQ8_ Думаю, если блокировать по фразе ( announce?info_hash=% ) то закачка просто заглохнет без подтверждения наличия файла на сервисе...
|
|
|
|
|
mai62
|
 |
« Ответ #206 : 28 мая 2010, 14:45:21 » |
|
toobigПопробуй так --[[ <HCExtension> @name block files by time @author mai62 @version 0.01 @description Блокирует некоторые URL по времени @rule announce\?info_hash=% @event RequestHeaderReceived/request </HCExtension> ]]
function request() -- Узнаем текущее системное время time = os.date("*t") -- Если системное время с 17:00 до 23:00, то if time.hour >= 17 and time.hour <= 23 then hc_action = "stop" end
end
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #207 : 29 мая 2010, 08:40:49 » |
|
Сделал, пока проверить некогда. Хочу уточнить момент один- стал смотреть ссылки, ну насчет фразы- там она присутствует, но с вариациями, есть прямо как (announce?info_hash=%) а есть (announce.php?passkey=5...&info_hash=%...) Чтобы перехватить оба варианта как должна выглядеть фраза?
|
|
|
|
|
mai62
|
 |
« Ответ #208 : 29 мая 2010, 12:34:07 » |
|
Можно так announce(?:\.php)?\?(?:.+)?info_hash=%
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #209 : 29 мая 2010, 16:31:05 » |
|
Спасибо, сейчас поправлю...
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #210 : 29 мая 2010, 19:38:01 » |
|
announce(?:\.php)?\?(?:.+)?info_hash=%
В таком виде не работает, пока остановился на упрощеной версии только если есть info_hash=% Блин, и так не блокирует... А если в черный список вношу +info_hash= то да, работает....
|
|
|
|
|
DenZzz
|
 |
« Ответ #211 : 29 мая 2010, 22:07:08 » |
|
Блин, и так не блокирует...
Поправь строку: hc_action = "stop" на: hc.action = "stop"
|
|
|
|
|
toobig
Новичок
Репутация: +0/-0
Offline
Сообщений: 13
|
 |
« Ответ #212 : 30 мая 2010, 11:01:57 » |
|
Поправил, теперь все заработало. Ура!!! P.S. Спасибо.
|
|
|
|
|
Jenova
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #213 : 02 июня 2010, 06:18:32 » |
|
Помогите пожалуйста с расширением. Нужно что бы UserAgent браузера заменялся на другой.
|
|
|
|
|
DenZzz
|
 |
« Ответ #214 : 02 июня 2010, 07:52:00 » |
|
Нужно что бы UserAgent браузера заменялся на другой.
--[[ <HCExtension> @name Менять User-Agent в заголовках запросов на свой @event RequestHeaderReceived/Request </HCExtension> ]]
function Request() hc.request_header = re.replace(hc.request_header, [[^User-Agent: \K[^\r\n]+]], 'My_Agent') end
|
|
|
|
|
Jenova
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #215 : 02 июня 2010, 09:00:07 » |
|
DenZzz премного благодарен :-) Всё работает отлично.
|
|
|
|
|
aurumkey
Новичок
Репутация: +0/-0
Offline
Сообщений: 3
|
 |
« Ответ #216 : 06 июня 2010, 02:05:22 » |
|
Нид хэлп Есть адрес(например) http://r0.ru/в теле есть тэг <title>Рамблер Легкая версия</title> страница подгружает картинку http://i.rl0.ru/_projects/r0.ru/rambler.gifКак сохранить эту картинку в кэш с названием 'Рамблер Легкая версия.gif' т.е. на основе тэга выдрать строку из тела local x = re.match(hc.answer_body, [[<title>(.*)</title>]]) local name=re.substr(1)
и сохранить с именем local ext='gif' local cache_file_name = string.format("somefolder\\%s.%s",name,ext) hc.preform_cache_file_name(cache_file_name)
|
|
|
|
|
mai62
|
 |
« Ответ #217 : 06 июня 2010, 14:45:48 » |
|
Как сделать? Писать расширение. И это расширение не будет тривиальным. Возможно надо взять за основу Content Master и доделывать недостающий функционал. Не совсем понял, что будет, если на странице несколько картинок? Им же всем не будешь одно имя давать.
|
|
|
|
|
the_ghost
Новичок
Репутация: +0/-0
Offline
Сообщений: 7
|
 |
« Ответ #218 : 24 июня 2010, 16:32:19 » |
|
Хочу выводить собственное сообщение о блокировке. Пробую использовать answer_body в таком скрипте: --[[ <HCExtension> @name Блокировать загрузку больших файлов в зависимости от времени (A-long-T) @author DenZzz @version 1.2 для HC v1.00 RC2 (1.0.0.175) и возможно выше @description Блокирует загрузку больших файлов в зависимости от системного времени @event AnswerHeaderReceived/Answer </HCExtension> ]]
function GetContentLength(s) _,_,x = string.find(s, '[cC]ontent%-[lL]ength: *(%d+)') if x==nil then return -1 else return tonumber(x) end end
function Answer() -- Узнаем текущее системное время local time = os.date("*t") -- Если системное время с 20:00 до 24:00, то if time.hour >= 10 then
-- забираем размер файла из заголовка 'Content-Length' local len = GetContentLength(hc.answer_header)
-- если размер файла есть в заголовке и он больше 10 МБайт if len > 10485760 then -- и действие HC еще не присвоено или присвоено 'Сохранять', то блокировать загрузку if hc.action=='' or hc.action==nil or hc.action=='save' or hc.action=='save-' then hc.answer_body = "file=c:\\obed.htm" hc.action = 'stop' hc.put_msg(10, GetContentLength(hc.answer_body)) hc.monitor_string = hc.monitor_string ..'A-long-T' end end end end -- Конец функции Answer Содержимое файла obed.htm: <html> <head> </head>
<body> <b>xaxax</b> </body>
</html> Подскажите, пожалуйста, как правильно вывести свое сообщение об ошибке из html файла
|
|
|
|
|
DenZzz
|
 |
« Ответ #219 : 24 июня 2010, 17:03:07 » |
|
Подскажите, пожалуйста, как правильно вывести свое сообщение об ошибке из html файла
Вместо hc.action = 'stop' присваивай значения переменным hc.answer_header и hc.answer_body.
|
|
|
|
|
|