Working Behind a Network Proxy: Difference between revisions
Line 19: | Line 19: | ||
# $1 = hostname, $2 = port | # $1 = hostname, $2 = port | ||
PROXY=myproxy.example.com | PROXY=myproxy.example.com | ||
exec socat STDIO SOCKS4:$proxy:$1:$2 | exec socat STDIO SOCKS4:$proxy:$1:$2 | ||
Then run the following command: | Then run the following command: | ||
Revision as of 08:37, 12 January 2012
This page lists some configuration tips for working behind a proxy.
HTTP/HTTPS/FTP Setup
Set the following environment variables in your ~/.bashrc file. This example uses the same proxy server and port number for all three protocols.
export http_proxy='http://myproxy.example.com:1080/' export https_proxy='https://myproxy.example.com:1080/' export ftp_proxy='http://myproxy.example.com:1080/' export no_proxy = '.example.com'
Git Setup (with socat)
First make sure you have the socat utility installed on your host (in Ubuntu, this should be a simple command "sudo apt-get install socat")
Create a script named git-proxy and put it in /usr/local/bin:
#!/bin/bash # $1 = hostname, $2 = port PROXY=myproxy.example.com exec socat STDIO SOCKS4:$proxy:$1:$2
Then run the following command:
git config --global core.gitProxy git-proxy
Git Setup (with nc)
First make sure you have the netcat utility (nc) installed on your host.
Create a script named git-proxy and put it in /usr/local/bin:
#!/bin/bash PROXY=myproxy.example.com PORT=1080 case $1 in # list internal git servers here that you do not want to use # the proxy with, separated by a pipe character '|' as below: internalgit1.example.com|internalgit2.example.com) METHOD="-X connect" ;; *) METHOD="-X 5 -x ${PROXY}:${PORT}" ;; esac /usr/bin/nc $METHOD $*
Note that on some Linux distros, the nc binary is in /bin. You can also change the '5' in the second METHOD line to '4' if your proxy server only supports SOCKS v4.
Then set the environment variable GIT_PROXY_COMMAND in your ~/.bashrc file and point it to this script:
export GIT_PROXY_COMMAND=/usr/local/bin/git-proxy export GIT_PROXY_IGNORE="example.com"
Subversion Setup
You'll need to have the following in your ~/.subversion/servers file:
[global] http-proxy-exceptions = *.exception.com, www.internal-site.org http-proxy-host = myproxy.example.com http-proxy-port = 1080
You can also set http-proxy-username and http-proxy-password if your proxy requires authentication.
CVS Setup
For CVS checkouts to work correctly, you need to add some options in your Poky local.conf file.
CVS_PROXY_HOST = "myproxy.example.com" CVS_PROXY_PORT = "1080"