diff --git a/README.md b/README.md index 9e32418..802aea2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# [am-cf-tunnel](https://github.com/ansoncloud8/am-cf-tunnel) +# [am-cf-tunnel](https://github.com/amclubs/am-cf-tunnel) ▶️ **新人[YouTube](https://youtube.com/@AM_CLUB)** 需要您的支持,请务必帮我**点赞**、**关注**、**打开小铃铛**,***十分感谢!!!*** ✅
🎁 不要只是下载或Fork。请 **follow** 我的GitHub、给我所有项目一个 **Star** 星星(拜托了)!你的支持是我不断前进的动力! 💖
✅**解锁更多技术请访问[【个人博客】](https://am.809098.xyz)**,加入TG群[【AM科技 | 分享交流群】](https://t.me/AM_CLUBS) @@ -8,21 +8,20 @@ 这是一个基于 Cloudflare Workers 和 Pages平台的脚本,在原版的基础上修改了显示 VLESS 配置信息转换为订阅内容。使用该脚本,你可以方便地将 VLESS、trojan 配置信息使用在线配置转换到 Clash、 Singbox 、Quantumult X等工具中。 -- 基础部署视频教程:[小白教程](https://www.youtube.com/watch?v=f9hDJCqAEGA) 小白必看 一步到胃 最佳推荐!!! -- 快速部署视频教程:[详细教程](https://www.youtube.com/watch?v=XS0EgqckUKo) ***最佳推荐!!!*** -- 进阶使用视频教程:[进阶教程](https://www.youtube.com/watch?v=JDAQYD6bvEM) 折腾自己的优选IP -- 高级使用视频教程:[高级教程](https://www.youtube.com/watch?v=lQ2Evd_xPRY) 成为折腾的高手 +- VLESS免费节点部署视频教程:[点击进入观看](https://youtu.be/I992KEADr80) +- Trojan免费节点部署视频教程:[点击进入观看](https://youtu.be/1ixc2A9rchM) +- 优选IP和优选反代IP视频教程:[点击进入观看](https://youtu.be/pKrlfRRB0gU) +- 聚合节点订阅视频教程:[点击进入观看](https://youtu.be/YBO2hf96150) +- 免费订阅:[点击进群发送关键字: 订阅](https://t.me/AM_CLUBS) -- 官网教程:[AM科技](https://am.809098.xyz) YouTube频道:[@AM_CLUB](https://youtube.com/@AM_CLUB) Telegram交流群:[@AM_CLUBS](https://t.me/AM_CLUBS) 免费订阅:[进群发关键字: 订阅](https://t.me/AM_CLUBS) - -## 订阅工具 +## 订阅工具 [点击进入视频教程](https://youtu.be/xGOL57cmvaw) [点进进入karing视频教程](https://youtu.be/M3vLLBWfuFg) - [(安卓)v2rayNG](https://github.com/2dust/v2rayNG/releases) [(安卓)singbox](https://github.com/SagerNet/sing-box/releases) [(苹果)singbox](https://github.com/SagerNet/sing-box/releases) [(苹果)Hiddify](https://github.com/hiddify/hiddify-next/releases) - [(win)v2rayN](https://github.com/2dust/v2rayN/releases) [(win)singbox](https://github.com/SagerNet/sing-box/releases) [(win)clashvergerev](https://github.com/clash-verge-rev/clash-verge-rev/releases) [(win)Hiddify](https://github.com/hiddify/hiddify-next/releases) [(win)clashnyanpasu](https://github.com/LibNyanpasu/clash-nyanpasu/releases) [(mac)clashnyanpasu](https://github.com/LibNyanpasu/clash-nyanpasu/releases) - [(mac)v2rayU](https://github.com/yanue/V2rayU/releases) [(mac)singbox](https://github.com/SagerNet/sing-box/releases) [(mac)clashvergerev](https://github.com/clash-verge-rev/clash-verge-rev/releases) [(mac)Hiddify](https://github.com/hiddify/hiddify-next/releases) # 免责声明 -本免责声明适用于 GitHub 上的 “am-cf-tunnel” 项目(以下简称“该项目”),项目链接为:https://github.com/ansoncloud8/am-cf-tunnel +本免责声明适用于 GitHub 上的 “am-cf-tunnel” 项目(以下简称“该项目”),项目链接为:https://github.com/amclubs/am-cf-tunnel ### 用途 该项目被设计和开发仅供学习、研究和安全测试目的。它旨在为安全研究者、学术界人士和技术爱好者提供一个了解和实践网络通信技术的工具。 @@ -39,45 +38,38 @@ 作者保留随时更新本免责声明的权利,且不另行通知。最新的免责声明版本将会在该项目的 GitHub 页面上发布。 -## 风险提示 -- 通过提交虚假的节点配置给订阅服务,避免节点配置信息泄露。 - - -## Workers 部署方法 [视频教程](https://www.youtube.com/watch?v=f9hDJCqAEGA) +## Workers 部署方法 [视频教程](https://www.youtube.com/watch?v=I992KEADr80&t=134s) 1. 部署 Cloudflare Worker: - 在 Cloudflare Worker 控制台中创建一个新的 Worker。 - - 将 [worker.js](https://github.com/ansoncloud8/am-cf-tunnel/blob/main/_worker.js) 的内容粘贴到 Worker 编辑器中。 - - 将第 6 行 `userID` 修改成你自己的 **UUID** 。 + - 将 [_worker.js](https://github.com/amclubs/am-cf-tunnel/blob/main/_worker.js) 的内容粘贴到 Worker 编辑器中。 2. 访问订阅内容: - 访问 `https://[YOUR-WORKERS-URL]/[UUID]` 即可获取订阅内容。 - - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址。 - - 例如 `https://vless.google.workers.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10` Base64订阅格式,适用PassWall,SSR+等。 - - 例如 `https://vless.google.workers.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10?format=clash` Clash订阅格式,适用OpenClash等。 - - 例如 `https://vless.google.workers.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=singbox&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` singbox订阅格式,适用singbox等。 - - 例如 `https://vless.google.workers.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=qx&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` Quantumult X订阅格式,适用Quantumult X工具。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址(Quantumult X、Clash、singbox、小火箭、v2rayN、v2rayU、surge、PassWall、SSR+、Karing等)。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?base64` Base64订阅格式,适用PassWall,SSR+等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?clash` Clash订阅格式,适用OpenClash等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?singbox` singbox订阅格式,适用singbox等。 + 3. 给 workers绑定 自定义域: - 在 workers控制台的 `触发器`选项卡,下方点击 `添加自定义域`。 - 填入你已转入 CloudFlare 域名解析服务的次级域名,例如:`vless.google.com`后 点击`添加自定义域`,等待证书生效即可。 -## Pages 上传 部署方法 **最佳推荐!!!** [视频教程](https://www.youtube.com/watch?v=8oZvklBkMj4) +## Pages 上传 部署方法 **最佳推荐!!!** [视频教程](https://www.youtube.com/watch?v=I992KEADr80&t=787s) 1. 部署 Cloudflare Pages: - - 下载 [_worker.js.zip](https://raw.githubusercontent.com/ansoncloud8/am-cf-tunnel/main/_worker.js.zip) 文件,并点上 Star !!! - - 在 Cloudflare Pages 控制台中选择 `上传资产`后,为你的项目取名后点击 `创建项目`,然后上传你下载好的 [_worker.js.zip](https://raw.githubusercontent.com/ansoncloud8/am-cf-tunnel/main/_worker.js.zip) 文件后点击 `部署站点`。 + - 下载 [_worker.js.zip](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/_worker.js.zip) 文件,并点上 Star !!! + - 在 Cloudflare Pages 控制台中选择 `上传资产`后,为你的项目取名后点击 `创建项目`,然后上传你下载好的 [_worker.js.zip](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/_worker.js.zip) 文件后点击 `部署站点`。 - 部署完成后点击 `继续处理站点` 后,选择 `设置` > `环境变量` > **制作**为生产环境定义变量 > `添加变量`。 变量名称填写**UUID**,值则为你的UUID,后点击 `保存`即可。 - - 返回 `部署` 选项卡,在右下角点击 `创建新部署` 后,重新上传 [_worker.js.zip](https://raw.githubusercontent.com/ansoncloud8/am-cf-tunnel/main/_worker.js.zip) 文件后点击 `保存并部署` 即可。 + - 返回 `部署` 选项卡,在右下角点击 `创建新部署` 后,重新上传 [_worker.js.zip](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/_worker.js.zip) 文件后点击 `保存并部署` 即可。 2. 访问订阅内容: - - 访问 `https://[YOUR-PAGES-URL]/[YOUR-UUID]` 即可获取订阅内容。 - - 例如 `https://vless.google.pages.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址。 - - 例如 `https://vless.google.pages.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10` Base64订阅格式,适用PassWall,SSR+等。 - - 例如 `https://vless.google.pages.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10?format=clash` Clash订阅格式,适用OpenClash等。 - - 例如 `https://vless.google.pages.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=singbox&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` singbox订阅格式,适用singbox等。 - - 例如 `https://vless.google.pages.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=qx&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` Quantumult X订阅格式,适用Quantumult X工具。 - + - 访问 `https://[YOUR-WORKERS-URL]/[UUID]` 即可获取订阅内容。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址(Quantumult X、Clash、singbox、小火箭、v2rayN、v2rayU、surge、PassWall、SSR+、Karing等)。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?base64` Base64订阅格式,适用PassWall,SSR+等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?clash` Clash订阅格式,适用OpenClash等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?singbox` singbox订阅格式,适用singbox等。 -3. 给 Pages绑定 CNAME自定义域:[视频教程](https://www.youtube.com/watch?v=8oZvklBkMj4) +3. 给 Pages绑定 CNAME自定义域: - 在 Pages控制台的 `自定义域`选项卡,下方点击 `设置自定义域`。 - 填入你的自定义次级域名,注意不要使用你的根域名,例如: 您分配到的域名是 `google.com`,则添加自定义域填入 `vless.google.com`即可; @@ -85,7 +77,7 @@ -## Pages GitHub 部署方法 +## Pages GitHub 部署方法 [视频教程](https://youtu.be/6lhFb4hYTYw) 1. 部署 Cloudflare Pages: - 在 Github 上先 Fork 本项目,并点上 Star !!! - 在 Cloudflare Pages 控制台中选择 `连接到 Git`后,选中 `am-tunnel`项目后点击 `开始设置`。 @@ -93,14 +85,13 @@ 变量名称填写**UUID**,值则为你的UUID,后点击 `保存并部署`即可。 2. 访问订阅内容: - - 访问 `https://[YOUR-PAGES-URL]/[YOUR-UUID]` 即可获取订阅内容。 - - 例如 `https://vless.google.pages.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址。 - - 例如 `https://vless.google.pages.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10` Base64订阅格式,适用PassWall,SSR+等。 - - 例如 `https://vless.google.pages.dev/sub/90cd4a77-141a-43c9-991b-08263cfe9c10?format=clash` Clash订阅格式,适用OpenClash等。 - - 例如 `https://vless.google.pages.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=singbox&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` singbox订阅格式,适用singbox等。 - - 例如 `https://vless.google.pages.dev/sub/bestip/90cd4a77-141a-43c9-991b-08263cfe9c10?format=qx&uuid=68ecf7d9-5eb3-31ee-fe78-134a3d519356` Quantumult X订阅格式,适用Quantumult X工具。 - -3. 给 Pages绑定 CNAME自定义域:[视频教程](https://www.youtube.com/watch?v=8oZvklBkMj4) + - 访问 `https://[YOUR-WORKERS-URL]/[UUID]` 即可获取订阅内容。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10` 就是你的通用自适应订阅地址(Quantumult X、Clash、singbox、小火箭、v2rayN、v2rayU、surge、PassWall、SSR+、Karing等)。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?base64` Base64订阅格式,适用PassWall,SSR+等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?clash` Clash订阅格式,适用OpenClash等。 + - 例如 `https://vless.google.workers.dev/90cd4a77-141a-43c9-991b-08263cfe9c10?singbox` singbox订阅格式,适用singbox等。 + +3. 给 Pages绑定 CNAME自定义域: - 在 Pages控制台的 `自定义域`选项卡,下方点击 `设置自定义域`。 - 填入你的自定义次级域名,注意不要使用你的根域名,例如: 您分配到的域名是 `google.com`,则添加自定义域填入 `vless.google.com`即可; @@ -110,31 +101,29 @@ ## 变量说明 -| 变量名 | 示例 | 必填 | 备注 | YT | | -|--------|---------|-|-----|-----|--------| -| UUID | 90cd4a77-141a-43c9-991b-08263cfe9c10 |√| Powershell -NoExit -Command "[guid]::NewGuid()"| [Video](https://www.youtube.com/watch?v=8oZvklBkMj4) | | -| PROXYIP | ts.hpc.tw |×| 备选作为访问CloudFlareCDN站点的代理节点(支持多ProxyIP, ProxyIP之间使用`,`或 换行 作间隔) | [Video](https://youtu.be/CiSdaNOCyOk) | | -| SOCKS5 | user:password@127.0.0.1:1080 | 优先作为访问CFCDN站点的SOCKS5代理 | -| SUBCONFIG | [https://raw.github.../ACL4SSR_Online_Full_MultiMode.ini](https://raw.githubusercontent.com/cmliu/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini) |×| clash、singbox等 订阅转换配置文件 | -| SUB | trojan.cftest.dynv6.net | 优选订阅生成器地址(使用订阅器将放弃`ADD`内的本地优选订阅内容) +| 变量名 | 示例 | 必填 | 备注 | YT | +|-----|-----|-----|-----|-----| +| UUID | 90cd4a77-141a-43c9-991b-08263cfe9c10 |√| [在线获取UUID](https://1024tools.com/uuid)| | +| PROXYIP | cdn-b100.xn--b6gac.eu.org |❌| 备选作为访问CloudFlareCDN站点的代理节点(支持多ProxyIP, ProxyIP之间使用`,`或 换行 作间隔) | [Video](https://youtu.be/pKrlfRRB0gU) | +| SOCKS5 | user:password@127.0.0.1:1080 |❌ | 优先作为访问CFCDN站点的SOCKS5代理 |[Video](https://youtu.be/Bw82BH_ecC4) | | ADD | `icook.tw:2053#官方优选域名` |❌| 本地优选TLS域名/优选IP(支持多元素之间`,`或 换行 作间隔) || -| ADDAPI | [https://raw.github.../addressesapi.txt](https://raw.githubusercontent.com/ansoncloud8/am-tunnel/dev/ipv4.txt) |❌| 优选IP的API地址(支持多元素之间`,`或 换行 作间隔) || -| ADDCSV | [https://raw.github.../addressescsv.csv](https://raw.githubusercontent.com/ansoncloud8/am-tunnel/dev/ipv4.csv) |❌| iptest测速结果(支持多元素, 元素之间使用`,`作间隔) || +| ADDAPI | [https://raw.github.../addressesapi.txt](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/ipv4.txt) |❌| 优选IP的API地址(支持多元素之间`,`或 换行 作间隔) |[Video](https://youtu.be/dzxezRV1v-o) | +| ADDCSV | [https://raw.github.../addressescsv.csv](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/ipv4.csv) |❌| iptest测速结果(支持多元素, 元素之间使用`,`作间隔) |[Video](https://youtu.be/vX3U3FuuTT8)| | ADDNOTLS | `icook.hk:8080#官方优选域名` |❌| 本地优选noTLS域名/优选IP(支持多元素之间`,`或 换行 作间隔) || -| ADDNOTLSAPI | [https://raw.github.../addressesapi.txt](https://raw.githubusercontent.com/ansoncloud8/am-tunnel/dev/ipv4.txt) |❌| 优选IP的API地址(支持多元素之间`,`或 换行 作间隔) || +| ADDNOTLSAPI | [https://raw.github.../addressesapi.txt](https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/ipv4.txt) |❌| 优选IP的API地址(支持多元素之间`,`或 换行 作间隔) || +| SUB | trojan.cftest.dynv6.net |❌ | 优选订阅生成器地址(使用订阅器将放弃`ADD`内的本地优选订阅内容) || +| SUBAPI | subapi.cftest.dynv6.net |❌ | clash、singbox等 订阅转换后端 || +| SUBCONFIG | [https://raw.github.../ACL4SSR_Online_Mini.ini](https://raw.githubusercontent.com/amclubs/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini) |❌ | clash、singbox等 订阅转换配置文件 || +| SUBNAME | am-cf-tunnel |❌ | 订阅名称 || | DLS | `8` |❌| `ADDCSV`测速结果满足速度下限 || -| DLS | 8 | `ADDCSV`测速结果满足速度下限 | -| TGTOKEN | 6894123456:XXXXXXXXXX0qExVsBPUhHDAbXXXXXqWXgBA | 发送TG通知的机器人token | -| TGID | 6946912345 | 接收TG通知的账户数字ID | -| SUB | trojan.cftest.dynv6.net | 优选订阅生成器地址(使用订阅器将放弃`ADD`内的本地优选订阅内容) | -| SUBAPI | subapi.cftest.dynv6.net | clash、singbox等 订阅转换后端 | -| SUBCONFIG | [https://raw.github.../ACL4SSR_Online_Mini.ini](https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini.ini) | clash、singbox等 订阅转换配置文件 | -| SUBNAME | am-trojan | 订阅名称 | -| RPROXYIP | false | 设为 true 即可强制获取订阅器分配的ProxyIP(需订阅器支持) | -| URL302 | https://t.me/AM_CLUBS | 主页302跳转(支持多url, url之间使用`,`或 换行 作间隔, 小白别用) | -| URL | https://t.me/AM_CLUBS | 主页伪装(支持多url, url之间使用`,`或 换行 作间隔, 乱设容易触发反诈) | -| CFEMAIL | test@gmail.com | CF账户邮箱(与`CFKEY`都填上后, 订阅信息将显示请求使用量, 小白别用) | -| CFKEY | c6a944b5c956b6c18c2352880952bced8b85e | CF账户Global API Key(与`CFEMAIL`都填上后, 订阅信息将显示请求使用量, 小白别用) | +| DLS | 8 |❌ | `ADDCSV`测速结果满足速度下限 || +| TGTOKEN | 6894123456:XXXXXXXXXX0qExVsBPUhHDAbXXXXXqWXgBA |❌ | 发送TG通知的机器人token || +| TGID | 6946912345 |❌ | 接收TG通知的账户数字ID || +| RPROXYIP | false |❌ | 设为 true 即可强制获取订阅器分配的ProxyIP(需订阅器支持) || +| URL302 | https://t.me/AM_CLUBS |❌ | 主页302跳转(支持多url, url之间使用`,`或 换行 作间隔, 小白别用) || +| URL | https://t.me/AM_CLUBS |❌ | 主页伪装(支持多url, url之间使用`,`或 换行 作间隔, 乱设容易触发反诈) || +| CFEMAIL | test@gmail.com |❌ | CF账户邮箱(与`CFKEY`都填上后, 订阅信息将显示请求使用量, 小白别用) || +| CFKEY | c6a944b5c956b6c18c2352880952bced8b85e |❌ | CF账户Global API Key(与`CFEMAIL`都填上后, 订阅信息将显示请求使用量, 小白别用) || ## 已适配自适应订阅内容 diff --git a/_worker.js b/_worker.js index 8aff9ca..d4082d8 100644 --- a/_worker.js +++ b/_worker.js @@ -1,8 +1,7 @@ /** *- Telegram交流群:https://t.me/AM_CLUBS *- YouTube频道:https://youtube.com/@AM_CLUB -*- VLESS订阅地址:https://worker.amcloud.filegear-sg.me/866853eb-5293-4f09-bf00-e13eb237c655 -*- Github仓库地址:https://github.com/ansoncloud8 +*- Github仓库地址:https://github.com/amclubsamclubs **/ // @ts-ignore import { connect } from 'cloudflare:sockets'; @@ -18,7 +17,7 @@ let proxyIP = '';// let sub = '';// 留空则使用内置订阅 let subconverter = 'url.v1.mk';// clash订阅转换后端,自带虚假uuid和host订阅。 -let subconfig = "https://raw.githubusercontent.com/ansoncloud8/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini"; //订阅配置文件 +let subconfig = "https://raw.githubusercontent.com/amclubs/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini"; //订阅配置文件 let subProtocol = 'https'; // The user name and password do not contain special characters // Setting the address will ignore proxyIP @@ -40,12 +39,12 @@ const expire = 4102329600;//2099-12-31 // 设置优选地址,不带端口号默认443,TLS订阅生成 let addresses = [ - 'icook.tw:443#t.me/AM_CLUBS',//官方优选域名 + 'icook.hk:443#t.me/AM_CLUBS',//官方优选域名 //'cloudflare.cfgo.cc:443#关注YouTube频道@AM_CLUB', 'visa.com:443#youtube.com/@AM_CLUB' ]; // 设置优选地址api接口 -let addressesapi = ['https://raw.githubusercontent.com/ansoncloud8/am-tunnel/dev/ipv4.txt']; +let addressesapi = ['https://raw.githubusercontent.com/amclubs/am-cf-tunnel/main/ipv4.txt']; let addressesnotls = []; let addressesnotlsapi = []; @@ -55,7 +54,7 @@ let FileName = 'am-cf-tunnel'; let BotToken =''; let ChatID =''; let proxyhosts = [];//本地代理域名池 -let proxyhostsURL = 'https://github.com/ansoncloud8/am-cf-trojan/blob/main/proxyhosts.txt';//在线代理域名池URL +let proxyhostsURL = 'https://raw.githubusercontent.com/amclubs/am-cf-auto-trojan/main/proxyhosts.txt';//在线代理域名池URL let RproxyIP = 'false'; @@ -132,7 +131,14 @@ export default { const URL = URLs[Math.floor(Math.random() * URLs.length)]; return envKey === 'URL302' ? Response.redirect(URL, 302) : fetch(new Request(URL, request)); } - return new Response(JSON.stringify(request.cf, null, 4), { status: 200 }); + // return new Response(JSON.stringify(request.cf, null, 4), { status: 200 }); + // 首页改成一个nginx伪装页 + return new Response(await nginx(), { + headers: { + 'Content-Type': 'text/html; charset=UTF-8', + 'referer': 'https://www.google.com/search?q=am.809098.xyz', + }, + }); case `/${fakeUserID}`: const fakeConfig = await getVLESSConfig(userID, request.headers.get('Host'), sub, 'CF-Workers-SUB', RproxyIP, url); return new Response(`${fakeConfig}`, { status: 200 }); @@ -141,10 +147,10 @@ export default { if ((!sub || sub == '') && (addresses.length + addressesapi.length + addressesnotls.length + addressesnotlsapi.length + addressescsv.length) == 0){ if (request.headers.get('Host').includes(".workers.dev")) { sub = 'worker.amcloud.filegear-sg.me'; - subconfig = env.SUBCONFIG || 'https://raw.githubusercontent.com/ansoncloud8/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full.ini'; + subconfig = env.SUBCONFIG || 'https://raw.githubusercontent.com/amclubs/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full.ini'; } else { sub = 'worker.amcloud.filegear-sg.me'; - subconfig = env.SUBCONFIG || "https://raw.githubusercontent.com/ansoncloud8/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini"; + subconfig = env.SUBCONFIG || "https://raw.githubusercontent.com/amclubs/ACL4SSR/main/Clash/config/ACL4SSR_Online_Full_MultiMode.ini"; } } const vlessConfig = await getVLESSConfig(userID, request.headers.get('Host'), sub, UA, RproxyIP, url); @@ -177,7 +183,7 @@ export default { return new Response(`${vlessConfig}`, { status: 200, headers: { - "Content-Type": "text/plain;charset=utf-8", + "Content-Type": "text/html;charset=utf-8", "Profile-Update-Interval": "6", "Subscription-Userinfo": `upload=${pagesSum}; download=${workersSum}; total=${total}; expire=${expire}`, } @@ -1314,7 +1320,7 @@ async function getVLESSConfig(userID, hostName, sub, UA, RproxyIP, _url) { let 订阅器 = `您的订阅内容由 ${sub} 提供维护支持, 自动获取ProxyIP: ${RproxyIP}`; if (!sub || sub == '') { if (!proxyIP || proxyIP =='') { - 订阅器 = '您的订阅内容由 内置 addresses/ADD 参数提供, 当前使用的ProxyIP为空, 推荐您设置 proxyIP/PROXYIP !!!'; + 订阅器 = '您的订阅内容由 内置 addresses/ADD 参数提供, 当前使用的ProxyIP为空, 推荐您设置PROXYIP变量或订阅连接带proxyIP'; } else { 订阅器 = `您的订阅内容由 内置 addresses/ADD 参数提供, 当前使用的ProxyIP: ${proxyIPs.join(', ')}`; } @@ -1322,18 +1328,73 @@ async function getVLESSConfig(userID, hostName, sub, UA, RproxyIP, _url) { if (enableSocks) 订阅器 += `, 当前使用的Socks5: ${parsedSocks5Address.hostname}:${String(parsedSocks5Address.port)}`; else 订阅器 += `, 当前使用的ProxyIP: ${proxyIPs.join(', ')}`; } - return ` -################################################################ -telegram 交流群 技术大佬~在线交流! -t.me/AM_CLUBS ---------------------------------------------------------------- -github 项目地址 点击Star!Star!Star!!! -https://github.com/ansoncloud8/am-tunnel ---------------------------------------------------------------- -订阅YouTube频道,更多技术分享 -https://youtube.com/@AM_CLUB + + // HTML Head with CSS and FontAwesome library + const htmlHead = ` + + am-cf-tunnel: VLESS configuration + + + + + + + `; + + // Prepare header string + const header = ` +

+ t.me/AM_CLUBS 点击加入Telegram交流群 技术大佬~在线交流!!! + https://github.com/amclubs 点击进入GitHub项目地址 点击Star!Star!Star!!! + https://youtube.com/@AM_CLUB 点击进入YouTube频道,订阅频道,更多技术分享!!! +

+ `; + +// return ` + const output = ` ################################################################ -Subscribe / sub 订阅地址, 支持 Base64、clash-meta、sing-box 订阅格式, ${订阅器} +Subscribe / sub 订阅地址, 支持 Base64、clash-meta、sing-box、Quantumult X、小火箭、surge 等订阅格式, ${订阅器} --------------------------------------------------------------- 快速自适应订阅地址: https://${proxyhost}${hostName}/${userID} @@ -1362,6 +1423,29 @@ ${clash} --------------------------------------------------------------- ################################################################ `; + + +return ` + +${htmlHead} + +
${header}
+
${output}
+ + +`; + + } else { if (typeof fetch != 'function') { return 'Error: fetch is not available in this environment.'; @@ -1389,7 +1473,7 @@ ${clash} fakeHostName = `${fakeHostName}.xyz` } console.log(`虚假HOST: ${fakeHostName}`); - let url = `${subProtocol}://${sub}/sub?host=${fakeHostName}&uuid=${fakeUserID}&tunnel=ansoncloud8&proxyip=${RproxyIP}`; + let url = `${subProtocol}://${sub}/sub?host=${fakeHostName}&uuid=${fakeUserID}&tunnel=amclubs&proxyip=${RproxyIP}`; let isBase64 = true; if (!sub || sub == ""){ @@ -1441,7 +1525,7 @@ ${clash} } else { const response = await fetch(url ,{ headers: { - 'User-Agent': `${UA} CF-Workers-tunnel/ansoncloud8` + 'User-Agent': `${UA} am-cf-tunnel/amclubs` }}); content = await response.text(); } @@ -1558,7 +1642,7 @@ async function getAddressesapi(api) { method: 'get', headers: { 'Accept': 'text/html,application/xhtml+xml,application/xml;', - 'User-Agent': 'CF-Workers-tunnel/ansoncloud8' + 'User-Agent': 'am-cf-tunnel/amclubs' }, signal: controller.signal // 将AbortController的信号量添加到fetch请求中,以便于需要时可以取消请求 }).then(response => response.ok ? response.text() : Promise.reject()))); @@ -1826,3 +1910,35 @@ function isValidIPv4(address) { const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; return ipv4Regex.test(address); } + + +async function nginx() { + const text = ` + + + + Welcome to nginx! + + + +

Welcome to nginx!

+

If you see this page, the nginx web server is successfully installed and + working. Further configuration is required.

+ +

For online documentation and support please refer to + nginx.org.
+ Commercial support is available at + nginx.com.

+ +

Thank you for using nginx.

+ + + ` + return text; +} diff --git a/_worker.js.zip b/_worker.js.zip index 0100827..24989de 100644 Binary files a/_worker.js.zip and b/_worker.js.zip differ diff --git a/ipv4.txt b/ipv4.txt index b91db3f..0c715cc 100644 --- a/ipv4.txt +++ b/ipv4.txt @@ -1,66 +1,42 @@ -172.84.92.152:58723#US -154.21.91.6:15390#US +198.62.62.156:443#US 65.75.194.96:23190#US -166.1.157.124:443#US -23.94.137.117:443#US -103.35.189.61:8444#US 99.83.209.185:443#US -172.84.92.108:42304#US -174.136.206.95:57757#US 104.18.153.36:8443#US 104.17.206.71:443#US -116.204.210.11:443#HK -38.47.122.72:443#HK -8.218.143.10:2053#HK -47.243.90.180:2053#HK -38.150.15.137:443#HK +154.17.5.18:49887#US 119.28.189.227:32079#HK -103.30.78.25:30277#HK 38.180.150.193:2053#HK -47.236.253.41:2087#SG -47.237.84.173:8443#SG -47.236.237.90:8443#SG -43.156.37.138:5555#SG -47.236.180.51:2083#SG -47.236.180.24:2053#SG -47.236.202.91:2083#SG -43.156.143.198:40809#SG -43.159.55.220:34237#SG -168.138.179.107:36322#SG -43.134.187.193:8989#SG -1150.230.107.234:47236#JP -138.2.12.10:45805#JP -103.232.214.11:8443#JP -35.200.25.49:2087#JP +58.176.95.46:443#HK +116.204.210.11:443#HK +47.243.90.180:2053#HK +101.36.111.171:34237#HK +47.237.86.185:2087#HK +54.169.229.188:443#SG +47.236.237.90:2053#SG +129.150.32.171:6443#SG +54.169.229.188:443#SG +47.237.86.185:2087#SG +47.236.10.182:2096#SG 150.66.24.104:34237#JP -64.110.83.231:23022#JP -138.3.215.231:44784#JP -168.138.213.1:50003#JP -45.251.240.229:34237#JP 43.153.181.217:443#JP -61.220.65.189:26832#TW -203.69.248.40:27381#TW -203.69.248.40:27381#TW +45.251.240.229:34237#JP +103.232.214.11:8443#JP +103.20.199.101:33004#JP +140.238.12.52:8443#JP +37.128.252.113:31141#TW +141.11.86.86:34237#TW 211.75.243.91:16764#TW -166.0.199.138:8268#TW -146.56.37.60:20017#KR -211.224.115.109:10084#KR +61.220.65.189:26832#TW 183.98.120.11:12266#KR -222.108.18.150:19013#KR +121.180.212.30:12345#KR +146.56.41.180:34237#KR +152.70.245.66:12693#KR 144.24.83.117:443#KR -146.56.99.22:20443#KR -175.125.207.253:12534#KR -103.169.142.71:443#CF -45.159.218.146:443#CF -103.160.204.122:443#CF -45.159.218.229:443#CF +222.119.56.43:15812#KR +43.201.60.107:10002#KR 103.160.204.59:443#CF 198.62.62.4:443#CF 75.2.32.4:443#CF 104.17.142.12:443#CF 104.17.68.85:443#CF 104.17.71.31:443#CF -167.114.153.39:8443#CA -198.23.223.178:2053#CA - - diff --git a/output_temp/.build_date.txt b/output_temp/.build_date.txt new file mode 100644 index 0000000..f1fdc2b --- /dev/null +++ b/output_temp/.build_date.txt @@ -0,0 +1 @@ +Sat Aug 31 15:05:48 UTC 2024 diff --git a/variables.yml b/variables.yml new file mode 100644 index 0000000..93ed07c --- /dev/null +++ b/variables.yml @@ -0,0 +1 @@ +generated_at: Sat Aug 31 15:05:48 UTC 2024