Ligne de commande Linux pour désactiver le proxy

22

Pouvez-vous me montrer la ligne de commande pour désactiver le proxy lorsque j'utilise le terminal de ligne de commande dans Ubuntu?

Sean Nguyen
la source
où devez-vous le désactiver? Pour autant que je sache, les paramètres de proxy dépendent de l'application.
Diskilla

Réponses:

27

Comme le dit l'autre réponse, il existe des programmes qui ne regardent pas du tout le système, vous devrez peut-être les configurer individuellement. Par exemple, wget a un certain nombre d'options de proxy, qui peuvent être utilisées pour ignorer ou adapter la configuration du proxy environnemental pendant l'exécution. Voici un certain nombre de domaines dans lesquels les proxys système peuvent être configurés.

  • À quoi ressemble mon système, notez que vous devrez modifier la configuration système spécifiée pour votre environnement réseau.

Certains systèmes Linux utilisent / etc / environment

$ cat /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy="http://192.168.1.250:8080/"
ftp_proxy="ftp://192.168.1.250:8080/"
https_proxy="https://192.168.1.250:8080/"  

Il n'y a pas de configuration unique uniforme autre utilisation env

$ env | grep -i proxy
NO_PROXY=localhost,127.0.0.0/8,127.0.1.1
http_proxy=http://192.168.1.250:8080/
FTP_PROXY=ftp://192.168.1.250:8080/
ftp_proxy=ftp://192.168.1.250:8080/
all_proxy=socks://192.168.1.250:8080/
ALL_PROXY=socks://192.168.1.250:8080/
HTTPS_PROXY=https://192.168.1.250:8080/
https_proxy=https://192.168.1.250:8080/
no_proxy=localhost,127.0.0.0/8,127.0.1.1
HTTP_PROXY=http://192.168.1.250:8080/  

Je voudrais vérifier le ~ / .bashrc pour que le paramètre soit appliqué automatiquement au démarrage du système.

$ man env
$ man set
$ # The file section near the end of the bash manual.
$ man bash 

FILES
       /bin/bash
              The bash executable
       /etc/profile
              The systemwide initialization file, executed for login shells
       /etc/bash.bashrc
              The systemwide per-interactive-shell startup file
       /etc/bash.bash.logout
              The systemwide login shell cleanup file, executed when  a  login
              shell exits
       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The  individual  login shell cleanup file, executed when a login
              shell exits
       ~/.inputrc
              Individual readline initialization file
nelaaro
la source
16

En supposant que vous parlez d'un logiciel de ligne de commande typique et d'un proxy HTTP:

La plupart des outils de ligne de commande récupèrent cela dans la variable d'environnement HTTP_PROXY, donc avant d'exécuter une commande:

unset HTTP_PROXY

Il peut y avoir des variations entre les logiciels / plates-formes, et vous devrez peut-être unset http_proxyégalement.

Notez que de nombreux programmes stockent ces informations dans leurs propres fichiers de configuration et sont susceptibles d'ignorer l'environnement, vous devrez donc les traiter au cas par cas.


la source
Semble nécessiter un redémarrage ...?
Yan King Yin
5

Vous pouvez définir ou annuler toutes les variables à la fois dans bash:

$ export {http,https,ftp}_proxy="http://proxy-server:port"
$ unset {http,https,ftp}_proxy

$ export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
$ unset {HTTP,HTTPS,FTP}_PROXY

Vous pouvez également vous ajouter un raccourci ~/.bashrc:

# Set Proxy
function setproxy() {
    export {http,https,ftp}_proxy="http://proxy-server:port"
    export {HTTP,HTTPS,FTP}_PROXY="http://proxy-server:port"
}

# Unset Proxy
function unsetproxy() {
    unset {http,https,ftp}_proxy
    unset {HTTP,HTTPS,FTP}_PROXY
}

N'oubliez pas de recharger .bashrc:

$ . ~/.bashrc

ou

$ source ~/.bashrc

Plus de détails sur [S] hell Hacks .

Adriano P
la source
C'est une bonne réponse, mais je crains qu'il n'y ait plus d'endroits dans le système, lorsque les paramètres du proxy doivent être modifiés: askubuntu.com/questions/664777/… .
matandked
Chaque logiciel peut utiliser ses propres paramètres de proxy (comme npm ou apt, pour n'en nommer que quelques-uns). Donc, http_proxy couvre la plupart d'entre eux, mais vous devez vérifier la documentation pour être sûr de celle qu'elle utilise.
Adriano P
3

Si vous cherchez à changer le proxy pour les programmes GUI, vous pouvez avoir du succès s'ils utilisent les paramètres de proxy "système" de Gnome. Ce sont les paramètres de proxy réglables depuis le panneau de configuration.

Vous pouvez consulter puis modifier les paramètres actuels avec gconftool:

$ gconftool-2 -a /system/http_proxy
  ignore_hosts = [localhost,127.0.0.0/8,*.local]
  authentication_user =
  authentication_password =
  use_authentication = false
  use_http_proxy = true
  port = 8080
  host = http://myproxy.mydomain.org/

Pour désactiver le proxy - définissez use_http_proxy sur false:

$ gconftool-2 -t bool -s /system/http_proxy/use_http_proxy false

Vous pouvez vérifier les résultats en utilisant la -aligne ci-dessus. Vous pouvez également définir un nouveau proxy:

$ gconftool-2 -t string -s /system/http_proxy/host "http://newproxy.mydomain.org/"
$ gconftool-2 -t int -s /system/http_proxy/port 8088
Greg
la source
3
export http_proxy=

Vous pouvez vérifier s'ils ont disparu en exécutant

echo $http_proxy

Il doit renvoyer une ligne vierge

Andrew M.
la source
1

Si toutes les choses écrites ci-dessus ne fonctionnent pas:

  1. Accédez aux paramètres système.
  2. Accédez au réseau.
  3. Allez dans proxy réseau et même si le choix sélectionné est "aucun", allez dans "manuel" et supprimez tous les proxys enregistrés.
  4. Appliquer à l'échelle du système.

Cela a fonctionné pour moi!

Aditi Tayal
la source
1
L'OP a demandé spécifiquement une option de ligne de commande. Ils n'ont peut-être pas installé l'interface graphique
Burgi
1

Pour désactiver toutes les variables proxy sur une seule ligne pour votre session en cours:

unset `env | grep proxy | cut -d= -f1`
aruuu
la source
0

Vous pouvez supprimer tous les {http_proxy, https_proxy} etc. de / etc / environment. sudo gedit / etc / environment, puis supprimez manuellement tous ces proxys et enregistrez.

Ranjeet Kumar Upadhyay
la source