X-Git-Url: https://code.delx.au/osx-proxyconf/blobdiff_plain/764b80c6b10ffaace49d376ef180bb07f217f792..55097bedc297b3257177a9d2d85552bd27ad8e1f:/README diff --git a/README b/README new file mode 100644 index 0000000..65e96c0 --- /dev/null +++ b/README @@ -0,0 +1,52 @@ +------------ +Introduction +------------ + +Do you use Mac OSX's multiple network locations feature with different proxies? +This is a great way to conveniently use applications in multiple locations +without having to configure each app separately. + +Now you've probably noticed that command line applications do not use the proxy +settings from System Preferences. This includes things like wget, fink, etc +These applications all actually pay attention to the Unix convention of putting +proxies in environment variables, eg +$ export http_proxy="http://www-cache.example.com" + +Proxyconf allows you to configure your proxies in System Preferences, and it +takes care of grabbing these values and exporting them as environment +variables. The upshot of this is, your command line apps will use the same +proxy settings as your GUI apps. + + +------------ +Installation +------------ + +Installation is easy. Note the following assumes you've already configured your +proxies in System Preferences. Skip to the last step if you downloaded a +binary version. + +Firstly, grab a copy of the code using Mercurial (http://selenic.com/mercurial): +$ cd ~/Downloads/ +$ hg clone http://delx.net.au/hg/proxyconf + +Next compile it: +$ cd proxyconf +$ make + +Now add the following line to your ~/.bashrc (modify as appropriate): +eval $(~/Downloads/proxyconf/proxyconf.sh) + + +----------- +Limitations +----------- + +Note that proxyconf only works if you have System Preferences set to configure +proxies "Manually". For example, proxy.pac files are not supported. + +The environment variables are only exported when the shell starts. This means +if you have a terminal open and change location the environment will be +incorrect. This is unavoidable. The workaround is to close and start the +terminal, or to run "exec bash -i" +