Using fiddler as Proxy for NPM, Maven, Gradle
22 Sep 2019
Usually downloading packages has been pain over corporate networks. One way is to switch to personal network now and then to download packages. Here is a work around for this, use any proxy server providing your credentials. But thing is everytime I change my password I break my head to finally realize the packages are not downloading because of the old credentials in the proxy settings. This is how I get around this, using Fiddler.
Once you have downloaded fiddler, open fiddler and then under rules menu check Automatically Authenticate
.
For NPM
Set using following commands
npm config set proxy http://localhost:8888/
npm config set https-proxy http://localhost:8888/
OR
do this manually, open C:\Users\<user name>\.npmrc
and set proxy to the port fiddler is running on like below
proxy=http://localhost:8888/
https-proxy=http://localhost:8888/
strict-ssl=false
strict-ssl
is set to false to ignore certificate validation, Use this with caution there are a lot packages that are malicious.
now try npm -i <packagename>
For MAVEN
Open C:\Users\<user name>\.m2\settings.xml
and add this follwing section in settings
node
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<host>localhost</host>
<port>8888</port>
<nonProxyHosts></nonProxyHosts>
</proxy>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>https</protocol>
<host>localhost</host>
<port>8888</port>
<nonProxyHosts></nonProxyHosts>
</proxy>
</proxies>
For GRADLE
Add this below properties in root folder of gradle.properties
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=8888
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=8888
Hope this Helps!