shadowsocks is a lightweight tunnel proxy which can help you get through firewalls.
protol made by clowwindy, libuv port by dndx
This is only a server, it should works with any shadowsocks client.
Current version: 0.1
This is an Open Source project and released under The MIT License
- Super fast and low resource consume (thanks to libuv), it can run very smoothly on almost any VPS.
- Fully compatible to other port of shadowsocks.
This is an initial release and may not considered very stable, please open an issue if you encounter any bugs. Be sure to attach the error message so I can identify it.
$ git clone --recursive git@github.com:dndx/shadowsocks-libuv.git
$ cd shadowsocks-libuv/
$ vim config.h
$ make
$ ./server
Note that you need to rebuild it every time you modify config.h, just run make
again and it will do rest of the work.
Tested and confirmed to work on:
- Max OS X 10.8.2 x64 using clang 4.1
- CentOS 5.8 x86 using gcc 4.1.2
src/unix/linux/syscalls.h:74: error: expected specifier-qualifier-list before ‘__u64’
- First, make sure you have the latest kernel-headers by running
yum install kernel-headers
- Try make again, if it still complains, see next
cd
to shadowsocks-libuv and$ vim libuv/config-unix.mk
- At about line 22, you will see
CSTDFLAG=--std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter
- Change it to
CSTDFLAG=--std=gnu99 -pedantic -Wall -Wextra -Wno-unused-parameter
- Save the file and run
make
again
I did not fully benchmark it yet, but according to my use on TinyVZ (OpenVZ 128M RAM and CentOS 5.8 x86). When streaming YouTube 1080p vedio at about 20Mbit/s bandwidth, it use at most 3% of RAM (RSS about 7500) and almost no CPU time. During webpage browse it use less than 0.7% RAM (RSS about 1164). Which can be considered effective.
- IPv6 Support !important
- RC4 Crypto Support
- Add Multi Port Support
- Client Implement
- …to be continued…