Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Общие вопросы
»
Написание правил по заявкам
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц:
1
...
48
49
[
50
]
51
52
...
89
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Написание правил по заявкам (Прочитано 1122876 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sergtch
Новичок
Репутация: +0/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #980 :
15 ноября 2009, 23:12:13 »
Цитата: DenZzz от 15 ноября 2009, 23:05:26
Возможно, если напишешь такое расширение для HC.
Тоесть просто правилами - не получится, а готового расширения для этого нет?
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #981 :
15 ноября 2009, 23:29:44 »
Цитата: sergtch от 15 ноября 2009, 23:12:13
Тоесть просто правилами - не получится
В пределах папки кэша - без проблем. Вне папки кэша тоже есть лазейка:
http://handycache.ru/component/option,com_smf/Itemid,10/topic,1381.msg11296/#msg11296
но в расширении это делать удобнее.
Цитировать
готового расширения для этого нет?
Нет, но там всего пара строк кода.
Сообщить модератору
Записан
Aleksei N
Постоялец
Репутация: +4/-0
Offline
Сообщений: 125
Re: Написание правил по заявкам
«
Ответ #982 :
22 ноября 2009, 03:56:23 »
Скажите как правильно написать правило.
Составил такое правило (преобразования) для Опера турбо
#5#~#False#~#(global-turbo-1.opera-mini.net:80/[www.]{4})(.*)#~#\3\2#~#False#~#True
Оно срабатывает в тренажоре, но на деле оно не работает
Понял, там срабатывает другое правило
#5#~#True#~#:(?!443/)\d+/#~#/#~#False#~#True
Как сделать что бы срабатывало мое?
«
Последнее редактирование: 22 ноября 2009, 04:13:28 от Aleksei N
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #983 :
22 ноября 2009, 09:28:59 »
Aleksei N
Все равно с одним твоим правилом Турбо-режим Оперы не сможет работать!
Используй расширение "
Opera Turbo Agent
", оно само делает все нужные преобразования:
http://handycache.ru/component/option,com_smf/Itemid,10/topic,2208.msg21737/#msg21737
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #984 :
24 ноября 2009, 11:20:56 »
Цитата: Rick от 16 марта 2007, 20:56:42
Если вам нужно специфическое правило вы можете обратиться за помощью здесь.
Здравствуйте, нужно специфическое правило (по моему скромному мнению).
Проблема:
GPRS провайдер (а может и не он?) во все входящие страницы (http://) включает скрипт, назначение которого для меня туманно. Предположение такое - периодическая перегрузка картинок в странице под видом упаковки, распаковки.... Внешне проявляется так - картиника мигнет, не успев загрузиться и грузится заново. Из кэша провайдера. Он (провайдер) адреса картинок подменяет на свои, из кэша. Скрипт (JS) вставляется перед завершающими </body></html>.
Задача:
вырезать этот скрипт из всех станиц.
Попытки решения
предпринимались, была найдена статья [a href="простите, потерял ссылку. кажется на citforum.ru"]"Учимся регулярно выражаться"[/a] где приводится рег.выражение :
<(\w+)[^>]*>((?
?!</\1>).)*))</\1>
- Оно захватывает любые парные теги вместе с содержимым. на этом все закончилось, т.к. в вашей Реализации оператор
(?:
не поддерживается. И еще мне не понятно, куда это выражение вставлять в HC.
Я уверен, что HC справится с моей задачей, но сам я пока не могу
, поэтому прошу помочь.
скрипт привожу ниже, опять просьба к Вам, сожмите его как-нибудь сами (скрипт), а то много места занимает...
Код:
<script type="text/javascript"><!--
var FN_IR_el;
function FN_IR_reload()
{
var el = FN_IR_el;
if(el && el.hasNGData)
{
el.alt = el.NGAlt;
el.title = el.NGTitle;
el[el.NGAttrib] = el.NGSrc + 'nguncompressed';
el.hasNGData = false;
el.NGDone = true;
}
}
function FN_IR_mouseout(e)
{
if(!e)
e = window.event;
var el;
el = e.target || e.srcElement;
if(el && el.hasNGData)
{
clearTimeout(el.NGTimeout);
}
}
function FN_IR_mousein(e)
{
if(!e)
e = window.event;
var el;
el = e.target || e.srcElement;
if( (el.NGDone == true) && el.NGSrc && (el.src.search('nguncompressed') == -1) && (el.src.search(el.NGSrc) == -1) )
{
el.NGDone = false;
el.hasNGData = false;
}
if(!el.NGDone && !el.hasNGData)
{
if(el.tagName=="IMG")
{
var uri = el.src;
var imgName = uri;
if (uri.search(/\/$/) != -1)
{
return;
}
if(uri.search(/^mhtml:http:\/\//i) == 0)
{
var mp = imgName.search("!");
if(mp != -1)
{
imgName = imgName.substring(mp+1);
if(el.onmouseover)
el.src = imgName;
}
}
else if(uri.search(/^(http|file):\/\//i) == -1)
{
el.NGDone = true;
return;
}
var endUrl = imgName.search(/[\?\!\&]/);
if(endUrl == -1)
endUrl = imgName.length;
var extension = imgName.substring(endUrl - 4);
if(extension.search(/^\.(bmp|png)/i) == 0)
{
el.NGDone = true;
return;
}
el.hasNGData = true;
el.NGSrc = imgName;
el.NGAttrib = "src";
el.NGAlt = (el.alt)?el.alt:"";
el.NGTitle = (el.title)?el.title:"";
el.alt = 'please wait 1 second(s) for an uncompressed image, or press Ctrl+F5 for original quality page';
el.title = 'please wait 1 second(s) for an uncompressed image, or press Ctrl+F5 for original quality page';
}
else
{
el.NGDone = true;
}
}
if(el && el.hasNGData)
{
FN_IR_el = el;el.NGTimeout = setTimeout("FN_IR_reload()", 1000*1);
}
}
function FN_IR_error(e)
{
if(!e)
e = window.event;
var el;
el = e.target || e.srcElement;
if(el && el.checkMht)
{
el.checkMht = false;
var uri = el.src;
if(uri.search(/^mhtml:http:\/\//i) == 0)
{
var mp = uri.search("!");
if(mp != -1)
{
el.src = uri.substring(mp+1);
}
}
}
}
function FN_IR_register_image(bod)
{
bod.checkMht = true;
if(bod.attachEvent)
{
bod.attachEvent("onmouseover", FN_IR_mousein);
bod.attachEvent("onmouseout", FN_IR_mouseout);
bod.attachEvent("onerror", FN_IR_error);
}
else if(bod.addEventListener)
{
bod.addEventListener("mouseover", FN_IR_mousein, false);
bod.addEventListener("mouseout", FN_IR_mouseout, false);
bod.addEventListener("error", FN_IR_error, false);
}
else
{
var tmp1 = bod.onmouseover;
if(tmp1)
{
bod.onmouseover = function()
{
tmp1();
FN_IR_mousein();
};
}
else
{
bod.onmouseover = FN_IR_mousein;
}
var tmp2 = bod.onmouseout;
if(tmp2)
{
bod.onmouseout = function()
{
tmp2();
FN_IR_mouseout();
};
}
else
{
bod.onmouseout = FN_IR_mouseout;
}
}
}
function FN_IR_register()
{
var i;
for (i = 0 ; i < document.images.length ; i++)
{
FN_IR_register_image(document.images[i])
};
}
FN_IR_register();
--></script>
</body>
</html>
«
Последнее редактирование: 24 ноября 2009, 11:26:02 от gp_handy
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #985 :
24 ноября 2009, 11:39:02 »
Цитата: gp_handy от 24 ноября 2009, 11:20:56
в вашей Реализации оператор
(?:
не поддерживается.
Это неверно! Поддерживается.
Цитировать
И еще мне не понятно, куда это выражение вставлять в HC.
Я уверен, что HC справится с моей задачей, но сам я пока не могу
, поэтому прошу помочь.
Тут надо либо с нуля писать свое расширение для обработки тела, либо добавить правило для вырезания твоего скрипта в один из списков расширения
Content Master
. Последний вариант, конечно, намного проще.
Сообщить модератору
Записан
Villi
Старожил
Репутация: +1/-3
Offline
Сообщений: 347
Re: Написание правил по заявкам
«
Ответ #986 :
26 ноября 2009, 09:14:04 »
на некоторых сайтах мешают изображения с таких урл:
http://www.marketgid.com/ghits/16680/i/397/k/
Я пробовал занести эти изображения в черный список, но получалось, что блокировался только сайт marketgid.com, если заходить на него.
Как блокировать эти изображения?
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #987 :
26 ноября 2009, 11:25:27 »
Цитата: Villi от 26 ноября 2009, 09:14:04
на некоторых сайтах мешают изображения с таких урл:
http://www.marketgid.com/ghits/16680/i/397/k/
Это редиректы на другие сайты и изображения грузятся с них напрямую, поэтому надо смотреть в мониотор HC и блокировать то, что грузится на самом деле.
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #988 :
05 декабря 2009, 02:22:37 »
Цитата: DenZzz от 24 ноября 2009, 11:39:02
Это неверно! Поддерживается.
Простите, не разобрался до конца.
Цитата: DenZzz от 24 ноября 2009, 11:39:02
Тут надо либо с нуля писать свое расширение для обработки тела, либо добавить правило для вырезания твоего скрипта в один из списков расширения
Content Master
. Последний вариант, конечно, намного проще.
Спасибо, работает так:
Включил Content_master;
включил в нем adMuncher (удалять HTML элементы типа "скрипт")
в файл
adMuncherList.txt
строчку:
Remove scripts with text: FN_IR_el;
и скрипт стал вырезаться из страниц. Сразу стало намного приятнее работать в браузере.
(при наведении мышки на картинку она заново перезагружалась). да и трафик стал поменьше.
Еще два вопроса есть.
1. Cайт RP5.ru (расписание погоды) при работе через HC теряет картинки ( "солнечно", "облачно" и тд.) не разобрался почему, и не только на моем ПК.
2. Провайдер подменяет адреса картинок:
http://62.0.5.134/handycache.ruu/forum/Themes/SlickPro_Graphite/images/im_on.gif
. Он обращает к своему кэшу (62.0.5...).
составил правило:
(62\.0\.5\.13[0-9]/)([^(ruu)]*)(ruu)(.*)|\2ru\4
чтобы восстановить справедливость (их НС кэширует и так, но не понятно, по какому принципу их кэширует провайдер, возможно меняются IP...).
Куда его включать - не пойму, подскажите, пожалуйста.
и как обобщить это правило для других доменов - ua, org, net... в одном правиле, чтобы не писать столько правил, сколько доменов им обрабатывать?
«
Последнее редактирование: 05 декабря 2009, 02:27:17 от gp_handy
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #989 :
05 декабря 2009, 09:43:51 »
Цитата: gp_handy от 05 декабря 2009, 02:22:37
1. Cайт RP5.ru (расписание погоды) при работе через HC теряет картинки ( "солнечно", "облачно" и тд.) не разобрался почему, и не только на моем ПК.
В Черном списке есть правило:
(\b|_)cn(stat(ic)?s?)?[^a-z]
добавь ему исключение:
rp5\.ru/img/
Сохрани список и перечитай Content Master, на всякий случай.
Цитировать
2. Провайдер подменяет адреса картинок:
http://62.0.5.134/handycache.ruu/forum/Themes/SlickPro_Graphite/images/im_on.gif
. Он обращает к своему кэшу (62.0.5...).
составил правило:
(62\.0\.5\.13[0-9]/)([^(ruu)]*)(ruu)(.*)|\2ru\4
чтобы восстановить справедливость (их НС кэширует и так, но не понятно, по какому принципу их кэширует провайдер, возможно меняются IP...).
Куда его включать - не пойму, подскажите, пожалуйста.
Твое правило содержит несколько ошибок, а включать его надо, видимо, в список "Преобразование URL".
Цитировать
и как обобщить это правило для других доменов - ua, org, net... в одном правиле, чтобы не писать столько правил, сколько доменов им обрабатывать?
А твой провайдер все домены коверкает по типу .ruu ? Если это не опечатка, то как у него выглядят другие домены: ua, org, net и т.д.? Приведи примеры таких URL.
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #990 :
06 декабря 2009, 01:19:31 »
Цитата: DenZzz от 05 декабря 2009, 09:43:51
А твой провайдер все домены коверкает по типу .ruu ? Если это не опечатка, то как у него выглядят другие домены: ua, org, net и т.д.? Приведи примеры таких URL.
копирую из HC монитора:
http://62.0.5.134/softkey.uaa/images/t/icon/lock.gif
http://62.0.5.134/www.w3.orgg/2008/site/images/logo-w3c-mobile-lg
http://62.0.5.136/softkey.infoo/images/top_back.gif
и другие домены аналогичным образом
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #991 :
06 декабря 2009, 09:24:33 »
Цитировать
Твое правило содержит несколько ошибок
попытался сделать универсальное правило:
62\.0\.5\.13[0-9]/([^/]*)
замена на
\1,
но как оттяпать у этого
\1
последний символ???
Пока не решил эту задачу, пришлось использовать исключение
rp5\.ruu/img/
...
Сообщить модератору
Записан
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Re: Написание правил по заявкам
«
Ответ #992 :
06 декабря 2009, 12:18:08 »
Цитировать
попытался сделать универсальное правило: 62\.0\.5\.13[0-9]/([^/]*) замена на \1, но как оттяпать у этого \1 последний символ???
Попробуй так:
правило: 62\.0\.5\.13[0-9]/(.*?)\w/
замена: \1/
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #993 :
07 декабря 2009, 02:26:29 »
Цитата: mai62 от 06 декабря 2009, 12:18:08
Цитировать
попытался сделать универсальное правило: 62\.0\.5\.13[0-9]/([^/]*) замена на \1, но как оттяпать у этого \1 последний символ
Попробуй так:
правило: 62\.0\.5\.13[0-9]/(.*?)\w/
замена: \1/
Попробовал в тренажере, работает
включил в список "преобразование URL", поставил все галочки. Количество попаданий за 30 мин - 486 !!!
Не понял только почему в исходных текстах страниц остались не преобрзованные ссылки (опять 62.0.5...) и как при этом будет вести себя кеш, останутся ли там 62.0.5...
Еще забываю все время сказать по SSL (порт 443), если я не ошибаюсь, HC мне помог избавиться
от
h t t p s:/ / ssl. google-analytics. com: 443
, (пробелы- чтобы не терялась ссылка, а то я ее не вижу) который появляется в мониторе при любых соединениях HTTPS, а это как правило связано с важной и часто финансовой информацией, не знаю, что он делает, но без него спокойнее. Занес в черный список. Так что если это работает, то смысл включать proxy на HTTPS есть.
И еще одно спасибо за то, что я увидел в мониторе и отключил вот такой ресурс:
+safebrowsing.clients.google.com/safebrowsing/downloads?...
, он цеплялся практически за всё, и отъедал 60-80 % трафика, какбудто забирал весь мой трафик в зашифрованном виде.
Вот так. Спасибо Вам большое !!!
P.S. Проверьте
yandex.money
.
«
Последнее редактирование: 07 декабря 2009, 02:33:12 от gp_handy
»
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #994 :
07 декабря 2009, 11:50:48 »
Цитата: gp_handy от 07 декабря 2009, 02:26:29
Не понял только почему в исходных текстах страниц остались не преобрзованные ссылки (опять 62.0.5...)
Потому что список "Преобразование URL" не правит HTML-код страниц, он преобразует только пути к файлам в кэше.
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #995 :
07 декабря 2009, 13:00:09 »
Цитата: DenZzz от 07 декабря 2009, 11:50:48
Потому что список "Преобразование URL" не правит HTML-код страниц, он преобразует только пути к файлам в кэше.
А существует возможность править HTML-код страниц (URL) ? если да, то куда включать правило преобразования ?
Сообщить модератору
Записан
inep
Новичок
Репутация: +0/-0
Offline
Сообщений: 11
Помогите с регулярным выражением
«
Ответ #996 :
07 декабря 2009, 13:49:34 »
Это мой отрывок из белого списка:
+
pinbay.net
/*
+open.net/*
+sourceforge.net/*
+mobile.net/*
Как видите, они состоят из четырех строк.
Как можно их написать в одной строке?
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #997 :
07 декабря 2009, 14:43:42 »
Цитата: gp_handy от 07 декабря 2009, 13:00:09
А существует возможность править HTML-код страниц (URL) ? если да, то куда включать правило преобразования ?
Да, если напишешь такое расширение. В принципе, тот же Content Master мог бы это в будущем делать, если его автора заинтересует такая идея. Написал ему об этом...
А если он не пожелает, то выложу свое расширение с таким функционалом.
Цитата: inep от 07 декабря 2009, 13:49:34
Как можно их написать в одной строке?
(pinbay|open|sourceforge|mobile)\.net/
Сообщить модератору
Записан
gp_handy
Новичок
Репутация: +1/-0
Offline
Сообщений: 9
Re: Написание правил по заявкам
«
Ответ #998 :
08 декабря 2009, 04:55:54 »
Цитата: DenZzz от 07 декабря 2009, 14:43:42
Да, если напишешь такое расширение.
Посмотрите пожалуйста:
Код:
--[[ <HCExtension>
@name Преобразование URI
@author ?
@version 0.0
@description Преобразовывает URL по правилу gp_handy
@rule
62\.0\.5\.13[0-9]/.*
@event RequestHeaderReceived/Request
</HCExtension> ]]
function ChangeHost(s)
-- редактируем ссылку
s, _ = string.gsub(s, '^(http://)62\.0\.5\.13[0-9]/(.*?)\w/', '%1/', 1)
return s
end
function Request()
-- Только для GET-запросов
if hc.method == 'GET' then
hc.url = ChangeHost(hc.url)
hc.monitor_string = hc.monitor_string..'gph '
end
end -- Конец функции Request
Все на что способен
Но не работает у меня преобразование URL, хотя расширение отрабтывает, и в нужных случаях, судя по монитору.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Написание правил по заявкам
«
Ответ #999 :
08 декабря 2009, 08:46:03 »
Цитата: gp_handy от 08 декабря 2009, 04:55:54
Но не работает у меня преобразование URL, хотя расширение отрабтывает, и в нужных случаях, судя по монитору.
Не работает, потому что содержит несколько концептуальных ошибок.
Что-то не пойму, ты вроде хотел править HTML-код, а в расширении пытаешься изменить только URL запросов. Если этого достаточно, то просто добавь свое правило в список "Переадресация" и писать расширение тебе тогда не нужно.
Сообщить модератору
Записан
Страниц:
1
...
48
49
[
50
]
51
52
...
89
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...