Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Общие вопросы
»
Расширения на языке Lua в HandyCache
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц:
1
...
5
6
[
7
]
8
9
...
29
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Расширения на языке Lua в HandyCache (Прочитано 438287 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Расширения на языке Lua в HandyCache
«
Ответ #120 :
20 сентября 2009, 13:08:25 »
Цитировать
-- hc.execute_cmd('LoadURL '..hc.url) --вылетает в цикл
Команда LoadURL вызывает появление нового запроса. Для него тоже вызывается твое расширение, снова комнда LoadURL... Поэтому и циклится.
Цитировать
hc.action='dont_save'
Из-за этого файл не будет писаться в кэш.
Цитировать
Но загрузки страницы нет
Попробуй написать hc.use_proxy='127.0.0.1:80'
Сообщить модератору
Записан
igorek
Новичок
Репутация: +6/-0
Offline
Сообщений: 36
Расширения на языке Lua в HandyCache
«
Ответ #121 :
23 сентября 2009, 19:59:09 »
Небольшой скриптик,выводящий значение таблицы HC в файл.Полезен кодерам.
Есть вопрос автору HC.
Не выводятся некоторые значение,например hc.event. Пустые значения.
Kак получить POST-данные от клиента?
Если присвоить hc.use_proxy='' -- игнорируется пустое значение
Хотел для Опера Турбо не использовать прокси toonel
HC_Vars.rar
(0.74 Кб - загружено 93 раз.)
Сообщить модератору
Записан
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Расширения на языке Lua в HandyCache
«
Ответ #122 :
23 сентября 2009, 21:41:45 »
Цитировать
Не выводятся некоторые значение,например hc.event. Пустые значения.
Спасибо, исправлю.
Цитировать
Kак получить POST-данные от клиента?
Никак.
Цитировать
Если присвоить hc.use_proxy='' -- игнорируется пустое значение
Хотел для Опера Турбо не использовать прокси toonel
Присвой значение 'direct'. Забыл написать об этом в описании.
Сообщить модератору
Записан
VoyagerEternal
Новичок
Репутация: +0/-0
Offline
Сообщений: 5
Расширения на языке Lua в HandyCache
«
Ответ #123 :
27 сентября 2009, 06:19:27 »
как сделать поиск файла в кеше lua-скриптом?
задача такая:
загружаю видео отсюда
http://www.youtube.com/watch?v=BEDvAGq2dEA
URL которого регулярно меняется:
Код:
http://v5.lscache7.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits
2Citag%2Cburst%2Cfactor&fexp=903204&itag=34&ipbits=0&signature=A8892B8F8616DDBD5028BDB0C0CA61871E69EC94.9C30AE82B8CFE9DDF6FEB54407FF1F968D85E986&sver=3&expire=1254042000&key=yt1&factor=1.25&burst=40&id=0440ef006ab67440
получается так что одинаковые файлы находятся в кеше в одной папке с разными именами
X:\InetCache\v5.lscache7.c.youtube.com\videoplayback^\37B928A9
X:\InetCache\v5.lscache7.c.youtube.com\videoplayback^\8D4BC131
X:\InetCache\v5.lscache7.c.youtube.com\videoplayback^\5F3AB822
хочу написать скрипт, который для больших, хотя бы, файлов искал подходящий по размеру файл в своей папке и если находил то загружал из кеша.
и ещё почему страница в 20 кбайт (
http://www.youtube.com/watch?v=BEDvAGq2dEA
) так долго грузится - минуты 2-3?
Добавлено: 27 Сентября 2009, 06:09:37
Как произвести поиск и замену подстроки в загружаемом файле?
Сообщить модератору
Записан
VoyagerEternal
Новичок
Репутация: +0/-0
Offline
Сообщений: 5
Расширения на языке Lua в HandyCache
«
Ответ #124 :
27 сентября 2009, 08:25:57 »
Просмотр заблокированного содержимого одним кликом
Алгоритм: получаю URL блокированного содержимого, дописываю к нему '_ShowSpam_' и открываю его в новом окне. Настраиваю HandyCache на распознание URL с подстрокой '_ShowSpam_' и безпрепятственную загрузку.
В настройках черного списка указать html файл который будет заменять блокированное содержимое. Такого содержания:
<html>
<script type="text/javascript">
function ShowSpam() {
var s = document.URL;
W = window.screen.availWidth;
H = window.screen.availHeight;
w = 400; h = 400;
dx = -window.screenLeft; dy = -window.screenTop;
window.open(s+'_ShowSpam_', 'newwin', 'top='+((H-h)/2+dy)+', left='+((W-w)/2+dx)+', menubar=1, toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, width='+w+', height='+h); };
</script>
<body bgcolor=# topmargin=0 leftmargin=0 bottommargin=0 rightmargin=0>
<font color=#FFFF>
<a href='javascript: ShowSpam()'><img width=100% height=100% src="file://localhost/FreeInet/TurboGrabberPro/ok_/image/ozv/sea/CIM_.JPG" alt="РЕКЛАМА"></a>
</img>
</font>
</body>
</html>
В белый список нужно добавить строку _ShowSpam_ и поставить на ней галку 'черный список'
В переадресацию добавить ту же строчку и поставить галку только на 'заменить'
Это позволит кликом по заблокированной области загрузить содержимое в новом окне
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #125 :
27 сентября 2009, 10:54:03 »
Цитировать
задача такая:
загружаю видео отсюда
http://www.youtube.com/watch?v=BEDvAGq2dEA
URL которого регулярно меняется
...
получается так что одинаковые файлы находятся в кеше в одной папке с разными именами
Эта проблема решается простым правилом в списке "Преобразование URL":
#5#~#True#~#^[^/]*(youtube\.com/videoplayback\?).*&(id=[^&]+).*#~#\1\2#~#False#~#True
Писать расширение тебе не нужно...
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #126 :
27 сентября 2009, 19:53:36 »
Цитата: VoyagerEternal от 27 сентября 2009, 06:19:27
и ещё почему страница в 20 кбайт (
http://www.youtube.com/watch?v=BEDvAGq2dEA
) так долго грузится - минуты 2-3?
У меня быстро грузится, за пару секунд.
Цитата: VoyagerEternal от 27 сентября 2009, 08:25:57
В переадресацию добавить ту же строчку и поставить галку только на 'заменить'
Без галки на "Обязательный" правило будет работать только вместе с предыдущим "Обязательным".
Цитировать
В белый список нужно добавить строку _ShowSpam_ и поставить на ней галку 'черный список'
После переадресации окончания _ShowSpam_ уже не будет и HC опять заблокирует эту загрузку.
Цитировать
Это позволит кликом по заблокированной области загрузить содержимое в новом окне
Ты сам-то тестировал свой алгоритм? Неужели работает с таким количеством недочетов?
P.S. Лично я предпочитаю грузить заблокированное не в новом окне, а в текущем на его законном месте через контекстное меню "Показать изображение", зажав горячую клавишу для временного отключения Черного списка.
Сообщить модератору
Записан
VoyagerEternal
Новичок
Репутация: +0/-0
Offline
Сообщений: 5
Расширения на языке Lua в HandyCache
«
Ответ #127 :
28 сентября 2009, 05:49:36 »
Цитата: DenZzz
Ты сам-то тестировал свой алгоритм? Неужели работает с таким количеством недочетов?
У меня работает. Черный список блокировал после переадресации, пока галку на 'черный список' не поставил в белом списке.
Цитата: DenZzz
P.S. Лично я предпочитаю грузить заблокированное не в новом окне, а в текущем на его законном месте через контекстное меню "Показать изображение", зажав горячую клавишу для временного отключения Черного списка.
HandyCache стоит на другом компе, а на сервак горячую клавишу не пошлешь, и другим юзерам мешать не хочется, приходится вот так управлять.
Цитата: DenZzz
Проблема с загрузкой видео с youtube решается простым правилом в списке "Преобразование URL":
#5#~#True#~#^[^/]*(youtube\.com/videoplayback\?).*&(id=[^&]+).*#~#\1\2#~#False#~#True
но ведь есть мого других сайтов у которых ссылки динамические, это не только видео, для каждого чтоли правило сочинять, предлагаю написать расширение для всех.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #128 :
28 сентября 2009, 11:13:16 »
Цитата: VoyagerEternal от 28 сентября 2009, 05:49:36
У меня работает. Черный список блокировал после переадресации, пока галку на 'черный список' не поставил в белом списке.
Т.е. после переадресации окончание _ShowSpam_ уже удалено, а правило _ShowSpam_ в "Белом списке" все срабатывает на уже измененный URL без этого окончания?
Это противоречит логике работы списков HC. Лог монитора покажи.
Цитировать
но ведь есть мого других сайтов у которых ссылки динамические, это не только видео, для каждого чтоли правило сочинять, предлагаю написать расширение для всех.
В Lua нет штатной функции для поиска и формирования списка всех файлов в папке. Возможно, для этого есть сторонние готовые модули для Lua. Надо поискать...
А без списка "Преобразование URL" в ряде случаев все равно не обойтись, т.к. меняться могут не только параметры в конце URL, но и домены в начале. Поиск в огромном кэше среди тысяч папок съест не мало времени и ресурсов...
Сообщить модератору
Записан
Jarikk
Новичок
Репутация: +0/-0
Offline
Сообщений: 31
Расширения на языке Lua в HandyCache
«
Ответ #129 :
28 сентября 2009, 11:19:57 »
Можно ли написать расширение для сохранения логов монитора в папке Logs скажем только за последние 10 дней? А то она разрастается и иногда забываешь совсем про нее. Отключать не хочется ведение логов, иногда надо просмотреть.
И еще, часто бывает нужно по gprs сидеть, использую toonel для этого дела. Вот допустим по-умолчанию НС работает через toonel и если в ответе с сервера видно, что используется gzip отключать toonel и идти напрямую для этой страницы. Просто заметил при пережатии тонелем во второй раз размер получается страницы больше да и без него страница будет быстрей загружаться. Возможно ли такое сделать и как это будет работать при одновременной загрузки страницы с gzip и без?
Сообщить модератору
Записан
VoyagerEternal
Новичок
Репутация: +0/-0
Offline
Сообщений: 5
Расширения на языке Lua в HandyCache
«
Ответ #130 :
28 сентября 2009, 12:15:57 »
Цитата: DenZzz от 28 сентября 2009, 11:13:16
Т.е. после переадресации окончание _ShowSpam_ уже удалено, а правило _ShowSpam_ в "Белом списке" все срабатывает на уже измененный URL без этого окончания?
Это противоречит логике работы списков HC. Лог монитора покажи.
Правда не работает, ошибся. Тогда придется обойтись без преобразования, просто дописывать в конец URL '?ShowSpam'. А в преобразовании URL его удалять (самое первое правило сделать)
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #131 :
28 сентября 2009, 14:33:33 »
Цитата: Jarikk от 28 сентября 2009, 11:19:57
Можно ли написать расширение для сохранения логов монитора в папке Logs скажем только за последние 10 дней?
Тут опять нужна функция для поиска файлов в папке, которой пока нет.
Цитировать
И еще, часто бывает нужно по gprs сидеть, использую toonel для этого дела. Вот допустим по-умолчанию НС работает через toonel и если в ответе с сервера видно, что используется gzip отключать toonel и идти напрямую для этой страницы.
Если Toonel не правит исходные заголовки ответов сервера и оставляет там упоминание о GZIP, то это возможно сделать. Только напрямую надо идти не для всех элементов на этой странице. Картинки, наверно, все равно через Toonel все должны идти? Иначе они не будут сжиматься...
Цитировать
Возможно ли такое сделать и как это будет работать при одновременной загрузки страницы с gzip и без?
Без проблем. Расширение задает прокси для каждого конкретного запроса, поэтому можно даже одновременно грузить две одинаковые страницы через прокси и напрямую.
Цитата: VoyagerEternal от 28 сентября 2009, 12:15:57
Правда не работает, ошибся. Тогда придется обойтись без преобразования, просто дописывать в конец URL '?ShowSpam'. А в преобразовании URL его удалять (самое первое правило сделать)
И такой дописанный URL отправлять на сервер в инете? Подозреваю, что некоторые сервера не примут такой URL и ответят "404 Not Found".
Вообще, все это можно реализовать в расширении. Прямо там можно отключать "Черный список" для специально помеченных URL, править заголовки запроса перед отправкой в инет и преобразовывать URL для записи в кэш.
Сообщить модератору
Записан
Jarikk
Новичок
Репутация: +0/-0
Offline
Сообщений: 31
Расширения на языке Lua в HandyCache
«
Ответ #132 :
30 сентября 2009, 10:11:05 »
Цитата: DenZzz от 28 сентября 2009, 14:33:33
Тут опять нужна функция для поиска файлов в папке, которой пока нет.
Ясно, ну тогда подождем когда появиться
Или может проще
mai62
уговорить, чтобы опцию соответствующую добавил в настройках
Цитировать
Если Toonel не правит исходные заголовки ответов сервера и оставляет там упоминание о GZIP, то это возможно сделать.
Эмм.. тогда наверное имеет смысл по-умолчанию проверять заголовки ответа напрямую, минуя тонель, т.е. по дефолту будет соеднение без прокси. и если в заголовке нету gzip, то пускать соединение через тонель?
Цитировать
Только напрямую надо идти не для всех элементов на этой странице. Картинки, наверно, все равно через Toonel все должны идти?
ну в принципе да, пусть бы картинки через тонель шли, хотя по gprs-у я картинки стараюсь вообще не загружать.
Цитировать
Без проблем.
Вот только я буду разбираться с этим долго да и не факт что напишу грамотно, подсобишь?
ПС. И еще маленький вопросик, как вставить в скрипт задержку, скажем в 5с? Просто в своем расширении хотелось бы вместо команды os.execute() для запуска батника и с появление командного окна использовать команду hc.shell_execute(.. 'SW_HIDE') без появления командного окна и продолжения через 5с, когда примерно батник выполниться.
«
Последнее редактирование: 30 сентября 2009, 11:02:25 от Jarikk
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #133 :
30 сентября 2009, 12:03:39 »
Цитата: Jarikk от 30 сентября 2009, 10:11:05
Цитировать
Тут опять нужна функция для поиска файлов в папке, которой пока нет.
Ясно, ну тогда подождем когда появиться. Или может проще
mai62
уговорить, чтобы опцию соответствующую добавил в настройках
mai62
подсказал, что уже есть готовые DLL с такой функциональностью.
Например, вот эта:
http://www.keplerproject.org/luafilesystem/
Цитировать
Эмм.. тогда наверное имеет смысл по-умолчанию проверять заголовки ответа напрямую, минуя тонель, т.е. по дефолту будет соеднение без прокси. и если в заголовке нету gzip, то пускать соединение через тонель?
Можно и так. Тогда первый запрос на сервер пойдет напрямую, а последующие в текущей сессии HC - через Toonel. При желании можно даже в файл сохранять список сайтов для сжатия, только он разрастется и замусорится быстро...
Цитировать
Вот только я буду разбираться с этим долго да и не факт что напишу грамотно, подсобишь?
Подсоблю в меру возможности. Грамотное написание расширения требует времени, которое не всегда есть в наличии. Тут важно, чтобы было желание с твоей стороны...
Цитировать
ПС. И еще маленький вопросик, как вставить в скрипт задержку, скажем в 5с? Просто в своем расширении хотелось бы вместо команды os.execute() для запуска батника и с появление командного окна использовать команду hc.shell_execute(.. 'SW_HIDE') без появления командного окна и продолжения через 5с, когда примерно батник выполниться.
Попробуй через событие Timer1s. Фиксируй системное время на старте hc.shell_execute(.. 'SW_HIDE') и через 5 срабатываний Timer1s запускай продолжение.
Видел в сторонней DLL более изящное решение через функцию sleep(int_msec), но мне страшно рекомендовать ту DLL, т.к. в ней 32 из 41 антивируса разглядели BackDoor.
Возможно, подобные функции есть и в других сторонних DLL. Надо искать...
Сообщить модератору
Записан
igorek
Новичок
Репутация: +6/-0
Offline
Сообщений: 36
Расширения на языке Lua в HandyCache
«
Ответ #134 :
15 октября 2009, 20:44:39 »
Каким способом можно узнать хост и порт,куда уйдет запрос в событии BeforeRequestHeaderSend? Переменная hc.use_proxy -пустая строка,какие еще есть способы?
Сообщить модератору
Записан
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Расширения на языке Lua в HandyCache
«
Ответ #135 :
15 октября 2009, 21:10:39 »
А зачем это нужно узнавать? Уйдет в соответствии с настройками. Если ты знаешь куда оно должно уйти, то впиши это в hc.use_proxy.
Перед вызовом обработчика BeforeRequestHeaderSend НС и сам еще не знает куда пойдет запрос. Он выясняет это после работы обработчика BeforeRequestHeaderSend потому, что результат до и после обработчика может быть разным.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #136 :
15 октября 2009, 21:22:25 »
Цитата: igorek от 15 октября 2009, 20:44:39
Переменная hc.use_proxy -пустая строка,какие еще есть способы?
Только самостоятельный парсинг файлов списков proxy.lst и condproxy.lst.
Да и вообще, можно перенести все выборы прокси в расширение, а списки эти отключить...
Сообщить модератору
Записан
igorek
Новичок
Репутация: +6/-0
Offline
Сообщений: 36
Расширения на языке Lua в HandyCache
«
Ответ #137 :
15 октября 2009, 22:26:27 »
Дело в том что нужно анализировать ответ accept-encoding.Если запросы уходит через toonel,то вести лог,если через fastun,то не вести.Я уже нашел решение:анализ по ключевым словам в их ответе
Сообщить модератору
Записан
igorek
Новичок
Репутация: +6/-0
Offline
Сообщений: 36
Расширения на языке Lua в HandyCache
«
Ответ #138 :
19 октября 2009, 21:16:02 »
Обращаюсь к гуру ХК.Какие еще преобразования в имени файла требуется в этом фрагменте кода
Код:
--[[ <HCExtension>
@name Transform File
@author igorek
@version 0.1
@description Преобразовать имена файлов(и переместить) в связи с обновлением списка Преобразование URL
@event Init/init
@event Options/options
</HCExtension> ]]
function CacheToURL(str)
local url=str
url=string.gsub(url,hc.cache_path, "");
--url=string.gsub(url,[[\|.*]], ""); -- удаляем имя файла внутри архива gzip
url=string.gsub(url,"#_", ""); -- удаляем #_ в конце
url=string.gsub(url,"^\\", "?",1); -- ^\ -> ?
url=string.gsub(url,"!", ":",1); -- ! -> :
url=string.gsub(url,"\\", "/"); -- \ -> /
url='http://'..url;
return url
end
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Расширения на языке Lua в HandyCache
«
Ответ #139 :
19 октября 2009, 21:53:48 »
Цитата: igorek от 19 октября 2009, 21:16:02
Какие еще преобразования в имени файла требуется в этом фрагменте кода
Много всяких. Посмотри в теме:
http://handycache.ru/component/option,com_smf/Itemid,10/topic,78.0/
. Там есть исходники и сводная таблица.
Сообщить модератору
Записан
Страниц:
1
...
5
6
[
7
]
8
9
...
29
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...