Skip to content

Commit

Permalink
Update README.
Browse files Browse the repository at this point in the history
  • Loading branch information
cyfdecyf committed Dec 25, 2012
1 parent b2b35f6 commit dbaf605
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,16 @@ go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-local

Both the server and client program will look for `config.json` in the current directory. You can use `-c` option to specify another configuration file.

The configuration syntax is the same with [shadowsocks-nodejs](https://github.com/clowwindy/shadowsocks-nodejs/). You can download the sample [`config.json`](https://github.com/shadowsocks/shadowsocks-go/blob/master/config.json), change the following values:
Configuration file is in json format and has the same syntax with [shadowsocks-nodejs](https://github.com/clowwindy/shadowsocks-nodejs/). You can download the sample [`config.json`](https://github.com/shadowsocks/shadowsocks-go/blob/master/config.json), change the following values:

```
server your server ip or hostname
server_port server port
local_port local socks5 proxy port
password a password used to encrypt transfer
timeout server option, in seconds
port_password server option, specify multiple ports and passwords to support multiple users
cache_enctable server option, store computed encryption table on disk to speedup server startup
```

Given `port_password` option, server program will ignore `server_port` and `password` options.

Run `shadowsocks-server` on your server. To run it in the background, run `shadowsocks-server > log &`.

On client, run `shadowsocks-local`. Change proxy settings of your browser to
Expand All @@ -60,12 +55,30 @@ shadowsocks-server -p server_port -k password -t timeout -c config.json

Use `-d` option to enable debug message.

## Encryption table cache ##

If the server has many different passwords, startup would be slow because it takes much time to calculate encryption tables. It's recommended to enable the `cache_enctable` option if you have more than 20 different passwords. This will save the computed encryption table in the file `table.cache`.
## Use multiple servers on client

```
server_password specify multiple server and password, server should be in the form of host:port
```

Here's a sample configuration [`client-multi-server.json`](https://github.com/shadowsocks/shadowsocks-go/blob/master/sample-config/client-multi-server.json). Given `server_password`, client program will ignore `server_port`, `server` and `password` options.

Servers are chosen in round robin fasion. If a server can't be connected, the client will try the next one. The client does not try to detect connection problems caused by incorrect password, this is intended for the user to notice the error.

## Multiple users with different passwords on server

The server can support users with different passwords. Each user will be served by a unique port. Use the following options on the server for such setup:

```
port_password specify multiple ports and passwords to support multiple users
cache_enctable store computed encryption table on disk to speedup server startup
```

Here's a sample configuration [`server-multi-port.json`](https://github.com/shadowsocks/shadowsocks-go/blob/master/sample-config/server-multi-port.json). Given `port_password`, server program will ignore `server_port` and `password` options.

Note: unused password will not be deleted, so you may need to delete the table cache file if it grows too big.
Enabling `cache_enctable` is recommended if you have more than 20 different passwords. Unused password will not be deleted, so you may need to delete the file `table.cache` if it grows too big.

## Updating port password for a running server ##
### Update port password for a running server ###

Edit the config file used to start the server, then send `SIGHUP` to the server process.

0 comments on commit dbaf605

Please sign in to comment.