v2user

维护机场的经验,从入门到入狱

上面提到的dnsmasq解锁也好,cloudflare解锁也好,前提都是需要安装额外的软件,说实话,繁琐,而且节点可能由于各种原因更换,比如,流量不够,到期,那么下一次就要重新再配置一次,相当的繁琐。

那么,就要重点推荐这个方法,用xrayr自带的功能。

准备工作

这里还是需要两台落地vps,一台可以正常访问流媒体,就叫做YES机器,一台不能访问,就叫做NO机。

现在啥也不安装,就通过xrayr自带的功能,就可以实现,NO机的解锁流媒体。

配置YES机

首先,登录到yes机,进入到xrayr的配置目录,一般是 /etc/XrayR

首先,修改 config.yml 第7行,类似如下内容:

1
InboundConfigPath: # /etc/XrayR/custom_inbound.json

取消掉注释,准许自定义进入规则。

其次,修改 custom_inbound.josn

修改
listen: "127.0.0.1"listen: "0.0.0.0"

port 可以自定义,这里例子用的是40001。

修改之后大概是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  {
"listen": "0.0.0.0",
"port": 40001,
"protocol": "socks",
"settings": {
"auth": "noauth",
"accounts": [
{
"user": "my-username",
"pass": "my-password"
}
],
"udp": false,
"ip": "127.0.0.1",
"userLevel": 0
}
}
]

这么修改的意义,就是在YES机开放40001端口,准许其他进行访问。

当然,需要准许防火前的端口访问。

ubuntu下的命令是

1
2
ufw allow 40001/tcp
ufw reload

最后一步,当然是重启 xrayr restart

配置NO机

首先,修改 config.yml

取消 第6行

RouteConfigPath: /etc/XrayR/route.json

和 第8行 的 #注释。

OutboundConfigPath: /etc/XrayR/custom_outbound.json

然后,修改custom_outbound.json

添加规则,大致如下,规则需要符合json格式。

1
2
3
4
5
6
7
8
9
10
11
12
{
"tag": "chatgpt_relay",
"protocol": "socks",
"settings": {
"servers": [
{
"address": "YOUR_YES_VPS_IP(你的YES机器IP)",
"port": 40001
}
]
}
},

这里就是新建一个规则名称为 chatgpt_relay,转发给YES机对应的端口,40001

然后,修改 route.json

添加规则,大致如下,需要满足json格式要求。

1
2
3
4
5
6
7
8
9
{
"type": "field",
"outboundTag": "chatgpt_relay",
"domain": [
"chatgpt.com",
"openai.com"
]
},

这条规则,就是满足域名为chatgpt.comopenai.com 的请求,都转发给 chatgpt_relay规则。

而在custom_outbond.json文件里,恰好定义了具体的路径,就是转发给你的YES机的40001端口。

最后一步,重启xrayr xrayr restart

至此,什么软件都不需要,就完成了对 chatgpt 的解锁,对其他的流媒体一样有效。

又是进步的一天,真刑。

如果你有一些自己解决不了的问题,可以添加我的频道telegram

之前的流媒体解锁之dns解锁中提到的方法,前提是必须有一个可以正常访问的落地机节点。

那要是没有这种节点怎么办?简单,用cloudflare解锁。

安装脚本

首先下载安装脚本。

1
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh

给文件执行权限。

1
chmod +x menu.sh

执行脚本

1
./menu.sh

默认中文语言,选择13. 安装 wireproxy,让 WARP 在本地创建一个 socks5 代理 (bash menu.sh w)

端口这里是40000

安装成功之后是这样的:

到此,已经在本地的40000端口开启了cf的sock代理服务。

配置xrayr

首先,编辑 custom_outbound.json

修改文件的第22行代码左右。

注意是 "tag::"socks5-warp"

1
"port":40000

其次,编辑 route.json
修改文件的第21行左右。

1
"domain":["geosite:netflix"]

同样需要注意的是 "outboundTag":"socks5-wwarp"

最后,修改config.yml

在文件的第6行

取消 RouteConfigPath的注释

在文件的第8行

取消OutBoundConfigPath的注释

如上的配置修改,是告诉xrayr这个软件。

凡是符合netflix的请求,全部转发给socks-wrap,也是本地的40000端口。

最后还需要重启xrayr

1
xrayr restart

优劣处

至此,完成对流媒体的解锁。

这个方法的好处是,不需要已有节点的支持,但是大家都知道,毕竟是免费的流量,速度会跟不上,更适合类似chagGPT这类的网页解锁。

当然还有其他问题,就是有些地区没有cf的节点。

又是刑的一天。

如果你有一些自己解决不了的问题,可以添加我的频道telegram

机场运营的痛楚

在v2board机场运行中,其中有机场主最头疼的问题,那就是域名被封。

有没有域名不被封的方法,有,没办法公开,第一是成本高,其次是,一旦公开就无效了。

一旦域名被reset之后,不仅用户会出现大面积的流失,更关键的是会极大挫伤推广人员的积极性。

弟兄们寒了心,队伍就不好带了。

解决的思路就是,做一个稳定的对外推广链接。

不好理解,那么就形象一点。

比如,现在有一个对外的邀请连接,假定是,a.com。

这个域名啥也不做,就只负责做跳转。

用户打开 a.com 会自动跳转到另外一个域名,比如,sitea.com。

而sitea.com是真实的注册页面。

如果sitea.com被封,那么a.com再跳转到siteb.com。

而 a.com 上没有任何内容,只是做了一个跳转,没有特征,就不会触发墙的自动屏蔽。

当然,人工封禁除外。

具体的实现

首先,修改代码。

原生默认的主题中,路径是 public/v2board/theme/assets/ 找到umi.js。

搜索关键词

?code=

找到类似的代码:

1
window.location.origin+window.location.pathname+"#/register?code="+

替换 window.location.origin 成你自己的跳转域名,比如 https://a.com

保存之后,邀请连接就由之前的 默认邀请连接,变成了 https://a.com/#/register?code=xxxxxx

其他主题默认是一样的,都是替换掉默认的邀请域名,改成一个跳转域名。

跳转代码

最有一步,做一个301跳转页面。

301跳转的方法有很多。

请注意的是,跳转时要带上注册的邀请码,也就是后面的参数 /#/register?code=xxxxxx

放上php的代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php 

class RelayService {

private $inviteDomain = 'a.com';

public function inviteRelay(){
$params = $this->_inviteParam();
$inviteUrl = $this->_getInviteDomain($params);
$this->_redirect($inviteUrl);
}

public function _inviteParam(){
if(isset($_GET['code'])){
return sprintf(
"#/register?code=%s",$_GET['code']
);
}
return '';
}

public function _getInviteDomain($params){
return sprintf(
"https://%s,%s",
$this->inviteDomain,
$params
);
}

public function _redirect($relayUrl){
header('HTTP/1.1 301 Move Permanently');
header('Location: $relayUrl');
}

}


(new RelayService())->inviteRelay();

当然,这个是基础版功能,已经足够保证邀请链接的稳定性。

一旦域名被封,就换个新域名。对推广人员来说,推广链接一直有效。

如果各位老板搞不定,可以联系我解决(不免费,收费标准查看关于我)。

今天又是进步的一天,又刑了一点点。

如果你有一些自己解决不了的问题,可以添加我的频道telegram

具体使用

为了方便理解,如下操作,除非特别指明,默认是在已经可以正常观看奈飞服务的vps,暂叫做解锁机,例子中的IP是:23.142.200.1*

安装前需要注意

在安装之前,确保53,80,443端口没有被占用。

在实际的操作过程中,53端口由systemd-resolv占用,需进行如下操作。

  1. 修改 /etc/systemd/resolved.conf
1
2
3
4
5
6
7
8
9
[Resolve]
DNS=8.8.8.8 1.1.1.1 #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no #取消注释,把yes改为no
  1. 重新链接解析配置文件

ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

在执行如上操作之前,更建议先备份当前resolv.conf文件。

1
2
lrwxrwxrwx   1 root root         39 Feb 10  2023 resolv.back.conf -> ../run/systemd/resolve/stub-resolv.conf
lrwxrwxrwx 1 root root 32 Jul 31 09:05 resolv.conf -> /run/systemd/resolve/resolv.conf

清晰对比出两个配置文件的区别。

  1. 重启systemd-resolved

systemctrl restart systemd-resolved

安装过程

快速安装

1
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -f

卸载命令

1
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -u

验证效果

dns解析

在不能观看奈飞的vps上执行如下命令。

指定ip为23.142.200.1*的dns服务器解析www.netflix.com域名。

nslookup www.netflix.com 23.142.200.1*

这里得到的效果

1
2
3
4
5
6
nslookup www.netflix.com 23.142.200.1*
Server: 23.142.200.1*
Address: 23.142.200.1*#53

Name: www.netflix.com
Address: 23.142.200.1*

正确的情况下,解析 www.netflix.com 对应的IP应该就是解锁机的IP。

访问页面

上一步是通过强行指定dns服务器,下一步验证访问。

在不能访问奈飞的vps,修改 /etc/resolv.conf

添加nameserver 之后

1
2
nameserver 23.142.200.1*
nameserver 127.0.0.53

再执行

1
curl https://www.netflix.com -vvv

不能访问奈飞的vps也可以正常访问奈飞了。

问题

1
2
3
4
5
nslookup netflix.com 23.142.200.1*
;; communications error to 23.142.200.1*#53: timed out
;; communications error to 23.142.200.1*#53: timed out
;; communications error to 23.142.200.1*#53: timed out
;; no servers could be reached

除了开放53/tcp,还需要开放53/udp,dns的请求解析协议是udp。

ubuntu命令如下

1
2
3
ufw allow 53/tcp 
ufw allow 53/udp
ufw reload

如果就这么设置,很快这个解锁机也无法访问奈飞,因为你能访问的同时,其他人也可以访问,解决下拉到 安全。

其次,如果无法访问指定的域名,比如flixnet.com,在dnsmasq中添加需要指向的域名。

配置文件目录为 /etc/dnsmasq.d/custom_netflix.conf ,添加需要指向的域名。

格式为 address=/primevideo.com/156.x.x.x

只有这样,其他机器通过53请求dns指向时,才会返回你指定的ip地址,修改后重启,命令为 systemctl restart dnsmasq

最后,如果dns域名指向已经改变了,但是还是会遇到打开的网站出现证书错误,需要调整sniproxy的配置,比如在访问 chatgpt.com这个域名时,默认的网页配置并没有这个域名,就需要修改配置文件。

默认配置文件在/etc/sniproxy.conf,按照格式添加需要的域名,比如chatgpt.com就是.*chatgpt\.com$ *

重启sniproxy ,命令是 systemctl restart sniproxy

安全

更建议的设置是:

1
2
3
ufw delete allow 53/tcp
ufw delete allow 53/udp
ufw allow from ip(不能解锁奈飞的vps)

设置访问白名单。

自动化脚本

自动化脚本出处:https://github.com/myxuchangbin/dnsmasq_sniproxy_install

如果你有一些自己解决不了的问题,可以添加我的频道telegram

如果是机场主,你要不是不解锁奈飞,你都不好意思出门见人。

这篇文章就从原理开始,一步步告诉你如何实现,让一部分无法访问奈飞的落地机vps,能够访问netflix,主打一个从入门到入狱,每天又刑了一点点。

dns解锁原理

首先,比如你现在手里有台vps,比如我这台vultr的新加坡机器,不知道是否能够访问netflix。

只需要输入如下命令:

curl https://www.netflix.com -vvv

得到如下的结果:

403状态码就是无权限访问,就暂定叫做NO机。

而另外一台机器(暂定叫做YES机),输入同样的命令,得到的结果却是:

不仅是200的正常http码,而且还能看到对应的html代码。

看这里,看这里,请注意,要施展魔法了。

如上的NO机一样可以正常访问netflix,请看图。

实现原理

使用Dnsmasq的DNS将网站解析劫持到SNIproxy反向代理的页面上。

正常的网络请求是这样:

  1. NO机 -> dns请求www.netflix.com的ip
  2. NO机 -> 向解析后的ip发送网页请求。

NO机在第二步会出错,因为NO机的IP会被netflix屏蔽掉。

可是,dns请求获取的IP是可以访问netflix.com的YES机,然后再由YES机代请求呢。

执行的流程就类似这样:

  1. NO机 -> dns请求www.netflix.com -> 得到YES机IP (dns为自定义的dnsmasq服务)
  2. NO机 -> 向YES机发送网页请求 -> YES机代为转发请求

于是就通过虚构dns,再转发请求的方式完成了奈飞解锁。

具体实现

那这里就需要用到一款工具,具体的操作可以查看这个文章。

dnsmasq解锁奈飞

xrayr配置

如上已经完成了NO机对奈飞的解锁,如何配置到xrayr上。

进入到xrayr的配置目录,/etc/XrayR

  1. 首先配置 DNS.json
1
vim dns.json

修改成如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"servers": [
"1.1.1.1",
"8.8.8.8",
{
"address": "unlook.your.yes.vps",
"port": 53,
"domains": [
"geosite:netflix",
"geosite:disney",
"bamgrid.com",
]
}
]
}

如上配置是告诉xrayr,当域名为netflix,disney,bamgrid.com时,向unlook.your.yes.vps发送dns请求。

  1. 修改成XrayR配置文件
1
vim config.yml

第5行去掉#号,开启dns

1
DnsConfigPath:  /etc/XrayR/dns.json

第35行左右

1
2
EnableDNS: true
DNSType: UseIP
  1. 重启
1
xrayr restart

按照这个过程搭建一个服务器,就比如之前的主机评测当中,主机评测-polocloud,用一台9.9人民币的美国服务器作为解锁机,这样就可以解锁其他所有的节点。

只是2T的流量会略微少了一些,不过对刚开始的机场也足够了。

毕竟,专门的

如果你有一些自己解决不了的问题,可以添加我的频道telegram

polocloud

先说结论,非常适合刚开始的机场,价格合适,常见的区域都有(日本,香港,台湾,美国,英国),关键而且还提供邮局服务。

优点

邮局服务非常棒

20人民币/月。相比自己搭建邮件服务的各种问题,这个价格真良心。

支持多域名

自己搭配好之后,还可以给其他业务提供,每小时3000封邮件,一分钟50封。要是说,不够您用,朋友,你有这推广能力,做啥机场,做微商不更赚吗?

从运营的角度来说,用户注册验证会降低用户注册意愿,但是,总有用户会忘记密码。
而且,v2board带有群发邮件的功能,可以起到唤醒用户的作用。

价格美丽

美国节点9.9人民币,美国的节点解锁了多媒体,非常适合单独拿出来做一个dns解锁服务器。

日本节点29.99人民币。说实话,是真的便宜。

对刚开的机场来说,用户没起来之前,一天几个G的流量足够用了。

缺点

那就必须要提缺点了,那就是流量太小了。

就比如现在维护的一个机场,昨日的流量统计。

550G一天的使用量,也就够用两天的。

就比如这样,然后,然后就没有然后了。

如果你有一些自己解决不了的问题,可以添加我的频道telegram

Markdown 标题语言

(#)一级标题

(##)二级标题

(###)三级标题

(####)四级标题

(#####)五级标题
(######)六级标题

不同的 Markdown 应用程序处理 # 和标题之间的空格方式并不一致。为了兼容考虑,请用一个空格在 # 和标题之间进行分隔。

Markdown 段落语言

要创建段落,请使用空白行将一行或多行文本进行分隔。

I really like using Markdown.

I think I’ll use it to format all of my documents from now on.

Markdown 换行语法

在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行

This is the first line.
And this is the second line.

Markdown 强调语法

通过将文本设置为粗体或斜体来强调其重要性。

粗体(Bold)

要加粗文本,请在单词或短语的前后各添加两个星号(asterisks)或下划线(underscores)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(asterisks)。

I just love **bold text**.

I just love bold text.

斜体(Italic)

Italicized text is the *cat's meow*.

Italicized text is the cat’s meow.

粗体(Bold)和斜体(Italic)

This text is really important.

This text is ***really important***.

Markdown 引用语法

要创建块引用,请在段落前添加一个 > 符号。

Dorothy followed her through many of the beautiful rooms in her castle.

1
> Dorothy followed her through many of the beautiful rooms in her castle.

Markdown 列表语法

有序列表

要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。

  1. First item
  2. Second item
  3. Third item
  4. Fourth item
1
2
3
4
1. First item
2. Second item
3. Third item
4. Fourth item

无序列表

要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。

  • First item
  • Second item
  • Third item
  • Fourth item
1
2
3
4
- First item
- Second item
- Third item
- Fourth item
  • First item
  • Second item
  • Third item
    • Indented item
    • Indented item
  • Fourth item
1
2
3
4
5
6
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item

Markdown 代码语法

要将单词或短语表示为代码,请将其包裹在反引号 (`) 中。

At the command prompt,type nano

转义反引号

如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号(``)中

Use `code` in your Markdown file.

Markdown 分隔线语法

要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (—) 或下划线 (___) ,并且不能包含其他内容。




Markdown 链接语法

链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。

超链接Markdown语法代码:超链接显示名

超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")

对应的HTML代码:超链接显示名

对应的HTML代码:<a href="超链接地址" title="超链接title">超链接显示名</a>

给链接增加 Title

链接title是当鼠标悬停在链接上时会出现的文字,这个title是可选的,它放在圆括号中链接地址后面,跟链接地址之间以空格分隔。

这是一个链接 Markdown语法

这是一个链接 [Markdown语法](https://markdown.com.cn "最好的markdown教程")。

网址和Email地址

https://markdown.com.cn

<https://markdown.com.cn>

fake@example.com

<[email protected]>

Markdown 图片语法

要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。

插入图片Markdown语法代码:![图片demo](/upload/demo_img.png "图片title")。

图片demo

0%