引言
免流,意思是你用了手机流量运营商却不收你的钱,这种好事真的存在吗?确实存在,并且已经很多年了,本期就来跟大家聊一聊免流的原理以及怎么搭建免流节点。
免流对于现在大部分用户来讲是比较陌生的,
很多人的流量套餐基本上都用不完,
即使流量超了也只会限速,不会扣费,
根本不用担心流量不够的问题,
而在十多年前wap时代 大家上网都是以文字为主,
那个时候卯足了劲用一天下来估计也就花个十兆。
随着移动互联网的兴起,
手机上网从文字转变为了以图片和视频为主,
10M流量看几个封面图就没了,
需求有了大幅的提升,
但是流量的价格并没有随着需求的提升而降低太多,
稍不注意就会导致流量用超了,导致手机被扣费 ,
当时有流量贵如油的说法 。
此时大概是在2015年左右,
也正是这一年,国家开始插手了,
给三大运营商下达了提速降费的死命令,
但是真正实施起来还需要一段时间,
免流也正是从这个时候开始大火起来,
随着近年来流量资费越来越低,
并且针对流量需求高的用户推出了各种定向流量卡,
免流也逐渐成为了一个小众的需求,
很多人没有听过也并不奇怪 ,
目前的免流对象主要是在校学生,
还有使用手机接管整个家庭网络的高精尖玩家.
现在网上已经有了很多制作详细的免流实操教程,
但我觉得复现结果的过程对自己也是一次不错的学习经历,
所以就结合梁林的教程,又重新做了一遍。
这篇文章转载自“梁林”。
预览
讲解免流原理与免流节点搭建,实战定向免流,停机免流,混淆抓包,本地免流、直连免流、云端免流,免流的缺点
最低配置要求
调用X-ray内核:X-UI(内核1.7.5及以上)
托管 / 运行环境: VPS(小鸡,不建议使用你的Web服务器)
设备:Android
抓包:Reqable(简单易用,建议Root设备以添加系统根证书劫持全部流量)
HTTP伪装: V2ray
应用:使用你支持定向流量的应用
免流原理
1. 本地免流
以移动运营商为例,假设你的流量套餐剩余一百兆,此时使用手机浏览器访问百度,数据会发送给移动的apn接入点cmwap,APN你可以想象成我们家里的网关,也就是路由器。
但不同的是,移动的apn中会有计费系统和代理服务器,我们访问百度的请求首先会交给计费系统,由计费系统判断本次通信是否需要扣除流量,然后将数据交给代理服务器,由代理服务器帮我们访问百度,百度将其网站的首页数据内容返回到你的浏览器中。
假设此次通信消耗了一兆流量,现在还剩余九十九兆,接着你又访问了移动的掌上营业厅网址,而移动对于访问自家网站的流量不计费,直接交给代理服务器帮你访问,假设此次通信消耗了一兆流量,由于计费系统检测到你访问的网址是移动的掌上营业厅,所以不会扣除,流量还是剩余九十九兆,而本地免流实现的原理就是让计费系统以为我们在访问掌上营业厅,实际上我们让代理服务器帮我们访问百度。
要想实现这个目的就必须对数据包动手脚,可以先在手机上搭建一个http代理,手机访问百度的请求先交给本地搭建的http代理,代理要做的就是对数据包进行修改,将修改后的数据再发给移动的apn接入点,只要修改后的数据包让计费系统以为我们在访问掌上营业厅,而代理服务器却帮我们访问了百度,那么就能实现免流。
其实和我们现在使用的ss,vmess等协议是类似的原理只不过翻墙是在本地对数据进行加密欺骗长城防火墙,而免流是在本地对数据进行伪装欺骗运营商,翻墙使用的代理工具有v2ray和clash,免流使用的代理工具有hap samp,tinyproxy等等。
那怎么改才能实现这种骚操作呢,主要是通过修改http的请求头和请求参数,需要你对http协议有一些了解,当然,运营商也不是吃素的,发现这种利用方式之后 马上对这种方法进行了修复,随之也就失效了。
接下来就是广大网友和运营商之间的斗智斗勇,发明了各种各样的免流模式,有给请求头插入两个host字段的双h模式,计费系统看第一个host字段,而代理服务器看第二个host字段,也实现了免流,也有插入两个x-online-host双X模式,
这里加个回车,那里加个空格,伪首模式,伪彩模式,前缀模式,后缀模式,菊花模式等等等等,不管怎么叫,最终目的都是通过修改http的请求头来想方设法绕过计费系统,这就是本地免流的核心,这种本地免流是第一种火起来的免流方式。
但风靡了一时,很快就沉寂了,因为能改的地方也就那么几个,当运营商把所有的方式都修复了之后也就无法绕过了,而且我们现在用的运营商apn接入点并没有使用代理服务器,发出去的数据包需要遵循标准的http协议,对协议头乱改的话会导致无法上网,
另外,这种方式也比较折腾,各个地区使用的免流模式都不一样,在广东能免的模式在上海就不一定能免,还要关注跳点的问题,因为你手机的上网流量不一定会经过本地的http代理,这部分流量会被正常计费,需要安装防跳脚本来屏蔽或者重新路由这部分流量,
这种脚本对系统权限要求高,需要root手机,虽然说以前的手机root很简单,但对小白用户来讲还是比较繁琐的,最烦人的是,本来可以免流的模式,被修复之后就不免了,而你却全然不知,还在吃着火锅唱着歌,心想用着白嫖的流量就是爽,
当时的流量统计有滞后性,当天用了的流量可能隔天才能体现出来,有时候一觉醒来发现多了好几条10086的短信,提醒你流量超标欠费停机了。。。
2. 定向免流于云端免流
随着4G的普及和国家大力推进提速降费,网速越来越快,流量资费也越来越低,漫游费也被取消了,流量都是全国通用,有的人刷抖音用流量比较多,有的人看腾讯视频用的多,但全国通用的流量资费还没有低到随意挥霍的程度,针对这种情况,
各大运营商相继推出了各种定向流量卡,腾讯王卡,百度圣卡,阿里钉钉卡等等,区别于全国通用流量,定向流量只有在访问特定的网站或者使用特定的app的时候才会用到,资费要比通用流量低不少,甚至有些定向流量卡是无限流量的。那怎么做可以实现访问任何网站都只使用资费较低的定向流量呢,这就需要用到下面介绍的定向免流方式,虽然说是说免流,但实际上是要消耗定向流量的。首先,我们需要了解运营商是如何判断我们访问了对应的网站,或者使用了对应的app,从而将流量计费到定向流量,其实原理还是和本地免流一样,都是检测host,假设你使用腾讯的大王卡,并且使用腾讯视频观看影片,大王卡对访问腾讯系的网站会进入定向流量,此时我想访问百度的流量也进入定向流量,同样只需将http请求头的host从百度改成腾讯视频即可,当计费系统收到数据后,就会将流量记入定向流量,由于目前我们使用的apn接入点没有代理服务器,我们这里假设计费系统不再只是统计流量,同时也要帮我们访问互联网,此时问题就出现,我们既然把host改成了腾讯视频,也确实计入了定向流量,那他怎么帮我们访问百度呢,刚才介绍本地免流之所以可以免流,原因就是因为计费系统和代理服务器使用的host是不一样的。
现在计费系统既要统计流量又要负责访问互联网,使用的host肯定就是一样的,所以我们可以使用翻墙协议的host伪装功能来欺骗运营商的计费系统。
区别于本地免流,这种免流方式需要用vps搭建节点,所以也被称之为云端免流,简称云免,假设我们搭建了一个vmess节点,伪装host为腾讯视频的网址,
接着使用这个节点进行上网,当我尝试访问百度的时候,数据会先交给vmess进行加密处理,由于我们开启了伪装host,会在加密后的数据头部插入http的请求头,其中就包括了伪装的腾讯视频host。
前面还会加上目标服务器的ip地址,也就是我们的节点服务器,经过处理后的数据发送到了运营商,计费系统一看头部的host,发现是发给腾讯视频的,于是就将其记入了定向流量,并将数据转发到互联网。
数据包的最终目的地是我们的节点服务器,节点拿到数据包后会将伪装host去掉,并通过vmess解密流量数据,发现我们要访问百度,于是帮我们访问百度,得到的数据将会经过vmess加密,并添加http头部伪装,发回到我们的手机,这样就实现了欺骗运营商的计费系统,又访问了真实的目标网站,这就是云免的原理,也是目前实现免流的主要方式。
云免不像本地免流一样有诸多烦人的配置,只要连上节点即可实现免流,另外,节点本身的作用是用来翻墙的,也就是说既实现了翻墙,又可以免流,可以说是一举两得。
3. 搭建免流节点
首先在你的VPS上安装Xray,当然,你也可以和我一样通过xui面板调用Xray内核,你可以通过这条命令一键安装
1
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/956bf85bbac978d56c0e319c5fac2d6db7df9564/install.sh) 0.3.4.4
安装完之后进入面板的入站列表,添加一个节点,备注随便填写,协议推荐使用vmess,端口改成80
不一定非要使用80,具体得看计费系统除了检测host是否还会检测端口,你可以参考网上的教程,如果不清楚的话就使用80,传输协议为tcp,使用ws也可以,因为ws也可以添加伪装host,并不一定非要使用vmess协议,vless,ss+plugin或者ssr,只要能添加host伪装的都可以。
这里为了方便就直接使用vmess协议,另外vless协议没套tls的时候是明文的,不建议使用,而套tls又会触发运营商对证书的检查,所以也不建议套tls,这里由你权衡利弊,接下来在用户端添加伪装host。
伪装host要通过对你定向流量的app进行抓包获取,我这里使用Reqable,一般来讲只要是这个app产生的数据包都是可以使用的。
将抓包获取的域名或ip填入用户端的伪装host,然后连接即可,非常简单。
4. 停机保号免流
最后就是电信的停机免流了,原理就是利用电信停机后会给你开通一个话费充值的绿色通道,简称绿通 ,让你在停机断网的时候也能使用绿色通道进行上网充值话费,防止你在无人区失联。
不管你是欠费被停机还是主动申请停机保号,都有充值绿色通道,既然在断网的情况下可以访问绿通,那只要和定向免流一样,将host伪装改成绿通的网址,就能实现免流了,
这样,每个月只需缴纳五元的停机保号费用 就能拥有无限流量了,非常的简单
但电信也不傻,充个话费哪需要那么大的流量,很快大部分地区的绿通就被限速了,目前只剩几个地区还没有被限速,可能在不远的将来也会被限速,
电信的话费充值绿色通道a.189.cn,如果你恰好有一张停机卡,将a.189.cn填入伪装域名就可以了
总结
关于免流节点的搭建是非常简单的,但是免流也存在一些缺点,除了上面提到的对CA机构,证书于SNI是否匹配外,还会检查端口,比如80,443,8080等等。
除此以外,免流节点还存在的问题是,如果你的服务器在国外,那么你访问国内网站时难免会出现延迟高的问题,当然,你也可以加钱上GIA,CN2,但是你都买得起专线了还会在乎那一点流量费吗?
你也可以换国内的服务器,单独写一套分流规则并配置二级代理,让访问国内网站的流量使用国内的服务器,访问国外网站的流量通过国外服务器代理。
但此时你又会发现一个问题,前面也说了,国家强制要求运营商提速降费,羊毛出在羊身上,便宜了家宽,那就让商宽来补贴,所以你会发现买一个国内服务器大一点的带宽有多贵,然后你就会得出这么一个结论:
我有这钱,还不如买个流量多点的套餐,这就是免流目前的处境,也有比较小众的免流机场会提供国内节点,大家自行去了解吧,用不用那就看每个人的需求了。
好了,本次的分享就到这里,欢迎大家的留言
后记与行动项
下一篇我想写:VMess的原理与实现,我会把第一篇同时做成中英两版。
欢迎在评论里告诉我你最想了解的部分 💫
感谢阅读