shadowsocks-notes

集成记录 shadowsocks 一些相关内容,包括概念、安装、使用等,避免频繁查阅。

注意:以下部分链接可能需要翻墙访问

主要网站

官网(其实并非由原作者运营)

GitHub 主页面

一键安装脚本

主要分支

这里可以查看 shadowsocks 各分支含义的官方简介。

目前最活跃的分支是shadwsocks-libev,因此建议使用该分支。

一点历史

shadowsocks 的来源、作者被请喝茶的经历、与 shadowsocksR 的关系等:

安装

1. 服务器端

环境:Ubuntu + shadowsocks-libev

​ 这里假设已经拥有一台海外线路的服务器,如 AWS。

​ 在服务器端使用@teddysun一键安装脚本(shadowsocks-libev-debian.sh),复制以下命令至命令行:

wget --no-check-certificate -O shadowsocks-libev-debian.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh
chmod +x shadowsocks-libev-debian.sh
./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log

​ 脚本运行中会提示输入/选择相关配置,其中加密方式选择 chacha20这里这里可以查看 chacha20 与其它主流加密方式的比较。

2. 客户端

2.1 Windows

​ 在此页面下载最新的 shadowsocks release。Windows 版客户端文档见此

2.2 Linux

​ 在此页面下载最新的 shadowsocks release。Linux 版客户端文档见此

​ PAC 文件生成:GenPAC

代理自动配置(英语:Proxy auto-config,简称PAC)是一种网页浏览器技术,用于定义浏览器该如何自动选择适当的代理服务器来访问一个网址

​ 可通过 pip 来安装:

pip install -U genpac

​ 安装完成之后在终端输入以下命令即可在当前目录下生成 pac 文件:

genpac --format=pac --pac-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy.pac"

​ 一般情况下不需要添加--gfwlist-url参数。关于gfwlist:是一个网络防火墙屏蔽网站的网址列表,编码方式为 base64。genpac 默认使用该项目维护的列表。

​ Ubuntu 系统设置:依次点击 System settings > Network > Network Proxy,选择 Method 为 Automatic,设置 Configuration URL 为 生成的 .pac 文件的路径,点击 Apply System Wide。例如:file:///home/{user}/autoproxy.pac

​ 参考:Ubuntu 16安装shadowsocks-qt5并使用PAC全局代理

使用

  • PAC 模式:根据 PAC 规则过滤需要经过 ss 转发的流量

  • 全局模式:所有流量均经过 ss 转发

Windows 下有时会遇到 ss 未打开时网页无法连接,这是因为 ss 在上一次关闭的时候没有恢复 Internet 属性中的代理服务器设置,可手动恢复(找到 Internet 属性 > 连接 > 局域网设置 > 代理服务器 > 为 LAN 使用代理服务器,然后取消勾选),或手动重新打开再关闭一次 ss 客户端来尝试自动恢复。

服务器搭建可参考

https://github.com/HuMoran/shadowsock-Manual

https://github.com/pkuliubin/aws_shadowsocks