博文記錄
教程分享 2020-06-16 13:34:23 19145 8

通过搭建 v2ray 配置 http 伪装免流 host,实现联通卡的免流,也可以进而分享热点给笔记本或者其他移动设备使用。

之前很久之前写了关于 ssr 免流大王卡的教程,此次通过 v2ray 也和上回差不多。本质相同,但是在稳定性上高于 ssr。

测试免流的卡为阿里小宝卡,阿里系 app 均可免流。已测试异地联通也可免流,apn 接入选择默认的 3gnet 就可以了。

找一台适合联网访问的服务器配置 v2ray

1.下载 v2ray

如果你的服务器没有 unzip,可以通过 yum install -y unzip 或者 apt install -y unzip 安装。

mkdir /home/v2ray && cd /home/v2ray
wget https://github.com/v2ray/v2ray-core/releases/download/v4.21.3/v2ray-linux-64.zip
unzip v2ray-linux-64.zip

2.配置 v2ray

配置可以参考以下完全复制粘贴,其中的端口建议为 80,除非你抓包对应的 host 有明确的其他端口,例如 8080 等。

客户端所用的 ID 18a28d40-fb08-942f-a220-01a34c1d608d 也建议修改掉,也要符合 uuid 的格式规则。

注意,服务端的配置完全不需要额外配置免流的域名 host 或者其他 header 参数,如果你需要配置也没关系。

建议配置写入到:/etc/v2ray.json

通过 http 伪装 HOST 实现免流配置:

{
	"inbounds": [{
		"port": 80,
		"protocol": "vmess",
		"settings": {
			"clients": [{
				"id": "18a28d40-fb08-942f-a220-01a34c1d608d",
				"level": 1,
				"alterId": 64
			}]
		},
		"streamSettings": {
			"network": "tcp",
			"tcpSettings": {
				"header": {
					"type": "http",
					"response": {
						"version": "1.1",
						"status": "200",
						"reason": "OK",
						"headers": {
							"Content-Type": ["application/octet-stream",
							"application/x-msdownload",
							"text/html",
							"application/x-shockwave-flash"],
							"Transfer-Encoding": ["chunked"],
							"Connection": ["keep-alive"],
							"Pragma": "no-cache"
						}
					}
				}
			}
		}
	}],
	"outbounds": [{
		"protocol": "freedom",
		"settings": {
			
		}
	},
	{
		"protocol": "blackhole",
		"settings": {
			
		},
		"tag": "blocked"
	}],
	"routing": {
		"strategy": "rules",
		"settings": {
			"rules": [{
				"type": "field",
				"ip": ["geoip:private"],
				"outboundTag": "blocked"
			}]
		}
	}
}

当然你也可以通过 Websocket 协议实现免流:

{
    "stats": {},
    "api": {
        "services": [
            "StatsService"
        ],
        "tag": "api"
    },
    "routing": {
        "strategy": "rules",
        "settings": {
            "rules": [
                {
                    "inboundTag": [
                        "api"
                    ],
                    "type": "field",
                    "outboundTag": "api"
                }
            ]
        }
    },
    "inbounds": [
        {
            "streamSettings": {
                "wsSettings": {
                    "path": "/ray"
                },
                "network": "ws",
                "kcpSettings": {
                    "uplinkCapacity": 5,
                    "downlinkCapacity": 20,
                    "readBufferSize": 1,
                    "mtu": 1350,
                    "header": {
                        "type": "none"
                    },
                    "tti": 20,
                    "congestion": false,
                    "writeBufferSize": 1
                },
                "tcpSettings": {
                    "header": {
                        "type": "none",
                        "response": {
                            "status": "200",
                            "headers": {
                                "Transfer-Encoding": [
                                    "chunked"
                                ],
                                "Connection": [
                                    "keep-alive"
                                ],
                                "Content-Type": [
                                    "application/octet-stream",
                                    "application/x-msdownload",
                                    "text/html",
                                    "application/x-shockwave-flash"
                                ],
                                "Pragma": "no-cache"
                            },
                            "reason": "OK",
                            "version": "1.1"
                        }
                    }
                }
            },
            "protocol": "vmess",
            "port": "80",
            "settings": {
                "clients": [
                    {
                        "alterId": 64,
                        "level": 0,
                        "email": "4",
                        "id": "18a28d40-fb08-942f-a220-01a34c1d608d"
                    }
                ]
            }
        },
        {
            "tag": "api",
            "settings": {
                "address": "127.0.0.1"
            },
            "protocol": "dokodemo-door",
            "port": 5001,
            "listen": "127.0.0.1"
        }
    ],
    "policy": {
        "levels": {
            "0": {
                "statsUserUplink": true,
                "statsUserDownlink": true
            }
        },
        "system": {
            "statsInboundDownlink": true,
            "statsInboundUplink": true
        }
    },
    "outbounds": [
        {
            "protocol": "freedom",
            "settings": {}
        },
        {
            "tag": "blocked",
            "protocol": "blackhole",
            "settings": {}
        }
    ]
}

3.配置计划任务

你也可以不用此方式,只是最近我发现系统有些服务总会莫名其妙的崩溃,建议加计划任务进行守护。

需要注意的是,如果你用如下的脚本,那必须保证这台服务器只能运行一个 v2ray 程序,否则会失效。

cat >/home/shell.sh <<\EOF
#!/bin/bash
count=`ps -ef |grep v2ray |grep -v "grep" |wc -l`
if [ 0 == $count ];then
    nohup /home/v2ray/v2ray -config /etc/v2ray.json>/dev/null 2>&1 &
fi
EOF

通过 crontab -e 打开计划任务编辑器

在最后一行追加以下内容,以保证每分钟都会去检测服务是否存在,不存在则启动。

* * * * * bash /home/shell.sh

4.客户端连接

以下信息参考修改就可以,重点是 host 为你的可免流应用的 host ,我提供的是宝卡的虾米音乐免流。如果你是联通其他卡,可以测试将你的免流应用(定向免流) host 填入测试。

连接信息

IP: 你的服务器 IP
PORT: 80
ID: 18a28d40-fb08-942f-a220-01a34c1d608d
AlterID: 64
安全性:None
网络:tcp
标头类型: http
host: m128.xiami.net
path: /

测试小歪卡免流 Host

v6-dy.ixigua.com
v3-dy-x.ixigua.com
a6-ipv6.pstatp.com
v27-tt.ixigua.com
dm.toutiao.com

微博免流 Host

m128.xiami.net

5.热点免流

很多人和我一样不只是用于手机免流,还要分享热点给其他 PC 或者移动设备使用,就需要额外设置一下。

如果热点分享的设备没有 root,那么请先设置共享绑定地址为:0.0.0.0

在需要连接的设备连接 wifi 热点时,需要设置代理为你的分享热点手机的 IP 地址,端口为 10809 (必须是 http 代理),IP 地址可以在首次连接后的 WIFI 信息里找到。

如果你分享热点的手机已经 root 了,那么只需要额外下载一款 app(VPN Hotspot),并将流量导入 vpn(即 v2ray),就可以让其他设备自动接入免流流量。

下载:VPN Hotspot

在已经开启了 v2ray 后,通过该软件共享链路(若提示 root 权限,请务必授予)。

成功之后,那么你应该可以通过你其他设备使用这个免流流量了。

注意:若连接后没有速度或者压根无法连接,可以去系统设置中打开开发者选项(关于手机中点击版本号 7 次),开启后进入开发者选项中,关闭网络共享硬件加速(Tethering hardware acceleration),然后重复上述步骤。

6.小宝卡测试免流结果

7. 免流失败排查

如果能通过代理,但却无法免流,并且通过联通营业厅账单查询流量归于免流 host,但计费依然是非免流。

一般遇到这种情况原因是深圳的相关用户,流量通过深圳的网关出去,深圳网关进行流量计费时会校验 host 白名单、IP 白名单等,你的 IP 不在白名单内,就会导致无法免流。

解决办法:

  • 若卡归属地是外地,在深圳上网,则联系客服,将卡流量改为,归属地接入上网。
  • 若卡归属地为深圳,在外地上网,则联系客服,将卡流量改为,漫游地接入上网。
  • 若卡归属地为深圳,在深圳上网,则无解。

如果是其他地区用户遇到,也可以类似这样切换尝试下。

参考文章:https://10101.io/2018/12/16/share-vpn-connection-over-wifi

Profile Picture
Admin

- From Web - 2020-07-04 14:43

您好,这边按照您的步骤处理后,v2rayNG出现context deadline exceeded错误,不知道是服务器端有问题还是客户端的连接参数没有设置正确

28 Likes
Comment

Profile Picture
Luo Lou

- From Web - 2021-01-14 13:29

你好,现在还能免流吗?准备买一张试试


Profile Picture
1136722007

- From Web - 2021-03-11 09:46

现在虾米音乐已经关闭,应该不能免流了吧

3 Likes
Comment

Profile Picture
Chauncey Eller

- From Web - 2022-07-17 12:51

@1136722007 可以用其他免流 host,甚至联通营业厅、沃音乐等,适用于你的手机卡免流资费的都行


Profile Picture
liu

- From Web - 2021-07-30 21:57

电脑用socket代理连10808为啥不行啊

248 Likes
Comment

Profile Picture
say

- From Web - 2021-11-28 11:08

协议方面http和ws之间有什么区别吗?用于免流混淆的话


Profile Picture
say

- From Web - 2021-11-28 11:08

协议方面http和ws之间有什么区别吗?用于免流混淆的话


Profile Picture
Chauncey Eller

- From Web - 2022-07-16 16:05

@say websocket 免流跳点会高,HTTP 跳点较低,优先使用 HTTP 协议。

2 Likes
Comment

media iamge
StudioEIM - 冒险者讲习所
0:00