SquidGuard & Adblock
-
Я вообще исхитрился так: создал категорию adblock в гуе, вписал один сайт в поле expressions, сохранил, затем перезаписал WinSCP этот файл тем, коотрый я стянул и сконвертировал. Все это дело работало, но появилось два пункта adblock. Затем фильтр обиделся и не заработал, пока я не вернул все в "заводские настройки".
Вот у меня такой вопрос: какой допустимый синтаксис в файле expressions?
Ну естественно одна категория шла из файла блэклист а вторая из гуя. А про совпадение имен ничего не говорилось?
-
Ну естественно одна категория шла из файла блэклист а вторая из гуя. А про совпадение имен ничего не говорилось?
Я глядел логи, но ничего такого нет, вообще без ошибок все происходит.
Преполагаю, что можно попробовать цивильно в гуе в поле expressions добавить весь список(он весит до 400Кб) и нормальным образом сохранить, но вот в хинте под этим полем указан список правил, разделенный "|", а вот про сами правила ничего не указано, например как там маски указывать и т.д. Где можно уточнить перевариваемый формат выражений(expressions)? -
Ну естественно одна категория шла из файла блэклист а вторая из гуя. А про совпадение имен ничего не говорилось?
Я глядел логи, но ничего такого нет, вообще без ошибок все происходит.
Преполагаю, что можно попробовать цивильно в гуе в поле expressions добавить весь список(он весит до 400Кб) и нормальным образом сохранить, но вот в хинте под этим полем указан список правил, разделенный "|", а вот про сами правила ничего не указано, например как там маски указывать и т.д. Где можно уточнить перевариваемый формат выражений(expressions)?Это обычные регулярные выражения - гугл в курсе.
Маски:
. - одиночный символ- - неограниченное повторение последнего символа
.* - соотв любая последовательность
. - точка
\ - один слеш
^ - от начала строки
$ - конец строки
() - скобки ограничивают токен
[] - скобки допустимые символы
| - знак или
http:\\..mail.ru. - соответствует http:\.mail.ru
..mail.ru.((.exe$)|(.php$)|(.zip$)) - соответствует .mail.ru.exe или .mail.ru.php или .mail.ru.zip[0-9]* - любая строка из цифр
[a-zA-Z0-9] - любая цифро-буквенная строка с латиницей - - неограниченное повторение последнего символа
-
Это обычные регулярные выражения - гугл в курсе.
Маски:
. - одиночный символ- - неограниченное повторение последнего символа
.* - соотв любая последовательность
. - точка
\ - один слеш
^ - от начала строки
$ - конец строки
() - скобки ограничивают токен
[] - скобки допустимые символы
| - знак или
http:\\..mail.ru. - соответствует http:\.mail.ru
..mail.ru.((.exe$)|(.php$)|(.zip$)) - соответствует .mail.ru.exe или .mail.ru.php или .mail.ru.zip[0-9]* - любая строка из цифр
[a-zA-Z0-9] - любая цифро-буквенная строка с латиницейТо бишь мне по идее достаточно в исходном файле заменить символы перевода строк на символ "|"(получится одна немерянная мегастрока) и вставить все содержимое в это поле?
- - неограниченное повторение последнего символа
-
Думаю так - каждая строка заключается в скобки и | между ними
(строка1)|(строка2)|(строка3)|(строка4)
Я не помню реализован ли там разделитель токенов, так что лучше так. -
Некисло у вас там кормят, похоже, dvserg -)))
-
Некисло у вас там кормят, похоже, dvserg -)))
Ты про аватар? Это мне напоминалка, что пора чуток похудеть.
-
up
И все-таки, кому-то интересна кроме меня эта тема?
как автоматизировать процесс конвертации списка https://easylist-downloads.adblockplus.org/ruadlist+easylist.txt в удобный для squidguard'а?
-
Ну собственно как обычно - сам спросил, сам ответил.
Все в общем-то работает, но есть проблемы с автоматизацией.
Как заработало: в самом первом посте я давал ссылку на сайт, где показано как сконвертировать регулярные выражения. Результат сквидгарду подходит, НО веб-интерфейс бьёт его.
Как обойти: я вручную переписал файл expressions (если кому нужен готовый вот я выкинул: http://dl.dropbox.com/u/10649848/expressions), после этого в меню services вручную перезапускаем SquidGuard.Все работает нормально, но только до первого сохранения в веб-морде:(
Теперь собственно вопрос к уважаемому dvserg как к специалисту по сквидгарду, как обойти указанную мной проблему? Кстати easylist постоянно обновляется и хотелось бы автоматизировать процесс(крон напряч не проблема - проблема подсунуть сквидгарду непоколеченный перепакованный easylist)
Заранее благодарен!
-
Копать GUI-Expressions, чтобы пропускал как есть. Для себя одного это можно сделать, для всех не рискну - если будет ошибка в регулярном выражении - гард упадет в эмерженс мод.
-
Судя по тому, что я вижу, GUI-expressions убивает просто переводы строк. Причем я так понимаю это делается для общего конфигурационного xml-файла.
Разница между моим и перегенерированным файлами только в отсутствии символов перевода строки.
P.S. Решил я небольшой скрипт написать и скормить его крону, только вот не найду, где лежит скрипт запуска SquidGuard'а?
-
squidGuard and Adblock (Easylist)
http://forum.pfsense.org/index.php/topic,19756.0.html
;)