+  HandyCache форум
|-+  Главная категория» Общие вопросы» Расширения на языке Lua в HandyCache
Имя пользователя:
Пароль:
Страниц: 1 ... 25 26 [27] 28 29   Вниз
  Отправить эту тему    Печать  
Автор Тема: Расширения на языке Lua в HandyCache  (Прочитано 437584 раз)
0 Пользователей и 1 Гость смотрят эту тему.
HKLM
Старожил
****

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

Сообщений: 305


« Ответ #520 : 26 августа 2013, 21:46:36 »

Поправьте пожалуйста расширение. Новый RC3 1.0.0.469 зависает из-за него.
Цитировать
--[[ <HCExtension>
@name          Online/Offline
@author        mai62
@version       0.01
@description   0
@rule          ^http://
@event         Init/init
@event         RequestHeaderReceived/request
</HCExtension> ]]

--  VK_CAPITAL = 20
--  VK_NUMLOCK = 144
--  VK_SCROLL = 145

function request()
  require 'keyboard'
  x=keyboard.GetKeyState(20)
--    hc.put_to_log('..hc.url')
  if x==0 then
    hc.action="only_from_cache"
    hc.monitor_string = hc.monitor_string..'R-Offline '
   end
end
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #521 : 26 августа 2013, 22:39:25 »

Попробуйте keyboard.dll заменить на этот файл.

* keyboard.zip (56.43 Кб - загружено 71 раз.)
Сообщить модератору   Записан
HKLM
Старожил
****

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

Сообщений: 305


« Ответ #522 : 27 августа 2013, 01:24:30 »

С ним так же зависает в момент получения запроса от браузера. В логе видно еррор

* log234.rar (1.05 Кб - загружено 53 раз.)
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #523 : 27 августа 2013, 09:36:50 »

С этим файлом у меня работает.

* keyboard.zip (58.33 Кб - загружено 67 раз.)
Сообщить модератору   Записан
HKLM
Старожил
****

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

Сообщений: 305


« Ответ #524 : 27 августа 2013, 14:34:34 »

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

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

Сообщений: 42


« Ответ #525 : 23 января 2014, 17:31:01 »

Возможно ли добавить hc.last_part в событие BeforeRequestHeaderSend? или подскажите способ каким образом можно сначала получить весь запрос от браузера и только после получения всего запроса отправить его на сервер. а то когда post-запроc достаточно велик (десятки а то и сотни кб), то он их отправляет частями а нужно получить его полностью чтобы иметь возможность нормально обработать. Заранее спс.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #526 : 23 января 2014, 17:47:58 »

Посмотрите в файле HCExtensions.html пример расширения для обработки тела запроса.
Сообщить модератору   Записан
juku
Новичок
*

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

Сообщений: 7


« Ответ #527 : 23 января 2014, 20:50:44 »

Добрый вечер всем.

Возможно ли сделать  исключение для определенных пользователей переадресацию?  Если да то как должен выглядеть скрипт в lua. Я просто совсем непонимаю как работает он, что-то сам пробовал химичить, но так и не получилось....

Мне надо просто сделать переадресацию на социальные сети. Однако некоторым пользователям разрешить. Если есть у кого-то идее как сделать кроме переадресации, я буду рад.

Система выглядит так

1) Уровень - обычные пользователи на уровне черного списка
2) 2 Уровень - люди у которых игнорируется черный список( За что спасибо mai62 который скинул игнорирование черного списка для определенных пользователей), но закрыты некоторые сайты (проще говоря переадресация на социальные сети)
и хочется сделать так сказать 3 уровень у кого будет игнорироватся переадресация.

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

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

Сообщений: 42


« Ответ #528 : 23 января 2014, 21:55:35 »

Посмотрите в файле HCExtensions.html пример расширения для обработки тела запроса.

Смотрел, почему-то когда делал в самом начале то запрос зависал и ничего не происходило, поэтому подумал что там что-то не то или сайт не поддерживается (?) и пришлось реализовать довольно мудрённый код. А сейчас с первого раза сработало как надо. Чудеса да и только. Спасибо за замечательную программу!
« Последнее редактирование: 23 января 2014, 22:01:32 от Zoynels » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #529 : 24 января 2014, 00:09:05 »

juku
Код:
--[[ <HCExtension>
@name          WhiteUser
@author        mai62
@version       0.1
@description   Отключение Черного списка или переадресации для заданных пользователей
@event         RequestHeaderReceived/RequestReceived
</HCExtension> ]]

function RequestReceived()
  local mask=''
  if hc.user_name=='user1' or
     hc.user_name=='user2'
  then
    mask='B'
  end
  if hc.user_name=='user31' or
     hc.user_name=='user32'
  then
    mask=mask..'R'
  end
  if #mask>0
  then
    hc.monitor_string = hc.monitor_string.."WU "
    hc.white_mask=mask
  end
end
Уровень 2 - пользователи user1 и user2;
Уровень 3 - пользователи user31 и user32;
« Последнее редактирование: 24 января 2014, 00:27:11 от mai62 » Сообщить модератору   Записан
juku
Новичок
*

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

Сообщений: 7


« Ответ #530 : 24 января 2014, 12:09:56 »

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

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

Сообщений: 22


« Ответ #531 : 11 февраля 2014, 21:41:11 »

скажите пожалуйста
как сделать так что бы разрывались все существующие соединения раз в час?
Сообщить модератору   Записан
KPu3uC B Poccuu
Пользователь
**

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

Сообщений: 68


WWW
« Ответ #532 : 12 марта 2014, 14:25:20 »

У меня такой вопрос: пользуется ли автор HC какой-то библиотекой/компонентом для подлючения Lua в Дельфи? Я сам пытаюсь уже кучу времени найти что-то рабочее (не под древний D7, желательно с поддержкой хотя бы Delphi XE). Есть просто перевод исходников C на Паскаль, но прежде чем засесть за документацию их и Lua решил выяснить, вдруг тут уже есть готовый компонент, умеющий автоматически сам связывать Дельфи-переменные и классы с переменными на стороне скрипта.
Сообщить модератору   Записан
olDjeka
Постоялец
***

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

Сообщений: 117


« Ответ #533 : 25 апреля 2014, 17:44:20 »

Поскольку многие сайты стали часто менять стили и скрипты решил отключить соответствующие правила списка "Не обновлять" и подключить своё расширение (приведено ниже). По замыслу оно не должно обновлять только файлы подпадающие под заданные правила и размер которых не указан в заголовке ответа.
И почти сразу нарвался на "неприятность": при посещении handycache.ru перестал загружаться один из файлов стилей. Т.е. в мониторе показывает что всё в порядке - файл загрузился из кэша, а в действительности он не загружается. Это особенно отчётливо видно при загрузке только этого файла - после появления строки в мониторе браузер ещё в течении нескольких секунд ожидает ответа, но в итоге показывает пустую страницу.

Подскажите в чём может быть проблема?

Строка монитора:
Код:
25.04.2014/17:03:03 local/127.0.0.1 http://handycache.ru/forum/Themes/SlickPro_Graphite/style.css?fin11 3514 3514/340 100% 457 "200 From cache (HC)gzip" П.295, П.297, A-Rs
П.295 (Преобразование URL): /.+\.\w{2,}(/?\?.*|/$)\K 
П.297 (Преобразование URL): (\.(css|js|gif|jpe?g|png|swf))(/?\?.*|/$) 
A-Rs

Расширенние:
Код:
--[[ <HCExtension>
@name          Не обновлять файлы по заданным правилам и по размеру (A-Rs)
@description   Не обновляет файл только если его размер не указан
@rule          \.(css|js)(\?|$||)
@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()
  -- Забираем размер файла из заголовка 'Content-Length'
  local Len = GetContentLength(hc.answer_header)
   -- и если в заголовке нет размера файла,
   if Len == -1 then
    -- то прерываем загрузку с сервера и загружаем файл из кэша
    hc.action = 'dont_update-'
    hc.monitor_string = hc.monitor_string..'A-Rs '
   end  -- Конец блока проверки размера и принятия решения
end  -- Конец функции Answer
Сообщить модератору   Записан
olDjeka
Постоялец
***

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

Сообщений: 117


« Ответ #534 : 25 апреля 2014, 23:40:15 »

Причину не выяснил, но после перезапуска HC проблема исчезла Непонимаю
Сообщить модератору   Записан
Zarall
Новичок
*

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

Сообщений: 3


« Ответ #535 : 04 декабря 2014, 17:07:16 »

Здравствуйте, поделитесь пожалуйста расширением которое ограничивало бы скорость интернета у конкретного пользователя. За ранее благодарен.
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #536 : 04 декабря 2014, 21:35:38 »

Цитировать
поделитесь пожалуйста расширением которое ограничивало бы скорость интернета у конкретного пользователя
Это расширение ограничивает скорость пользователей user1 и user2 до 20 кбайт/с.
Код:
--[[ <HCExtension>
@name          Ограничение скорости по пользователям
@author        mai62
@version       0.01
@description  Ограничивает скорость загрузки пользователя
@event         RequestHeaderReceived/request
</HCExtension> ]]


function request()

if hc.user_name == 'user1' or hc.user_name == 'user2'  then
  hc.user_speed_limit=20*1024
end

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

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

Сообщений: 3


« Ответ #537 : 05 декабря 2014, 13:00:50 »

Большое спасибо! Но у нас возникает следующая проблема, мы пользуемся вашим расширением по "отключению Черного списка или переадресации для заданных пользователей" помогите пожалуйста связать его с расширением  "Ограничение скорости по пользователям"
Если просто добавить его как новое расширения то никакого результата нет, пробовал несколькими способами объединить код нечего не вышло.  Грустный Надеюсь на вашу поддержку,за раннее благодарен.
Сообщить модератору   Записан
Anymore
Beta tester
*****

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

Сообщений: 339


« Ответ #538 : 05 декабря 2014, 14:30:53 »

"отключению Черного списка или переадресации для заданных пользователей"
сомневаюсь, что кому-то понятно какое именно расширение Вы имеете ввиду, давайте так: найдите в нём строку
function request()
и сразу после вставьте
Код:
if hc.user_name == 'user1' or hc.user_name == 'user2'  then
  hc.user_speed_limit=20*1024
end
Сообщить модератору   Записан
Zarall
Новичок
*

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

Сообщений: 3


« Ответ #539 : 05 декабря 2014, 21:45:23 »

Прошу меня извинить, расширение о котором идет речь находится на несколько постов выше, посмотрите пожалуйста.
P.s. при попытке цитировать или вставить код, выдает сообщение "В сообщении слишком много внешних ссылок.", извините за неудобство.
Сообщить модератору   Записан
Страниц: 1 ... 25 26 [27] 28 29   Вверх
  Отправить эту тему    Печать  

 
Перейти в: