Protected by the great Chinese Firewall, I feel my mind is
as pure as the WhiteSnow. But living in this mighty country as a software
engineer, one thing is particularly painful: we have to be the Kung Fu Panda to
jump over the wall to google and download things.
I experienced this pain vividly a few weeks ago when I had
to re-install a computer, so I decided to write all the “jumping over wall”
techniques down.
git
BTW, when installing git, choose Run Git from the Windows Command Prompt.
git proxies are configured in C:\Users\ME\.gitconfig.
[https]
proxy = PROXY
sslverify = false
[http]
sslverify = false
proxy = PROXY
[url "https://"]
insteadOf = git://
[url "https://github.com"]
insteadOf =
git://github.com
npm
npm proxy needs to be setup in C:\Users\ME\.npmrc. Note, you can’t right click and
create a file whose name starts with “.”. You can however create a blank file
in your editor and save it as “.npmrc”.
strict-ssl=false
proxy=PROXY
https-proxy=PROXY
Vagrant
To be able to download boxes, I need to setup proxy
environment variables in my windows machine:
HTTP_PROXY=PROXY
HTTPS_PROXY=PROXY
To enable VMs created by Vagant to be able to download
things, I need to setup proxies for VMs as well, to do so, first I need to
install a plugin for Vagant:
vagrant plugin install vagrant-proxyconf
Then I can setup proxies for VMs in Vagrantfile:
if
Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http
= PROXY
config.proxy.https
= PROXY
config.proxy.ftp
= PROXY
config.proxy.no_proxy =
"localhost,127.0.0.1,192.168.33.10"
end
One thing to note is that no_proxy
should contain either domains or exact ip address. Wildcard ip addresses do not
work, e.g. 192.168.33.* doesn’t work. See http://unix.stackexchange.com/questions/23452/set-a-network-range-in-the-no-proxy-environment-variable.
curl
curl will respect https_proxy, http_proxy,
no_proxy environment variables (as configured
by Vagrant above, for example). If you want curl to bypass proxy for certain
url, include the domain or ip address in no_proxy.
You can also use --noproxy to bypass
proxies.
curl -v --noproxy '*' -XGET
"192.168.33.15:9200"
cygwin
This concerns install Cygwin. Follow the wizard step by
step, and upon the following step, choose option 2:
This is actually very weird, I do not have proxy setup in IE, so the second option should be equal to first, but using the first or the third option, I simply can’t access any mirror site. Weird!
MVN
Edit .m2/settings.xml. If settings.xml is missing, download
a default one from https://raw.githubusercontent.com/apache/maven/master/apache-maven/src/conf/settings.xml,
and put it there.
On the proxies paragraph, add proxy:
<settings>
<settings>
<proxies>
<proxy>
<id>office</id>
<active>true</active>
<protocol>http</protocol>
<host>PROXY</host>
<port>PROXY_PORT</port>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
</settings>
</settings>
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete