Есть такой ресурс The Movie Database , который предоставляет обложки, описание и прочее для фильмов/сериалов. Эту базу использует, например, крутой медиаплеер Kodi. Он подтягивает оттуда обложки, когда вы загружаете в него какой-нибудь фильм.

В 2022 году этот ресурс заблокировал доступ из РФ. И сделал он это довольно нетипично.

Как обычно осуществляется блокировка ресурса на самом ресурсе? Так или иначе запрещается доступ к сайту, когда вы на него уже пришли. Упрощённо: у сервера есть список российских подсетей, если вы пришли из одной из них - получаете 403. Уходи, тебе тут не рады. Решается это перенаправлением трафика к такому ресурсу через proxy/vpn.

А вот The Movie Database пошёл по пути блока по GeoDNS.

Что такое GeoDNS?

Главная идея - отдавать разные ответы для разных регионов. Это нужно в основном крупным ресурсам. Пришёл ваш DNS-запрос из США - вернули вам IP-адреса серверов в США. Пришёл из РФ - вернул IP-адреса серверов, которые стоят в РФ. Получается распределение нагрузки + быстрый ответ, благодаря географической близости к серверу. В общем, крутая штука, много где используется.

The Movie Database использовал свой GeoDNS, чтобы сломать доступ из РФ. Для российских адресов они отдают IP-адрес 127.0.0.1:

~> dig www.themoviedb.org
;; ANSWER SECTION:
www.themoviedb.org.	300	IN	A	127.0.0.1

🗿🗿🗿

Для тех, кто не понял: ответ должен содержать IP-адреса сервиса, чтоб послать ему запросы. А 127.0.0.1 - это localhost, ваш компьютер. Ваш компьютер не отдаёт обложки. Вся логика взаимодействия с сервером ломается уже при резолвинге домена.

Что делать?

Решение этой проблемы в интернетах предлагают такие:

  • Забить IP-адреса themoviedb.org в файл hosts
  • Настроить 9.9.9.9 как DNS-сервер на компе с медиаплеером
  • Пустить весь трафик на компе через VPN

Каждое из этих решений имеет свои недостатки. Если у вас нет OpenWrt/Mikortik роутера, то используйте их.

А если есть, то всё делается проще и удобнее благодаря Dnsmasq. На OpenWrt-роутере:

Консоль

uci add_list dhcp.@dnsmasq[0].server='/.themoviedb.org/9.9.9.9'
uci add_list dhcp.@dnsmasq[0].server='/.tmdb.org/9.9.9.9'
uci add_list dhcp.@dnsmasq[0].server='/tmdb-image-prod.b-cdn.net/9.9.9.9'
uci commit dhcp
service dnsmasq restart

LuCi

Network - DHCP and DNS - Forwards. В DNS Forwards добавляете

/.themoviedb.org/9.9.9.9
/.tmdb.org/9.9.9.9
/tmdb-image-prod.b-cdn.net/9.9.9.9

tmdb

Save & Apply

Теперь все DNS-запросы к *.themoviedb.org перенаправляются к DNS-серверу 9.9.9.9, который отдаёт рабочие IP-адреса. Ваш комп с Kodi получает правильные IP-адреса и обложечки снова на месте.

То же самое можно провернуть на любой системе с Dnsmasq. И также forward есть в других ОС для роутеров.

У RouterOS в 7ой версии появился DNS FWD :

[admin@MikroTik] ip dns static> add regexp=".*\\.themoviedb\\.org\$" forward-to=9.9.9.9
[admin@MikroTik] ip dns static> add regexp=".*\\.tmdb\\.org\$" forward-to=9.9.9.9
[admin@MikroTik] ip dns static> add name=tmdb-image-prod.b-cdn.net forward-to=9.9.9.9

И этого хватает, потому что сам ресурс не проверяет, откуда к нему пришли. То есть к нему не нужно ходить через proxy/vpn.

Эту же базу использует приложение TinyMediaManager.

Наслаждайтесь

tmdb

Все обновления и новые статьи публикую в моём телеграм-канале .