Page 1 of 1

a xor obfuscation avoid the large python environment

Posted: Sun Aug 30, 2015 7:14 pm
by ayaka
Note: This way is not suggested by OpenVPN, they suggest us to obfsproxy
Well, I want to push the my openvpn into my router which only have 4MB flash ROM for me, I can't afford the space for Python environment.
You could get my patches from
https://github.com/hizukiayaka/openvpn/tree/v2.3.8-xor

It only work for OpenSSL library not PolarSSL library.
Just add the following line to your config:
xor-secret Something Something
like:
xor-secret X Y
Making sure the value used in clients and server are the same.


But I want ask something about OpenVPN itself.

From
https://openvpn.net/index.php/open-sour ... rview.html
I know there is a Multiplexer for all the data. What is it in code?
I thought it is what I do in the first patch "obfuscation: the xor obfuscation",
but I find the cipertext for SSL won't be apply with the first patch, it is still the plain text.
The GFW(China evil firewall) could easily detect the SSL handshake.
So I have to made the second patch "obfuscation: apply xor in SSL layer "

I wonder whether the document is too old that something is quite different from nowadays.
And I am not familiar with BIO in OpenSSL, it even't have no idea how does it write the date to the network.

If you could tell me some detail about OpenSSL and PolarSSL in OpenVPN, I will appreciate it.