|
@ -55,7 +55,7 @@ Features |
|
|
|
|
|
|
|
|
Shadowsocks-libev is writen in pure C and only depends on |
|
|
Shadowsocks-libev is writen in pure C and only depends on |
|
|
[libev](http://software.schmorp.de/pkg/libev.html) and |
|
|
[libev](http://software.schmorp.de/pkg/libev.html) and |
|
|
[openssl](http://www.openssl.org/). |
|
|
|
|
|
|
|
|
[openssl](http://www.openssl.org/) or [polarssl](https://polarssl.org/). |
|
|
|
|
|
|
|
|
In normal usage, the memory consumption is about 600KB and the CPU utilization is |
|
|
In normal usage, the memory consumption is about 600KB and the CPU utilization is |
|
|
no more than 5% on a low-end router (Buffalo WHR-G300N V2 with a 400MHz MIPS CPU, |
|
|
no more than 5% on a low-end router (Buffalo WHR-G300N V2 with a 400MHz MIPS CPU, |
|
@ -64,6 +64,10 @@ no more than 5% on a low-end router (Buffalo WHR-G300N V2 with a 400MHz MIPS CPU |
|
|
Installation |
|
|
Installation |
|
|
------------ |
|
|
------------ |
|
|
|
|
|
|
|
|
|
|
|
__Note__: Default crypto library is OpenSSL. To build against PolarSSL, |
|
|
|
|
|
specify `--with-crypto-library=polarssl` and `--with-polarssl=/path/to/polarssl` |
|
|
|
|
|
when running `./configure`. |
|
|
|
|
|
|
|
|
### Linux |
|
|
### Linux |
|
|
|
|
|
|
|
|
For Unix-like systems, especially Debian-based systems, |
|
|
For Unix-like systems, especially Debian-based systems, |
|
@ -129,9 +133,11 @@ make V=99 package/shadowsocks-libev/openwrt/compile |
|
|
For Windows, use either MinGW (msys) or Cygwin to build. |
|
|
For Windows, use either MinGW (msys) or Cygwin to build. |
|
|
At the moment, only `ss-local` is supported to build against MinGW (msys). |
|
|
At the moment, only `ss-local` is supported to build against MinGW (msys). |
|
|
|
|
|
|
|
|
If you are using MinGW (msys), please download OpenSSL source tarball |
|
|
|
|
|
|
|
|
If you are using MinGW (msys), please download OpenSSL or PolarSSL source tarball |
|
|
to the home directory of msys, and build it like this (may take a few minutes): |
|
|
to the home directory of msys, and build it like this (may take a few minutes): |
|
|
|
|
|
|
|
|
|
|
|
* OpenSSL |
|
|
|
|
|
|
|
|
```bash |
|
|
```bash |
|
|
tar zxf openssl-1.0.1e.tar.gz |
|
|
tar zxf openssl-1.0.1e.tar.gz |
|
|
cd openssl-1.0.1e |
|
|
cd openssl-1.0.1e |
|
@ -139,14 +145,32 @@ cd openssl-1.0.1e |
|
|
make && make install |
|
|
make && make install |
|
|
``` |
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
* PolarSSL |
|
|
|
|
|
|
|
|
|
|
|
```bash |
|
|
|
|
|
tar zxf polarssl-1.3.2-gpl.tgz |
|
|
|
|
|
cd polarssl-1.3.2 |
|
|
|
|
|
make lib WINDOWS=1 |
|
|
|
|
|
make install DESTDIR="$HOME/prebuilt" |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
Then, build the binary using the commands below, and all `.exe` files |
|
|
Then, build the binary using the commands below, and all `.exe` files |
|
|
will be built at `$HOME/ss/bin`: |
|
|
will be built at `$HOME/ss/bin`: |
|
|
|
|
|
|
|
|
|
|
|
* OpenSSL |
|
|
|
|
|
|
|
|
```bash |
|
|
```bash |
|
|
./configure --prefix="$HOME/ss" --with-openssl="$HOME/prebuilt" |
|
|
./configure --prefix="$HOME/ss" --with-openssl="$HOME/prebuilt" |
|
|
make && make install |
|
|
make && make install |
|
|
``` |
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
* PolarSSL |
|
|
|
|
|
|
|
|
|
|
|
```bash |
|
|
|
|
|
./configure --prefix="$HOME/ss" --with-crypto-library=polarssl --with-polarssl=$HOME/prebuilt |
|
|
|
|
|
make && make install |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
Usage |
|
|
Usage |
|
|
----- |
|
|
----- |
|
|
|
|
|
|
|
@ -156,7 +180,7 @@ usage: |
|
|
ss-[local|redir|server] |
|
|
ss-[local|redir|server] |
|
|
-s <server_host> host name or ip address of your remote server |
|
|
-s <server_host> host name or ip address of your remote server |
|
|
-p <server_port> port number of your remote server |
|
|
-p <server_port> port number of your remote server |
|
|
-l <local_port>> port number of your local server |
|
|
|
|
|
|
|
|
-l <local_port> port number of your local server |
|
|
-k <password> password of your remote server |
|
|
-k <password> password of your remote server |
|
|
|
|
|
|
|
|
[-m <encrypt_method>] encrypt method, supporting table, rc4, |
|
|
[-m <encrypt_method>] encrypt method, supporting table, rc4, |
|
|