This is a protocol obfuscation layer for TCP protocols.  Its purpose is
to keep a third party from telling what protocol is in use based on
message contents.

Unlike obfs3, obfs4 attempts to provide authentication and data
integrity, though it is still designed primarily around providing
a layer of obfuscation for an existing authenticated protocol
like SSH or TLS.

Like obfs3 and ScrambleSuit, the protocol has 2 phases: in the first
phase both parties establish keys.  In the second, the parties exchange
super-enciphered traffic.

NOTE: this script download some modules from network during build time.
