humungus - miniwebproxy

i am gravely disappointed

i understand your pain

overview - files - changes - downloads

miniwebproxy - proxy to the miniweb

-- features

Intercepts CONNECT (https) requests.

Parses HTML responses and rewrites a simplified light weight version.

Rewrite rules are written in lua using standard CSS selectors.

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.

-- setup

sh sign.sh

./miniwebproxy

-- security

The go TLS code is well regarded, but hasn't been as thoroughly examined as
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

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.

Voluminous but useless logging.

-- 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.

recent changes

8eb249211290 on 2019-02-17 23:46:21 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

slip the command line filter into the main exec

cbd4f6489b34 on 2019-02-16 08:58:05 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

replace some silly writestring(sprintf) calls with fprintf

e019d060bcbd on 2019-02-14 21:41:58 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

include some more information in the error message sent to browser

0645f631c15b on 2019-02-14 05:52:12 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

Added tag v0.9.8 for changeset ce93d20d49b5

ce93d20d49b5 on 2019-02-14 05:51:27 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

update readme to latest style

f3ebcf339db4 on 2019-02-09 00:39:32 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

a tweak here and there to the filter rules

a9dffb52f2bb on 2019-02-06 23:07:50 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

copyright

d9bf148b8b53 on 2019-02-06 19:11:31 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

Added tag v0.9.7 for changeset 185ab726a7c3

185ab726a7c3 on 2019-02-06 19:09:14 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

silly to keep release.sh here

1ca3f54c087d on 2019-02-06 05:04:12 +0000 UTC by Ted Unangst <tedu@tedunangst.com>

sometimes content is in .content