Pacproxy provides an http/https proxy server which does proxy access according with a local/remote proxy.pac. If your user agent is behind of the corporate proxy server and it does not recognize proxy.pac, Proxypac transfers both your Internet and Intranet access correctly.
You can run pacproxy with specified proxy.pac location, running port and so on.
$ bundle exec pacproxy -P http://sample.org/proxy.pac -p 3128
or
$ bundle exec pacproxy -P /opt/pacproxy/sample-proxy.pac -p 3128
or
$ bundle exec pacproxy -c pacproxy.yml
Or, you can run this as a docker container. See Readme for Docker.
You can configure pacproxy by a file which you specified with -c
option.
The default configuration file is pacproxy.yml
(sample)
in the current working directory.
Configurable items:
- daemonize
- port
- pac file
- general log
- access log
You can select Ruby javascript runtimes or Node.js
Puts these lines on Gemfile, for example:
source 'https://rubygems.org'
gem 'pacproxy'
gem 'therubyracer'
And then execute:
$ bundle
Install node.js runtime before this installation. Puts these lines on Gemfile, for example:
source 'https://rubygems.org'
gem 'pacproxy'
And then execute:
$ bundle
$ bundle exec pacproxy --npminstall
Before or After installing the pacproxy
gem,
you need to install a JavaScript runtime.:
- therubyracer Google V8 embedded within Ruby
- therubyrhino Mozilla Rhino embedded within JRuby
- johnson Mozilla SpiderMonkey embedded within Ruby 1.8
- mustang Mustang V8 embedded within Ruby
- Node.js Node.js runtime
- Fork it ( https://github.com/otahi/pacproxy/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request