Lain_13
Радик245
Закончил кеширование данных на диске, следующая тестовая версия (появится через 10 минут) будет записывать файл cache.js на диск, рядом с patterns.ini. Можно, конечно, читать его и так просто - но все-таки не сильно удобно. Лучше скачайте http://pastebin.mozilla.org/?dl=1064160 и положите в ту же папку. При открытии в браузере эта страничка обработает файл cache.js и переведет в более читабельный вид. Вас, кстати, интересует ключ "matcher", а не "elemhide".
Отредактировано Владимиp Палант (15-02-2011 16:41:34)
Отсутствует
Владимиp Палант
У меня возник вопрос по использованию маски «^».
Цитата: Separator character is anything but a letter, a digit, or one of the following: — . %.
1. Заходим на google.com
2. Создаём правило ^extern_js^ — при обновлении страницы оно блокирует один скрипт.
3. Меняем его на ^extern^js^ — при обновлении скрипт загружается нормально.
Т.е. получается, что тут где-то ошибка, но вот где именно? Чему в действительности соответствует эта маска?
Добавлено 16-02-2011 13:41:00
Вообще жаль, что символы «-» и «_» исключены. Очень сильно ограничивает применение.
Отредактировано Lain_13 (16-02-2011 13:27:45)
Отсутствует
Lain_13
Похоже, что при переходе на Anwiki здесь произошла ошибка. На самом деле символы, которые не считаются разделителями:
Я исправил документацию.
PS: Все-таки, основное применение - доменные имена. А дефис и подчеркивание в них встречаются (последнее в теории не разрешено, но это не мешает использовать подчеркивание в доменах второго уровня).
Отредактировано Владимиp Палант (16-02-2011 13:53:34)
Отсутствует
Владимиp Палант
Просто реальное применение у него ограничено доменными именами и параметами (вроде соответствия правила ^banid= случаям ?banid= и &banid=).
Первое практически бессмысленно — редко кто использует обращение на нестандартные порты и это исправляется дублем правила с двоеточием вместо «/» для такого умника (у меня есть правила которые вообще заканчиваются на точку без указания домена первого уровня и всё отлично до сих пор), а второе — практически не применяется на практике ни кем. Реально у меня в подписке есть всего 2-3 правила где применение маски «^» обосновано и действительно помогает. Может я не знаю ещё о 2-3 таких правилах, но это не важно.
Добавлено 16-02-2011 14:30:57
Лол, я даже знаю 1 случай когда применение ^ вместо / в адресе сайта привело к ложному срабатыванию. На одной файлопомойке (забыл название) есть логин на tbn.ru. Так вот оно всё там висит на алтернативном порту и если добавить по новым правилам ||tbn.ru^$third-party вместо старого.tbn.ru/, то срезается.
Добавлено 16-02-2011 14:49:43
Баг в текущей реилазации панели блокируемых элементов (думаю давно известный).
Адреса попавшие в белый список исчезают из списка элементов если они были загружены динамически.
Для воспроизведения идём на http://izvestia.ru/.
Сейчас с моей подпиской там внизу появляется целая пачка зелёных адресов с домена adriver.ru. Переключаемся на любую закладку и возвращаемся — в списке остаются только локальные адреса.
Отредактировано Lain_13 (16-02-2011 14:24:04)
Отсутствует
Владимиp Палант
Тут такой вопрос возник. А генератор отчётов предлагает пользователю обновить подписки если среди них есть не скачавшиеся (Failed, download failure)? Такое впечатление, что нет. А то я ситуацию вроде:
https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt none 28 second(s) ago unknown unknown - unknown yes Failed, download failure
Вижу довольно часто и народ жалуется мол реклама лезет. Естественно она лезет.
Так-же пусть AdBlock+ пробует загружать подписку по http если указан https и загрузка обламывается. В некоторых случаях https является причиной проблем с загрузкой подписки. К нам однажды даже пользователь заходил как-раз из-за этого. Переход на http в его случае проблему решил.
Хотя, конечно, бывает и вот так. В чём тут причина для меня загадка.
Отредактировано Lain_13 (22-02-2011 16:55:09)
Отсутствует
Lain_13
Весь прикол в том, что сообщение тоже отправляется по HTTPS, причем reports.adblockplus.org и easylist-downloads.adblockplus.org используют один и тот же сертификат. В случае ошибки я их специально посылаю в форум - опять же по HTTPS, пусть увидят ошибку браузера и разберутся. Так что либо эти люди разобрались, почему не отправляется сообщение (исправили настройки сертификатов), либо дело в чем-то другом - типа файрволла, который принципиально блокирует доменные имена с дефисом. Если увидите такое сообщение с указанным email-адресом, пришлите мне, пожалуйста.
PS: Иногда возникает впечатление, что один и тот же пользователь присылает десяток сообщений. Как бы не оказалось, что "довольно часто" это один или два человека.
Отредактировано Владимиp Палант (22-02-2011 17:04:45)
Отсутствует
Владимиp Палант
Может будешь генерировать случайный ключ раз в две-три недели и по нему сможем объединять отчёты от одного пользователя в кучку? На приватность влиять не должно, вроде.
...хотя конечно если пользователь даст сообщение на вконтакт и на другой сайт, то вычислить можно будет. Чёрт.
> Если увидите такое сообщение с указанным email-адресом, пришлите мне, пожалуйста.
Ок.
Отредактировано Lain_13 (22-02-2011 17:21:26)
Отсутствует
Может будешь генерировать случайный ключ раз в две-три недели и по нему сможем объединять отчёты от одного пользователя в кучку?
Не хотелось бы :-(
Скорее уже "количество ранее отосланных сообщений для того же сайта" на основе данных, которые и так уже запоминаются (то есть последние 30 дней, если пользователь не очистил список и не использует private browsing mode).
Отсутствует
Отредактировано Lain_13 (22-02-2011 20:29:20)
Отсутствует
Lain_13
Да уж... Но тут ничего не поделать - измените статус, чтобы указать на проблему. А в скором будущем мы перестанем давать неопытным пользователям добавлять фильтры: https://adblockplus.org/forum/viewtopic.php?f=4&t=6449
Отсутствует
Владимиp Палант
Думаете, это будет хорошо? Подписки существуют далеко не для всего мира и существующие очень несовершенны. Вы видите только плохую сторону пользовательских правил, так как смотрите на жалобы, а того, что многие успешно блокируют рекламу с помощью своих правил, по жалобам видно не будет. И притом очень многие пользователи и так не добавляют своих правил — совершенно, даже не имеют представления, как это делается — их и так всё устраивает — рекламы не слишком много, да и ладно. А те, кто рассчитывают свои правила добавлять, всё равно включат это и не станут от этого грамотнее.
И как пользователь сможет включить добавление своих правил? Надеюсь, не через эбаут:конфиг?
Лучше усовершенствовать мастер добавления правил, чтобы он не предлагал по умолчанию такие варианты, как ||example.com/files/ или при блокировке элемента сайта site.com — ||site.com^ . Сейчас такое бывает. А если пользователь выбирает подобное правило, то чтобы выводилось предупреждение: «Правила такого типа без дополнительных настроек могут блокировать слишком многое». Только не надо писать предупреждение вроде: «Это правило заблокирует слишком много», потому что иногда как раз такое правило и нужно против хитрого вебмастера.
Добавлено 22-02-2011 22:07:01
измените статус, чтобы указать на проблему
Это как?
Отсутствует
А в скором будущем мы перестанем давать неопытным пользователям добавлять фильтры: https://adblockplus.org/forum/viewtopic … amp;t=6449
То есть? Вообще такой возможности не будет, и пользователь нужно будет обязательно использовать подписку? Или я что-то не так понял?
От оно че!
Отсутствует
pi.v.vitaly
будет включено у тех кто уже имеет свои собственные правила.
Причём такие правила, которые не могут быть добавлены / удалены через опцию «Отключить на...».
Отредактировано Радик245 (23-02-2011 00:08:06)
Отсутствует
Владимиp Палант
Что в ABP 1.3.5 будет быстрее: правило вида example.com,example.org,site.org##foo
или множество заменяющих его правил
example.com##foo
example.org##foo
site.org##foo
и т. д.
,
множество правил вроде
##A[href*="foo"]
##A[href*="something"]
и т. д.
или одно ##A[href*="foo"],A[href*="something"] и т. д. (кстати, я правильно понимаю, что в таких фильтрах лучше "A" указывать?)
,
правил шестьдесят неоптимизируемых вида
tp://foo
tp://example
tp://www.foo
tp://www.example
или их замена в виде тридцати правил вида
||foo
||example
или одно регулярное выражение? Если регулярное выражение, то какое лучше: полностью заменяющее правила вида
||foo
||example
(кстати, что подставляется в регулярки, автоматически создаваемые Adblock Plus, вместо || в обычных правилах?) или заменяющее только //* и //www.* ?
Надеюсь, не сильно запутал вопросами. Такие правила-ужастики не в антирекламной подписке, а в антипорно.
Добавлено 23-02-2011 02:08:33
pi.v.vitaly
В контекстном меню Adblock Plus есть пункт «Отключить: на <название сайта>». Если эту галочку поставить, то будет создано исключение, полностью отключающее Adblock Plus на соответствующем сайте. Если галочку снять, то это исключение автоматически удаляется. Так вот, таким способом создавать и удалять правила можно будет, ничего особенного не включая, и если у пользователя только такие собственные правила (наверное, неважно, созданы они с помощью галочки или вручную), то полноценное создание и удаление правил у него будет по умолчанию отключено, потому что этой галочки в этом случае достаточно, чтобы при надобности удалить такие правила.
Владимиp Палант
В выражении «Отключить: на…» двоеточие лишнее.
Отредактировано Радик245 (23-02-2011 02:10:15)
Отсутствует
Радик245
На большую часть этих вопросов я и сам ответы знаю:
1. example.com,example.org,site.org##foo
Так быстрее, но если набор сайтов «случайный» (не из одной сети), то поддержка такого правила не очень удобна. Исключение — сборка правил из внешнего источника.
2. ##A[href*="foo"],A[href*="something"]
Так немного быстрее, но поддержка такого правила приводит к постоянной необходимости разбивать его на части и собирать потом обратно при изменениях. Потеря времени если ты не собираешь его из внешнего источника автоматически.
3. (кстати, я правильно понимаю, что в таких фильтрах лучше "A" указывать?)
Ну мы же недавно обсуждали идентичный ворос. Естественно да, а иначе правило попадает в категорию «универсальных», а это худший вариант. Оно будет быстро отваливаться из-за того, что href есть вроде только у ссылок, но всё равно будет проверяться для всех объектов на странице.
4. правил шестьдесят неоптимизируемых вида … или их замена в виде тридцати правил вида … или одно регулярное выражение?
Одна регулярка лучше чем 30 или 60 регулярок. Главное не перестарайся с точками входа. Лучше сделать 2-3 регуляки которые будут быстро отваливаться там, где они не подходят чем одну которая будет в начале перебирать множество вариантов с возвратами. Естественно для этого лучше почитать о принципах работы интерпретатора регулярных выражений.
Отсутствует
Lain_13
поддержка такого правила не очень удобна.
приводит к постоянной необходимости разбивать его на части и собирать потом обратно при изменениях.
Мы что, не умеем сделать автозамену запятой на абзац в gedit или AkelPad?! Выделить правило, скопировать в новый файл, там сделать автозамену запятой на эскейп-последовательность \n , отредактировать, обратно сделать автозамену, вставить правило в подписку. Думаю, мне дольше было набирать этот текст, чем сделать то, что я написал.
Отредактировано Радик245 (23-02-2011 11:48:29)
Отсутствует
Радик245
Ню-ню. А добавить к каждой строке по правилу или адресу сайта (или хоть ## в начале), а потом добавить всю эту пачку в АдБлок для отладки и проверки чего конкретно глючит?
Одно правило + много сайтов обычно в отладке не нуждается (тупо пройти по сайтам и проверить не так и сложно), но 1 сайт + много правил в случае ложного срабатывания одного из них отладки требует и это та ещё морока. Это основная причина по которой я отказался в основной подписке от такого типа правил вида "пакет правил на сайт". Лучше пусть будет 10 раздельных правил каждое из которых можно персонально вырубить чем одно из 10 сразу + у объединённых правил не видно что конкретно вызвало его срабатывание.
Первое — делай спокойно.
Второе — лучше три раза подумай прежде чем так делать.
Отсутствует
Lain_13
Ну я это в антипорнушке делаю.
А добавить к каждой строке по правилу или адресу сайта (или хоть ## в начале), а потом добавить всю эту пачку в АдБлок для отладки и проверки чего конкретно глючит?
Опять автозамена в отдельном файле: \n на \n## или на \nадрес сайта##
Потом в начале файла пишем [Adblock Plus] , сохраняем на своём компьютере, добавляем в Adblock Plus как подписку и проверяем.
Отсутствует
Радик245
И так каждый раз когда что-то пойдёт не так.
Добавлено 23-02-2011 14:27:55
В любом случае прирост в скорости от этого по сравнению с самими правилами будет столь незначителен, что оно просто того не стоит.
Отсутствует
Lain_13
И так каждый раз когда что-то пойдёт не так.
Для тебе это так сложно? Не беспокойся, в антирекламной подписке я этого делать не собираюсь, а на антипорнушку жалуются раз в пятилетку очень редко. Притом я делаю лишь по одному правилу на букву, а не всё в кучу и не объединяю общие правила. И для меня куда бóльшая трудность — прокрутка огромного списка правил, которая занимает много времени.
Отсутствует
Радик245
> Для тебе это так сложно?
В основной подписке это… раздражает. Если б мне за это платили зарплату, то может я и занимался бы такой фигней, а так делаю как мне удобно.
Вот и ты делай так, как тебе удобно.
Отсутствует