Pythonhosted.org ошибочно заблокирован Роскомнадзором
- вторник, 28 мая 2019 г. в 00:18:21
Поводом для написания статьи послужило отсутствие упоминаний данного события в Рунете. Виной тому, предположительно, является несоблюдение провайдерами требования РКН, о котором пойдет речь ниже. Мне его удалось обнаружить только в корпоративной сети. Но нет никаких сомнений, что рано или поздно это коснётся всех.
Разбор и детали под катом.
4 апреля Мосгорсудом было вынесено решение по делу № 3-0154/2019 о перманентной блокировке ресурсов streamable.com. Однако для надежности РКН заблокировал и его IP-адреса, которые по досадной случайности совпадают с адресами pythonhosted.org.
В итоге в реестре блокировок Роскомнадзора появились следующие записи, относящиеся к решению суда:
В их наличии можете убедиться сами.
Как я уже упоминал выше IP-адреса pythonhosted.org и заблокированного ресурса совпадают, что легко подтвердить:
> dig pythonhosted.org
; <<>> DiG 9.11.5-P1-1ubuntu2.4-Ubuntu <<>> pythonhosted.org
;; global options: +cmd
;; Got answer: ...
;; ANSWER SECTION:
pythonhosted.org. 10 IN A 151.101.1.63
pythonhosted.org. 10 IN A 151.101.129.63
pythonhosted.org. 10 IN A 151.101.193.63
pythonhosted.org. 10 IN A 151.101.65.63
;; Query time: ...
> dig streamable.com
; <<>> DiG 9.11.5-P1-1ubuntu2.4-Ubuntu <<>> streamable.com
;; global options: +cmd
;; Got answer: ...
;; ANSWER SECTION:
streamable.com. 60 IN A 151.101.65.63
streamable.com. 60 IN A 151.101.193.63
streamable.com. 60 IN A 151.101.129.63
streamable.com. 60 IN A 151.101.1.63
;; Query time: ...
В данной статье нет цели разобрать детали работы pip, следует лишь знать, что индекс пакетов хранится на домене pypi.org, сами файлы на files.pythonhosted.org. Как следствие работа со стандартным пакетным менеджером становится затруднительной или вовсе не возможной.
Здесь приведу короткий перечень самых популярных вариантов для использования pip. На энциклопедичную полноту не претендует, для тонких деталей лучше обратиться к официальной документации.
HTTP_PROXY
, HTTP_PROXY
, явный аргумент pip --proxy $proxy ...
или конфигурационный файл. Все варианты поддерживают формат [user:pass]@host:port
.index-url
, которую также, как и прокси, можно передать вышеописанными способами.Новость вряд ли вызовет удивление, т.к. такие ситуации происходят, и происходят регулярно. Я не призываю строчить жалобы на Роскомнадзор или подавать в суд за сломанные пайплайны. Но приготовиться заранее стоит.