Esocks
$ esocks
Esocks is a proxy server or possibly VPN(close enough to VPN) that lets you bypass annoying network rules. Esocks depends on two libraries: Libevent and OpenSSL. The power of Libevent helps to create robust I/O architecture and the power of OpenSSL provides AES encryption.
It's pretty much a WIP.
./autogen.sh && ./configure && make
- libevent(release-2.1.8-stable)
- OpenSSL(OpenSSL_1_1_0-stable)
- autotools(whatever version. I didn't pay attention to the version... newer is better.)
- Support socks authentications
- Write log file
- key and initial vector for EVP_CIPHER_CTX is hard-coded now, so let's come up with some idea not to do so.
I'm inspired by Tor project. You launch two servers on your local computer and a server somewhere safe. Two servers establish a safe tunnel and you can access stuff without being afraid of eavesdroppers.
The app uses libevent as backend. Thus, a server is supposed to run in single thread(think of apps written in nodejs). There will be no threads but event driven network application. I started this project for purely learning purposes.
This project is released under the GPLv2.