|
|||||||
Как скачивать Docker-образы из России через TOR, если DockerHub заблокировал российских пользователей?
Время создания: 09.08.2025 13:12
Текстовые метки: linux, docker, dockerhub, образ, скачать, блокировка, tor, proxy
Раздел: Компьютер - Web / Internet - Отключение блокировок
Запись: xintrea/mytetra_syncro/master/base/1754734333xwyl7zrij2/text.html на raw.github.com
|
|||||||
|
|||||||
Примерно с 2024 года владельцы DockerHub заблокировали возможность для российских пользователей скачивать образы из своей сети. Иногда канал открывается, иногда закрывается вновь, половина слоёв скачивается, а половина нет. Как обойти эти ограничения на скачивание? Решение следующее: воспользоваться системой TOR в качестве Proxy-сервера. Для этого надо локально установить пакет проекта TOR, и настроить Docker работать не напрямую через Интернет, а через Proxy-сервер, который Tor поднимает на компьютере пользователя. Если посмотреть статьи 2022 года, то можно увидеть, что раньше для включения Proxy-сервера TOR надо было стартовать TorBrowser со специальным ключем. Сейчас уже таких действий производить не нужно, можно просто запустить демон TOR. Установка и запуск TOR Вначале надо установить TOR. Можно воспользоваться тем вариантом TOR, который есть в дистрибутиве. Например, для Debian Linux можно просто дать команду: sudo apt install tor Если TOR из дистрибутива сильно устарел, можно установить актуальный TOR по статье: https://linuxmint.com.ru/viewtopic.php?t=7425 Запуск демона Tor в фоновом режиме: sudo systemctl start tor Проверка статуса: sudo systemctl status tor Если нужно, чтобы Tor запускался автоматически: sudo systemctl enable tor Остановка демона Tor и его сетевых служб: sudo systemctl stop tor По умолчанию демон Tor слушает два порта и поддерживает два варианта Proxy:
Проверить, работает ли прокси: curl --socks5 127.0.0.1:9050 https://check.torproject.org/api/ip Вывод должен содержать: "IsTor": true Файл настройки TOR Файл конфигурации Tor находится по пути /etc/tor/torrc. В нем, при необходимости, можно изменить порт SOCKS5-прокси сервера (например, на 9080): SocksPort 9080 Можно запретить выходные узлы для определённых стран, для которых предполагается, что они тоже находятся под блокировкой IT корпораций: ExcludeNodes {ru},{cn},{ir} Если Tor заблокирован внутри страны или внутри провайдера, можно попробовать использовать мосты: UseBridges 1 Bridge obfs4 1.2.3.4:1234 cert=... После изменений необходимо перезапустить Tor: sudo systemctl restart tor Как найти актуальные мосты TOR? На гитхабе есть проект: https://github.com/ValdikSS/tor-relay-scanner?tab=readme-ov-file После его установки нужно запустить с определенными ключами скрипт scanner.py (ключи описаны на странице проекта). Он выдаст рабочие мосты. Эти мосты затем нужно прописать в настройках Tor. Некоторые пользователи только таким образом могут заставить его работать из-под определенного провайдера, например в мегафоновском Интернете. Там старые мосты очень быстро почему-то протухают, и их надо постоянно обновлять. Альтернативный путь: получить список мостов TOR через email. Для этого надо отправить на адрес bridges@bridges.torproject.org письмо с темой get transport obfs4 и в ответ придет список из трех адресов следующего вида: obfs4 111.111.111.113:2222 FF7652873C326B0AF41587409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 obfs4 111.111.111.114:2222 FF7652873C326B0EFC1587409E88C8612B8FE654 cert=fP23efkIdfeawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 obfs4 111.111.111.115:2222 FF7652873C326B0AFDF658409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEeftWGgAgnBO97lOA iat-mode=0 После этого остается изменить файл /etc/tor/torrc. Надо добавить в начало полученные адреса в следующем формате: UseBridges 1
SocksPort 9050 Exitpolicy reject *:* ExtORPort auto
ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy managed
bridge obfs4 111.111.111.113:2222 FF7652873C326B0AF41587409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 bridge obfs4 111.111.111.114:2222 FF7652873C326B0EFC1587409E88C8612B8FE654 cert=fP23efkIdfeawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEfgesGgAgnBO97lOA iat-mode=0 bridge obfs4 111.111.111.115:2222 FF7652873C326B0AFDF658409E88C8612B8FE654 cert=fP23efkIrlPawTerdcUpN3Uatrh9jQcP0UpnPkfcfge5WiPP1mVffEeftWGgAgnBO97lOA iat-mode=0 После чего надо не забыть перезапустить сервис Tor. Как настроить работу Docker через Proxy? Как настроить скачивание образов Docker через socks5-прокси? Для этого есть официальная инструкция: https://docs.docker.com/engine/cli/proxy/ https://docs.docker.com/engine/daemon/proxy/ В настройках Docker можно указывать socks5 на порту 127.0.0.1:9050, где находится Tor-овский SOCKS5 прокси-сервер. Так же можно попробовать использовать протокол «socks5h», если необходимо, чтобы хосты тоже через прокси резолвились (иногда это нужно). А если Tor не работает? Тогда можно вручную скачивать нужные Docker-образы с зеркал, например с gcr.io. |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|