V2Ray 是什么?

下面是我直接从 V2Ray官网 摘下来的一段介绍:

Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为 V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。

由于大家更加熟悉 Shadowsocks 和 VPN,所以很多人可能会想当然地将 V2Ray 看作一个特定的翻墙协议或用于实现该协议的翻墙软件。但正如上面所说,V2Ray 实际上是一个融合了各种翻墙协议的集成性软件,其中只有 VMess 协议是 V2Ray 社区原创的翻墙协议。

那上面那段话的 Project V 是什么呢?V2Ray 最早就这一个名字,维护 V2Ray 的社区叫 V2R …


目录

··前言

··VPS

··Linux和命令行

····什么是Linux?

····Shell

····SSH

······认证方式

······端口更改

··实例讲解

····Shadowsocks-libev的例子

······安装流程

········Ubuntu 16.10 or higher

········Ubuntu 14.04 and 16.04

······使用方法

··其它一些细节问题

····复杂?简单?

····一键安装脚本

··尾声

前言

Shadowsocks(以下简称ss)或shadowsocksr是目前最为主流的翻墙代理协议。使用人数之多,足以撑起商业化的发展,看看网上铺天盖地的机场(ss提供商)就知道了。

不过,机场的问题还是很多的,比如安全问题、机场被ddos的问题、小机场速度稳定性问 …


本文同时也发表于个人博客SUMMON

本博客托管于Google旗下的blogger,而到目前为止,除了Google翻译,Google的所有产品在中国境内均无法正常访问。也就是说,除非人在国外或港澳台地区,否则,你一定是通过翻墙的方式访问到本博客的。提到翻墙(现在应该说“科学上网”或者“爱国上网”),有几个词很常见,即vpn、vps、Proxy和shadowsocks。我刚接触翻墙那会儿,对这个词的意思非常混淆,傻傻分不清。想必不仅是我,不少新手应该都有过这样的困惑。这里,我们就在尽可能忽略那些晦涩难懂的技术细节的情况下,简单地讨论下这个问题。

翻墙原理

在讨论vpn、Proxy这些之前,我觉得有必要先提一下目前主流翻墙手段的实现原理。

GFW实现网络封锁的手段主要有两种:dns劫持和ip封锁(除此之外,还有dns污染和关键词过滤,这里我们不讨论)。

Dns劫持:ip是网络上各主机的“地址”,要想访问“别人家”,当然得要有地址。但ip是一串数字,是给电脑看的,人记起来太麻烦,所以就有了域名(也就是我们常说的网址)和 dns(网域名称系统,Domain Name System)。域名是一串英文字符串,方便人记忆。dns将域名和ip关联起来,形成映射。用户访问域名所在的目标网站前,将域名发给dns服务器询问这对映射关系,拿到对应的ip后就可以在茫茫网海中找到那个“她”了。而GFW所做的就是站在用户和dns服务器之间,破坏它们的正常通讯,并向用户回传一个假ip。用户拿不到真正的ip,自然也就访问不到本想访问的网站了。

Dns劫持是GFW早期唯一的技术手段,所以那个时候的用户通过修改Hosts文件的方式就可以零成本突破封锁了。

ip封锁:dns劫持之后,GFW引入了ip封锁,直接锁住了访问目标网站的去路,用户发往被封锁ip的任何数据都会被墙截断。这个时候,依靠类似于修改Hosts文件这种低成本方法突破封锁就显得有些天方夜谭了。那么,解决办法是什么呢?答案是:在第三方架设翻墙服务器,中转与目标服务器间的来往流量。目前为止,GFW采用的是黑名单模式,像Google、Facebook这种在黑名单上的网站的ip无法访问,而不在黑名单上的第三方不记名ip可以。于是,一切就很明朗了,我们目前几乎所有的翻墙手段都是基于上述原理实现的,vpn是,shadowsocks是,还有一些比较冷门的(比如v2ray)同样如此,只不过它们的技术细节不同(这个我们不会深入)。

vpn

Vpn,全称“虚拟私人网络(Virtual Private Network)”,是一种加密通讯技术。vpn是一个统称,它有很多的具体实现,比如PPTP、L2TP、IPSec和openvpn。vpn出现远早于GFW,所以它不是为了翻墙而生的。我上面说了,vpn是一种加密通讯技术,它被设计出来的目的是数据传输安全和网络匿名

而既然不是为翻墙而生,那从翻墙的角度上讲,vpn协议就存在诸多问题。最严重的一个就是流量特征过于明显。墙目前已经能够精确识别绝大部分vpn协议的流量特征并给予封锁,所以,vpn这种翻墙方式基本已经废了。

但即便如此,vpn作为过去很长一段时间最主流最热门最常用最为人所知的翻墙手段,已然成为翻墙的代名词。即便是vpn已不再常用的今天,当人们谈及翻墙的时候,说得最多的仍是:“你有什么好用的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代理媲美。但v2ray存在的时间较短、使用者较少、社区也没有HTTPS代理活跃(从全球范围上看),故而,相比于HTTPS代理,vmess协议潜在的安全漏洞可能要多。

当然,HTTPS代理也有它的缺点,其中最大的缺点就是配置复杂。即便能用默认参数就用默认参数,用户自己只作最低限度的配置,对新手而言,这也是一个无比痛苦的过程。更别说,想要正常使用HTTPS代理,你还要购买域名和证书这些,非常麻烦。所以,即便是在shadowsocks出现之前,HTTPS代理也没在大陆流行起来。这也是造成v2ray的小众的主要原因之一(另一个是用户没有从shadowsocks迁移到v2ray的动力),它的配置同样相当复杂。除此之外,HTTPS代理只能转发tcp流量,对udp无能为力。

这里推荐刘亚晨先生的一篇文章「各种加密代理协议的简单对比」。

vps

再来说说vps。

大家不妨想一个问题:我们平时上网浏览网页,我们访问的那些网页都是哪来的?答案很简单,从另一台电脑上下载下来的。无论是用户平时所使用的个人pc,还是用于搭载网站的服务器,本质上都是电脑。但与个人pc不同,被用作服务器的电脑必须做到24小时开机在线,以确保能在任何时候回应用户的请求。而vps,就是不会关机的电脑。

VPS(Virtual private server,虚拟专用服务器)是由vps提供商维护,租用给站长使用的“不会关机的电脑”。vps不是一台台独立的电脑,而是将一台巨型服务器通过虚拟化技术分割成若干台看似独立的服务器。这台巨型服务器不间断运行,被分割出来的小服务器也跟着不停的运作,站长租用其中一台小服务器,搭载上自己的站点,就可以等着用户访问了。

那么,个人电脑能不能做服务器呢?当然可以!我上面说,“与个人pc不同,被用作服务器的电脑必须做到24小时开机在线,以确保能在任何时候回应用户的请求。”这句话反过来看,如果个人pc能做到24小时在线,它同样也可以用作服务器。事实上,有不少个人网站就是搭载在家中闲置的电脑上的。同时,还有人选择用树莓派、个人NAS建站。但是,由于大陆的ISP运营商面向普通网民提供的是动态ip,绑定域名很不方便,再加上宽带上网上下行网速不对等、网络稳定性不高等问题,大部分人还是选择使用vps建站。(除此之外,前一段时间,政府下达了新政令,要求运营商封禁个人宽带网络的443端口和80端口,至此,个人pc建站几无可能)。

那么,vps和vpn、Proxy以及我们后面会说的shadowsocks有什么关系呢?很简单,vps可以用来搭建网站,当然也可以用来承载vpn服务器、代理服务器或是shadowsocks的服务器啦。建站固然是vps最主要的作用,但绝对不是它唯一的作用,既然vps本质上也是电脑,那电脑能做的事它当然也能做。

shadowsocks

最后,就是我们的shadowsocks闪亮登场了。

介绍之前,我这里先附上shadowsocks的官网链接。英文比较好的同学建议看看官网上对shadowsocks的介绍。

在shadowsocks之前,墙内网民主要依靠寻找现成的技术实现翻墙。比如vpn、HTTPS、tor的中继网桥以及之后的meek插件等等,虽然也有自己的技术,比如一种依靠Google隐藏ip实现翻墙的技术(名字忘了),但毕竟难成大器,再加上GFW逐渐加大对VPN的干扰,人们迫切需要一种简单可靠的技术来抵御GFW的进攻。

于是,大概是在2013年吧(具体时间我也不太清楚),@clowwindy带着他的shadowsocks横空出世。

Shadowsocks同样是一种代理协议,但是作为clowwindy为国人设计的专门用于翻墙的代理协议,相对于vpn,shadowsocks有着极强的隐匿性;相对于HTTP代理,shadowsocks提供了较为完善的加密方案,虽然比不上HTTPS代理和vpn,但使用的也是成熟的工业级的加密算法,普通个人用户完全不用顾虑;相对于HTTPS代理,shadowsocks的安装配置更为简单,中文社区更为活跃,中文文档教程更完善,更符合中国国情。

Shdadowsocks最初的版本是由clowwindy使用Python(一种目前非常热门的脚本编程语言)实现的。所以clowwindy的版本被称为Python版。shadowsocks有点名气之后,不同的开发者使用不同的编程语言为其写了很多分支版本。比如,@cyfdecyf开发维护的Go版本,@madeye开发维护的libev版本(由纯C语言编写,基于libev库开发),由@librehat开发维护的c++版,由@zhou0开发维护的Perl版。这些版本的安装使用指南都可以在shadowsocks的官网上查阅。

2015年,clowwindy因喝茶事件被迫停止了shadowsocks的维护,并删除了其开源在GitHub上的代码,Python版就此停滞。但其它版本仍处于维护更新中。其中,更新最频繁,新技术跟进最快的是由@madeye维护的libev版本。这里有必要说明下,目前,shadowsocks协议(请区分“shadowsocks协议”和“shadowsocks协议的具体实现”这两者的区别)是由shadowsocks社区内的成员共同维护,协议上任何新改进都是社区成员共同商讨的结果。但对这些变化,不同的版本的shadowsocks跟进速度不同。而跟进速度最快的就是我上面说的libev版。无论是SIP007确认的ADEA Ciphers(一种同时进行认证和加密的算法),还是SIP003引进的simple-obfs(tor开发的一种混淆插件),shadowsocks-libev都是最早引入自己软件的。

上表是我从shadowsocks官网上直接搬下来的,显示了目前各版本的shadowsocks对协议新特性的支持情况。

当然,这里说的全是服务端的shadowsocks,客户端的没提,也没法提,因为实在太多了,比如比较出名的两个,surge和shadowrocket。这些客户端有好有坏,良莠不齐,对shadowsocks协议的支持程度也不一样,有的需要付费(iOS端基本都要付费,而安卓端则基本免费),费用也不一样。而且,这些客户端绝大部分都不是shadowsocks社区的“官方客户端”,而是第三方开发者制作的客户端。

以上,就是本文的全部内容了,希望对您有帮助。

原创内容,转载请注明出处。


苹果:最愚蠢的点子造就最惊人的天才(翻译)

原文链接:https://www.fastcodesign.com/3068109/the-surprising-genius-of-apples-dorkiest-idea

MARK WILSON | 02.13.17 | 7:00 AM

1996年。

苹果公司正经受着Mac发布后到iPod发布前这最糟糕的几年,运营得很不顺利。乔布斯正式回到苹果是1997年,在那之间,苹果正沉思着如何靠它的商标快速盈利。在这个引领其走向繁荣的间隙里,苹果产生了一个大胆的(事后看,亦是必然的)的想法:Apple Cafe(苹果咖啡厅)。

这不是你今日所见的Apple Store ,甚至不为苹果设计所设计。Armin Vit 揭露,Apple Cafe 兼具复古与科幻两种元素 — — 霓虹于上,电脑桌前。就如同坐落于Cupertino(库比蒂诺,一座位于美国加利福尼亚州旧金山湾区南部,圣塔克拉拉县西部的城市)发源地的Planet Hollywood (行星好莱坞,主题酒店名),你可以与隔间的朋友通过电话商谈事物,或是通过苹果点奶点餐。这一切都来自一家和电影Back to the Future 2外景地很像的咖啡馆。

也许并不令人惊讶,这离奇的幻景已被迪士尼带进了现实。前迪士尼幻想工程创始人Tony Christopher于1980建造了Landmark Entertainment Group 。Landmark 将会为环球影城建造主题公园式的景点(包括建立在电影Back to the Future:The Ride),并带来如坐落于拉斯维加斯威的尼斯小镇内的Grand Canal Shoppes一般极具开创性和戏剧性的购物体验。

最近,在与Co.Design访谈中,Christopher 详细讲述了Apple Cafe背后的发展历程。虽然,Apple Cafe 作为苹果市场营销一次早已被人们所遗忘的尝试沉入历史,但它也许是Apple Store 的基石。Christopher 分享了你下面看到的这张图片,图中的许多东西似乎从未在之前发表过。

乔布斯的网吧

Christopher 告诉我们,刚与Landmark 的接触时,苹果一并不清楚什么是他们想要的。但乔布斯对Apple Store 最初的一些想法就在那儿:

我们被苹果引领着,因为我们所有的经验皆出于此。我们是一群致力于创造一个独一无二的零售店的天才(原文为go-to guys )。史蒂芬·乔布斯(说起来,我们从未真正见过他)选择了与我们合作的团队,因为他正在寻找一种方法,一种能够将苹果与客户连接在一起的方法,一种能够让客户触碰到苹果的方法。

我们没去过那个校园。是这个团队一起到我们的办公室与我们见面。我们有几件他们做的Apple Cafe 的夹克,所以我们也属于他们团队!

二十年前,网吧还是一个比较激进的想法:

他们不清楚第一步想怎么走。我不知道这是他们对咖啡厅的想法,还是说,这是我们的点子。这是二十年前的事了!但这是我们工作的方式,很多时候人们对我们说,“我们不太确定什么是我们想要的···我们在寻找一种方法连接我们的客户···”如果我是一位赌徒,我认为我会说,“建一家Apple Cafe 吧。”那是世界上第一家网吧。那时候还没有网吧,而许多没有电脑的人也都想感受一下电脑的魅力。回到1998年,这确实是一个激进的想法!

Thomas Xu

Digital Refugee…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store