humungus - miniwebproxy

i am gravely disappointed

i understand your pain

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

118:30becd2c8110 on 2022-04-04 17:40:22 -0400 EDT by Ted Unangst <tedu@tedunangst.com>
Tagged: tip

another day, another lazy loader

117:05a3b5e6d62f on 2022-04-01 13:03:54 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

no comments

116:031b9f8b56f5 on 2022-03-26 01:46:55 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

save this so we don't lose it

115:704db8257555 on 2022-03-25 23:45:03 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

better filters

114:82c204fd1e56 on 2022-03-06 01:13:11 -0500 EST by Ted Unangst <tedu@tedunangst.com>

almost in place

113:3ee62c9c7289 on 2022-03-01 01:59:36 -0500 EST by Ted Unangst <tedu@tedunangst.com>

get it going

112:d1c93cd16201 on 2022-03-01 01:34:44 -0500 EST by Ted Unangst <tedu@tedunangst.com>

start reworking to use yaegi

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

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