title: How to configure Atom to use proxy file (pac) settings?
body: <p>On Windows, is it possible to configure Atom to use the system default proxy instead of manually specifying the proxy settings in the <em>.apmrc</em> file?</p>
  
  <hr>
  
  <p>I recently started using the <a href="/questions/tagged/atom-editor" class="post-tag" title="show questions tagged &#39;atom-editor&#39;" rel="tag">atom-editor</a> for Windows (<strong>Windows 7 Pro</strong>) and so far I like it.  I've been searching for some time to try and get the editor to be able to connect to the outside world and haven't met with any success.  </p>
  
  <p>Our network (I'm not a network expert) is configured to use a proxy server (internal) to access the internet.  On my system, this is accomplished in the proxy settings with an 'Automatic Configuration Script', for example: <code>http://internal-server-name/sub-dir/file-name.pac</code>.</p>
  
  <p>Many resources have suggested manually setting the proxy information in the <em>.apmrc</em> file:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/24936889/not-able-to-connect-to-atom-io-for-themes-and-packages">Not able to connect to atom.io for themes and packages</a></li>
  <li>here:<a href="https://discuss.atom.io/t/is-there-any-proxy-settings/710/19" rel="nofollow noreferrer">https://discuss.atom.io/t/is-there-any-proxy-settings/710/19</a></li>
  <li><a href="https://github.com/atom/atom/issues/1807" rel="nofollow noreferrer">https://github.com/atom/atom/issues/1807</a></li>
  </ul>
  
  <p><strong>These do not answer my question as I need the system defaults to work</strong></p>
  
  <p>I tried to configure Atom to do this same thing but when I change the <em>.apmrc</em> file to have:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>I get the following error (presumably because the above address is not the proxy itself):</p>
  
  <pre><code>tunneling socket could not be established, cause=Parse Error
  </code></pre>
  
  <p>When I leave the <em>.apmrc</em> file unmolested, I receive the following error when trying to view packages:</p>
  
  <pre><code>getaddrinfo ENOTFOUND
  </code></pre>
  
  <p>Even if I had a proxy server IP address and port number to specify, not only would i not want to hard-code my credentials in a config file but I'm pretty sure the authentication is somehow set up to use Kerberos tokens anyway, so I wouldn't be able to specify them at all.</p>
  
  <p>Interestingly the Atom updates says that my installed packages (out of the box) are up to date, which would seem to indicate that this portion is working while the packages and themes do not.</p>
  
  <hr>
  
  <p>Here are some screenshots for reference:</p>
  
  <p><strong>No <em>.apmrc</em> changes</strong>
  <img src="https://i.stack.imgur.com/pwjCQ.png" alt="No .apmrc changes"></p>
  
  <p><strong>Proxy server specified in <em>.apmrc</em></strong>
  <img src="https://i.stack.imgur.com/vVy7O.png" alt="Proxy server specified in .apmrc"></p>
  
  <h2>Edit 08/31/2015</h2>
  
  <p>In response to some of the feedback, I tried to view the <strong>.pac</strong> file and extract the proxy server address information.  I was able to get the information about the proxy out of the file and put it in the <em>.apmrc</em> file but it had no affect on the outcome (I still receive the same errors).  I have also since tried using <strong>CNTLM</strong> to no avail.</p>
  
  <p>Also note that my proxy <strong>does</strong> require authentication as stated above.  I've been doing further research on this issue and it may be a combination of proxy settings for the <code>APM</code> and proxy settings for GitHub.  See the following relevant article:</p>
  
  <ul>
  <li><a href="https://discuss.atom.io/t/error-running-apm-install-behind-proxy/14812" rel="nofollow noreferrer">https://discuss.atom.io/t/error-running-apm-install-behind-proxy/14812</a></li>
  </ul>
  
  <p>Ideally, I'd like a solution that doesn't require a complete machine configuration or a fragile multi-config file setup.</p>