Chrome Extension for a go lang secure HTTP proxy.
This is the extension for go-shp (https://github.com/winguse/go-shp). A open source secure HTTP proxy written in golang.
This extension also works for Caddy Server as "Probe resistant Reverse Proxy": https://caddyserver.com/v1/docs/http.forwardproxy
The source code can be found in https://github.com/winguse/go-shp/tree/master/chrome-extension .
This extension include features:
1. set proxy on / off for Chrome
2. rule base proxy selection
3. latency test to select proxy server
Project go-shp is aiming to provide a proxy server looks like a normal website to avoid proxy detection. By avoid proxy detection, we can get rid of the Internet censorship in country like China mainland. So the proxy server will not actively ask for proxy authentication unless a special URL is being requested.
To allow Chrome to provide the credential to authenticate the proxy server, this extension requires the permission of:
- webRequestBlocking
- webRequest
- proxy
The secure HTTP proxy requires proxy authentication and this is done by `chrome.webRequest.onAuthRequired`. Please check https://github.com/winguse/go-shp/blob/master/chrome-extension/src/background.ts#L74-L94 for more infomation.
As a client of go-shp, it can be deployed by different people and they will have different domains, so webRequest is required to have permission of:
- <all_urls>
If you feel unconformable about the permission, you can check the source code to reason about the above requirements here: https://github.com/winguse/go-shp .
If you have better ideas than this, please let me know. Thank you!