smokescreen
smokescreen copied to clipboard
A simple HTTP proxy that fogs over naughty URLs
This PR teaches Smokescreen to report more detailed information about connection errors under a new metric `cn.atpt.connect.err`, tagged by `type:`. It unconditionally reports this metric whenever `cn.atpt.total` is incremented with...
I was hoping to be able to authenticate with this proxy using client tls auth. So I generated a server cert+key from my custom ca, and generated a client+key from...
disclaimer: I have not tried this yet to see the actual behavior so let me know if I am wrong In [`checkIfRequestShouldBeProxied()`](https://github.com/stripe/smokescreen/blob/dc403015f563eadc556a61870c6ad327688abe88/pkg/smokescreen/smokescreen.go#L800-L818) we can see `safeResolve` is called on every...
First of all, thanks for maintaining this! We've just completed some work to migrate from our internally managed years-old version of this to this upstream version and it squashed a...
Smokescreen should allow users to specify overrides for resolved hostnames to ensure requests are being sent to the correct ip:port tuple.
Currently smokescreen uses different interfaces to determine if resolved addrs and outbound domains should be allowed. We should unify this behavior behind the `acl` package.
Golint rightly complains (WIP: #94) about missing comments on public things, `go doc github.com/stripe/smokescreen` is empty, and `go doc github.com/stripe/smokescreen/pkg/smokescreen` currently pulls a package comment from `logruswriter.go`. Happy to volunteer,...
Currently we pass a pointer to a config object across functions to share global state. It would be more idiomatic to: * Use functional options to generate a config object...
Hi! We've been looking to use smokescreen in production, and want to expose prometheus metrics to integrate with our monitoring stack. I've raised this PR to make the changes required...