La raison de la rédaction de l'article était l'absence de mention de cet événement dans Runet. La raison en est probablement le non-respect par les fournisseurs des exigences ILV, qui seront discutées ci-dessous. J'ai réussi à le trouver uniquement sur le réseau d'entreprise. Mais il ne fait aucun doute que tôt ou tard, cela affectera tout le monde.
Analyse et détails sous la coupe.
Raisons du blocage
Le 4 avril, le tribunal de Moscou a rendu une décision dans l' affaire n ° 3-0154 / 2019 sur le blocage permanent des ressources de streamable.com . Cependant, pour des raisons de fiabilité, l'ILV a également bloqué ses adresses IP, qui coïncident par coïncidence avec les adresses de pythonhosted.org.
En conséquence, les entrées suivantes relatives à la décision de justice sont apparues dans le registre des écluses de Roskomnadzor :
- streamable.com
- 151.101.193.63
- 151.101.129.63
- 151.101.1.63
- 151.101.65.63
Vous pouvez vérifier vous-même leur disponibilité.
Les conséquences
Comme je l'ai mentionné ci-dessus, les adresses IP de pythonhosted.org et la ressource verrouillée sont les mêmes, ce qui est facile à confirmer:
Texte masqué> 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: ...
Cet article n'a pas pour objectif d'analyser les détails de pip, il vous suffit de savoir que l'index du package est stocké sur le domaine pypi.org, les fichiers eux-mêmes se trouvent sur files.pythonhosted.org. Par conséquent, travailler avec un gestionnaire de packages standard devient difficile, voire impossible.
Pour ceux qui ont déjà été touchés
Voici une courte liste des options les plus populaires pour utiliser pip. Il ne prétend pas être encyclopédique; pour les détails, il vaut mieux se référer à la documentation officielle .
Les options
- VPN ou proxy global
- Proxy individuel pour pip
Il est possible de définir via les variables d'environnement HTTP_PROXY
, HTTP_PROXY
, l'argument explicite pip --proxy $proxy ...
ou le fichier de configuration . Toutes les options prennent en charge le format [user:pass]@host:port
. - Utilisation d' un index de package alternatif
L'option clé est index-url
, qui, comme les proxys, peut être transmise de la manière décrite ci-dessus. - Élever un miroir d'entreprise / domestique pypi.org
L'espace disque le plus noble et le plus difficile nécessite jusqu'à 6 To ( ici un tableau de bord avec des informations sur les ressources, y compris le graphique PyPI Mirror Size ). - Utiliser IPv6
Il existe des enregistrements DNS pour pythonhosted.org avec des adresses IPv6 qui n'ont pas été bloquées. Mais tous les fournisseurs ou réseaux ne prennent pas en charge ce protocole.
Conclusion
Il est peu probable que la nouvelle surprenne, car de telles situations se produisent et se produisent régulièrement. Je n'appelle pas à griffonner des plaintes concernant Roskomnadzor ou à poursuivre pour des pipelines cassés. Mais préparez-vous à l'avance.