Цензоры могут блокироваться несколькими способами:
Изменяя DNS-сервер провайдера, чтобы youtube.com
преобразовывался в собственный IP-адрес (или просто 0.0.0.0
)).Из-за его минимального воздействия на инфраструктуру Интернета, это имеет тенденцию быть предпочтительным способом в демократических странах.Его можно легко обойти, используя DNS-сервер, не находящийся под контролем цензуры, например, 8.8.8.8
или 1.1.1.1
.
, заблокировав диапазоны IP-адресов, например 172.217.0.0/16
.Это может привести к перегрузке, особенно если целью является веб-сайт меньшего размера, который разделяет свой диапазон IP-адресов (или даже IP-адрес с другими).Даже в этом случае прямая блокировка всей подсети / 16 также заблокирует доступ к google.com.Это требует большой работы со стороны цензора, поскольку IP-адреса регулярно и автоматически меняются.
Путем чтения трафика и его блокировки, если включен определенный контент.Поскольку в наши дни все зашифровано, только открытые имена DNS и SNI .Уже есть текущих работ по устранению этих лазеек.Недостатком цензора является то, что он должен читать и анализировать каждый отдельный пакет, т. Е. Нуждаться в большом оборудовании, хотя, если он ограничивается только DNS, это гораздо более осуществимо.Это также может создать проблемы для несвязанных служб, которые иногда могут быть неправильно диагностированы.
(Есть несколько других способов и более тонких различий, которые я перечисляю в своей диссертации на эту темуцензуры, но они здесь не применяются).
Независимо от того, каким образом выбирают цензоры, они должны вводить список запрещенных предметов в свое снаряжение.В случаях 1 и 3 это доменные имена, в случае 2 - это IP-адрес (диапазоны).
Современные сервисы, такие как YouTube, внутренне разделены на несколько небольших сервисов.Например, YouTube может внутренне состоять из:
- Веб-интерфейс,
youtube.com
/ 172.217.22.46
- Служба миниатюр,
ytimg.l.google.com
/ 172.217.21.206
- API
googlevideo.com
/ 172.217.22.68
- Видеосервис в нескольких поддоменах, таких как
r3---sn-i5onxoxu-q0n.googlevideo.com
/ 92.226.0.78
Все доменные имена и адреса являются примерами;на практике каждый сервис использует много IP-адресов и разных доменных имен (например, есть www.youtube.co.uk
.
. Если цензоры в вашей стране блокируют только веб-интерфейс, приложение для Android будет продолжать работать.забыть некоторые домены - например, блокировать youtube.com
и youtube.pk
и их субдомены, но не youtube.fr
.
В качестве альтернативы, цензоры могли пытаться заблокировать приложение Android по IP-адресу, но IP-адрес можетбыли изменены YouTube либо как часть автоматического внутреннего переназначения, либо путем явного избегания цензуры.
Приложение Android связывается с внутренним API Google, так как оно хочет получить машиночитаемую информацию. Так почему youtube-dl используетвеб-интерфейс, а не Android API?
Я не могу говорить за всех разработчиков, но, как давний ведущий разработчик youtube-dl, я знаю, почему I в основном ориентирован на вебинтерфейс: это был просто вопрос удобства, так как инструменты для отладки и наблюдения за веб-приложениями намного лучше, чемn для Android (или приложений для iOS).Поэтому, когда я добавлял функции, я наблюдал, как их реализует веб-приложение JavaScript, и переопределял это в youtube-dl.
До сих пор в основном было достаточно использовать веб-API, но вы можете добавитьальтернативный код, который использует вызовы, которые делает приложение Android.Помните, что это облегчение может быть временным, поскольку цензоры могут заметить, что приложение YouTube разблокировано, и обновить свои списки доменных имен и диапазонов IP-адресов, чтобы включить эту службу.