@yiranphp
2017-01-15T17:44:37.000000Z
字数 2886
阅读 13664
翻墙
以下内容转自【维基百科】,并做了删改:
Shadowsocks是使用Python、C++、C#等语言开发的、基于Apache许可证的开放源代码软件,用于保护网络流量、加密数据传输。使用的是Socks5代理方式。其分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。
在天朝,本工具被广泛用于翻墙。
使用特定的中转服务器完成数据传输。
在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。
由于 SS 支持的客户端特别多,举个 mac 的例子吧,步骤如下
1. 下载MAC OS X上的影梭软件: 点击下载
2. 打开下载的dmg文件,将程序图标拖到右边的Applications,安装完成。
3. 进入Launchpad,打开ShadowsocksX程序,程序图标出现在右上方,点击图标-“服务器”-“服务器设定”。
4. 根据SS的帐号信息,填写服务器地址(IP或者域名)、端口、加密方式和密码,点确定。
5. 选择刚刚配置好的服务器,点“打开影梭”,完成设置。
6. 打开浏览器:Safari或Chrome无需设置,开始科学上网
解释一下,基本使用的第三点: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”的字符,一开始并不理解其中的意思,后来查字典才明白,原来是“Too Long; Don’t Read”的缩写,换成中国话,就是“太长了,读不下去”的意思。
根据字典解释,“TL;DR”发源自网络。一般用于回复别人写得太多,反而让人抓不住重点,现在有的人把它放在一段话的开头,代表“长话短说”的意思。