moesocks-0.1.0.18: README.md
MoeSocks
========
A socks5 proxy using the client / server architecture.
MoeSocks is greatly inspired by [shadowsocks].
A sample `config.json` file is included in this repository and the cabal
archive.
type `moesocks --help` for help.
Usage
-----
* Edit `config.json` to fit your setup (at least the `remote` and `password`
fields)
* Start a remote node outside the firewall:
moesocks --role remote -c config.json
* Start a local node inside the firewall:
moesocks --role local -c config.json
* Now you have a socks5 proxy running inside the firewall using port
`localPort`.
Features
--------
* Socks5 proxy service, obviously
* TCP port forwarding
* UDP port forwarding, for example `-U 5300:8.8.8.8:53`
* TCP per connection throttling (as a side effect of trying to find a bug in the
remote)
* Socks5 service on local can be turned off
* Understand shadowsocks' configuration file
Not working
-----------
* Remote is flaky, particularly when trying to send data through the Great
Firewall of China (GFW).
* UDP over Socks5 is not implemented
* More then 2 times slower then the original Python implementation (measured at
20M/s vs 43M/s on an Intel P8800, using the AES-256-CFB method)
Planning features
------------------
* None
Notes
------
There's a bug that prevents remote from working correctly with GFW.
Thanks, Prof Fang!
You should use the original Python implementation of [shadowsocks] on the remote
server if your primary goal is to bypass internet censorship in China.
From the author's limited testing, [shadowsocks-go] also works reasonably
well, though it might not run as fast as the Python's version.
There is an earlier implementation of [shadowsocks-haskell] by rnons that
makes MoeSocks possible.
The original goal of MoeSocks is to provide extra configurability to standard
shadowsocks, but it has been discarded since remote is too flaky.
[shadowsocks]:https://github.com/shadowsocks/shadowsocks
[shadowsocks-go]:https://github.com/shadowsocks/shadowsocks-go
[shadowsocks-haskell]:https://github.com/rnons/shadowsocks-haskell