首页
留言板
统计
Search
1
阿里云国际OSS使用CloudFlare免流量
2,320 阅读
2
PP.UA免费域名注册
2,183 阅读
3
Adobe Photoshop CS2经典版 中文原版
2,174 阅读
4
7-Zip中文美化版
2,032 阅读
5
获取免费的 Microsoft 365 E5 开发人员订阅
1,948 阅读
软件分享
网络资源
网络代码
生活情感
免费主机
Search
标签搜索
工具软件
代码
Android
教程
Emlog
办公软件
图形图像
免费空间
Web
情感
PHP
视频
系统工具
Windows
上传下载
建站
PDF
网盘
Office
学习
ZJ
累计撰写
810
篇文章
累计收到
105
条评论
首页
栏目
软件分享
网络资源
网络代码
生活情感
免费主机
页面
留言板
统计
搜索到
2
篇与
的结果
2026-01-13
使用CF的页面规则重定向URL以固定STUN内网穿透的端口
我们将使用CF页面规则来重定向URL以实现端口的固定和“隐藏”此处需要两组子域名 重定向前的域名 和 重定向后的域名 重定向前的域名此域名开启CF代理 即IP解析到CF以便进行重定向处理这也是我们需要在浏览器中输入的域名 (例如web.ie12.com)重定向后的域名不开启CF代理 IP解析到真实的对外IP这将是重定向后的访问的域名(例如web.stun.ie12.com) 设置DNS记录 由于免费账户只提供3条页面规则 所以我们需要节约使用 可通过设置泛域名解析的方法容纳大量服务设置重定向前的域名 登录CF > 点击侧边栏中的网站 > 选择你的域名 > 点击侧边栏中的DNS点击添加记录 > 类型选择A > 名称填写 * > IP地址任意填写这这里使用8.8.8.8开启代理 此处的为泛域名解析 例如.ie12.com 设置重定向后的域名 登录CF > 点击侧边栏中的网站 > 选择你的域名 > 点击侧边栏中的DNS点击添加记录 > 类型选择A > 名称填写 *.stun > IP地址任意填写 >不开启代理此处的为泛域名解析 例如.stun.ie12.com 这里的STUN可自定义 设置DNS记录解析 完成上述配置后我们只需要更新泛域名就可以了更新时直接填写带星号的泛域名即可 创建页面规则 登录CF > 点击侧边栏中的网站 > 选择你的域名 > 点击侧边栏中的规则 >页面规则 > 创建规则URL填写 重定向前的泛域名 比如*.ie12.com选取设置:转发URL 状态代码:302目标地址: 填写重定向后的地址 和STUN穿透端口例如: https://$1.stun.ie12.com:2568 可以带上https 以完成HTTP重定向工作此处的$1用于传递上面*部分的字符这样我们就可以用一条页面规则完成无数服务的重定向可以继续添加通配符以匹配 资源路径和查询字符串等 通配符效果演示 更新页面规则 在设置创建完成页面规则后我们还需要对其进行更新即更新重定向后地址中的STUN穿透端口号通过API可以完成更新 但我们需要先获取 区域ID 和 规则ID获取区域ID 区域ID获取起来非常简单 点开页面规则中的API按钮将示例URL中的区域ID复制出来即可 在侧边栏的概况里面也有显示 创建访问令牌 规则ID的获取相对麻烦一些 要使用API来获取要使用API我们需要先创建访问令牌API定义:https://developers.cloudflare.com/api/operations/page-rules-list-page-r转到个人资料页面以创建访问令牌点击右上角的小人图标 > 选择我的个人资料 或者在已经登录CF的情况下直接访问该链接:https://dash.cloudflare.com/profile/api-tokens切换到 API令牌 点击右侧的创建令牌 选择页面底部的 自定义令牌 按照图中的提示设置令牌内容 其中的名称可自定义 此令牌只会显示一次 复制下来 妥善保存 接下来我们就可以 开始获取规则ID 了获取规则ID 在创建了访问令牌后就可以开始获取规则ID了此处使用lucky计划任务中的callweb功能来进行获取登录lucky > 点击侧边栏的 计划任务 > 添加计划任务任务备注 即任务名称任意填写执行周期 仅执行一次 执行时间 :任意选择我们将使用手动触发所以执行时间随意填写添加子任务备注即子任务名称 任意填写类型 callweb接口地址:https://api.cloudflare.com/client/v4/zones/你的区域ID/pagerules请求头:Authorization: Bearer 之前获取的令牌 Content-Type: application/json开启 禁用CallWeb调用成功字符串检测保存规则 保存规则后 关闭任务开关 并按下手动触发按钮检查日志输出 若配置都正确可以看到下列内容其中的 id 就我们需要的 规则ID 而value 和 url 就是之前设置的重定向前/后域名 在获取完 规则ID后就可以开始更新测试更新 我们先在计划任务测试完成后 再写到STUN穿透规则里修改计划任务 接口地址:https://api.cloudflare.com/client/v4/zones/区域ID/pagerules/规则ID请求方法: PATCH由于是测试所以这里的STUN穿透端口号可以随意填 请求主体:{ "actions": [ { "id": "forwarding_url", "value": { "url": "https://$1.你的重定向后域名:STUN穿透端口", "status_code": 302 } } ] } 保存规则 按下手动触发按钮 观察日志查看url 字段中重定向后域名附加的端口号是否变化以及是否有返回 "success":true" 在STUN穿透规则中更新端口 在计划任务中完成更新测试后 现在要将其填写到STUN穿透规则内设置方式与在计划任务中基本相同 需使用变量 #{port} 表示穿透得到的端口号接口调用成功包含的字符串填写:"success":true 可以按下 上面的webhook手动测试按钮 测试参数是否填写正确其会使用内置的演示参数 端口应该会变成6666 至此我们已经基本完成了 固定/隐藏端口的设置
2026年01月13日
3 阅读
0 评论
0 点赞
2026-01-13
Lucky stun内网穿透配合CF重定向实现无公网ipv4访问和v4/v6分流
本文需要实现的目标是,如何在家中设备没有公网ipv4,只有公网ipv6的情况下,实现外网只有ipv4环境时的访问,以及外网有ipv6环境时自动用v6地址访问,并且访问用的域名统一为一个泛域名,不用带端口。一、前置准备1.家庭宽带有公网ipv6。最好是路由器拨号,lucky安装在路由器,可以减少nat层数和端口转发设置。2.在lucky的stun穿透页面测试nat类型,为nat1最好,如果是nat3一般也没有问题。但是nat4一般不行,可搜索如何降低nat层级。3.有一个域名(最好是付费的,免费的二级域名可能有这样那样的问题),并且托管到CloudFlare(以下简称CF)。本文以 123.xyz 为例。4.已经安装lucky,并会简单使用lucky的动态解析,反向代理等功能。二、CF配置1.账户主页有托管过来的域名,点击进去。右侧下滑到最底部,有账户ID和区域ID,待会儿要用。 2.点击DNS记录,添加一条A记录,名称填入通配符星号 。ipv4随便填一个即可,不产生实际作用,这里填入的8.8.8.8。代理状态勾选上,点亮小黄云。这里解释一下这样设置的作用。CF代理了 .123.xyz,以后访问如emby.123.xyz的时候,首先就会请求到CF这里来,然后根据我们后面会添加的规则,进行v4或者v6的重定向。注意如果之前已经有了这条二级泛域名的解析,直接勾选代理即可。同时删除或者关闭lucky的这一条动态域名配置。 3.进入“规则”,点击“创建规则”,选择“重定向规则”。 4.配置v4重定向规则①规则名称为了区别,添加v4后缀②选择自定义筛选表达式。③然后按图示配置字段,运算符,和值。第一栏是之前DNS解析添加的泛域名,*.123.xyz;第二栏可以不配置,这里是一种示意,如果某个以 .123.xyz 结尾的域名已经作特殊使用了,就排除一下;第三栏填入的值 0.0.0.0/0,表示匹配所有的ipv4地址。④重定向类型选择“动态”⑤表达式填入下面的一段代码。中间的 ipv4 是为了区别于 ipv6,实现分流,端口号6211在v4重定向规则中随便填入,后面会通过lucky的webhook同步成stun穿透获取的公网端口。wildcard_replace(http.request.full_uri, "*://*.123.xyz/*", "https://${2}.ipv4.123.xyz:6211/${3}")⑥状态代码选择307或者302(一般是302,但某些应用中使用时,307才有效;具体差异我不懂)。⑦勾选保留查询字符串这里解释一下表达式的含义 wildcard_replace 表示将输入的内容以一定的规则进行截取并组合输出新的内容;http.request.full_uri 表示传入的完整的URL;"://.123.xyz/" 就是一个匹配规则,星号 部分的内容会被截取并顺序保存到变量${1} ${2} ${3}中,以供后续使用;"https://${2}.ipv4.123.com:6211/${3}" 表示合成输出的内容 变量 ${2} ${3} 为刚才存储截取部分的变量整个过程如下: 传入的URL:http://emby.123.xyz/web/index.html#!/home通配符表达式:://.123.xyz/*构建新的URL:https://${2}.123.com:6211/${3}生成新的URL:https://emby.ipv4.123.com:6211/web/index.html#!/home 5.配置v6重定向规则 直接从v4重定向规则复制,修改一下规则名称,修改ip源地址为2000::/3,URL重定向表达式,把ipv4替换为ipv6,端口号改为lucky反向代理监听地址 6.创建API令牌点击页面右上角》配置文件》API令牌》创建令牌》(最底下)自定义令牌。①名称说明用途即可②权限添加 “账户》规则策略》编辑”③权限添加 “区域》单一重定向》编辑”④账户资源添加 “包括》你自己的账户”⑤区域资源添加 “包括》特定区域》你的域名”继续以显示摘要》创建令牌》复制令牌,保存到一个合适的位置,后面要用。 以上是CF端的准备工作。总结一下:我们添加了一条二级泛域名解析.123.xyz,由CF代理,然后创建了两条重定向规则,根据不同的访问ip来源,再分别重定向到v4或v6的地址上去。接下来是lucky端的配置,需要用到三级泛域名.ipv4.123.xyz和*.ipv6.123.xyz,以及账户ID,区域ID,以及具有编辑账户规则策略和区域重定向规则权限的API令牌。三、Lucky配置如果lucky版本太过老旧,建议先升级到最新版。如果原来有二级泛域名*.123.xyz的解析,一定要先删除或者关闭,同时在CF的DNS解析记录也要删除。1.配置DDNS(域名动态解析) 如果之前不是用的CF做动态解析,这里简单说一下配置方法: 首先也是要在CF创建一个API令牌,权限:区域》DNS》编辑;区域资源:包括》特定区域》123.xyz。然后保存好令牌。 编辑已有任务或者添加一个任务;托管商选择CF;Token填入刚刚创建的API令牌;{ipv4Addr}和{ipv6Addr}的开关都打开;添加同步记录;记录名填.ipv4.123.xyz,记录类型选择A;再添加一条同步记录,记录名填.ipv6.123.xyz,记录类型选择AAAA。 2.配置web服务的反向代理 这里已经会配置反向代理,并且已经配置有反向代理服务了。那么编辑已有的反向代理服务,前端地址中,添加两条带ipv4和ipv6字段的地址,后端地址保持不变。 3.获取重定向规则的ID,实现通过CF提供的API修改规则内容 这里的过程就比较复杂了。为了实现stun穿透中的完整webhook,我们要先通过计划任务,分步骤获取一些id。获取重定向规则集ID ①任务类型CallWeb②接口地址:https://api.cloudflare.com/client/v4/zones/区域ID/rulesets③请求方法GET④请求头:注意这里的API令牌不是用于动态解析的令牌,是上一节创建的令牌。Authorization: Bearer API令牌 Content-Type: application/json⑤勾选 禁用接口调用成功字符串检测⑥保存并手动触发一次,点击任务执行日志,查找"http_request_dynamic_redirect", 位于其前面的那个ID才是我们需要的重定向规则集ID 。这里注意下json结构,每一个大括号括起来的部分是一个段落,不要往前看多了。 获取重定向规则ID 重定向规则集包含多个规则,v4和v6的,现在要获取v4规则的id新增一个手动任务,除了接口地址,其余保持不变https://api.cloudflare.com/client/v4/zones/区域ID/rulesets/重定向规则集ID保存并手动触发一次,点击任务执行日志,查找v4的重定向名称,记住其后的ID 测试更新 现在可以根据v4重定向规则的ID来修改内容了,再新建一条手动任务。接口地址:https://api.cloudflare.com/client/v4/zones/区域ID/rulesets/重定向规则集ID/rules/重定向规则ID请求方式:PATCH请求头:Authorization: Bearer API令牌 Content-Type: application/json请求体:{ "description": "stun-重定向-v4", "expression": "(http.host wildcard \"*.123.xyz\" and ip.src in {0.0.0.0/0})", "action": "redirect", "action_parameters": { "from_value": { "status_code": 302, "target_url": { "expression": "wildcard_replace(http.request.full_uri, \"*://*.123.xyz/*\", \"https://${2}.ipv4.123.xyz:6211/${3}\")" }, "preserve_query_string": true } } }这些内容具体可以从刚刚的“ 获取重定向规则ID ”的日志中查看到: description 是v4重定向规则的名字。 expreession 可以从日志中复制出来,或者在CF的重定向规则编辑页面有表达式的预览可以复制,但注意内部的引号需要加反斜杠\。 target_url中的expression 也可以从日志中复制,或者CF的重定向规则编辑页面复制表达式,但注意内部的引号需要加反斜杠\。 端口随便改一个不一样的,确认后手动触发一次,再回到CF的重定向规则编辑页面,看看是否已经成功修改成新内容。 4.stun内网穿透设置现在创建一个stun穿透任务①取一个描述作用的名称②穿透类型选择TCP,UDP也可以③穿透通道本地端口填一个没有使用的,或者填0,会使用随机端口④开启防火墙自动放行⑤目标地址:哪个设备要使用这个穿透就填谁的ip。这里,是供lucky的反向代理用的,lucky装在路由器上,就填192.168.31.1⑥目标端口,就填lucky反向代理的监听端口⑦打开WebHook开关,下面内容就复用上面创建的最有一条手动任务。请求体有所不同的是,端口号改成了lucky提供的变量#{port},表示传入stun穿透获取到的公网端口。⑧调用成功填入 "success": true{ "description": "stun-重定向-v4", "expression": "(http.host wildcard \"*.123.xyz\" and ip.src in {0.0.0.0/0})", "action": "redirect", "action_parameters": { "from_value": { "status_code": 302, "target_url": { "expression": "wildcard_replace(http.request.full_uri, \"*://*.123.xyz/*\", \"https://${2}.ipv4.123.xyz:#{port}/${3}\")" }, "preserve_query_string": true } } } 可以点击“WebHook手动触发测试”,看一下CF规则页面是否修改,lucky是否返回成功。保存后,stun穿透开始运行,最终成功的情况如下图。看CF规则页面的表达式中的端口是否变成了stun穿透获取的公网端口,这里是6211。5.测试成果及后续工作现在在浏览器输入emby.123.xyz,应该就可以跳转到emby.ipv4.123.xyz:6211这个地址了。如果是在v6环境下访问,比如手机流量,那么会自动跳转到emby.ipv6.123.xyz:15556。 对于.ipv4.123.xyz和.ipv6.123.xyz,这两个三级泛域名,可以在lucky中配置上自动申请证书,即可使用https加密访问啦。
2026年01月13日
2 阅读
0 评论
0 点赞