# Shadowsocks (简体中文)

Shadowsocks是一个轻量级socks5代理，以python(2.x)写成；

## 安装

可自[community]中安装已打包好的shadowsocks。

shadowsocks | shadowsocks基本包；
python2-m2crypto | 除`table`之外的加密方式支持（如`aes-256-cfb`），多数用户需要安装它；
python2-numpy python2-salsa20 | salsa20支持；

## 配置

shadowsocks以json为配置文件格式，以下是一个样例：

    /etc/shadowsocks/config.json

    {
    	"server":"remote-shadowsocks-server-ip-addr",
    	"server_port":8883,
    	"local_address":"127.0.0.1",
    	"local_port":8883,
    	"password":"whosyourdaddy",
    	"timeout":300,
    	"method":"aes-256-cfb",
    	"fast_open":false,
    	"workers":1
    }

提示: 若需同时指定多个服务端ip，可参考`"server":["1.1.1.1","2.2.2.2"],`

server | 服务端监听地址(IPv4或IPv6)
server_port | 服务端端口
local_address | 本地监听地址，缺省为`127.0.0.1`
local_port | 本地监听端口
password | 用以加密的密匙
timeout | 超时时间（秒）
method | 加密方法，默认的`table`是一种不安全的加密，此处首推`aes-256-cfb`
fast_open | 是否启用TCP-Fast-Open
wokers | worker数量，如果不理解含义请不要改

### 客户端

在`config.json`所在目录下运行`sslocal`即可；若需指定配置文件的位置：

    # sslocal -c /etc/shadowsocks/config.json

注意: 有用户报告无法成功在运行时加载`config.json`，或可尝试手动运行：

    # sslocal -s 服务器地址 -p 服务器端口 -l 本地端端口 -k 密码 -m 加密方法

### 服务端

提示: 普通用户无需配置服务端；

在服务器上`cd`到`config.json`所在目录：

1. 运行`ssserver`；
2. 如果想在后台一直运行，可改执行：`nohup ssserver > log &`；

### 以守护进程形式运行

Shadowsocks的systemd服务可在`/etc/shadowsocks/`里调用不同的`conf-file.json`（以`conf-file`为区分标志），例： 在`/etc/shadowsocks/`中创建了`foo.json`配置文件，那么执行以下语句就可以调用该配置：

    # systemctl start shadowsocks@foo

若需开机自启动：

    # systemctl enable shadowsocks@foo

提示: 可用`journalctl -u shadowsocks@foo`来查询日志；

### 加密

注意: 默认加密方法`table`速度很快，但很不安全。推荐使用`aes-256-cfb`或者`bf-cfb`。请不要使用`rc4`，它不安全。

可选的加密方式：

- aes-128-cfb
- aes-192-cfb
- aes-256-cfb
- bf-cfb
- camellia-128-cfb
- camellia-192-cfb
- camellia-256-cfb
- cast5-cfb
- des-cfb
- idea-cfb
- rc2-cfb
- rc4
- seed-cfb
- table

注意: 官方软件源的shadowsocks不支持全部加密方式，若对非主流加密方式有需求，可尝试aur中的shadowsocks-nodejs

### Chrome/Chromium

至此，本地监听端口`127.0.0.1:8883`已配置完毕。现以Chrome/Chromium为例，示范使用代理服务器的方法。

请安装 SwitchySharp 插件，可参考该扩展提供的图解流程。

直接参考 SwitchySharp+shadowsocks-nodejs Windows 下配置介绍 的第二部分”设置浏览器代理扩展“即可。

## 参阅

- shadowsocks announcement
- shadowsocks@gitHub
- shadowsocks使用说明

Categories:

- 简体中文
- Networking (简体中文)