RegExp в блэклистах
I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал
- [X] I've made sure there's no existing feature request / Я убедился, что такой функциональности еще никто не предлагал
Describe your feature / Опишите ваше предложение
Необходимо добавить шаблоны RegExp в блэклисты, либо добавить хотя бы простейшие шаблоны. И постоянно мониторить URL с шаблонами в онлайне на уровне шаблонов, а не на уровне IP. Если это возможно, конечно (если URLи передаются в пакетах, а не только IPшники). Тогда не будут повторяться проблемы с Ютюбом, когда в DPI добавляют новые серверы.
Regexp очень сильно замедлит трафик.
Да ладно, это чем же это?
Не эксперт в этом , но regexp медленный впринципе (про c++ qt уж точно могу так сказать), а ещё он работает со строками , а не числовым значением. Медленный в контексте пересылки пакетов.
И что? Один раз за сессию работы GoodbyDPI проверить каждый требуемый URL - это что-то сверхтяжелое? Проверил, занес в таблицу IPшников и всё.
@Nicks7777, поясните, в каком случае нужен regexp. Приведите пример.
Напоминаю, что домены в blacklist обрабатываются зонами. Иными словами, добавление example.com применяет обход блокировок на всех поддоменах этого домена.
решил еще раз сегодня проверить, но не вышло: ростелеком вот именно сейчас не блокирует ютюб, все работает и без гудбая. а на момент открытия темы было так: со штатным russia-youtube.txt (youtube.com,youtu.be,googlevideo.com,ytimg.com) ютюб не работал, хотя накануне все было ОК. полез в логи браузера и начал добавлять урлы один за другим, и пока все не добавил, ютюб не хотел. вот мой новый список (accounts.youtube.com googleapis.com googlevideo.com gvt1.com i.ytimg.com i9.ytimg.com jnn-pa.googleapis.com play.google.com static.doubleclick.net video.google.com www.youtube.com youtu.be youtube.com youtubeeducation.com youtubekids.com youtube-nocookie.com youtube-ui.l.google.com yt.be yt3.ggpht.com ytimg.com). Поэтому и пришла мысль о шаблонах. А проверить решил вашу фразу "добавление example.com применяет обход блокировок на всех поддоменах этого домена". Честно, я этого тогда не заметил (youtube.com, accounts.youtube.com, www.youtube.com). А сейчас проверить не могу - Ростелекомовский DPI сейчас не блокирует ютюб.
Update: проверил еще раз, все блокируется, с вашим списком не работает, работает только с моим. так что про поддомены и шаблоны вопрос остается.
Еще как блокирует(
Update: проверил еще раз, все блокируется, с вашим списком не работает, работает только с моим. так что про поддомены и шаблоны вопрос остается.
Update: проверил еще раз, все блокируется, с вашим списком не работает, работает только с моим. так что про поддомены и шаблоны вопрос остается.
В чём ваш вопрос?
- ваша фраза "добавление example.com применяет обход блокировок на всех поддоменах этого домена" неверна.
- необходимо введение шаблонов в записях блэклиста (желательно RegExp). подробности читайте выше.
ваша фраза "добавление example.com применяет обход блокировок на всех поддоменах этого домена" неверна.
Ну здрасьте. Сопоставление доменов работает так, как я описал.
подробности читайте выше.
Я не вижу ни одного примера, где можно было бы задействовать regexp. Как его применить для описанного выше случая? Какое правило вы бы написали?
слушай, Владик. я тебе не работодатель и ТЗ для тебя писать не намерен. я тебе предложил нормальную рабочую идею, как можно упростить блеклисты и расширить функционал. ты хочешь, чтобы я за тебя написал код? десять-пятнадцать строчек. зачем это мне? я за три минуты написал свой блеклист. а уговаривать тебя я не намерен. всего хорошего!
Когда опенсурсному деву говорят про тз и работодателя :
Если я правильно понял автора тикета, то шаблоны вида youtube*.com. Т.е. не поддомены, а маска "внутри" самого домена. В целом звучит здраво, вроде бы, если исходить даже из конкретно его примеров.
Если я правильно понял автора тикета, то шаблоны вида youtube*.com. Т.е. не поддомены, а маска "внутри" самого домена. В целом звучит здраво, вроде бы, если исходить даже из конкретно его примеров.
Представьте , что youtube.com будет давать разные домены для загрузки (youtube-chk__cj.com , youtubecfzts.com и т.д.), он много таких может давать на самом деле. И это придётся каждый раз домены проверять регуляркой, либо их заносить в файл.
Ну из этих соображений - да, поддержка шаблонов для блэклиста была бы полезной с функциональной т.з. Но дальше действительно встает вопрос производительности. Если делать, например, регуляркой, то это будет означать full-scan всего блэклиста. Если, например, обойтись всего-лишь звездочкой в середине домена, то уже проще, но все равно надо переделывать будет список с хэш-мапы на что-то другое. Либо иметь разные типы блэклистов: один тип - простой для списка доменов, как сейчас. Другой - для шаблонных записей. Часть работы можно будет упростить кэшем (если домен один раз проверили, и он в списке, запоминаем его в буквальном виде), но это тоже потребует дополнительной реализации. Другими словами, штука была бы полезной. Но у кого-то должно найтись время и желание это запилить)
Если делать, например, регуляркой, то это будет означать full-scan всего блэклиста.
Фильтровать то , что мы уже сами добавили в блеклист ? Не совсем понял.
Часть работы можно будет упростить кэшем (если домен один раз проверили, и он в списке, запоминаем его в буквальном виде), но это тоже потребует дополнительной реализации.
Если долго будет работать программа, то кэш, допустим без очистки не использованных долго доменов, будет расти неимоверно, а нам же ещё придётся проверять их дополнительно к существующему блеклисту.
Фильтровать то , что мы уже сами добавили в блеклист ? Не совсем понял.
Если у нас есть блэклист в виде regexp'ов, то чтобы проверить, находится ли запрашиваемый домен (конкретный) среди них, нужно будет пройти весь этот блэклист и проверить каждую из этих регулярок на совпадение.
Если долго будет работать программа, то кэш, допустим без очистки не использованных долго доменов, будет расти неимоверно, а нам же ещё придётся проверять их дополнительно к существующему блеклисту.
Чистить безусловно нужно будет. Но пока это больше мысли вслух, поскольку навскидку он по идее может полезным (в типовых сценариях мы к одному и тому же домену обращаемся многократно).