影梭蓝色是不是有很多种类的代理商

o &nbsp,&nbsp
“用Shadowsocks来实现iOS设备的全局代理”,这个想法出现了好久,也听说了越狱后可以实现此功能。
这两天经意间看到Shadowsocks的iOS客户端文档,发现这货的全局代理方式竟是如此简单。那么到底怎么搞,我们来分析下思路~
关于伯乐头条
专注于IT互联网,分享业界最新动态。
新浪微博:
推荐微信号
(加好友请注明来意)
- 好的话题、有启发的回复、值得信赖的圈子
- 分享和发现有价值的内容与观点
- 为IT单身男女服务的征婚传播平台
- 优秀的工具资源导航
- 翻译传播优秀的外文文章
- 国内外的精选博客文章
- UI,网页,交互和用户体验
- 专注iOS技术分享
- 专注Android技术分享
- JavaScript, HTML5, CSS
- 专注Java技术分享
- 专注Python技术分享
& 2017 伯乐在线什么是 ShadowSocks (影梭)
ShadowSocks 是由所开发的一个开源
Socks5 代理。如其所言
,它是 “A secure socks5 proxy,&designed to protect your Internet traffic” (一个安全的 Socks5 代理)。其作用,亦如该项目主页的&()&中所说,“A
fast tunnel proxy that helps you bypass firewalls” (一个可穿透防火墙的快速代理)。
不过,在中国,由于的存在,更多的网友用它来进行科学上网。2014
年底的一项显示(图一),“最受欢迎的翻墙方案前五名是:
fqrouter 、goagent、shadowsocks、自由门、VPN;最坚挺的翻墙方案前五名是:shadowsocks、fqrouter、自由门、VPN、路由器翻墙”。对比2013年的结果,可以看到,Shadowsocks的流行度正日益上升,而其稳定性也获得了广泛的认可。
ShadowSocks
这里推荐“”,讲的非常清楚。为防止有同学无法访问该文章,这里摘抄出来:
long long ago…
在很久很久以前,我们访问各种网站都是简单而直接的,用户的请求通过互联网发送到服务提供方,服务提供方直接将信息反馈给用户
when evil comes
然后有一天,GFW 就出现了,他像一个收过路费的强盗一样夹在了在用户和服务之间,每当用户需要获取信息,都经过了 GFW,GFW将它不喜欢的内容统统过滤掉,于是客户当触发 GFW 的过滤规则的时候,就会收到 Connection Reset 这样的响应内容,而无法接收到正常的内容
ssh tunnel
聪明的人们想到了利用境外服务器代理的方法来绕过 GFW 的过滤,其中包含了各种HTTP代理服务、Socks服务、VPN服务… 其中以 ssh tunnel 的方法比较有代表性
1) 首先用户和境外服务器基于 ssh 建立起一条加密的通道
2-3) 用户通过建立起的隧道进行代理,通过 ssh server 向真实的服务发起请求
4-5) 服务通过 ssh server,再通过创建好的隧道返回给用户
由于 ssh 本身就是基于 RSA 加密技术,所以 GFW 无法从数据传输的过程中的加密数据内容进行关键词分析,避免了被重置链接的问题,但由于创建隧道和数据传输的过程中,ssh 本身的特征是明显的,所以 GFW 一度通过分析连接的特征进行干扰,导致 ssh
存在被定向进行干扰的问题
shadowsocks
于是 clowwindy 同学分享并开源了他的解决方案
简单理解的话,shadowsocks 是将原来 ssh 创建的 Socks5 协议拆开成 server 端和 client 端,所以下面这个原理图基本上和利用 ssh tunnel 大致类似
1、6) 客户端发出的请求基于 Socks5 协议跟 ss-local 端进行通讯,由于这个 ss-local 一般是本机或路由器或局域网的其他机器,不经过 GFW,所以解决了上面被 GFW 通过特征分析进行干扰的问题
2、5) ss-local 和 ss-server 两端通过多种可选的加密方法进行通讯,经过 GFW 的时候是常规的TCP包,没有明显的特征码而且 GFW 也无法对通讯数据进行解密
3、4) ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要访问的服务,获取响应原路返回
Shadowsocks
支持远程 DNS 解析,防止 DNS 污染。由于 socks5 代理支持远程 DNS 解析,因此不用另外再去找国外的 DNS 服务器,DNS查询直接递给远程代理服务器,然后通过墙外 DNS 服务器查询得到结果再传回客户端。从而 DNS 污染鞭长莫及。
安全。所有数据流量全部经过加密,加密算法可选并支持自定义算法。另外,远程 DNS 解析也使得本地的&ISP 无法通过 DNS 查询获取你所访问的网站。
隐蔽。&OPENVPN 和 VPNgate 都是死在了特征检测上,通常来说基于证书的身份认证过程和密钥交换过程都会带来独特的协议指纹( OPENVPN 有着一套复杂完善的身份认证机制,估计 GFW 就是识别出了这一机制的协议指纹从而成功干掉 OPENVPN 的),从而使得他们在 handshake 阶段就被 GFW 识别出来并阻断了;但&ShadowSocks&直接放弃了服务器端身份认证,也抛弃了密钥协商过程( TLS 连接就是在 handshake 阶段协商出随机密钥的),而是采取事先在服务器端设置好固定密钥的方式来应对加密连接的(设置shadowsocks客户端和服务器端的时候要填写同一个密码,这就是事先设置好的用于加密和解密的密钥)。这样做就大大减少了协议特征,再加上一般的&ShadowSocks
服务器端都是个人租用的专用服务器,流量很小,从而很难被 GFW 发现和封杀。
速度相对较快。由于其隐蔽性,只会有很少的数据包会被 GFW 丢弃,从而保证了连接速度。
连接稳定。同样由于其隐蔽性,较小的丢包率带来的是稳定的连接。
智能切换。 传统的 VPN 方式,在切换网络时非常不方便, 比如连上国外的 VPN 之后会发现访问国内的网站速度严重下降。 ShadowSocks 支持 PAC 列表,根据 PAC 中的规则,有针对性地选用恰当的网络访问方式,兼顾了访问速度与访问效率。移动客户端还支持针对不同应用设置单独代理。
去中心化。服务器端搭建方便快捷,每个人都可以自己动手搭建属于自己的服务器端。部分人以免费或者收费方式共享自己的服务器,即使不想动手搭建的也有很多的免费账号或购买渠道可以选择。
代码开源。不像某些蜜罐式的翻墙工具,开源的代码保证了无后门,从而为上网的隐私性与安全性提供保障。
客户端配置简单。配置时只需要填写 IP /域名、端口号,密码,然后选择加密方式即可。
客户端绿色小巧。Windows版本的客户端只有200多k,而且免安装,解压即可使用。
省电。在移动端上使用,电量管理中几乎看不到它的身影。
支持开机启动,断网无影响,无需手动重连,方便网络不稳定或者3G&Wi-Fi频繁切换的小伙伴。
跨平台。支持主流系统包括 Windows, Linux, Mac, Android, IOS,都有对应的客户端支持。
若自己搭建 ShadowSocks 服务,需要一定的
技术成本。因为大部分服务端是基于运行 Linux 的 VPS(虚拟主机)搭建,因此需要学会使用 putty 等远程管理工具的使用方法,并掌握一定的Linux基本命令行操作。
金钱成本。租用国外的服务器,需要价格不菲的费用。
若使用免费 ShadowSocks 账号,可能有一定的
时间精力成本。很多免费账号由于使用者众多,人均流量很小,导致网速慢,不稳定,需要不断寻找新的替代,且很多免费账号会定时更新密码,或者是有流量限制,或者是需要定时签到等等,这些都需要花费时间和精力去一一满足需求才能短暂使用。
安全成本。有一些人会将自己的&ShadowSocks 节点免费分享出来,这些人是非常值得肯定和称赞的!但是其中有一小部分人别有居心,例如在 ShadowSocks 的服务器端监听网络流量,进行中间人攻击等,这类钓鱼服务器会严重损害用户的个人信息安全。
若购买收费的 ShadowSocks 账号, 需要一定的
金钱成本 由于很多 ShadowSocks 卖家都是以盈利为目的,需要花费一定的费用。
那么,自己想要有一个影梭账号的话,到底是选用哪种比较好呢?可以看到网上很多卖 ShadowSocks 账号的,有的价格很便宜,比自己搭服务器划算多了,是不是直接购买一个账号比较好呢?
在这里我建议大家自己搭服务器,或者找几个人一起租个服务器比较划算。不推荐购买商业出售的 ShadowSocks。
商业的出售 ShadowSocks 账号的行为绝大部分都是耍流氓。试着算一下,作为一个 ShadowSocks 出售者,他们的成本是服务器的租用费用,而收入是购买 ShadowSocks 账号人数 × 每人花费的 ShadowSocks 账号购买价格。
我们假设,一台服务器的租用成本,是 10 美元一个月,那么如果要想不亏本,且做到低价,假设现在卖给十个人,那么至少每个人每月要 1 美元。但是,服务器的带宽是有限的,假设是 100M 的带宽,那么平均分下来人均带宽只有 10M,而服务器的流量一般也是有限的,如果一共是 1000 M 的流量,那么每人每月只分到 100M 。如果超出流量,服务器的租用费用会增加,就好像我们手机流量超出后,额外的流量需要交钱一样。因此,购买的流量一般都会受限制。
从上面的例子可以看到,服务器资源是大家共享的,使用的人越多,人均分到的资源就越少。但是, ShadowSocks 的卖家需要赚钱,那么怎么办呢?当然是最小化成本,并最大化收入了。也就是说,尽量租用少量廉价的服务器,然后将它以尽可能高的价格卖给尽可能多的消费者。因此,对于 ShadowSocks 的商家而言,超售(即一台服务器原本最多10个人用的,可能最后卖了100个人)的现象非常严重,消费者最终所能享受到的流量和连接速度显然对不起自己的花费。
不如自己租个服务器,不仅能有一个稳定放心的服务器,还能顺便学习些 Linux 的相关知识。
如果嫌麻烦,可以找那种大家一起租一个服务器的,相对而言,至少有一点可以保证,就是不会有各种奇奇怪怪的限制,比如不能发邮件,不能看视频,不能下载特定的某些资源等等。而且最大的一个好处是,租用的人数一般较少,最重要的是这种一般不用担心超售,各方面性能配置等有保证。
ShadowSocks
服务器端配置
服务器的选择
首先是选择一款合适的国外主机作为服务器,一般而言,用来作 ShadowSocks 的服务器的话,并不需要一台独立的国外主机,只需要选择一款虚拟主机(Virtual Private Server,简称 VPS)即可满足需要。这里推荐几家较常用的VPS。
(俗称搬瓦工)
隶属于美国IT7旗下的VPS服务品牌,VPS采用OpenVZ架构,主要针对低端VPS市场。目前拥有洛杉矶、凤凰城、佛罗里达、荷兰4个数据中心。
具体节点的选择,可以在浏览器中输入以下IP进行实际测试(测试地址由提供):
美国洛杉矶 US West Coast-Los Angeles:美国佛罗里达&US West Coast-Florida:欧洲 荷兰&EU-Netherlands:美国 凤凰城 US, Arizona :一般而言,中国用户使用洛杉矶和凤凰城的机房会有较好的网络体验。
具体套餐如下:
OpenVZ架构 1GB内存 20GB硬盘 2TB流量/月 18.99美元/年(折合人民币9.5元/月)
(低成本大流量首选)
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)
OpenVZ架构 512MB内存 10GB硬盘 1TB流量/月 11.99美元/年
(强力推荐,性价比非常高)
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)
OpenVZ架构 512MB内存 5GB硬盘 500GB流量/月 9.99美元/年
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)
OpenVZ架构 128MB内存 3GB硬盘 300GB流量/月 5.99美元/年
OpenVZ架构 96MB内存 2GB硬盘 200GB流量/月 4.99美元/年
OpenVZ架构 64MB内存 1.5GB硬盘 100GB流量/月 3.99美元/年
(内存太小,有小伙伴反映在搭建过程中会报错,慎用)
注:搬瓦工域名在部分地区被墙,可能需要翻墙访问,但在上面购买的VPS不受影响。搬瓦工从15年6月26日起支持支付宝付款。
DigitalOcean是一家位于美国的云主机服务商,总部位于纽约,成立于2012年,VPS 核心架构采用KVM架构。由于价格低廉,高性能配置、灵活布置的优势,近些年来发展迅猛。
该公司拥有多个数据中心,分布在:New York( Equinix 和 Telx 机房), San Francisco ( Telx ), Singapore ( Equinix ), Amsterdam ( TelecityGroup ), Germany ( Frankfurt ). 其私有数据网络供应商是Level3, NTT, nLayer, Tinet, Cogent, 和Telia。具体节点的选择,可以先在其官方测速界面测试网速后再决定对应的节点。官方提供的测速节点如下:
纽约:(),(),(,&);
阿姆斯特丹:(),(,&),(,
旧金山:(,
新加坡:(,
法兰克福:(,
一般而言,建议非电信用户可以采用新加坡节点,速度非常给力。电信用户不建议采用此VPS,速度比较一般,更推荐&&和&&的日本机房。
推荐套餐:
KVM架构 & &512MB内存 &20GB硬盘 & &1TB流量/月 & 5美元/月
/?refcode=2b378c125009
(通过此链接注册后立即获赠10美元,相当于免费赠送两个月时长)
这是其最便宜的套餐了,不过用作个人的 ShadowSocks 服务器已经绰绰有余,没有必要再去购买更高配置的套餐。支持 Paypal 付款。
Vultr 是一家成立于2014年的VPS提供商。根据域名所有者资料,母公司是2005年成立于新泽西州的 ClanServers Hosting LLC 公司,他们家的游戏服务器托管在全球6个国家的14个数据中心,选择非常多。 Vultr 家的服务器采用的 E3 的 CPU ,清一色的 Intel 的 SSD 硬盘,VPS采用KVM架构。 Vultr 的计费按照使用计费(自行选择配置、可以按月或按小时计费),用多少算多少,可以随时取消,另外可以自己上传镜像安装需要的操作系统也是一大亮点。现在已经成为&Digital
Ocean 的有力竞争对手。
Vultr的服务器托管在全球14个数据中心,即时开通使用。大陆访问日本机房速度不错,延迟低、带宽足。以下官方测速地址:
主机名称(做PING测试)
各机房数据包下载测试
(Asia) Tokyo, Japan /&Vultr日本机房
(AU) Sydney, Australia / &Vultr澳大利亚机房
(EU) Frankfurt, DE / &Vultr德国机房
(EU) Amsterdam, NL /&Vultr荷兰机房
Seattle, Washington &/&Vultr西雅图机房
(EU) London, UK&/&Vultr伦敦
(EU) Paris, France&/&Vultr法国巴黎机房
Silicon Valley, California&/&Vultr硅谷机房
sjo-ca-us-
Los Angeles, California&/&Vultr洛杉矶机房
lax-ca-us-
Chicago, Illinois&/&Vultr芝加哥机房
Dallas, Texas&/&Vultr达拉斯机房
New York / New Jersey&/&Vultr纽约机房
Atlanta, Georgia&/&Vultr亚特兰大机房
Miami, Florida&/&Vultr迈阿密机房
推荐套餐:
KVM架构 & &768MB内存 &15GB硬盘 & 1TB流量/月 & &5美元/月
这是官网最低配的套餐,但是用来作为 ShadowSocks 的服务器,已是足够满足要求。直接选择该套餐即可购买。
VPS 服务商中的大哥,高富帅般的存在。价格相对较高,但是性能,稳定性等各方面也非常给力。&VPS 采用 Xen 架构,不过最近的周年庆开始升级到 KVM 架构,VPS 性能进一步提升。推荐给对连接速度和网络延迟有极致追求的用户。
有多个节点,各节点及官方测速地址如下:
Test Download
speedtest.
speedtest.
US Central
speedtest.
speedtest.
speedtest.
speedtest.
speedtest.
日本 Tokyo 机房和 US West 的Fremont 机房对中国用户有较好的网络体验。
推荐套餐:
Xen架构 & & 1GB内存 &24GB硬盘 & 2TB流量/月 & & 10美元/月
这是 Linode 的最低套餐,足够满足 ShadowSocks 的使用需要。
需要的点击此链接进行注册:
注册时在 Promotion Code 处填入&LINODE10&,Referral Code 处填入&&,注册后可获赠10美元。
Linode只能使用信用卡支付,官方会随机手工抽查,被抽查到的话需要上传信用卡正反面照片以及可能还需要身份证正反面照片,只要材料真实齐全,审核速度很快,一般一个小时之内就可以全部搞定。账户成功激活以后,就可以安心使用了。
总结一下:
价格方面,Linode 最高,Vultr 和 Digital Ocean 紧随其后,但是也和 Linode 差不多,搬瓦工价格相比前面的三家要低很多。
价格的差距主要是由于虚拟化的架构区别。前面三家都是采用的 Xen 或者 KVM 架构,而搬瓦工则是 OpenVZ 架构。OpenVZ为不完全虚拟化技术,每个VPS账户共享母机内核,易受同一母机下其他VPS的影响,几乎不能单独修改内核。Xen和KVM为完全虚拟化技术,各VPS之间互相独立,基本互不影响,而且可以任意修改内核。
这三种架构对我们搭建shadowsocks服务器来讲最直观的区别就是,Xen和KVM可通过系统内核修改来优化服务器,大幅度提升shadowsocks的连接速度,尤其体现在晚高峰的时候。
对连接速度和稳定性尤其是网络延迟有极高要求的首选 Linode(只有最快,没有更快),有较高要求的推荐 Vultr (电信用户)或者 DigitalOcean (移动或网通用户)(一分价钱一分货),对于普通用户来讲,搬瓦工就可以(性价比高)。
服务器操作系统选择
在选择服务器操作系统时,推荐选用&CentOS 6&(x86 或者 x64 均可)操作系统。当然,如果服务器端想选用Debian / Ubuntu 系统,或者是Windows系统,也是支持安装 Shadowsocks
的。下文的安装配置过程均以 CentOS 6 &为例。
通用安装方法
注意:操作系统为 CentOS 6,安装的 Shadowsocks 为 Shadowsocks-Python 原版。
选择好对应的 VPS 并成功在上面部署操作系统后,可以在管理面板或者邮箱收到登录的端口号和密码。下载一个&&,打开
putty ,输入服务器IP,端口号,点击open即可开始连接。
在 login as 后面输入管理员账户&root ,password 填写你在 VPS 管理面板或者邮箱中收到的密码。(注意,密码是不显示在窗口中的)输入完成后按回车即可成功登陆。(注:putty中支持复制粘贴操作,在putty命令行中按下鼠标右键即可粘贴当前系统剪贴板中内容,左键选择需要的内容即复制这些选中的内容到系统剪贴板)
然后在命令行中输入
yum install python-setuptools && easy_install pip
过程中有遇到问是否安装的,一律输入 y 后回车。
显示完成后,再输入
pip install shadowsocks
等待安装完成,显示 “Successfully installed shadowsocks-2.6.10″。意味着Shadowsocks已经成功安装。
接着,创建一个Shadowsocks配置文件。在 putty 中输入以下命令:
vi /etc/shadowsocks.json
然后复制这样一段
&server&:&your_server_ip&,
&server_port&:8388,
&local_address&: &127.0.0.1&,
&local_port&:1080,
&password&:&&,
&timeout&:300,
&method&:&aes-256-cfb&,
&fast_open&: false
各个参数说明如下:
Explanation of the fields:
填入你的服务器 IP ,即当前操作的 VPS 的 IP 地址,必须修改
server_port
服务器端口,可以根据实际需要修改,或者保持默认
local_address
本地监听地址,建议保持默认
local_port
本地端口,这个参数一般保持默认即可
用来加密的密码,可以根据实际需要修改
单位秒,一般保持默认即可
默认的是”aes-256-cfb”,一般保持默认即可
参数选项true / false,一般保持默认即可
worker的数量, 在 Unix/Linux 上有效,一般不用加此项
注意:这里是json配置文件,每个参数配置完后都有一个逗号,但是最后一个参数后面是不加逗号的。
修改完成后,按 Esc 键,然后输入
按下回车,保存退出。
最后,启动 Shadowsocks,在命令行中输入以下命令:
ssserver -c /etc/shadowsocks.json -d start
即可启动 ShadowSocks 服务
如果要关闭 Shadowsocks 服务,在命令行中输入以下命令:
ssserver -c /etc/shadowsocks.json -d stop
即可关闭 Shadowsocks 服务
特别番:搬瓦工的一键安装法
作为低端 VPS ,大家购买搬瓦工用得最多的就是拿来科学上网了。搬瓦工可能自己也发现了这个问题,为了满足广大消费者的需求,因时制宜地推出了一键翻墙的安装选项(在此之前还推出了 OpenVPN 的一键安装,当然 VPN 现在已经是被 GFW 摧残得几乎不能用了,不过仍旧可以看出来这家公司还是很接地气的嘛:-D。就在今天——15年6月26日——竟然还支持支付宝支付了,你敢信?!一天之内很多套餐断货了……)。不多说,看一下如何使用一键安装大法吧。
创建了VPS之后,登录搬瓦工的 Client Area,在 Service – My Service 中选择自己的 VPS ,点击 KiwiVM Control Panel 进入 web 控制台。
由于 Shadowsocks 一键安装包只支持 CentOS 6 ,因此务必确保VPS是centOS 6 操作系统,如果不是,需要点击控制面板中的 Install New OS 重新安装。
点击面板左侧目录 KiwiVM Extras 下的 Shadowsocks Server,点击 Install Shadowsocks Server,后天会自动进行安装。
大概几十秒就会自动安装完成,可以看到提示已经安装成功。然后点击 Go back 按钮返回。&
这时候你看到了神马?是的,就是所有你需要填写的 Shadowsocks 客户端信息(IP,端口号,密码和加密方式),搬瓦工已经以图文的方式给你表示出来了,包括提供了 Windows 客户端版本的下载。而且在该页面还能自定义需要的加密方式,切换端口,或者生产新的密码。也能自主控制服务器的启动和停止,如果不想用了,在最后还有一个一键卸载的选项。然后就不用说了,happy地去使用吧。如果英文不好,或者是需要除了Windows客户端版本之外的其他平台客户端,那么请继续看本文下面的内容,客户端配置部分。
客户端配置
注:该部分教程基于 Windows 平台的 ShadowSocks 2.3.1 版本制作。由于每过一段时间会发布新版本,因时间精力有限,只更新客户端的下载和新增功能部分,功能介绍部分暂时无法及时更新。如果你有意帮助此教程更加完善,欢迎发送邮件至&&与我联系。
下载地址:
官方下载地址发布页:
2.5.6 版本():
下载地址:,
(由于版本已经统一,不再有不同环境的版本,若不能正常运行请安装 .net 4.0)
增加 portble 模式(便携模式),如果要用该模式,在使用时创建一个&shadowsocks_portable_mode.txt。(Add portable mode. Create shadowsocks_portable_mode.txt to use it)
支持服务器重排(Support server reorder)。
注:也许该版本将成为最后一个版本。由于突然的作者被请喝茶,日上午10点左右源代码库已经被作者删除。相关事件图片:
具体过程,日晚上,作者
clowwindy 在 GitHub 上把他所维护的几个 shadowsocks 实现的代码仓库内的 Issue 面板全部关闭,所有帮助信息全部删除,所有的描述都改成了 Something happened. 同样在20日下午 6:30 左右, v2ex 的 shadowsocks 节点访问被跳转到,无法正常访问。在早上,clowwindy 在 shadowsocks-windows 的 #305 号issue(也是Pull Request)下回答:“I was invited
for some tea yesterday. I won’t be able to continue developing this project”.然后声明他将不能再对此项目进行维护。目前此仓库内的所有 clowwindy 的评论都已经被删除,包括这一条。同时,他本人的 Twitter 开启了保护状态,只有先前关注的能看见他的最新状态更新。8月22日上午10点左右,仓库内的代码被删除。
再次感谢作者 clowwindy 的无私奉献,并祝一切安好。
最后,把作者推荐的资料再次推荐一下。&1. HTTP: The Definitive Guide 2. TCP/IP Illustrated 3. Stanford 的 Cryptography&
2.5.2 版本():
Windows&7 及以下版本:,
Windows 8 及以上版本:,MD5:
AA0FD2A0FBCEB52D6CC37F2增加了日志查看器
注:由于 .net 2.0 在 Windows 10 系统上运行有问题,从该版本开始,不再支持 .net 2.0。Shadowsocks-win-2.5.2.zip 和&Shadowsocks-win-dotnet4.0-2.5.2.zip 现在是完全一样的。如果你使用的是 Windows XP 或者 Windows 7,请安装 .net 4.0 或者更高版本。
2.5.1 版本():
Windows&7 及以下版本:,
Windows 8 及以上版本:,
(影梭的)高可用( HA )不会过于频繁地切换服务器
修复了当使用 HA 时服务器设置修改无效的问题
修复了服务器端口号不能被设置为 8123 的问题
修复了一些其他小问题
2.5 版本:
支持负载均衡
支持高可用
2.4 版本:
支持 UDP 转发
支持在线 PAC
将更新检查迁移至 GitHub 版本
其他问题修复
关于最近为什么突然更新了多个版本,这里是有个梗的。起因是有人在 GitHub 分支了 ShadowSocks &的源代码,然后自己修改后做成了一个闭源软件提供给其他人用,但是 违反了 ShadowSocks 使用的&&协议。作者在发布
2.5 版本时也针对新特性和此事件做了说明()。
负载均衡模式随机选择服务器,适合一个 VPS 开多个端口,或多个服务器位于同一机房,平均流量使用。
高可用模式根据延迟、稳定性自动选择最佳服务器,带自动重试机制,正常情况下无需手动刷新浏览器。在日志里可看到切换情况。
为了降低特征,此模式并不会反复轮询服务器来判断服务器可用性,而是通过正常浏览产生的连接本身的一些信息来判断服务器的稳定性。
扩展切换算法可以自己实现 IStrategy 接口来定制自己的切换算法。欢迎通过 pull requests 把你的算法提交到主线。未来可能把它做成插件的形式。
比如可以修改高可用模式,调一些参数让它工作得更好;
比如可以实现通过主动发心跳包或测速来选择服务器。不过这样会增加流量,也带来一些流量特征,不适合大规模使用;
比如可以用机器学习来预测不同服务器不同时间段的速度和稳定性;
比如如果你是一群服务器的管理者,可以做一个 web 服务,主动通知客户端服务器速度信息,甚至服务器地址。
UDP这个其实是 2.4 增加支持的。因为大部分程序不支持 UDP 代理,需要用 ProxyCap 之类的软件强制它们走代理。当然更推荐的做法是用 OpenWRT 路由器,兼容性好一些。
关于这个项目因为我目前并没有太多时间维护 Windows 版,希望有兴趣的同学可以参与:
测试 pull requests:测试一些分支和功能,发表你的使用感受和看法
新增功能:功能的设计讨论和开发
代码重构:清理功能反复变更带来的设计问题,说句实话现在有几个模块的代码简直是一坨翔
解决 bug:在 issue tracker 上帮助其他人解决他们提出的问题
整合 CHNRoutes 和 ChinaDNS,实现根据 IP 自动切换,不再需要 PAC。如果你对实现这个功能有兴趣,请移步
也希望大家在做这些改进的时候保持代码的开源。为什么开源很重要?因为任何人都能在你的工作基础上做出改进,帮你审视问题和缺陷。如果大家发现有人做出了闭源的分支,那么最好的对策就是把它的功能抄过来,然后继续由开源社区来维护。
关于高可用切换:
1. 刚启动的时候会自动把列表里的服务器试一圈。
2. 在一个日本服务器,一个美国服务器的情况下,会看到自动切换到了日本服务器。如果是加了一群速度差不多的日本服务器,会看到在这些日本服务器之间来回切,属于正常现象,因为速度本身就会有一定波动。
3. 切换只影响新的连接,已有连接不会断掉,大部分网站是保持长连接的,切换不会带来影响。如果是玩网游的情况下,建议暂停切换,因为一般游戏连上之后换 IP 都会造成一些问题。
下载对应版本,解压后,运行 Shadowsocks.exe 文件,可以看到界面如下图所示。
填入对应的服务器 IP(对应配置文件中的 server 参数),服务器端口(对应配置文件中 server_port 参数),密码(对应配置文件中的 password 参数), 加密(对应配置文件中的 method 参数)。如果不是自己搭建的服务器,而是从其他渠道获取的免费或者收费的 Shadowsocks 账号,也一定要问清楚这四个参数。注意:密码区分大小写。
填写完毕后点击确定,Shadowsocks 会自动缩小到系统托盘处。OK,到这里,客户端初步配置完成。接下来如果要科学上网,有两种方式。
方式一(推荐):
浏览器代理上网。具体需要配置浏览器代理,具体的操作可以。配置完成后即可实现科学上网。
利用客户端自带的代理上网。参考下文的 Windows 版本客户端选项中启用系统代理部分。
首先看一下打开后的显示界面:
可以看到有四个按钮:添加,删除,确定,取消。一个选择文本域(左侧的服务器列表部分),右侧的五个文本框:服务器 IP ,服务器端口,密码,备注,代理端口。一个下拉单选框:加密。
添加按钮,删除按钮与左侧的文本域都是用来配置多个服务器的,很容易理解。同样,确定删除按钮都是通用的,无他。
四个文本框中,除了备注外,其他的都是必填部分。服务器 IP ,服务器端口,密码这三个文本框,加上加密方式这个下拉单选框,各项参数的填写在前文的基本使用部分的第 2 条中均已作说明,不再赘述。代理端口是指的本地的 Shadowsocks 端口,默认是1080,当然如果该端口被占用,可以修改成其他未被占用的端口(推荐选择之间的任意空闲端口)。这里修改之后,其他地方如果有用到 1080 的地方全部修改成对应的端口号。完成后,客户端会在该端口建立一个
HTTP 代理和一个 Socks5 代理。所有流经该端口的流量就会交由客户端进行代理。如果想要某个应用走该代理时,就在应用的设置中,找到代理一栏,填入代理地址 IP(127.0.0.1) 与端口 1080(或者是你自己修改的端口),下图是QQ的例子。其他的应用程序也是类似设置即可。
再来看一下缩小到系统托盘后,在上面右键弹出的选项:
启用系统代理:这是客户端新增的功能,如果勾选了启用系统代理,则会默认代理系统的所有网络流量。(注意和方法一浏览器代理方式的区别,方法一中只有浏览器中配置的规则会走 Shadowsocks )。启用之后,不用做其他配置,直接打开浏览器自由上网即可。如果不启用的话,只会在本地的端口(127.0.0.1:1080)处有一个代理存在。
系统代理模式:如果启用了系统代理,这里需要配置一下。可以看到子层有PAC
模式和全局模式两种。如果选择了全局模式,则所有流量将无差别通过 Shadowsocks 服务器进行访问,如果是访问国内的一些网络服务,速度会受到影响。一般建议选择 PAC 模式,这样系统会自动联网下载一个
pac.txt 文件,简单理解,就是一个规则列表,若访问的网络服务满足列表中的网址规则,则会走 Shadowsocks 流量,否则直接走本机网络访问。这样带来的好处是,会根据规则区分某个网站是否走代理,从而提升用户的网络体验。
服务器:进入该层,上面部分是已经在前端添加的服务器列表,下面部分有编辑服务器,显示二维码,扫描屏幕上的二维码三项。点击编辑服务器,会弹出
Shadowsocks 客户端的前台界面,和双击该图标是一样的效果。显示二维码用于生成当前选择的服务器相关配置信息,用于分享该配置信息到其他的 Shadowsocks 客户端上。扫描屏幕上的二维码则用于扫描你收到的二维码形式的服务器配置信息,扫描后客户端会自动填入相关的服务器配置参数。
开机启动:这样就不用每次开机之后第一次要用的时候都去开一次了。
允许来自局域网的连接:(是的,这就是很多人想知道的如何共享本机的
Shadowsocks&给其他设备,例如手机或者平板)用于将本机的
Shadowsocks 服务分享到局域网的其他设备上。这是个非常实用的功能,具体怎么用呢?以局域网中的手机为例,首先找到你这个wifi,打开连接详情,找到代理一栏(别说找不到,所有手机都有这个设置的),默认是无,改成手动。OK,接着在服务器中填写运行着 Shadowsocks 客户端电脑的 IP 地址。然后还有对应的电脑端口,默认的是1080。什么?不知道电脑的 IP 地址怎么看?按 Win + R 运行,输入 cmd 后回车,在打开的命令行中输入 ipconfig 即可查看, ipv4 address 就是你的
IP 地址,一般而言类&#28.XXX.XXX。
编辑 PAC 文件:会打开客户端所使用的PAC文件(存储位置在&Shadowsocks.exe 的相同目录),可以在里面修改和添加自己定义的规则。仿照里面原有的内容修改即可。一般而言是没有必要修改的。
从 GFWList 更新 PAC:&是一个专门收集被墙网站的网站,它维护着一个被墙网站的
PAC,有了 PAC 之后,选择 PAC 模式后即可实现针对特定被墙网站才使用 Shadowsocks 代理,其他网站使用正常网络连接。一般第一次使用点击该选项从而下载 PAC 文件。之后这个选项基本上就不用管了,毕竟主流的被墙网站短时间内基本上都不会有变化的。这里建议大家如果发现有被墙网站都去 GFWList&一下,大家一起来维护,才能把这个项目做得更好。
显示日志:当 Shadowsocks 遇到问题时,可以通过此选项中的日志记录协助定位问题。另外,由于客户端目前并没有清理日志的功能,理论上日志文件大小会无限增加,建议强迫症人士可以定期打开日志文件清空历史日志。
关于:点击后会跳转到 Windows 客户端的。
退出:退出客户端。
PS:看起来使用客户端自带的系统代理加上 PAC 模式很好用,为什么在上网方式中仍然推荐使用配置浏览器代理的方式呢?主要原因是因为 GFWList 更新的速度有些慢,而且不能做到个性化设置,添加规则对不熟悉 PAC 的朋友设置起来也比较麻烦。如果直接用浏览器代理的话,SwitchOmega 扩展中添加代理规则非常简单,单击插件后选择添加条件即可新增和编辑网络规则,相对而言更加方便些。
下载地址:
安装完成后第一次打开见到的界面如下图所示:
自带有一个账号,不过用的时候速度不是很快,稳定性也比较差,可能是很多人都在使用的原因吧。
先点击左上角的折叠标签按钮,展开菜单栏。如下图所示:
点击添加配置文件,这时候弹出一个对话框,选择是手动配置还是扫描二维码。如果有二维码的话直接选择扫描二维码即可。一般都选择手动配置。
然后在服务器一栏填入你的 Shadowsocks 服务器 IP ,远程端口一栏填入你的服务器端口,密码填入你的密码,加密方法对应选择你在服务器设置的加密方法。
四个参数都填写完毕后,点击右上角的小滑块,即可启动 Shadowsocks 服务。
打开浏览器,自由上网即可。
打开客户端,可以看见默认界面有上下两个区域组成。上面的是服务器设置(上图一)区域,下面是功能设置(下图)区域。另外还有一个菜单栏(上图二)。下面对这几个界面的选项做个详细介绍。
先看服务器配置部分:配置文件一栏用来标记你的配置文件,主要是为了标识你的各个配置文件,可以随便填写。服务器,远程端口,密码,加密方法都是必填的,前面的基本使用部分已经介绍过。另外还有个本地端口一栏,这个不用管,保持默认就行了,和 Windows 端的本地端口的效果是一样的,除非发现 1080 端口被占用,修改成其他端口(建议修改为& 之间)。
接下来看一下功能设置部分:
路由:用来控制网络数据包的转发规则,点击进去可以看见三个选项,全局,绕过局域网地址,绕过局域网及中国大陆地址。全局指的是所有数据包都走 Shadowsocks 进行代理转发,绕过局域网则是除了局域网地址,其他的网络流量才走
Shadowsocks,绕过局域网及中国大陆地址则是指的局域网和中国大陆的网址都不会走 Shadowsocks。简而言之,可以把这个认为是一个简单的 PAC 规则列表。
全局代理和分应用代理:这两个功能是互斥的。如果勾选了全局代理,那么所有应用都会走
Shadowsocks 进行代理。如果选择分应用代理,则会弹出你的安卓应用所安装的所有应用,你可以选择哪些走代理哪些不走代理。如果只有一小部分想走 Shadowsocks,其他的大部分应用都走直接网络连接,那么选出来即可。如果你的机子上更多的是 Google, Facebook 之类的应用,想直接走网络的应用很少,这样如果还要一个个去选择需要代理的应用,会很麻烦,那么可以看到 Shadowsocks 中非常人性化地提供了一个绕行模式,这样便可以选出需要直接连接的应用,然后开启绕行模式,从而减轻操作量。代理模式配合路由功能一起使用,就能得到一个非常良好的网络体验了。
UDP 转发:这个主要是用来避免的,主要处理的是 DNS 请求的 UDP 数据包,通过将 UDP 数据包转换成 TCP 数据包进行中转,从而有效避免DNS污染。不过根据网友反馈有时候会出现某些网站打不开的问题,据说和服务器端支持有关,具体我这边没有遇到不便定论。如果开启了本功能后访问网络有问题,可以关闭 UDP 转发试试
自动连接:即开机启动。
最后看一下菜单部分:
也分成两大区域,上面的是配置文件区域,下面的是设置选项区域。
配置文件区域前文已经说过,这里不再赘述。
设置选项区域:
重置:按下重置按钮会调用 reset() 方法,主要是清理崩溃时的进程以及重新对二进制文件 chmod 授予权限,最后重置iptables。已连接状态下重置会导致当前连接断开。
刷新 DNS 缓存:如果 DNS 被污染了,点击此按钮会刷新 DNS 缓存,从而保障能正常解析 DNS 请求。
二维码:和电脑端的一样效果,生成当前配置参数的二维码。
关于:版权声明。
解压后移动到合适目录下,然后启动。
如果弹出系统安全提示,请选「允许」。
这时候就能在屏幕的右上角找到 Shadowsocks 的纸飞机图标了。注意一下在&mac 中的客户端不叫 Shadowsocks,而是叫 ShadowsocksX,由其全名 Shadowsocks for OSX 简写而来。
点击 ShadowsocksX&图标,在弹出的菜单栏中选择服务器-打开服务器设定。
点击右下角的加号,添加服务器配置,然后在左边填入各项&Shadowsocks 账号参数。填写完毕后点击确定。
再次点击&ShadowsocksX&图标,选择服务器,可以看到列表中除了添加服务器配置之外,刚才添加的配置文件也已经显示在列表中了,点击选中刚才添加的 Shadowsocks 配置文件,选中状态前面是有一个小√的。
最后,点击&ShadowsocksX&图标,点击打开 Shadowsocks。
打开浏览器即可自由上网。
ShadowSocksX 有前端的服务器配置界面后一个菜单界面。服务器配置界面在基础使用部分已经说过,我们来看一下菜单界面的各个选项。
Shadowsocks:打开/关闭。这是一个灰色的 Shadowsocks 状态指示栏。用于指明当前 Shadowsocks 的运行状态。
打开Shadowsocks。用于控制 Shadowsocks 的运行状态。注意:这里的打开和关闭都指的是打开关闭 Shadowsocks 的全局 PAC 代理。类似 Windows 版本客户端的启用系统代理功能。如果是关闭状态,其实在你设置的本地端口(127.0.0.1:1080)处仍然运行着代理,通过浏览器代理插件仍然可以上网。浏览器插件代理上网方式类似
Windows 部分内容中所介绍的部分(方式一)。
自动代理模式。根据 PAC 文件,对网络流量进行判断,自动选择是走代理访问还是直接访问。一般推荐此模式。
全局模式。所有流量都走 Shadowsocks 代理。
服务器。前文的基本使用部分已经介绍过,主要编辑服务器相关配置和切换服务器配置文件。
编辑自动模式的 PAC&。编辑自带的 PAC 文件,可以添加自己的网络访问规则。
从 GFWList 更新 PAC&。和 Windows 客户端一样的功能,请参考&部分的介绍。
生成二维码。生成当前配置的二维码图像。
从屏幕上扫描二维码。通过扫描二维码图像自动填充服务器配置。
显示日志。显示 ShadowsocksX 的日志,常用于连接问题诊断。
帮助。会跳转到 Shadowsocks for OSX 的。
退出。退出 ShadowsocksX 客户端。
ShadowSocks
这里记录一些平时遇到大家问的问题。不定期更新。
Q:如何将 ShadowSocks 在电脑上共享给其他设备?
A:参阅共享本机的 Shadowsocks 给其他设备。
Q:安卓手机上使用时,访问国内的网站比较慢,能不能绕过呢?
A:参阅安卓客户端部分的路由选项中的内容介绍。
Q: 是官网吗?
A: 是某黑心商贩投机注册的商业性网站,和原作者没有任何关系,其中所出售的项目也和 ShadowSocks 项目没有任何关系。ShadowSocks 项目的官方主页是&.
Q:Shadowsocks 能用来上外服吗?
A:这里我理解的外服应该是指的游戏的外服。一般而言,都是可以正常访问的。
不过要注意可能的特殊情况。
1. 如果不是自己搭建的服务,而是购买的商业账号,建议向客服咨询是否支持,有些奸商在出售的普通套餐中的服务器上可能会禁掉某些游戏的访问,借此达到推广自己收费更搞的游戏套餐的目的。
2. 有些游戏为了防止恶意注册之类,会有专门的 IP 限制或者相关的 IP 侦测系统,如果发现大量的账号使用相同的 IP 登录或注册,可能会对这些账号采取封号等惩戒措施。因此建议先了解自己的游戏是否曾经出现过类似问题。这个主要是出现在购买游戏套餐服务的情况中,如果很多人购买并使用登录有该类限制的游戏服务器,很可能出现。例如游戏《上古世纪》的封号,由于大量玩家购买某些&VPN (当时 Shadowsocks 还不流行)进行游戏,导致一段时间后几乎所有使用 VPN 登录服务器进行游戏的玩家账号都被封停,甚至有玩家专门总结了某些高人气的&VPN
提供商,使用它们的 VPN 登录游戏的几乎全部被封停()。当然,自己搭建&Shadowsocks
服务器的话一般是没有问题的。
3.某些游戏服务器只对特定的区域开放,典型的例如游戏舰娘Collection,只有日本IP才能注册和登录,这时候,需要保证你的 Shadowsocks 服务器 IP 也在对应的区域,否则也是没法登录的。一般自己购买了服务器进行部署的时候,在创建服务器时都有相应的机房位置可选,请针对自己的具体需求进行选择。
Q:自己搭的 Shadowsocks 进行游戏,和专门的网游加速器比起来效果如何?
A:这里先明确一下网游加速器的原理。相当于是在用户和游戏服务器之间增加了一个加速服务器来实现。
未加速的游戏链接:用户本地—————————————————-游戏服务器
使用加速器的链接:用户本地———-加速器服务器———游戏服务器(通过代理快速链接到游戏服务器,从而达到延迟低、防掉线的效果)
可以看到,这个的原理和自搭建&Shadowsocks 并访问的原理是差不多的,都是依靠代理实现加速。因此,理论上网游加速器能做的自己也能做。但是区别在哪里呢?主要就是在于中间这个代理加速器的选择。
对于网游加速器而言,一般会做好代理服务器的优化,保证多人同时使用的同时,并保证加速速度。如果想自己实现他们的效果,重要的也是在于服务器的选择和优化。因此,选择服务器时,需要保证自己选择使用的服务器低 ping,低丢包率。
具体而言,在搭建好自己的服务器后,在命令行中使用&ping -t 命令 ping 自己的服务器,在一段时间后,按下 &Ctrl + C 中断 ping,看一下延时大概多少,丢包率大概多少,两种数据都是越低越好。
上图是自己为舰娘Collection搭建的 Shadowsocks 加速服务器,可以看到,几乎没有丢包,ping 也在 100 以内,对于一款网页游戏而言,已经足够满足了,实际游戏的时候,也可以发现完全没有卡顿的现象。
当然,如果发现自己找不到一个合适的服务器,那么使用网游加速器也不失为一个好的选择,毕竟省时省力。
另外,作者本人也曾统一回复过一些问题,希望每个使用 Shadowsocks 的人都看一下。引用如下()
1. 当时几个版本内置的公共服务器流量爆了,打算把公共服务器给 @showfom 运营,并帮 @showfom 架设了服务。但没想到实际情况变成了用名气来进行宣传,也没想到这个服务会被用户当成“官方”,所以为了避免这种误解,加上精力也不够,还是取消了合作,没有收一分钱。在 Twitter 发过澄清,没在 V2EX 发是一个疏忽。至于在代码里加红字警告? Are you kidding? 一个开源项目,代码本身应该是中立的,是不应该有立场的。
2. 为了避免今后出现类似的情况,在这里做一个声明:Shadowsocks 是一个由很多人参与的开源项目,它只是一个程序,一套算法。这些人是以自由的形式凭自己的兴趣参与这个项目的,不存在“Shadowsocks 团队”,只存在贡献者。哪天现在的这些人不维护这些代码了,也会有其他人继续维护下去。至于 Shadowsocks 的使用,只要不违反开源授权,不会干涉。
3. 公共服务器还是免费,只是做了限速以免流量用超。OS X 版的公共服务器速度慢到不能用的时候直接关掉了。和 GFW 捉迷藏换 IP 的游戏,虽然已经半自动化,但一点也不好玩,你们明白 fqrouter 为什么要关了吧。
4. 从实际情况上来看,Shadowsocks 没有办法离开去中心化的服务器。要么自己花钱买 VPS,要么用有人分享的账号,要么用有人提供的付费服务,他们各有所长,适合不同的人。所以作为开发者,保持中立,不偏袒其中任何一方,顺其自然发展下去是最好的吧。
很多人要么一窝蜂的支持,要么一窝蜂的反对,还要把它给封禁掉,大概这种心理鲁迅先生也曾批判过。我还记得当年极路由在 V2EX 被冤枉的时候,也是一边倒的说极路由窃取隐私。如果你们真的那么讨厌商业,那你们应该首先把你们的苹果设备给摔了,因为它就是商业社会巅峰造极的产物。我反对不喜欢一个东西就要拿出简单粗暴的制裁手段,正是这种习性成就了 GFW。
维护这个项目到现在大概总共回复过几千个问题,开始慢慢想清楚了一件事,为什么会存在 GFW。从这些提问可以看出,大部分人的自理能力都很差,只是等着别人帮他。特别是那些从 App Store 下载了 App 用着公共服务器的人,经常发来一封只有四个字的邮件:“不能用了?”&我觉得这是一个社会常识,花一分钟写的问题,不能期待一个毫无交情的陌生人花一个小时耐心地问你版本和操作步骤,模拟出你的环境来帮你分析解决。Windows
版加上 GFWList 功能以来,我反复呼吁给 GFWList 提交规则,但是一个月过去了竟然一个提交都没有。如果没有人做一点什么,它自己是不会更新的啊,没有人会义务地帮你打理这些。最近 net-speeder 又开始流行,害人害己。我觉得,政府无限的权力,都是大部分人自己放弃的。假货坑爹,让政府审核。孩子管不好,让政府关网吧。有人在微博骂我,让政府去删。房价太高,让政府去限购。我们的文化实在太独特,创造出了家长式威权政府,GFW
正是在这种背景下产生的,一个社会矛盾的终极调和器,最终生活不能自理的你每天做的每一件事情都要给政府审查一遍,以免伤害到其他同样生活不能自理的人。这是一个零和游戏,越和这样的用户打交道,越对未来持悲观态度,觉得 GFW 可能永远也不会消失,而墙内的这个局域网看起来还似乎生机勃勃的自成一体,真是让人绝望。
顺便回答几个其它的问题吧。
1. 为什么项目的文档和网站是英文的?开源项目用英文来维护本来就是一个约定俗成的做法。网络审查和屏蔽不是一个国家的事情,而是一个世界性的问题。这些项目有很多其它国家的用户,也有一些国外的大牛作出过宝贵的贡献。
2. 参与的人只是凭兴趣做自己喜欢的事情,如果你的 issue 不像是一种思考和贡献,而更像是咨询客服,那被关掉了不要觉得惊讶。
原文地址:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1687032次
积分:16353
积分:16353
排名:第487名
原创:30篇
转载:765篇
评论:168条
(11)(22)(14)(2)(13)(17)(5)(12)(2)(3)(17)(41)(31)(11)(8)(14)(12)(12)(6)(18)(10)(8)(17)(5)(2)(7)(7)(7)(10)(15)(23)(25)(5)(19)(9)(3)(9)(7)(10)(18)(19)(25)(13)(14)(7)(15)(36)(7)(3)(8)(17)(12)(32)(14)(4)(14)(26)(7)(15)(11)(16)(5)

我要回帖

更多关于 红杏影梭 的文章

 

随机推荐