Working Behind a Network Proxy

From Yocto Project
Revision as of 18:01, 9 November 2010 by Sgarman (talk | contribs) (Added proxy configuration guide)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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/'

Git Setup

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

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"