Vpn,全称“虚拟私人网络(Virtual Private Network)”,是一种加密通讯技术。vpn是一个统称,它有很多的具体实现,比如PPTP、L2TP、IPSec和openvpn。vpn出现远早于GFW,所以它不是为了翻墙而生的。我上面说了,vpn是一种加密通讯技术,它被设计出来的目的是数据传输安全和网络匿名。
Proxy(代理) 反向代理Proxy(代理)又分为正向代理和反向代理。翻墙所用的代理都是正向代理。反向代理的作用主要是为服务器做缓存和负载均衡。 顺带一提,shadowsocks里也有负载均衡的概念,但shadowsocks的负载均衡和反向代理的负载均衡不是一个概念。反向代理的负载均衡是指:在多个真正的服务器前架设一个代理服务器,用户所有的数据都发给代理服务器,然后代理服务器根据各个真实服务器的状态将数据转发给一个任务较少的服务器处理。这样,服务商既可以架设多个服务器分担任务、减轻压力,用户也只要记一个域名或ip就可以了。而shadowsocks的负载均衡是指:每隔一段时间更改一次翻墙服务器,将用户的数据平均发给多个不同的翻墙服务器,以避免发往某一个翻墙服务器的流量过多。 正向代理正向代理主要有HTTP、HTTP over TLS(HTTPS)、Socks、Socks over TLS几种。其中,HTTP和Socks无法用于翻墙,HTTPS和Socks over TLS可以用于翻墙。不过,Socks over TLS几乎没人用,我们这里就不多说了。 Proxy的历史同样早于GFW,它最早被设计出来的目的当然也不是翻墙。正向代理最主要的目的和vpn差不多,都是用于匿名,但HTTP和Socks不能加密,只能匿名,HTTPS既可以匿名,也可以用于加密通信。 从理论上讲,四种代理协议都可以通过“用户先将数据发给代理服务器,再由代理服务器转发给目的服务器”的方法达到翻墙目的。但由于HTTP和Socks都是明文协议,GFW可以通过检查数据包内的内容得知用户的真实意图,进而拦截数据包。所以,HTTP和Socks一般只用作本地代理。而HTTPS协议是加密通讯,GFW无法得知数据包内的真实内容,类似于关键词过滤的手段无法施展。 不仅如此,HTTPS代理的流量特征和我们平时访问网站时所产生的HTTPS流量几乎一模一样,GFW无法分辨,稳定性爆表。 理论上讲,HTTPS代理无论是安全性,还是在隐匿性,都要比目前广为流行的shadowsocks好。事实上,在所有已知的翻墙协议中,无论是vpn协议,还是代理协议,它应该都是最好的。v2ray的vmess over tls也许能和HTTPS代理媲美。 当然,HTTPS代理也有它的缺点,其中最大的缺点就是配置复杂。即便能用默认参数就用默认参数,用户自己只作最低限度的配置,对新手而言,这也是一个无比痛苦的过程。更别说,想要正常使用HTTPS代理,你还要购买域名和证书这些,非常麻烦。所以,即便是在shadowsocks与V2Ray出现之前,HTTPS代理也没在大陆流行起来。除此之外,HTTPS代理只能转发tcp流量,对udp无能为力。
vps 大家不妨想一个问题:我们平时上网浏览网页,我们访问的那些网页都是哪来的?答案很简单,从另一台电脑上下载下来的。无论是用户平时所使用的个人pc,还是用于搭载网站的服务器,本质上都是电脑。但与个人pc不同,被用作服务器的电脑必须做到24小时开机在线,以确保能在任何时候回应用户的请求。而vps,就是不会关机的电脑。 VPS(Virtual private server,虚拟专用服务器)是由vps提供商维护,租用给站长使用的“不会关机的电脑”。vps不是一台台独立的电脑,而是将一台巨型服务器通过虚拟化技术分割成若干台看似独立的服务器。这台巨型服务器不间断运行,被分割出来的小服务器也跟着不停的运作,站长租用其中一台小服务器,搭载上自己的站点,就可以等着用户访问了。 那么,个人电脑能不能做服务器呢?当然可以!我上面说,“与个人pc不同,被用作服务器的电脑必须做到24小时开机在线,以确保能在任何时候回应用户的请求。” 2015年,clowwindy因喝茶事件被迫停止了shadowsocks的维护,并删除了其开源在GitHub上的代码,Python版就此停滞。但其它版本仍处于维护更新中。其中,更新最频繁,新技术跟进最快的是由@madeye维护的libev版本。这里有必要说明下,目前,shadowsocks协议(请区分“shadowsocks协议”和“shadowsocks协议的具体实现”这两者的区别)是由shadowsocks社区内的成员共同维护,协议上任何新改进都是社区成员共同商讨的结果。但对这些变化,不同的版本的shadowsocks跟进速度不同。而跟进速度最快的就是我上面说的libev版。无论是 SIP007确认的ADEA Ciphers(一种同时进行认证和加密的算法),还是 SIP003引进的simple-obfs(tor开发的一种混淆插件),shadowsocks-libev都是最早引入自己软件的。 当然,这里说的全是服务端的shadowsocks,客户端的没提,也没法提,因为实在太多了,比如比较出名的两个,surge和shadowrocket。这些客户端有好有坏,良莠不齐,对shadowsocks协议的支持程度也不一样,有的需要付费(iOS端基本都要付费,而安卓端则基本免费),费用也不一样。而且,这些客户端绝大部分都不是shadowsocks社区的“官方客户端”,而是第三方开发者制作的客户端。 V2Ray 简介(最主流的翻墙方式) Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为 V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。
由于大家更加熟悉 Shadowsocks 和 VPN,所以很多人可能会想当然地将 V2Ray 看作一个特定的翻墙协议或用于实现该协议的翻墙软件。但正如上面所说,V2Ray 实际上是一个融合了各种翻墙协议的集成性协议,其中只有 VMess 协议是 V2Ray 社区原创的翻墙协议。从这里就能看出,V2Ray是诞生在Shadowscoks和其他翻墙协议的基础之上的(更先进);而且由于Shadowscoket的创始人被请去喝茶,现在那个项目基本没人维护了。
|