Travailler à l’université de Toulon sous proxy
A faire uniquement lorsque l’on est derrière un proxy avec authentification, connecté en RJ45. Attention, il faut éviter de mettre des “!” ou “@” dans son mot de passe, cela peut poser problème en ligne de commande ensuite.
1. Git
Créer le fichier ~/.gitconfig s’il n’existe pas. Y ajouter les infos sur le proxy:
[https]
proxy = http://monlogin:monmotdepasse@cache.univ-tln.fr:3128
sslVerify = false
[http]
proxy = http://monlogin:monmotdepasse@cache.univ-tln.fr:3128
sslVerify = false
proxyAuthMethod = basic
2. Wget
configurer Wget pour les proxy selon stackoverflow.com.
exemple:
indiquer dans le fichier .bashrc:
export http_proxy=cache.univ-tln.fr:3128
export https_proxy=cache.univ-tln.fr:3128
puis en ligne de commande, suivant ce qu’on veut télécharger:
wget --proxy-user="tonlogin" --proxy-password="tonmotdepasse" "https://xxxx.tar.gz"
3. Anaconda
Pas de modifications
A priori, la DSIUN a ouvert le proxy pour laisser passer les connexions vers les serveurs de Anaconda.
Cependant
Si cela ne fonctionne pas, vous pouvez essayer de forcer le proxy dans le fichier ~/.condarc.
Créer le fichier .condarc dans votre home avec les infos suivantes sur le proxy de la fac de Toulon (pas nécessaire à Luminy). user étant votre login, et pass votre mot de passe. Voir la doc de Anaconda.
fichier .condarc
proxy_servers:
http: http://user:pass@cache.univ-tln.fr:3128
https: https://user:pass@cache.univ-tln.fr:3128
4. Curl
curl --proxy http://cache.univ-tln.fr:3128 --proxy-user yourlogin ...
5. Pip
Créer le fichier ~/.pip/pip.conf ou le fichier ~/.config/pip/pip.conf (faire un lien symbolique entre les deux), et ajouter les lignes suivantes:
[global]
proxy = http://username:password@cache.univ-tln.fr:3128/
6. Docker
Daemon Docker
Ecrire dans le fichier /etc/systemd/system/docker.service.d/http-proxy.conf :
[Service]
Environment="HTTP_PROXY=http://username:password@proxy.server.com:port/"
Environment="HTTPS_PROXY=http://username:password@proxy.server.com:port/"
Environment="NO_PROXY=localhost,127.0.0.1"
Attention, si votre mot de passe contient des caractères spéciaux. Si c’est le cas, vous pouvez le remplacer par son équivalent en URL encoding. Par exemple, si votre mot de passe est “p@ssw0rd”, vous pouvez le remplacer par “p%40ssw0rd”. Vous pouvez tester votre mot de passe via le script python:
python3 -c "import urllib.parse; print(urllib.parse.quote('votre_mot_de_passe'))"
Puis recharger le daemon et redémarrer le service docker :
sudo systemctl daemon-reload
sudo systemctl restart docker
Client Docker
côté client, ajouter les variables d’environnement suivantes dans le fichier ~/.bashrc :
export http_proxy="http://username:password@proxy:port/"
export https_proxy="http://username:password@proxy:port/"
export no_proxy="localhost,127.0.0.1"
et recharger le fichier :
source ~/.bashrc
Prise en compte du proxy sous python
import urllib.request
# Replace with your actual proxy details
= ‘xxx'
proxy_username proxy_password = ‘xxx'
= 'cache.univ-tln.fr'
proxy_server = '3128'
proxy_port
# Construct the proxy URL with authentication
= f'http://{proxy_username}:{proxy_password}@{proxy_server}:{proxy_port}'
proxy_url
# Set up the proxy handler
= urllib.request.ProxyHandler({
proxy_support 'http': proxy_url,
'https': proxy_url
})= urllib.request.build_opener(proxy_support)
opener urllib.request.install_opener(opener)