-
Notifications
You must be signed in to change notification settings - Fork 0
shadowsocks
wzs edited this page Aug 27, 2018
·
1 revision
- shadowsocks 下载和安装
- 下载
git clone https://github.com/shadowsocks/shadowsocks.git - 切换分支:
git checkout origin/master -b master - 安装
sudo python setup.py install
- 下载
- json配置文件参考
{ "server":"0.0.0.0", "server_port":50000, "password":"***", "timeout":300, "method":"aes-256-cfb", "fast_open":false, "workers": 1 } - 启动服务:
ssserver -c /etc/shadowsocks/shadowsocks.json -d start - 终止服务:
ssserver -c /etc/shadowsocks/shadowsocks.json -d stop - 建议:
- 如果是自己搭建, 建议端口设置的随机一点. 不然会被其他的陌生人侦测到, 无节制的蹭网影响正常使用
- 如果不想自己搭建,可以去 shadowsocks 官网购买账号, 网速很稳定, 但可能被封. 一年16刀(需要翻墙才能访问)
- 国外服务器推荐
- 微软云, 按量付费模式
- 阿里云, 国外节点, 入门主机即可.
- Amazon, 新注册用户绑定信用卡后免费用一年乞丐版主机. 网速不太稳定.
- win下,启动 shadowsocks客户端 会直接将socket代理转为HTTP代理.
- linux下, 使用
sslocal -c /etc/shadowsocks/shadowsocks.json -d start启动 本地socket代理- 如果系统不支持 socket代理,那么可以使用privoxy程序实现socket代理转http代理
- json配置文件参考
{ "server":"sslserverIp", "server_port":serverPort, "local_address": "127.0.0.1", "local_port":localPort, "password":"***", "timeout":300, "method":"aes-256-cfb" } - 建议:
- 若不需要全局代理, 建议使用 chrome 的 SwitchyOmega 插件, 支持 socket 代理.
- 使用
auto switch模式. 这里推荐一个长期更新的代理规则列表https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt,可以很好的实现路由分流,提升访问速度 - 如果使用的国外服务器网速不太稳定, 可以使用阿里云ECS等可以稳定链接国外服务器的国内服务器做中转. 不过存在国内服务器被封的情况
使用 privoxy 程序实现
- 下载privoxy, 并安装(阿里源有此软件, 可以直接
apt install) - 配置 config 文件,添加以下行,实现socket代理转http代理
# 监听socket服务的端口, 如果要对外提供服务, 127.0.0.1 改为 0.0.0.0 forward-socks5t / 127.0.0.1:1080 . # http服务的监听端口,建议取一个随机的五位数值 listen-address 0.0.0.0:8118
- 启动privoxy服务
systemctl restart privoxy - 注意防火墙不要禁用相关端口
- privoxy 本身不支持用户功能.
-
0.0.0.0是什么- 参考网站
- RFC: 0.0.0.0/8 Addresses in this block refer to source hosts on "this" network. Address 0.0.0.0/32 may be used as a source address for this host on this network; other addresses within 0.0.0.0/8 may be used to refer to specified hosts on this network ([RFC1122], Section 3.2.1.3)
- 根据RFC文档描述,它不只是代表本机,0.0.0.0/8可以表示本网络中的所有主机,
0.0.0.0/32可以用作本机的源地址,0.0.0.0/8也可表示本网络上的某个特定主机,综合起来可以说0.0.0.0表示整个网络 -
0.0.0.0表示当前网络(仅作为源地址有效). 参考 - 在路由器配置中可用
0.0.0.0/0表示默认路由,作用是帮助路由器发送路由表中无法查询的包 - 通过测试,可得知ECS是不能ping通自身的公网IP
-
ShadowSocks简介
- 客户端发出的请求基于 Socks5 协议跟 ss-local 端进行通讯,由于这个 ss-local 一般是本机或路由器或局域网的其他机器,不经过 GFW,所以解决了 GFW 通过特征分析进行干扰的问题 - ss-local 和 ss-server 两端通过多种可选的加密方法进行通讯,经过 GFW 的时候是常规的TCP包,没有明显的特征码而且 GFW 也无法对通讯数据进行解密
- ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要访问的服务,获取响应原路返回
