前言

在ipv6普及的时代,拥有公网ipv6是很普遍的事情,但实际上有很多设备、基站(客户端)都没有ipv6的地址下发,这时候即便是拥有公网ipv6也是没办法访问ipv6资源的。

本文以cloudflare代理的方式获取ipv4地址,配合ipv6单栈ddns脚本同步cloudflare dns记录,在没有服务器或公网ipv4的情况下也能获得不俗的体验。

以一张alist满速多线程下载资源镇楼。我的宽带环境为千兆下行,70Mbps左右上行

alist

注意,本文是在无任何服务器,仅有一个域名,且有公网ipv6的前提下展开,请知悉

实际操作

首先你需要一个ddns脚本,调用api,单栈同步域名AAAA记录,以cloudflare为例

先查询dns zone的记录

# 下面xxx填你的域名id
YOUR_DOMAIN_ZONE_ID="xxxx"
# 下面xxx填你的cloudflare api token
YOUR_CF_API_TOKEN="xxx"
curl "https://api.cloudflare.com/client/v4/zones/${YOUR_DOMAIN_ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${YOUR_CF_API_TOKEN}" \
-H "Content-Type:application/json" | \
jq

域名id可以在cloudflare域名右下角找到
域名id

cloudflare api token则是可以在账户中创建

右上角点Profile(中文则是个人资料?应该是)

然后点击API Tokens

点新建api tokens

选择编辑模板 edit zone dns

可选all zones 或者specific zone, 选specific zone就选你的域名,我这里选all zones

选完直接下一步,点创建即可

这样你就获得key了,我这里把key露出来方便示范

# 下面xxx填你的域名id
YOUR_DOMAIN_ZONE_ID="xxxx"
# 下面xxx填你的cloudflare api token
YOUR_CF_API_TOKEN="2W0hk1WdX9QJuax7fWmYQ9vPdRchEtxxG2uStyw4"
curl "https://api.cloudflare.com/client/v4/zones/${YOUR_DOMAIN_ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${YOUR_CF_API_TOKEN}" \
-H "Content-Type:application/json" | \
jq

找到你要同步的dns记录id, 比如我这里是2872cxxxx

接下来就是ddns脚本了

# 下面xxx填你的域名id
YOUR_DOMAIN_ZONE_ID="xxxx"
# 下面xxx填你的cloudflare api token
YOUR_CF_API_TOKEN="2W0hk1WdX9QJuax7fWmYQ9vPdRchEtxxG2uStyw4"
# 下面填你刚才找到的dns记录的id
YOUR_DOMAIN_RECORD_ID="2872cxxxxx"
curl --request PATCH \
--url https://api.cloudflare.com/client/v4/zones/${YOUR_DOMAIN_ZONE_ID}/dns_records/${YOUR_DOMAIN_RECORD_ID} \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${YOUR_CF_API_TOKEN}' \
--data "{
\"content\": \"$(curl -6 6.ipw.cn)\",
\"name\": \"nas\",
\"proxied\": false,
\"type\": \"AAAA\",
\"comment\": \"xxx\",
\"ttl\": 60
}"

把上面的代码保存到/etc/ddns.sh

这个可以挂载crontab,如果你是群晖也可以挂载定时脚本设置成每日运行

以下为群晖设置

crontab应该都会写

*/1 * * * * /etc/ddns.sh

ddns部分设置完成以后接下来再添加个页面规则就行了

添加一个CNAME指向你刚才的记录,比如我这里是指向nas,左边填xxx,右边填nas.voidval.com

然后点开小黄云代理,现在你的双栈地址就是xxx.voidval.com了

接下来添加页面规则

以我的alist为例子,点击Origin Rules

这里回源端口填写源地址(也就是回源到单栈ddns的端口,我这里是5244

保存以后尝试访问,大功告成啦

可以测试一下速度,尝试下载1GB文件,我这边是广东电信直连,单线程速度如下,最高速达到2MB/s

镇楼图就是多线程,最高速拉满上传。

切记不要滥用,感谢cloudflare大善人