Icono tranferencia de archivos

Configurar proxy para wget

 
 

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).

 
Índice General

  1. Introducción
  2. Modificando los archivos de configuración de wget
  3. Modificando las variables de entorno
  4. Pasando las opciones de proxy como argumento del comando

 

  1. 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.

  2.  

  3. 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

  4.  

  5. 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
        ...
    •  

    • Solución temporal (Volver al índice General)
      Las variables de entorno donde se guarda la configuración del proxy son http_proxy, https_proxy, ftp_proxy y otras como dns_proxy o rsync_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.

    •  

    • 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 comandos echo o printenv:

      $ 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 comando unset o export:

      $ 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.

  6.  

  7. 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

 

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.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.