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

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

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.

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

simply close code a bit

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

update permitted tags

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

go.mod build

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

filter to chew on toots as well

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

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

allow id attribute, so #urls work

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

repair accidental commit to filter.lua

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.