微屁恩使用指南之 —— V2Ray

2020-02-06 21:45:55

经历下架整改后重新上架,替换关键词为“微屁恩” 🌚
====================== 分割线 ================

2020.02.06
廊坊,大雪;陕南,雨 ;平凉,大晴。
新冠,正嚣张;强食自爱,正当时。

DC72E462-DEC2-4724-91DE-C19FE3FEE72E_Origina

弱小和无知不是生存的障碍,傲慢才是。

—— 刘慈溪,《三体》

正值立春,雨雪飘零,又时下革命形式严峻,当即抄写《卜算子·咏梅》。吾辈当继承毛泽东同志坚贞不屈的革命意志,面对疫情,严阵以待,做好防护。

IMG_2981

下文,非刁民勿入!

这些墙很有意思,刚开始你恨它,慢慢的你习惯于其中,时间久了,你发现离不开它了,这就是“体制化”。

—— 《肖生克的救赎》(The Shawshank Redemption)

一、前言

本文旨在介绍新的科学上网方式——V2Ray的使用。

从最开始GFW(Great Firewall,中文也称中国国家防火墙)之父,国之栋梁方滨兴院士,主导、研发、建立国家防火墙工程之后,大陆通往世界的互联网道路从此被阻隔。从建立伊始至今,此墙为广大中国人民屏蔽了无数的不良言论,得以使国内长期处于一片祥和的氛围当中。由此也诞生了中国最具良心、以搜索引擎起家的顶级互联网企业百度,此墙可谓国之重器。

然穷山恶水出刁民,总有刁民想翻墙。刁民谓:

面对威权压迫,你是甘为一辈子懦夫,还是坚定勇气,试着改变这个污浊不堪的世界?于此,虽千万人吾往矣。全新的shadowsocksR管理助手——SSR.Go,现已问世。长夜漫漫,父说,擦亮双眸的你,需要一道光明,使者便从了他的意,把光明给带来了。

—— Github SSR.Go 作者

时过境迁,在广大院士们的忘我科研中,墙越来越不易翻越,刁民们逐渐疲于应对,只能不断更换翻墙方式。从最初的ss到ssr,再到此文介绍的V2Ray,只为了看一眼墙外的景色。

V2Ray相比于ss系列,有何不同。首先直白的说下防火墙及翻墙与被封的原理。

防火墙的原理,就是通过各电信运营商,在大陆与外网通信的网络出入口,对传输的内容进行筛选、过滤。如果发现是国军,立马原地劝返。如果是共军则放行。至于如何识别是共军还是国军呢,大致的方法有 IP黑名单内容审查DNS劫持[1]

  • IP黑名单,简单说将外网的一些网站ip地址加入黑名单,如FB/Google等,当你的请求指向的地址在黑名单中,立即截断。
  • 内容审查,会有一份敏感词的列表,对于未加密传播的HTTP内容,拦截解析之,如果内容中包含敏感词,不好意思,白白了您嘞。
  • DNS劫持,可以理解为域名黑名单,对黑名单中的域名,将其解析到虚拟的ip地址。

ss/ssr的原理相同,都是通过socks5代理。举个栗子,你有一台香港的服务器,搭建了微屁恩,此时你要访问谷歌,会先与香港的服务器建立连接,并告诉香港服务器你要访问的内容,由香港服务器替代你,间接访问谷歌得到内容后,再转述给你。这里可以看到一个关键点就是,需要一个身在大陆防火墙之外的“代理人”,你们之间秘密通信,他替你完成内容的获取后转述给你。

ss作为初代梯子,简单快捷,造福了很多刁民,随后李大钊同志被请去喝茶,迫于淫威删除了开源代码。在李大钊同志倒下后又站起来了陈独秀同学,开源了ssr,并宣布ss已于识别检测,ssr加入了众多的加密混淆方法,更利于开展地下工作。然陈独秀同志最终也难逃被人肉的命运,最终也删除ssr代码。

ss和ssr在与GFW多年的肉搏下,其特性已经逐渐被摸清,GFW已经为这二位定制了一套战术,能够较高效的找到这二者的破绽,识别并封杀。在太平盛世下,这二位还能苟活些时日,然而一到有热点事件发生,GFW便会降低特征匹配率,这二位分分钟别秒杀。这就像人脸识别,系统会将预先录入的人像和当前人像对比,当达到一个设定的相似度,例如90%时,认为匹配成功。当特殊时期时,会将此阈值降低,例如降低到50%,此时只要你稍有国军的一点特征,便把你抓进去。ss和ssr这两位在特殊时期就显得无能为力。而这种时期恰是刁民们翻墙的高峰期。

V2Ray 在这种情况下应用而生,通过HTTPS、WS等一系列手段[2],将传输数据进行更好的加密伪装,从而能活的更长久。V2Ray由于其良好的防封表现,其功能也相当繁多、复杂。

SS => SSR => V2Ray,随着GFW的不断升级,梯子的复杂度也在指数增加,出现的结果就是,梯子越来越隐蔽稳定,但能搞定梯子的人变的越来越少😳

二、V2Ray 服务端配置

至此处,本文的核心内容已经完结。接下来的都是划水 是一些优秀文章的合集。

服务端推荐使用233boy开发的集成脚本,简单快捷 👉 服务端配置教程

三、客户端下载

暂将客户端分为:

  • macOS

    Mac下本人使用的是 👉 V2rayU

  • Windows

    未测试,无推荐,软件列表见本节末尾。

  • iOS

    iOS下暂无免费的客户端,付费客户端推荐Shadowrocket
    找到一个雷锋分享 AppStore 账号,已经购买了此软件,赶紧下起来。

    账号: rh72uw13@icloud.com
    密码: Dd112211
    

    账号过期的话,可以去此处找 👉 雷锋 获取

  • Android

    安卓客户端推荐 👉 V2RayNG

V2Ray客户端众多,除了上述推荐的之外,其余各平台的客户端见 👉 客户端汇总

四、软件配置

软件配置就不多说了,添加配置,手动填写/导入url/扫码导入都可,导入服务器配置后,开启服务器配置即可。

全局模式即为浏览器所有流量走代理。pac模式即为自动识别是否需要走代理,更加智能,当然也有识别出错的情况。

推荐

1、浏览器:这里多说一个 V2Ray 配合谷歌浏览器的神器插件 SwitchyOmega 的用法。SwitchyOmega 跟ss/ssr搭配已经很久了。这里不同的是,V2Ray 使用TCP模式时,SwitchyOmega 配置的代理记得从socks5换成HTTP。

2、全局代理:当我们想让电脑除浏览器外的其他软件也能翻墙时,需要使用全局模式,Mac下推荐 Proxifier ,具体设置可以自行Google。

附录

[1] 防火长城
[2] V2Ray

H5在全屏Webview中双端适配刘海屏

背景: 最近遇到一个看似常规的H5需求,是App内嵌的一个功能模块,看样子跟往常一样重复造轮子就OK了,客户端开个Webview加载页面即可。 正常我们遇到最多的是下面这种类型: 这种的话一般是封装一个Webview包含返回+标题+分享功能,然后加载H5即可,返回即关闭Webview,标题是读取网页的Title属性,分享是调起客户端的分享弹窗。 然是这次的H5有点不寻常的东西: 导航栏除了返回键、title、右侧的操作菜单(进入另一个H5页),在title还有一个操作项❔,用于点击弹出说明框。 有一个穿透状态栏和导航栏的背景 大概长下面这样: 向上面的这种复杂页面一般是客户端做的,但是!!! 因为种种原因,最后商量用H5做。那看到这样的设计图,机智的攻城狮们一般会跟产品争论一番讨论说你这背景图做不了,只能到导航栏以下,并且你这个问号得移到其他地方bulabulabula。。。 然而作为一名专业的攻城狮,我们当然是奔着最佳的视觉感官+用户体验去的,遇到问题要克服之! 那么确定100%还原设计图后,首先想到的一个方法是和双端定义一系列协议,包括设置全屏背景图、在title后面加操作按钮(及隐藏方法,因为到其他页面就没了),在右侧加自定义的菜单,点击后可跳转其他页面。这个看着就很麻烦,涉及到一系列的交互想想就头疼,还不如直接原生写的痛快一点。和客户端你同学讨论后他们果然面露难色,在我说完第二秒就否决的这种做法,原因很简单: 1、

IntersectionObserver

IntersectionObserver 最近发现一个有趣的API,实际上这个api已经面世好几年了,但最初浏览器兼容性有限,加上此功能使用场景不频繁,且有成熟的替代方案,所以知道的人并不多。 这个接口的功能,简单来说就是:**监测页面中的某个元素的可视状态。**可以是该元素相对于整个视窗的可见性,也可以是相对于某个父元素的可见性。我们平时使用较多的场景大概有: 举个栗子: 无限加载:滑动到底部时开始加载下页 吸顶效果:在页面滑动时触发某元素的悬浮效果(如下滑到一定位置,顶栏悬浮固定) 目前我们常用的成熟方案是,监听页面/元素的scroll事件,在scroll事件中通过判断元素的位置,来进行相应的逻辑处理。或者是分别通过touchstart touchmove touchend 等触摸事件,来判断滑动方向,滑动距离,再做出相应处理。主流的一些相关功能库基本也是这样的实现原理,如iscroll.js等。 从微信小程序的一个bug说起说起 这些方案使用上并没有太明显的问题,然而最近在开发小程序时,有一个滑动吸顶的效果,需要根据滑动距离变换顶部的背景,采用的便是上述的方案,监听scroll-view的滚动事件,根据元素距离顶部的距离实时判断修改。 为了提高性能,多滚动事件采取了节流,在此过程中发现小程序的一个问题,那就是采用节流后,如果滑动过快,小程序bindscroll事件返回的组件距离顶部位置会有错误,比如我从距顶50像素迅速滑到0,