David Fifield
--
You received this message because you are subscribed to the Google Groups "Network Traffic Obfuscation" group.
To unsubscribe from this group and stop receiving emails from it, send an email to traffic-obf...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
On the client side, enproxy actually just implements net.Conn, so you can pretty much plug it in anywhere.
On Mon, Oct 20, 2014 at 1:56 PM, Ox Cart <o...@getlantern.org> wrote:On the client side, enproxy actually just implements net.Conn, so you can pretty much plug it in anywhere.This is cool!
We're implementing a new Psiphon client in Go (https://github.com/Psiphon-Labs/psiphon-tunnel-core) and use the net.Conn interface as a way to compose transports directly in code -- so as an alternative to SOCKS proxy-style chaining.
E.g, we implemented a meek client with a net.Conn interface, and have an obfuscated SSH net.Conn that transforms the SSH traffic flowing through an underlying net.Conn. So we build a fronted, obfuscated SSH connection by layering some net.Conns and pass the result into the stock Go SSH stack (http://godoc.org/code.google.com/p/go.crypto/ssh#NewClient).
We should be able to easily integrate enproxy. (Eventually -- our small patch to meek, mentioned previously, performs sufficiently well for video streaming and browsing use cases at the moment.)
So the domain-fronted connection is the base transport, with some sort of obfuscation layered on top of that and ssh layered on top of that? What is the purpose of using SSH in this scheme?
Nice! Thanks for explaining.