humungus - miniwebproxy

i am gravely disappointed

i understand your pain

overview - downloads - files - changes - changes rss

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.

Refer to manual.txt for more.

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

111:ecf89679307a on 2019-08-21 19:32:45 -0400 EDT by Ted Unangst <tedu@tedunangst.com>
Tagged: tip

just hostname here, minus port, should make things easier to work with

110:3a518d8c5476 on 2019-08-13 13:31:08 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

rework filtering to provide some more features. try to document some of it even.

109:13d24fec8950 on 2019-08-13 12:23:35 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

simply close code a bit

108:42bdd9ba3918 on 2019-05-05 20:08:11 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

update permitted tags

107:eb4595c0222d on 2019-04-20 22:37:25 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

go.mod build

106:4fce3676492f on 2019-04-20 22:31:34 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

filter to chew on toots as well

105:7238d11a3008 on 2019-03-29 06:38:49 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

the main tag may be just the tag we're searching for

104:aa7305dc13b4 on 2019-03-29 04:49:44 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

allow id attribute, so #urls work

103:97e428504e7b on 2019-03-17 21:40:28 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

repair accidental commit to filter.lua

102:716f74ab310e on 2019-03-16 20:02:58 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

connect to port 80 is not tls. also add back a bit of logging.