Короче, я не знаю как сделать нормальное тестирование для ByeDPI. Делаешь 1 запрос - всё норм. Делаешь хотя бы 5 запросов параллельно - они все фейл. Пробовал добавлять рандомные задержки перед запросами, но это решает проблему лишь частично. Полностью решает проблему лишь переключение в режим последовательных запросов, но это увеличивает время тестирования раз в 20.
При тестировании 80 сайтов одновременно, ситуация такая:
- одновременные запросы с рандомной задержкой в пределах 500 мс: ~5 успехов из 80
- одновременные запросы с рандомной задержкой в пределах 5 сек: ~40 успехов из 80
- последовательные запросы: 65 успехов из 80 (реальный результат)
Причем это происходит лишь на некоторых стратегиях (в основном тех что с --fake), на остальных всё норм. Проблема сохраняется и для нативных запросов go, и для курла.
Как это решать - без понятия. Поэтому решил забить на это дело.
Просто создайте чеклист с 1 сайтом, который вам нужен - и проверяйте только его (не забудьте отключить AutomaticGoogleCacheTest в конфиге, иначе вам автоматом докинется ваш гуглвидео сервер). Т.е., по-сути, получается аналог запретовского блокчека, но для byedpi.
А ещё стратегии с --fake часто дают ложно-отрицательный результат.
А ещё фейлится тест ipv6. Но это отдельная история.
Крч, мне byedpi в кошмарах сниться будет, я чувствую.
Кроме того, пофиксил пару багов по мелочи и допилил, наконец, листы стратегий для запрета. Начинать рекомендую с [TCP] - [IPv4] - [WITHOUT WSSIZE].txt
. И только если он не даст результата - пробовать вариант с WSSIZE. Лист для IPv6 длиннее (примерно час против 35 минут для IPv4), т.к. там всякие штуки, которые есть только на ipv6.
GoodCheckGoGo_0.8.0.zip (6,7 МБ)
GoodCheckGoGo_0.8.0_src.zip (28,8 КБ)