TrixiEther / DashchanFork

Imageboards client for Android
GNU General Public License v3.0
54 stars 2 forks source link

Cloudflare resolving improvements #46

Closed N3-M3-S1S closed 1 year ago

N3-M3-S1S commented 1 year ago

Убрал проверку заголовка страницы из метода, который отвечает за сбор куки при прохождении Клаудфлары. Дело в том, что Клаудфлара в процессе проверки может изменить заголовок страницы на локализованный через какое то время после загрузки страницы. Если, например, устройство использует русский язык, то заголовок "Just a moment..." меняется на "Один момент...". Из-за этого при проверке заголовка страницы метод считает, что Клаудфлара пройдена и пришло время собирать куки, но куки не доступны, так как проверка на самом деле еще не пройдена, просто заголовок изменился на локализованный. Теперь проверка Клаудфлары считается пройденной только тогда, когда куки доступны.

Оставил проверку заголовка страницы в методе, который отвечает за проверку, заблокирована ли страница Клаудфларой или нет, но он используется в последнюю очередь. Возможно, его стоит вообще удалить, ибо в теории он не будет вызван никогда, так как перед ним проверяется наличие HTTP заголовков Клаудфлары, а они всегда присутствуют, если страница заблокирована.

Так же добавил возможность различать Firewall Resolver по хосту. Это нужно в ситуации, когда чан имеет разные хосты для борд (форчан, например, имеет разные хосты для зелёных и синих борд). Теперь для разных хостов будут использоваться свои куки фаервола. Пока реализовано только для Клаудфлары, но при надобности можно добавить и для других фаерволов.