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.
Usage
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.
Configuration
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
Installation
You can select Ruby javascript runtimes or Node.js
With a Ruby javascript runtime
Puts these lines on Gemfile, for example:
source 'https://rubygems.org'
gem 'pacproxy'
gem 'therubyracer'
And then execute:
$ bundle
With Node.js
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
Requirements
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
Contributing
- 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