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

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

Сообщений: 5589



« Ответ #100 : 30 июля 2009, 23:54:19 »

 Расширение "Block external" эффективнее (уменьшается количество ложных срабатываний) при
if ref_host~=nil and url_host~=nil and ref_host~='webwarper' then

Webwarper из URL отбрасывается у меня в функции GetHost(s) при выделении домена и сравнение потом производится по "реальным" доменам, поэтому в твоих дополнениях нет необходимости!

А то, что ты предлагаешь, не увеличит эффективность расширения, а уменьшит ее, так как позволит внешним баннерам спокойно грузиться на страницах, сжатых WebWarper-ом.
Сообщить модератору   Записан
hc_user
Гость
« Ответ #101 : 03 августа 2009, 15:22:07 »

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

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

Сообщений: 5589



« Ответ #102 : 04 августа 2009, 07:19:24 »

нужно для одного конкретного пользователя один конкретный сайт пустить через внешний прокси

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

function Request()
 if hc.user_name == 'Vasay' and re.match(hc.url, [[site\.ru]]) then
  hc.use_proxy = '192.168.55.2:8080'
 end
end
Сообщить модератору   Записан
hc_user
Гость
« Ответ #103 : 04 августа 2009, 10:16:44 »

DenZzz, спасибо
Сообщить модератору   Записан
zed
Постоялец
***

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

Сообщений: 141


« Ответ #104 : 05 августа 2009, 18:49:35 »

Подскажите, в LUA есть функции для работы с Base64 (кодирование/декодирование)?
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #105 : 05 августа 2009, 19:00:29 »

Набрал в гугле "lua Base64". Ссылки есть, например, эта http://lua-users.org/wiki/BaseSixtyFour
Сообщить модератору   Записан
zed
Постоялец
***

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

Сообщений: 141


« Ответ #106 : 05 августа 2009, 19:03:45 »

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

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

Сообщений: 6383


« Ответ #107 : 14 августа 2009, 01:10:46 »

При бесплатном скачивании практически со всех файлообменников приходится ждать несколько десятков секунд пока появится ссылка. Ссылка на самом деле уже находится в теле полученной страницы, но выводится на экран через заданное количество секунд с помощью js-скрипта. Может быть кто-нибудь возьмется написать расширение для отключения ожидания появления ссылки.
Сообщить модератору   Записан
Enver
Новичок
*

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

Сообщений: 46


« Ответ #108 : 14 сентября 2009, 14:58:02 »

Если подключаю такой фильтр в серверах посредниках то получаю "400 Bad Request", а в опере пишет "DNS error, can't resolve: lua"
подскажите пожалуйста что делать


* blockdnlds.lua (0.3 Кб - загружено 50 раз.)
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #109 : 14 сентября 2009, 15:10:03 »

Enver

Скрипты старого формата не работают в последних версиях HC. Переделай свой скрипт в расширение (добавь шапку и поправь имена переменных) и вставь в список расширений. Примеры смотри выше и читай файл HCExtensions.html из комплекта HC.
Сообщить модератору   Записан
flash
Пользователь
**

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

Сообщений: 74


« Ответ #110 : 14 сентября 2009, 15:12:54 »

При бесплатном скачивании практически со всех файлообменников приходится ждать несколько десятков секунд пока появится ссылка. Ссылка на самом деле уже находится в теле полученной страницы, но выводится на экран через заданное количество секунд с помощью js-скрипта. Может быть кто-нибудь возьмется написать расширение для отключения ожидания появления ссылки.
я пользуюсь оперой и для нее есть какраз такие скрипты java если кто возьмется есть скрипты где это реализуется для разных файлообменников, могу скинуть рабочие версии
Сообщить модератору   Записан
Tessey
Новичок
*

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

Сообщений: 8


« Ответ #111 : 15 сентября 2009, 08:57:01 »

Код:
--[[ <HCExtension>
@name          block
@author        alex208210
@version       0.01
@description   Блокировка определенных url определенным пользователям
@event         RequestHeaderReceived/block
</HCExtension> ]]

function FindUrl(s)
  x,_ = string.find(hc.url, s)
  return x
end

function block()
 if (hc.user_name == "Alex" or hc.user_name == "user") and
   FindUrl("sex%.ru") or
   FindUrl("mail%.ru") then
  hc.action = "stop"
 end

end


Почему-то в последней версии HC блокируется доступ всем пользователям, независимо от указанных в поле if (hc.user_name == "Alex" or hc.user_name == "user"...)

Может можно как-то переделать?

И еще вопрос: можно ли указывать в поле только часть наименования сайта, например ("mob"), чтобы блокировались mobile, mobile-review и т.п.?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #112 : 15 сентября 2009, 11:15:18 »

Почему-то в последней версии HC блокируется доступ всем пользователям, независимо от указанных в поле if (hc.user_name == "Alex" or hc.user_name == "user"...)

В последней версии не было изменений, способных помешать работе твоего скрипта.

При таком написании mail.ru будет блокироваться для всех пользователей, sex.ru - только для указанных. Если тебе и mail.ru надо блокировать по пользователям, то заключи стоки с FindUrl в скобки.

Цитировать
И еще вопрос: можно ли указывать в поле только часть наименования сайта, например ("mob"), чтобы блокировались mobile, mobile-review и т.п.?

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

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

Сообщений: 8


« Ответ #113 : 15 сентября 2009, 13:57:53 »

Если тебе и mail.ru надо блокировать по пользователям, то заключи стоки с FindUrl в скобки.
Действительно, теперь все работает.
Большое спасибо
Сообщить модератору   Записан
saitdjara
Новичок
*

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

Сообщений: 1


« Ответ #114 : 17 сентября 2009, 16:33:33 »

Здравствуйте!

А можете помочь?


http://otvet.mail.ru/question/29589818/
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #115 : 17 сентября 2009, 19:09:45 »

Сейчас появилась возможность с помощью расширения сделать так, чтобы на выбранных сайтах НС не удалял старую страницу при закачке новой, а переименовывал ее. Тогда в кэше останется архив старых страниц.
Сообщить модератору   Записан
igorek
Новичок
*

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

Сообщений: 36


« Ответ #116 : 18 сентября 2009, 21:55:36 »

Мой код:
Код:
--[[ <HCExtension>
@name          Proxy (R-prx)
@author        igorek
@version       0.1
@description   Dinamic Proxy
@rule          test1.ru
@event         BeforeRequestHeaderSend/Request
</HCExtension> ]]

function Request()
      hc.put_to_log('Proxy='..hc.use_proxy) -- почему пустая строка,хотя включена прокси через toonel в безусловных прокси
      hc.use_proxy='localhost:80' --Server Apache
      if hc.offline_on then
         -- hc.execute_cmd('LoadURL') Не срабатывает
        hc.execute_cmd('OffLine off') -- тоже не срабатывает
     end
      hc.action='dont_save'     
      hc.monitor_string = hc.monitor_string..'R-Prx'
      end
end  -- Конец функции Request

Добавлено: 18 Сентября 2009, 21:13:58

Добавил в скрипт eA_Block_long_file_Ex.lua событие Options.
Правило и исключение пока заглушка. Для них уже есть @rule&@exception
На собственное авторство не претендую,всего лишь немного копи-пэйст из скрипта eCacheCleaner.lua
Теперь,мне кажется, окошко Настройки->Управление загрузкой->Не загружать большие файлы можно убрать
Расширение -это сила,мощь и минимализм!

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

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

Сообщений: 6383


« Ответ #117 : 19 сентября 2009, 03:03:14 »

Цитировать
hc.put_to_log('Proxy='..hc.use_proxy) -- почему пустая строка,хотя включена прокси через toonel в безусловных прокси
hc.use_proxy хранит значение, присвоенное расширением, то, что в настройках внешнего прокси сюда не попадает.
Цитировать
hc.execute_cmd('LoadURL') Не срабатывает
Эту команду надо применять, например, так
hc.execute_cmd('LoadURL http://mail.ru')
По этой команде указанный URL загрузится в кэш. Проверил, работает.
Цитировать
hc.execute_cmd('OffLine off') -- тоже не срабатывает
Проверил, у меня работает.
Сообщить модератору   Записан
igorek
Новичок
*

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

Сообщений: 36


« Ответ #118 : 19 сентября 2009, 21:28:15 »

Идея такая:Некоторые сайты пустить на локальный проскси-сервер,даже если ХэндиКэш в оффлайне
Тест 1
HC - Автономный режим=True
Код:
 hc.use_proxy='localhost:80' --Server Apache
  if hc.offline_on then
    hc.execute_cmd('OffLine off') --эффекта нет
    --hc.execute_cmd('OffLine off') -эффекта нет
    hc.execute_cmd('LoadURL'..hc.url)  
  end
 
Не пускает,в Мониторе в поле Правило -Offline
Автономный режим не переключается в False

Тест 2
HC - Автономный режим=False
Код:
 hc.use_proxy='localhost:80' --Server Apache
  if not hc.offline_on then    
    hc.execute_cmd('LoadURL'..hc.url)
    hc.execute_cmd('OffLine on') --переключается
    --hc.execute_cmd('OffLine switch') --переключается
  end
После загрузки hc.url с веб-апачи Автономный режим переключается в True

Test 3
Переключаемcя Offline в Off/On
Код:
 if not hc.offline_on then
   hc.execute_cmd('OffLine switch') -- OffLine on
  else
    if hc.offline_on then
      hc.execute_cmd('OffLine switch') --Offline off
    end
  end
Итог: в Автономный режим переходит,обратно не хочет
Тут проще было одной командой hc.execute_cmd('OffLine switch') вместо этой кучи кода

В Опере есть кнопка с командой   
 Item, "HC: Offline On/Off" = Execute program, "D:\Internet\HandyCache\HCie\HCCmd.exe", "Offline switch"
Работает нормально
Сообщить модератору   Записан
igorek
Новичок
*

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

Сообщений: 36


« Ответ #119 : 19 сентября 2009, 22:48:41 »

Решил частично. Автономный режим переключается в событие RequestHeaderReceived
Код:
--[[ <HCExtension>
@name          Proxy (R-prx)
@author        igorek
@version       0.1
@description   Dinamic Proxy
@rule          test1.ru
@event         RequestHeaderReceived/Online
@event         BeforeRequestHeaderSend/Request
</HCExtension> ]]

function Online()
if hc.offline_on then hc.execute_cmd('OffLine Off')  end
end

function Request()
  hc.use_proxy='localhost:80' --Server Apache
-- hc.execute_cmd('LoadURL '..hc.url) --вылетает в цикл
  hc.action='dont_save'     
  hc.monitor_string = hc.monitor_string..'R-Prx'

end  -- Конец функции Request
Но загрузки страницы нет
Сообщить модератору   Записан
Страниц: 1 ... 4 5 [6] 7 8 ... 29   Вверх
  Отправить эту тему    Печать  

 
Перейти в: