En este artículo veremos varios métodos para configurar proxy para wget. Lo configuraremos modificando los archivos de configuración de wget, modificando las variables de entorno e incluso añadiendo opciones adicionales al comando wget desde la interfaz de línea de comandos (CLI).
- Introducción
- Modificando los archivos de configuración de wget
- Modificando las variables de entorno
- Pasando las opciones de proxy como argumento del comando
- Introducción (Volver al índice General)
GNU Wget nos permite descargar contenidos desde servidores web de una forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get). Actualmente admite descargas mediante los protocolos HTTP, HTTPS y FTP. Entre las características más destacadas que ofrece wget está la posibilidad de fácil descarga de mirrors (espejos) complejos de forma recursiva, conversión de enlaces para la visualización de contenidos HTML localmente, soporte para proxies, etc.Si nuestro ordenador pertenece a una red que para acceder a Internet se hace a través de un proxy tendremos que configurarlo para descargar archivos con wget. En este artículo veremos varios métodos para configurar un proxy desde la interfaz de línea de comandos (CLI), veremos soluciones permanentes modificando archivos de sistema y soluciones temporales, como son la asignación de valores a variables de entorno o pasándole parámetros al propio comando wget.
- Modificando los archivos de configuración de wget (Volver al índice General)
El primer método que vamos a ver consiste en modificar los archivos de configuración de wget. Para que la configuración sea válida para todos los usuarios del sistema, editaremos el archivo/etc/wgetrc
y para que solo sea válida para el usuario actual, editaremos el archivo~/.wgetrc
ubicado en la raíz de su directorio personal.Veamos la configuración del archivo
/etc/wgetrc
. Para hacerlo, lo editamos con nuestro editor de texto preferido:$ sudo nano /etc/wgetrc
Si queremos que wget utilice proxy tendremos que descomentar (si existe la línea) o añadir la siguiente línea:
use_proxy=on
Por el contrario, si no queremos utilizar proxy tendremos que descomentar la línea y ponerla en
off
o añadiremos la siguiente línea:use_proxy=off
En función de si el proxy que utilicemos requiere o no autenticación, añadiremos las siguientes líneas:
- Servidor proxy sin autenticación (Volver al índice General)
http_proxy=http://nombre-servidor-o-ip:puerto https_proxy=https://nombre-servidor-o-ip:puerto ftp_proxy=http://nombre-servidor-o-ip:puerto
Por ejemplo:
http_proxy=http://proxy.zeppelinux.es:8080 https_proxy=https://192.168.100.254:8080 ftp_proxy=http://proxy.zeppelinux.es:8080
- Servidor proxy con autenticación (Volver al índice General)
http_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto https_proxy=https://usuario:contraseña@nombre-servidor-o-ip:puerto ftp_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto
Por ejemplo:
http_proxy=http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/ https_proxy=https://mortadelo:sucontraseña@192.168.100.254:8080 ftp_proxy=http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
Nota: En el caso de que decidamos utilizar el archivo
~/.wgetrc
, añadiremos las líneas que añadiríamos en el archivo/etc/wgetrc
. Si el archivo~/.wgetrc
no existe, lo creamos con nuestro editor preferido, por ejemplo:$ nano ~/.wgetrc
- Servidor proxy sin autenticación (Volver al índice General)
- Modificando las variables de entorno (Volver al índice General)
Con este método la solución puede ser permanente o temporal.- Solución permanente (Volver al índice General)
Para configurar el proxy de forma permanente en nuestro sistema, es necesario modificar el archivo/etc/environment
. En este archivo se guardan las variables de entorno permanentes. Este archivo de sistema se procesa al inicio del equipo. Para configurar el proxy utilizando este archivo haremos lo siguiente:- Servidor proxy sin autenticación (Volver al índice General)
Si el servidor proxy no requiere autenticación, desde la interfaz de línea de comandos (CLI) ejecutaremos los siguientes comandos:Primero editamos el archivo
/etc/environment
con nuestro editor de texto preferido:$ sudo nano /etc/environment
Y a continuación añadimos las líneas de configuración del proxy:
... http_proxy=nombre-servidor-o-ip:puerto https_proxy=nombre-servidor-o-ip:puerto ftp_proxy=nombre-servidor-o-ip:puerto ...
Por ejemplo:
... http_proxy=proxy.zeppelinux.es:8080 https_proxy=192.168.100.254:8080 ...
- Servidor proxy con autenticación (Volver al índice General)
Si el servidor proxy requiere autenticación, desde la interfaz de línea de comandos (CLI) ejecutaremos los siguientes comandos:Primero editamos el archivo
/etc/environment
con nuestro editor de texto preferido:$ sudo nano /etc/environment
Y a continuación añadimos las líneas de configuración del proxy:
... http_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto https_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto ftp_proxy=usuario:contraseña@nombre-servidor-o-ip:puerto ...
Por ejemplo:
... http_proxy=mortadelo:sucontraseña@proxy.zeppelinux.es:8080 https_proxy=mortadelo:sucontraseña@192.168.100.254:8080 ...
- Servidor proxy sin autenticación (Volver al índice General)
- Solución temporal (Volver al índice General)
Las variables de entorno donde se guarda la configuración del proxy sonhttp_proxy
,https_proxy
,ftp_proxy
y otras comodns_proxy
orsync_proxy
que no trataremos en este artículo. En este punto veremos como se declaran las variables de entorno que necesitamos.- Servidor proxy sin autenticación (Volver al índice General)
Si el servidor proxy no requiere autenticación, desde la interfaz de línea de comandos (CLI) ejecutaremos algunos de los siguientes comandos:$ export http_proxy=http://nombre-servidor-o-ip:puerto/
$ export https_proxy=https://nombre-servidor-o-ip:puerto/
Por ejemplo:
$ export http_proxy=http://proxy.zeppelinux.es:8080/
$ export https_proxy=https://192.168.100.254:8080/
En caso de que todas las variables de proxy utilicen la misma URL, podremos declararlas de la siguiente forma:
$ export http_proxy=http://nombre-servidor-o-ip:puerto/
$ export https_proxy=$http_proxy
$ export ftp_proxy=$http_proxy
- Servidor proxy con autenticación (Volver al índice General)
Si el servidor proxy requiere autenticación, desde la interfaz de línea de comandos (CLI) ejecutaremos algunos de los siguientes comandos:$ export http_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto/
$ export https_proxy=https://usuario:contraseña@nombre-servidor-o-ip:puerto/
Por ejemplo:
$ export http_proxy=http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
$ export https_proxy=https://mortadelo:sucontraseña@192.168.100.254:8080/
De igual manera que para el proxy sin autenticación, en caso de que todas las variables de proxy utilicen la misma URL, podremos declararlas de la siguiente forma:
$ export http_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto/
$ export https_proxy=$http_proxy
$ export ftp_proxy=$http_proxy
Nota: Con los comandos anteriores, las variables solo están disponibles para el usuario que las declara, es decir, si un usuario declara las variables, estas no estarán disponibles para otro usuario, ni siquiera para el root. Para que estén disponibles para todos los usuarios, habría que hacerlas permanentes declarándolas en el archivo
/etc/profile
, aunque lo normal es declarar las variables permanentes para todos los usuarios en el archivo /etc/environment, como hemos visto en el punto anterior. - Servidor proxy sin autenticación (Volver al índice General)
- No utilizar proxy para direcciones locales o dominios específicos (Volver al índice General)
Si no queremos que se use proxy para direcciones locales o dominios específicos, añadiremos la siguiente variable:$ export no_proxy=localhost,127.0.0.1,localaddress,.localdomain.com
- Comprobar la configuración del proxy (Volver al índice General)
Para comprobar que han surtido efecto los cambios, podemos hacerlo con los comandosecho
oprintenv
:$ echo $http_proxy http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
$ printenv http_proxy http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080/
Repetiríamos los mismos pasos para comprobar la variable
https_proxy
o cualquier otra variable conocida. - Eliminar la configuración del proxy (Volver al índice General)
Para eliminar la configuración del proxy, utilizaremos el comandounset
oexport
:$ unset http_proxy
o también:
$ export http_proxy=
Repetiríamos los mismos pasos para eliminar la variable
https_proxy
o cualquier otra variable conocida.
- Solución permanente (Volver al índice General)
- Pasando las opciones de proxy como argumento del comando (Volver al índice General)
En este último método prescindiremos de modificar archivos y de declarar variables, simplemente añadiremos al comando wget la configuración del proxy utilizando el parámetro-e
después de la URL:- Servidor proxy sin autenticación (Volver al índice General)
$ wget ... -e use_proxy=yes -e http_proxy=http://nombre-servidor-o-ip:puerto
Por ejemplo:
$ wget http://ejemplo.com/programa.tar.gz -e use_proxy=yes -e http_proxy=http://proxy.zeppelinux.es:8080
- Servidor proxy con autenticación (Volver al índice General)
$ wget ... -e use_proxy=yes -e http_proxy=http://usuario:contraseña@nombre-servidor-o-ip:puerto
Por ejemplo:
$ wget http://ejemplo.com/programa.tar.gz -e use_proxy=yes -e http_proxy=http://mortadelo:sucontraseña@proxy.zeppelinux.es:8080
- Servidor proxy sin autenticación (Volver al índice General)
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Deja una respuesta