forked from shadowsocks/shadowsocks-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
137 lines (98 loc) · 6.94 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>shadowsocks-go by shadowsocks</title>
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<script src="javascripts/scale.fix.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<h1 class="header">shadowsocks-go</h1>
<p class="header">go port of shadowsocks</p>
<ul>
<li class="download"><a class="buttons" href="https://github.com/shadowsocks/shadowsocks-go/zipball/master">Download ZIP</a></li>
<li class="download"><a class="buttons" href="https://github.com/shadowsocks/shadowsocks-go/tarball/master">Download TAR</a></li>
<li><a class="buttons github" href="https://github.com/shadowsocks/shadowsocks-go">View On GitHub</a></li>
</ul>
<p class="header">This project is maintained by <a class="header name" href="https://github.com/shadowsocks">shadowsocks</a></p>
</header>
<section>
<h1>
<a name="shadowsocks-go" class="anchor" href="#shadowsocks-go"><span class="octicon octicon-link"></span></a>shadowsocks-go</h1>
<p>shadowsocks-go 是一个轻量级的隧道代理,用来穿透防火墙。它是 <a href="https://github.com/clowwindy/shadowsocks">shadowsocks</a> 的一个分支,两者协议兼容(都升级到最新版本)。</p>
<p>注意 <strong>shadowsocks-go 必须有独立的服务器才可使用</strong>。</p>
<h1>
<a name="" class="anchor" href="#"><span class="octicon octicon-link"></span></a>安装</h1>
<p>访问<a href="http://dl.chenyufei.info/shadowsocks">这个网页</a>可以下载编译好的可执行文件。</p>
<p>如果你安装了 Go,也可以从源码安装:</p>
<pre><code># 服务器
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server
# 客户端
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-local
</code></pre>
<h1>
<a name="-1" class="anchor" href="#-1"><span class="octicon octicon-link"></span></a>使用方法</h1>
<p>客户端和服务器端默认在当前目录下寻找 <code>config.json</code> 配置文件。可以使用 <code>-c</code> 选项指定其他配置文件。</p>
<p>配置文件使用 json,跟 <a href="https://github.com/clowwindy/shadowsocks-nodejs/">shadowsocks-nodejs</a> 的配置兼容。您可下载配置样例 <a href="https://github.com/shadowsocks/shadowsocks-go/blob/master/config.json"><code>config.json</code></a>, 然后修改以下选项:</p>
<pre><code>server 服务器 ip 或者 host name
server_port 服务器监听的端口
local_port 客户端本地 socks5 代理端口
method 加密方法,默认 null,可以指定下列选项
aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4
password 用于加密传输的密码
timeout 服务器端选项,以秒为单位
</code></pre>
<p>服务器上执行 <code>shadowsocks-server &</code> 即可。Linux 服务器也可以使用提供的<a href="https://github.com/shadowsocks/shadowsocks-go/blob/master/sample-config/shadowsocks">启动脚本</a>,注意修改脚本开头的路径。</p>
<p>Linux/OS X 客户机端执行 <code>shadowsocks-local &</code>,修改浏览器代理为 SOCKS5 代理。Windows/OS X 客户端可以直接双击执行。</p>
<pre><code>SOCKS5 127.0.0.1:local_port
</code></pre>
<h2>
<a name="-2" class="anchor" href="#-2"><span class="octicon octicon-link"></span></a>关于加密方法</h2>
<p>shadowsocks-go 推荐使用 AES 加密。(若 CPU 支持 <a href="http://en.wikipedia.org/wiki/AES_instruction_set">AES 指令集</a> 时,会使用该指令集来加速加解密。)</p>
<p><strong>建议不要继续使用 table 和 rc4 加密,它们都不够安全。</strong></p>
<h2>
<a name="-3" class="anchor" href="#-3"><span class="octicon octicon-link"></span></a>命令行选项</h2>
<p>命令行选项比配置文件中的选项有更高优先级。使用 <code>-h</code> 选项来查看所有支持的选项。</p>
<pre><code>shadowsocks-local -s server_address -p server_port -k password
-m rc4 -c config.json
-b local_address -l local_port
shadowsocks-server -p server_port -k password
-m rc4 -c config.json
-t timeout
</code></pre>
<p><code>-d</code> 选项可以开启 debug 信息。</p>
<h2>
<a name="-4" class="anchor" href="#-4"><span class="octicon octicon-link"></span></a>客户端指定多个服务器</h2>
<pre><code>server_password 指定多个服务器和密码,服务器形式为 host:port
</code></pre>
<p>配置文件例子 <a href="https://github.com/shadowsocks/shadowsocks-go/blob/master/sample-config/client-multi-server.json"><code>client-multi-server.json</code></a>。 如果有 <code>server_password</code> 选项,客户端会忽略 <code>server_port</code>, <code>server</code> 和 <code>password</code> 选项。</p>
<p>多个服务器按顺序选取,如果某个服务器无法建立连接,会自动尝试下一个服务器。客户端不会检查密码错误导致的连接问题,这样可以让用户发现配置错误。</p>
<h2>
<a name="-5" class="anchor" href="#-5"><span class="octicon octicon-link"></span></a>服务器端多用户支持</h2>
<p>服务器支持使用不同密码的多个用户,每个用户使用一个独立的端口。在服务器上使用下列选项来支持多用户:</p>
<pre><code>port_password 指定要监听的端口和对应的密码
</code></pre>
<p>配置文件例子 <a href="https://github.com/shadowsocks/shadowsocks-go/blob/master/sample-config/server-multi-port.json"><code>server-multi-port.json</code></a>。如果有 <code>port_password</code>,服务器会忽略 <code>server_port</code> 和 <code>password</code> 选项。</p>
<h3>
<a name="-6" class="anchor" href="#-6"><span class="octicon octicon-link"></span></a>在线更新密码</h3>
<p>编辑用来启动服务器的配置文件,然后向服务器进程发 <code>SIGHUP</code> 信号即可。</p>
<h1>
<a name="openvz-" class="anchor" href="#openvz-"><span class="octicon octicon-link"></span></a>OpenVZ 用户特别注意</h1>
<p><strong>请使用支持 vswap 的 OpenVZ 虚拟机</strong>,否则系统会错误的过多统计 shadowsocks-go 使用的内存。在支持 vswap OpenVZ 虚拟机上 shadowsocks-go 启动后占用约 3MB 内存。</p>
<p>如果无法使用 vswap 而且内存占用存在问题,请考虑使用 <a href="https://github.com/madeye/shadowsocks-libev/">shadowsocks-libev</a>。</p>
</section>
<footer>
<p><small>Hosted on <a href="https://pages.github.com">GitHub Pages</a> using the Dinky theme</small></p>
</footer>
</div>
<!--[if !IE]><script>fixScale(document);</script><![endif]-->
</body>
</html>