Shadowsocks 入门详解

Shadowsocks 入门详解

Shadowsocks 入门详解翻墙

TL;DR

Shadowsocks 的简介

Shadowsocks 的运行原理

Shadowsocks 的特点

Shadowsocks 的客户端使用教程(mac 举例)

Shadowsocks 的简介以下内容转自【维基百科】,并做了删改:

Shadowsocks是使用Python、C++、C#等语言开发的、基于Apache许可证的开放源代码软件,用于保护网络流量、加密数据传输。使用的是Socks5代理方式。其分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。

在天朝,本工具被广泛用于翻墙。

Shadowsocks原理使用特定的中转服务器完成数据传输。

在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

Shadowsocks特点

Shadowsocks使用自行设计的协议进行加密通信。加密算法有AES、Blowfish、IDEA、RC4等,除创建TCP连接外无需握手,每次请求只转发一个连接,因此使用起来网速较快,在移动设备上也比较省电。

所有的流量都经过算法加密,允许自行选择算法,所以比较安全。

Shadowsocks通过异步I/O和事件驱动程序运行,响应速度快。

客户端覆盖多个主流操作系统和平台,包括Windows,OS X,Android和iOS系统和路由器(OpenWrt)等。

专为移动设备和无线网络优化。

Shadowsocks使用由于 SS 支持的客户端特别多,举个 mac 的例子吧,步骤如下

1. 下载MAC OS X上的影梭软件: 点击下载

2. 打开下载的dmg文件,将程序图标拖到右边的Applications,安装完成。

3. 进入Launchpad,打开ShadowsocksX程序,程序图标出现在右上方,点击图标-“服务器”-“服务器设定”。

4. 根据SS的帐号信息,填写服务器地址(IP或者域名)、端口、加密方式和密码,点确定。

5. 选择刚刚配置好的服务器,点“打开影梭”,完成设置。

6. 打开浏览器:Safari或Chrome无需设置,开始科学上网

Shadowsocks使用帮助(以下内容摘自官方说明)基本使用

解压后移动到合适目录下,然后启动。

如果弹出系统安全提示,请选「允许」。

Shadowsocks 会自动设置为全局 PAC 代理,Chrome、Safari、Twitter 都可以正常使用了。

如果你开启了其它翻墙工具,请先将它们关闭。如果你使用了 Chrome 扩展程序SwitchySharp,请把它的模式设置为「使用系统代理设置」。

启动后可以在菜单栏右边找到 Shadowsocks 图标。

高级使用

如果你不想用全局 PAC 代理,想配合 SwitchySharp 等插件使用,可在菜单栏图标里点关闭 Shadowsocks。关闭后代理仍会运行在 127.0.0.1:1080 上,代理类型为 SOCKS v5。之所以不叫关闭 PAC,因为很多人不懂什么是 PAC。写关闭 Shadowsocks 更容易理解。

默认使用公共服务器,可以在菜单栏图标里配置自定义服务器。

切换服务器后,因为 Chrome 保持长连接,可能需要重启浏览器才能生效。也可以重启 ShadowsocksX 来强制 Chrome 重新连接。

可以在菜单里点编辑 PAC 来修改 PAC 文件,文件保存后会自动通知浏览器重新加载。推荐用 Xcode 等代码编辑器来编辑。如果用系统自带的文本编辑器,引号可能自动半角变全角,需要撤销一下回到半角。

可以在菜单栏图标里打开控制台查看日志,其中 ShadowsocksX: 开头的是 Shadowsocks 的日志。

解释一下,基本使用的第三点:Shadowsocks 会自动设置为全局 PAC

如果你是 mac 系统,Shadowsocks选中的是自动代理模式,那么你可以打开 系统设置-->网络,点高级进入下图中的界面,查看代理,你会发现,被勾选了自动代理配置,并且代理配置文件是

http://127.0.0.1:8090/proxy.pac,你可以在浏览器中打开这个 url,下载 pac 文件,使用文本编辑器查看

下面是 pac 文件的截图

我们也可以切换为全局模式,再次查看系统设置中的网络代理,已经变成了 SOCKS 代理,地址为 127.0.0.1:1080

小结一下『自动代理』和『全局代理』两种模式的区别

自动代理:proxy auto-config,简称 PAC,是通过一个脚本文件来定义访问不同的 URL 所采取的代理行为,使用的是 javaScript 的语法,其核心是一个函数:FindProxyForURL(url, host)。

这里需要说明的是,不是任何一个软件都支持 PAC,已知支持这一行为的有chrome、safari、firefox 等浏览器,还有哪些软件支持 PAC,我个人也不太清楚。当开启 PAC 模式,浏览器在访问每个url的时候都会调用ret = FindProxyForURL(url, host)

来判断是否需要走代理。

全局模式:访问任何 URL,都会走代理

这里也需要说明的是:电脑中每个软件的代理行为都是有差异的,在很多软件中,可以找到设置界面,举例如下:

一般都会有三个选择:

1. 无代理服务器(直接连接)

2. 自动检测(我也不明白这个选项的含义)

3. 手动(需要指明服务器的类型,地址和端口,甚至需要用户名和密码)

全局模式,浏览器也会生效,别的软件就不确定了,以前我一直有误解,以为全局模式和 VPN 一样,所有软件的网络活动都会走代理,其实不是,它的效果就是浏览器访问任何 URL 都会走代理。

别的软件需要设置手动。

最重要的一点是:无论你选择了哪一种模式,甚至关闭了 Shdowsocks 代理,就像下面一样

关闭了 Shadowsocks 而没有退出 Shadowsocks 软件本身,它设置的本地代理(socks5:127.0.0.1:1080)依然是生效的,这是我在看了官方的帮助文档后才明白的。

一言以蔽之打开 Shadowsocks 客户端软件,就会设置一个本地代理,代理类型为 socks5,地址端口为 127.0.0.1:1080, 如果选择自动代理(PAC)模式,浏览器访问符合 PAC 规则的 URL 才会走代理,否则是直接连接;选择全局模式,浏览器访问任何 URL 都会走代理。两种模式下浏览器都会自动生效,别的软件需要手动设置代理规则。关闭 Shadowsocks 而不退出软件,本地代理依然在运行。

TL;DR 的含义及来由浏览国外文章的时候,偶尔会发现英文的文章中会出现“TL;DR”的字符,一开始并不理解其中的意思,后来查字典才明白,原来是“Too Long; Don’t Read”的缩写,换成中国话,就是“太长了,读不下去”的意思。

根据字典解释,“TL;DR”发源自网络。一般用于回复别人写得太多,反而让人抓不住重点,现在有的人把它放在一段话的开头,代表“长话短说”的意思。

你可能也喜欢

儒家和墨家到底有什么区别?墨家思想为什么没有发扬光大?
天气一冷手就发红,这是为什么?真相原来与这3个因素有关
《王者荣耀》蔡文姬二技能是什么 蔡文姬二技能介绍
bat365官方登录中文

《王者荣耀》蔡文姬二技能是什么 蔡文姬二技能介绍

📅 09-16 👀 1340
唐山地震对北京有影响吗?与1976年地震有何关联?权威解读!
异地恋如何一起看电影?
365系统维护

异地恋如何一起看电影?

📅 07-24 👀 323
【MATLAB】史上最全的13种数据拟合算法全家桶
det365娱乐官网登录

【MATLAB】史上最全的13种数据拟合算法全家桶

📅 08-02 👀 3910