windows configuration proxy atom-editor pac

windows - ¿Cómo configurar Atom para usar la configuración del archivo proxy(pac)?



configuration atom-editor (3)

En Windows, ¿es posible configurar Atom para usar el proxy predeterminado del sistema en lugar de especificar manualmente la configuración del proxy en el archivo .apmrc ?

Recientemente comencé a usar el atom-editor para Windows ( Windows 7 Pro ) y hasta ahora me gusta. He estado buscando un tiempo para intentar que el editor pueda conectarse al mundo exterior y no he tenido éxito.

Nuestra red (no soy un experto en redes) está configurada para usar un servidor proxy (interno) para acceder a Internet. En mi sistema, esto se logra en la configuración del proxy con un ''Script de configuración automática'', por ejemplo: http://internal-server-name/sub-dir/file-name.pac .

Muchos recursos han sugerido configurar manualmente la información del proxy en el archivo .apmrc :

Estos no responden a mi pregunta ya que necesito que los valores predeterminados del sistema funcionen

Intenté configurar Atom para hacer lo mismo pero cuando cambio el archivo .apmrc para que tenga:

http-proxy = http://internal-server-name/sub-dir/file-name.pac https-proxy = https://internal-server-name/sub-dir/file-name.pac strict-ssl = false

Recibo el siguiente error (probablemente porque la dirección anterior no es el proxy en sí):

tunneling socket could not be established, cause=Parse Error

Cuando dejo el archivo .apmrc sin ser molestado, recibo el siguiente error al intentar ver los paquetes:

getaddrinfo ENOTFOUND

Incluso si tuviera que especificar la dirección IP del servidor proxy y el número de puerto, no solo no querría codificar mis credenciales en un archivo de configuración, sino que estoy bastante seguro de que la autenticación está configurada para usar tokens Kerberos de todos modos, así que No podría especificarlos en absoluto.

Curiosamente, las actualizaciones de Atom dicen que mis paquetes instalados (listos para usar) están actualizados, lo que parece indicar que esta parte está funcionando mientras que los paquetes y los temas no lo están.

Aquí hay algunas capturas de pantalla para referencia:

No hay cambios .apmrc

Servidor proxy especificado en .apmrc

Editar 31/08/2015

En respuesta a algunos de los comentarios, intenté ver el archivo .pac y extraer la información de la dirección del servidor proxy. Pude obtener la información sobre el proxy del archivo y ponerla en el archivo .apmrc , pero no tuvo ningún efecto en el resultado (todavía recibo los mismos errores). También he intentado usar CNTLM en vano.

También tenga en cuenta que mi proxy requiere autenticación como se indica anteriormente. He estado investigando más sobre este problema y puede ser una combinación de configuraciones de proxy para la APM y configuraciones de proxy para GitHub. Vea el siguiente artículo relevante:

Idealmente, me gustaría una solución que no requiera una configuración completa de la máquina o una configuración de archivos de configuración múltiple frágil.


Debe descargar el archivo http://internal-server-name/sub-dir/file-name.pac y abrirlo con un editor de texto, luego encontrar la dirección proxy y el puerto reales en su interior (cerca de una palabra clave PROXY ).


Un archivo .pac es solo un archivo javascript que los navegadores pueden ejecutar para determinar mediante programación qué proxy usar. Esto es útil si su red necesita usar diferentes proxies para acceder a diferentes recursos. Si abres ese archivo, probablemente puedas entenderlo (después de todo, es solo javascript) y descubrir qué proxy está usando tu red para el acceso general a la web. Establézcalo como su proxy en su archivo .apmrc y debería funcionar.

Las cosas se complican más si su proxy requiere algún tipo de autenticación. Si ese es tu problema, házmelo saber. Tengo algo de experiencia lidiando con eso.

Autenticando

OK, entonces necesitas autenticarte. Entonces tu situación es probablemente muy similar a la mía. Tiene razón al usar CNTLM, solo necesitamos configurarlo correctamente. Su archivo cntlm.ini se verá así:

Username <your windows username> Domain <your domain name> Password <leave this blank> PassLM <get this by running `cntlm -H` on the command line> PassNT <get this by running `cntlm -H` on the command line> PassNTLMv2 <get this by running `cntlm -H` on the command line> Proxy <Your proxy address like ip_address:port> Proxy <If you have multiple proxies, you may list them each on a new line> NoProxy localhost, 127.0.0.*, <any others that should bypass the proxy> Listen <a local port to listen on (I use 53128)>

Hay algo un poco raro que debes saber sobre este archivo ( cntlm.ini ). Cuando instala cntlm, se incluye en la carpeta del programa, pero en realidad solo funcionará si se encuentra en C:/Program Files (x86)/cntlm/cntlm.ini . Creo que probablemente sea más exacto decir que debería estar en la carpeta cntlm dentro del directorio PROGRAMFILES , por lo que debe verificar que este sea el caso.

De todos modos, después de hacer todo eso, ahora puede iniciar cntlm (instrucciones en el cntlm Léame). A continuación, debe configurar apm para usar su proxy local. Tu .apmrc debería verse así:

http-proxy = http://localhost:<port # from cntlm.ini> https-proxy = https://localhost:<port # from cntlm.ini> strict-ssl = false

Usted pensaría que esto sería suficiente, pero hay más que podrían ayudar. Tuve muchos problemas con npm hasta que descubrí que https no funciona bien a través de cntlm así que tuve que cambiar mi registro de https://registry.npmjs.org/ a http://registry.npmjs.org/ . Como apm también usa el mismo registro, decidí cambiar eso también:

apm config set registry http://registry.npmjs.org/

Y luego ... pareció ayudar también a ingresar en config.cson de Atom y establecer core.proxy en http://localhost:<port # from cntlm.ini>

Y después de todo eso, esperaría que las cosas funcionaran para ti. Si es bueno y está bien y Atom está funcionando bien, hay una cosa más que podrías querer hacer que haga que la mayoría (¿todas?) Otras aplicaciones (npm, git, etc.) funcionen bien. En la línea de comando, ejecute:

netsh winhttp set proxy localhost:<port # from cntlm.ini> "localhost, 127.0.0.*"

Esto le ahorrará la molestia de configurar la mayoría (¿todas?) Otras aplicaciones una por una. Por alguna razón, apm necesita ser configurado específicamente. Supongo que no usa la configuración de winhttp por alguna razón? No sé la respuesta a eso.

Nueva Info 2016/03/18

Recientemente noté que hay una cosa adicional que deberías hacer para algunas aplicaciones. También debe establecer las siguientes variables de entorno para su proxy local:

HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy

Puede parecer una exageración establecer mayúsculas y minúsculas, pero recientemente instalé MSys2 y encontré que busca las versiones en minúsculas, así que configúrelas todas y ahórrese algunos problemas.


Utilicé esto para mis problemas con npm y .npmrc

c:/users/%user%/.atom/.apmrc (agregar si no existe) y coloque esto

proxy=http://YOUR-DOMAIN**%5C**USER-NAME:PASSWORD@YOUR-PROXY-SERVER:PORT/