Proxy checker
ProxyCheck show the response of a proxy script for URLs(s).
Proxy scripts are well described here: en.wikipedia.org/wiki/Proxy_auto-config
ProxyCheck is a Rails 7 application and all rails prerequisites applies.
Node.js, Yarn, Git and Ruby 3.0 or higher should be installed on the system.
Clone this repository and install gems:
git clone https://github.com/net1957/ProxyCheck.git cd ProxyCheck bundle install yarn bundle exec rails assets:precompile bundle exec rails git_version bundle exec rails rdoc
or with scripts (mainly for prod):
git clone https://github.com/net1957/ProxyCheck.git ./bin/setup (or ./bin/update)
It should work on all nix systems, but not on windows due to the lack of support by the libv8-node gem used by mini_racer gem.
You can use Vagrant to test it. A Vagrantfile based on debian-10 and ruby 3.0 is provided.
All Rails configuration apply, but no database is used, so activerecord is disabled. See config/application.rb file for details.
-
You can use your own logo on the top of the page (optional).
Simply put a png file (159*18 pixels) in app/assets/images directory and set the environment variable LOGO with the filename (without path).
example:
LOGO=mylogo.png
-
you can hide the compress menu (optional).
add the environment variable NO_COMPRESS_BUTTON (value does’nt matter)
example:
NO_COMPRESS_BUTTON=
-
You can limit the proxy field to a list of selectable proxies (optional).
add the environment variable PROXIES with the following format:
label1;proxy1 url,label2;proxy2 url
The proxy text box is changed to a select box
example:
PROXIES=normal proxy;http://proxy1.com/script.pac,special proxy;http://proxy2.com/script.pac
Start the server
bin/rails server
Connect to your application with your URL (default to localhost:3000) and you have three input fields:
-
Script or script URL: you can select a proxy, put the source of your script or the URL of the script (the same as in your navigator). The server that host ProxyCheck must have access to the URL.
-
Client IPv4: the IP of your client. Default to the IP seen by the server.
-
URL(s): you can add one or many URL to check, one per line.
Hit the run button to see the results.
You can also compress your script by using the optimize menu entry and save the optimized file locally (if allowed).
This application is build on top of the proxy_pac_rb gem.
-
Node.js: nodejs.org
-
Yarn : yarnpkg.com
-
Ruby: www.ruby-lang.org
-
Rails: rubyonrails.org
-
proxy_pac_rb: github.com/fedux-org/proxy_pac_rb
-
Vagrant: www.vagrantup.com/
-
Git: git-scm.com/
LICENSE
See license.txt file