Según Wikipedia, «Un proxy, o servidor proxy, en una red informática, es un servidor —programa o dispositivo—, que hace de intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C). Por ejemplo, si una hipotética máquina A solicita un recurso a C, lo hará mediante una petición a B, que a su vez trasladará la petición a C; de esta forma C no sabrá que la petición procedió originalmente de A. Esta situación estratégica de punto intermedio le permite ofrecer diversas funcionalidades: control de acceso, registro del tráfico, restricción a determinados tipos de tráfico, mejora de rendimiento, anonimato de la comunicación, caché web, etc. Dependiendo del contexto, la intermediación que realiza el proxy puede ser considerada por los usuarios, administradores o proveedores como legítima o delictiva y su uso es frecuentemente discutido.»
Viendo las funciones que ofrece un proxy, es normal que muchas empresas restrinjan el acceso directo a Internet y obliguen a sus empleados y clientes a utilizar uno. Muchos programas, especialmente los navegadores web más populares, permiten configurar un servidor proxy desde sus ajustes para utilizarlo al acceder a Internet. Otros, simplemente, utilizan los ajustes del proxy definidos en el sistema. Y algunos otros (cada vez menos, por suerte), no pueden trabajar con servidores proxy, con las limitaciones que ello implica. Llegados a este punto, podría surgirnos la siguiente pregunta.

¿Para qué podría NVDA necesitar un servidor proxy?

Aunque NVDA dista mucho de ser un programa que necesite una conexión a Internet para funcionar con normalidad, hay ciertas funciones (tanto integradas como presentes en complementos) que no podemos utilizar si no tenemos una conexión disponible. Por ejemplo:

  • La posibilidad de actualizar NVDA automáticamente desde el menú Ayuda.
  • La actualización de complementos mediante Add-on Updater.
  • La renovación o activación de licencias de ciertos complementos de pago (por ejemplo, Vocalizer).

¿Qué tipos de servidores se soportan?

Con la actualización de Python 2 a Python 3 en NVDA 2019.3, el soporte para servidores proxy ha mejorado notablemente. Sin tener que tocar una sola línea de código, NVDA soporta de forma nativa servidores http y https con autenticación básica. La autenticación es un factor determinante a la hora de usar un proxy corporativo, ya que es raro que soporten acceso anónimo. NVDA 2019.2 era capaz de usar servidores proxy, siempre que estos no solicitaran un nombre de usuario y contraseña.
Por desgracia, aún existen límites. Hasta que no se implemente una solución compatible, los servidores SOCKS4 y SOCKS5 no se pueden utilizar. Esto también nos limita al utilizar ciertos complementos que recurren a conexiones a bajo nivel, tales como NVDA Remote.
En este sencillo tutorial veremos cómo indicar a NVDA que utilice un servidor proxy, especificando usuario y contraseña si es necesario. Esta solución será válida para programas basados en Python que utilicen la biblioteca urllib y derivadas para acceder a la web. ¡Comencemos!

Definición de las variables de entorno

Indicar el proxy que debe utilizar NVDA es tan sencillo como definir un par de variables de entorno. Para llevar a cabo esta operación, no es necesario disponer de privilegios de administrador. Podemos modificar las variables de nuestra cuenta de usuario de Windows.
En primer lugar, abriremos el diálogo Variables de entorno. Esto se puede hacer de muchas formas, en las que no profundizaremos. Vamos a recurrir al diálogo Ejecutar:

  1. Pulsa windows+r para abrir el diálogo Ejecutar.
  2. Escribe o copia y pega el siguiente comando y pulsa intro: rundll32.exe sysdm.cpl,EditEnvironmentVariables

El diálogo muestra dos listas. En la primera se encuentran las variables de entorno del usuario, y en la segunda las del sistema. En este diálogo sólo podemos realizar acciones sobre las variables del usuario, más que suficiente para lo que necesitamos. Ahora, vamos a crear dos nuevas variables:

  1. Pulsa el botón «Nueva…».
  2. En nombre de la variable, escribe «HTTP_PROXY», todo en mayúsculas y sin las comillas.
  3. En valor de la variable, escribe la dirección completa del servidor proxy, siguiendo el esquema protocolo://usuario:contraseña@servidor:puerto, omitiendo, si es posible, las partes innecesarias. Por ejemplo:
    • Proxy sin autenticación: http://proxydeempresa.com:3128
    • Proxy con autenticación: http://usuario:contraseñ[email protected]:3128
    • Nota: en vez de http, la dirección podría usar los protocolos https, ftp u otros en algunos casos, o apuntar a alguna dirección interna después de especificar el puerto.
  4. Pulsa el botón Aceptar. La variable se habrá agregado a la primera lista.
  5. Repite los pasos anteriores para crear una nueva variable, pero en esta ocasión pon en el nombre «HTTPS_PROXY». Es posible que el valor de la variable sea el mismo o cambie, deberás consultarlo con los responsables de informática de tu organización.

Cuando hayas agregado ambas variables, pulsa el botón Aceptar para salir del diálogo y reinicia NVDA. Si todo ha ido bien, tu copia de NVDA se conectará a través del servidor proxy de tu organización y podrá descargar tanto actualizaciones de complementos, como del lector en sí mismo.

Autor: José Manuel Delicado Alcolea

Ingeniero de software y máster en Ingeniería Informática por la Universidad Rey Juan Carlos. Me encanta todo lo relacionado con la informática, la accesibilidad y las nuevas tecnologías. Trabajo como consultor de accesibilidad.

Deja un comentario

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