Selective HTTPS proxy for Chrome/Firefox

Andrew Dolgov a4c8bc0111 upd readme 5 months ago
img 68a1c9814a add icons; ping check the proxy before setting 2 years ago
lib faa67e3e26 initial work for jquery/codemirror; remove stock whitelist 5 months ago
.gitignore faa67e3e26 initial work for jquery/codemirror; remove stock whitelist 5 months ago
README.md a4c8bc0111 upd readme 5 months ago
background.js b8e0b32954 var to let/const 5 months ago
common.js b8e0b32954 var to let/const 5 months ago
manifest.json f2d84d5547 various updates 5 months ago
options.html faa67e3e26 initial work for jquery/codemirror; remove stock whitelist 5 months ago
options.js b8e0b32954 var to let/const 5 months ago
proxy.js fddd688142 fix for check_url 1 year ago

README.md

Selective HTTPS proxy for Chrome/Firefox

Routed specified domains (optionally including subdomains) via secure proxy.

Used with squid (ssl + basic auth) and nginx (should respond to /ping on proxy host:443 if proxy credentials are correct) - /ping is used to check connectivity.

Squid example

https_port 8443 generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=... key=... dhparams=... options=NO_SSLv3

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/users
auth_param basic realm proxy

...

acl authenticated proxy_auth REQUIRED

http_access deny CONNECT !SSL_ports
http_access deny !authenticated
http_access allow authenticated
http_access deny all

Nginx example (for ping)

location /ping {
	auth_basic sample;
	auth_basic_user_file /etc/squid/users;

	try_files DUMMY @return200;
}

location @return200 {
	return 200 'pong';
}

License

GPLv3.