Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide fallback to actual HTTP server #2

Open
rhclayto opened this issue Apr 12, 2021 · 0 comments
Open

Provide fallback to actual HTTP server #2

rhclayto opened this issue Apr 12, 2021 · 0 comments

Comments

@rhclayto
Copy link

rhclayto commented Apr 12, 2021

This request is for this proxy to provide something similar to what Shadowsocks with the OBFS transport does.

Shadowsocks + OBFS-proxy sends proxied data obfuscated as TLS/HTTPS requests. If the data received by the SS+OBFS server is actual Shadowsocks data, it is passed on. But if it is someone probing the domain name (without the Shadowsocks credentials), Shdowsocks + OBFSproxy recognizes this & proxies these requests to an actual HTTP server (localhost or otherwise) so that the illusion is maintained.

Maybe this could be implemented by checking the pinned public key, if it's incorrect, don't reject the connection but proxy it to an HTTP server instead (on say localhost). https://github.com/moparisthebest/wireguard-proxy/blob/master/src/openssl.rs#L50-L57 This could be enabled & configured via a command line argument (e.g., --failover 127.0.0.1:8080) (Edit: Whoops, looks like that is the client. Maybe use client certificates? https://docs.rs/rustls/0.18.1/rustls/trait.ClientCertVerifier.html)

This would be a cool feature!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant