diff options
author | Ted Unangst <tedu@tedunangst.com> | 2019-02-14 00:51:27 -0500 |
---|---|---|
committer | Ted Unangst <tedu@tedunangst.com> | 2019-02-14 00:51:27 -0500 |
commit | 74c4d4d6781536547f28451cf718da74a139d929 (patch) | |
tree | 405367ddaa02ea57d5af6db2040cf24cdbe70edc | |
parent | 0bc5514a19ccde33c657f688fd8550954cc337ca (diff) |
update readme to latest style v0.9.8
-rw-r--r-- | README | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/README b/README index 2b9b548..1f15211 100644 --- a/README +++ b/README @@ -1,46 +1,54 @@ -miniwebproxy is an intercepting proxy to rewrite and reduce web pages. +miniwebproxy - proxy to the miniweb -Features +-- features -Intercepts CONNECT requests. Can parse HTML and rewrite a simplified version. +Intercepts CONNECT (https) requests. -Rewrite rules are specified in a combination of lua and CSS. +Parses HTML responses and rewrites a simplified light weight version. -Requirements +Rewrite rules are written in lua using standard CSS selectors. -"github.com/andybalholm/cascadia" -"github.com/yuin/gopher-lua" -"golang.org/x/net/html" +Rewrite engine handles some common special cases like github and twitter embeds. + +Filter rules loaded on the fly for easy reconfiguration. + +-- requirements + +github.com/andybalholm/cascadia +github.com/yuin/gopher-lua +golang.org/x/net A certificate and key named intercept.crt and intercept.key. Browsers will need to trust the cert. A sign.sh script is provided for assistance. -Security +-- setup + +sh sign.sh + +./miniwebproxy + +-- security The go TLS code is well regarded, but hasn't been as thoroughly examined as -alternatives. It may be an improvement over the browser. Theoretically, a -proxy like miniwebproxy could be used to override browser cert policy. +alternatives. It may even be an improvement over the browser. + +Be mindful not to lose control of the interception key. It's possible to not intercept traffic for some sites, to mitigate the consequences of proxy machine compromise. This works best with name constrained certs. -Caveats +-- caveats -The article CSS selector is fairly basic. It usually finds all the content -I'm interested in, occasionally with a little extraneous fluff. Some site -specific tuning isn't difficult, just a matter of time and effort. +The article CSS selector is fairly basic. It may require some tuning, +which isn't particularly difficult, just a matter of time and effort. Tweak the lua code to suit your needs. -Probably leaks some connections, or fails to timeout in a reasonable manner. - -Would be nice if this noscript parsing bug were fixed. -https://github.com/golang/go/issues/16318 - Voluminous but useless logging. -Enhancements +-- enhancements Some custom rules for different sites would allow rewriting homepages as well. +Probably requires a few more functions to be exposed to lua. Online configuration to allow clients to opt in and out of filtering. |