Línea de comando de Linux para desactivar el proxy

22

¿Me puede mostrar la línea de comando para desactivar el proxy cuando estoy usando el terminal de línea de comando en Ubuntu?

Sean Nguyen
fuente
¿Dónde necesitas deshabilitarlo? La configuración de proxy depende de la aplicación, que yo sepa.
Diskilla

Respuestas:

27

Como la otra respuesta dice que hay algunos programas que no miran el sistema en absoluto, es posible que tenga que configurarlos individualmente. Por ejemplo, wget tiene una serie de opciones de proxy, que se pueden usar para ignorar o adaptar la configuración del proxy ambiental durante la ejecución. Aquí hay una serie de áreas en las que se pueden configurar los sistemas proxy.

  • Cómo se ve mi sistema, tenga en cuenta que tendrá que cambiar la configuración específica del sistema para su entorno de red.

Algunos sistemas Linux usan / 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/"  

No hay una sola configuración uniforme, otro uso 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/  

Verificaría ~ / .bashrc para que la configuración se aplique automáticamente al iniciar el sistema.

$ 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
fuente
16

Suponiendo que está hablando del software típico de línea de comandos y un proxy HTTP:

La mayoría de las herramientas de línea de comandos recogen esto de la variable de entorno HTTP_PROXY, por lo que antes de ejecutar un comando:

unset HTTP_PROXY

Puede haber alguna variación entre software / plataformas, y es posible que unset http_proxytambién deba hacerlo .

Tenga en cuenta que muchos programas almacenan esta información en sus propios archivos de configuración y es probable que ignoren el entorno, por lo que deberá abordarlos caso por caso.


fuente
Parece requerir reiniciar ...?
Yan King Yin
4

Puede establecer o desactivar todas las variables a la vez en 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

También puede agregarle un atajo ~/.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
}

No olvides recargar .bashrc:

$ . ~/.bashrc

o

$ source ~/.bashrc

Más detalles en [S] hell Hacks .

Adriano P
fuente
Esta es una buena respuesta, pero me temo que hay más lugares en el sistema, cuando es necesario cambiar la configuración del proxy: askubuntu.com/questions/664777/… .
matandked
Cada software puede usar su propia configuración de proxy (como npm o apt, por nombrar algunos). Entonces http_proxy cubre la mayoría de ellos, pero debe verificar la documentación para asegurarse de cuál usa.
Adriano P
3

Si está buscando cambiar el proxy para los programas GUI, puede tener algo de éxito si usan la configuración del proxy "sistema" de Gnome. Estas son las configuraciones de proxy configurables desde el Panel de control.

Puede mirar y luego cambiar la configuración actual con 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/

Para desactivar el proxy, configure use_http_proxy en falso:

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

Puede verificar los resultados usando la -alínea de arriba. Alternativamente para configurar un nuevo 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
fuente
3
export http_proxy=

Puede verificar si se han ido ejecutando

echo $http_proxy

Debería devolver una línea en blanco

Andrew M.
fuente
1

Si todas las cosas escritas arriba no funcionan:

  1. Ir a la configuración del sistema.
  2. Ir a la red.
  3. Vaya a proxy de red e incluso si la opción seleccionada es "ninguna", vaya a "manual" y elimine todos los proxies guardados.
  4. Aplicar en todo el sistema.

¡Esto funcionó para mí!

Aditi Tayal
fuente
1
El OP solicitó específicamente una opción de línea de comando. Es posible que no hayan instalado la GUI
Burgi
1

Para deshabilitar todas las variables proxy en una línea para su sesión actual:

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

Puede eliminar todos {http_proxy, https_proxy}, etc. de / etc / environment. simplemente sudo gedit / etc / environment y luego elimine manualmente todos esos proxies y guárdelos.

Ranjeet Kumar Upadhyay
fuente