首先声明,这款软件并非我原创开发,而是目前了解到由一位神秘大佬在 CF中转IP 频道 发布的一款实时筛选 Cloudflare 数据中心的软件。我所编写的脚本是在这位开发者的原始版本基础上进行的二次...
首先声明,这款软件并非我原创开发,而是目前了解到由一位神秘大佬在 CF中转IP 频道 发布的一款实时筛选 Cloudflare 数据中心的软件。我所编写的脚本是在这位开发者的原始版本基础上进行的二次开发。
由于该软件尚未开源,接下来我将根据作者的简介,结合我的理解进行说明。若有不当之处,欢迎指正。
CFNAT 是一款自动查找并优化 Cloudflare IP 转发的工具,旨在解决泛播 IP 路由不稳定的问题。如果你曾找到过速度不错的 Cloudflare IP,CFNAT 能帮助你快速筛选出最佳 IP 并实现端口转发,从而提升网络使用体验。因此,这款工具对于移动、广电网络用户来说尤为明显!
因为作者没开源,CFNAT 使用场景也必须是在国内机子长期上运行,所以我的脚本就不另开GitHub仓库(放在上面你也没办法直接下载),文章的末尾会附上 CFNAT 所有文件的下载链接,供各位直接调用二次开发。
CFnat-Windows-GUI项目仅供教育、研究和安全测试目的而设计和开发。本项目旨在为安全研究人员、学术界人士及技术爱好者提供一个探索和实践网络通信技术的工具。
在下载和使用本项目代码时,使用者必须严格遵守其所适用的法律和规定。使用者有责任确保其行为符合所在地区的法律框架、规章制度及其他相关规定。
使用条款
- 教育与研究用途:本软件仅可用于网络技术和编程领域的学习、研究和安全测试。
- 禁止非法使用:严禁将CFnat用于任何非法活动或违反使用者所在地区法律法规的行为。
- 使用时限:基于学习和研究目的,建议用户在完成研究或学习后,或在安装后的24小时内,删除本软件及所有相关文件。
- 免责声明:CFnat的创建者和贡献者不对因使用或滥用本软件而导致的任何损害或法律问题负责。
- 用户责任:用户对使用本软件的方式以及由此产生的任何后果完全负责。
- 无技术支持:本软件的创建者不提供任何技术支持或使用协助。
- 知情同意:使用CFnat即表示您已阅读并理解本免责声明,并同意受其条款的约束。
请记住:本软件的主要目的是促进学习、研究和安全测试。作者不支持或认可任何其他用途。使用者应当在合法和负责任的前提下使用本工具。
经验之谈
- 1.cfnat和梯子在同一台设备上运行时使用本地服务IP:端口连接。
- 2.cfnat和梯子分别处在同一局域网内的两台设备上运行时使用内网服务IP:端口连接。
- 3.如果你是使用 cmliu/edgetunnel 的节点,可将本地服务IP:端口和内网服务IP:端口都添加至ADD变量里,直接订阅食用即可
- 4.移动/广电用户设置数据中心HKG直接起飞!电信/联通用户设置SJC,LAX!
- 5.在跑过一次优选之后,可在colo文件夹里可以看到ip.csv扫描结果, 里面就能看到你的当前网络网络环境下能跑出来的所有数据中心!
- 6.不推荐直接在OpenWRT上直接跑,除非你会设置cfnat不走代理!!!或者等一个大佬开发cfnat的luci界面?
- 那个AS209242的IP库就是个笑话,别用!
-----------------------------------------------------------------------------------------------
CFnat Windows GUI 项目地址
https://github.com/cmliu/CFnat-Window...
CFnat 博客地址
https://cmliussss.com/p/cfnat/
-------------------------------------------------------------------------------------------------
点击CFnat Windows GUI下载,因EXE程序没有签名,会被杀软查杀是正常现象,请自行考虑放行与否。
GUI文件结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| CFnat Windows GUI.exe # GUI本体 cfnat.ini # GUI配置文件 cfnat-windows-386.exe # cfnat x86_32位 原程序本体 cfnat-windows-amd64.exe # cfnat x86_64位 原程序本体 cfnat-windows-arm.exe # cfnat arm_32位 原程序本体 cfnat-windows-arm64.exe # cfnat arm_64位 原程序本体 cfnat-windows7-386.exe # cfnat Win7_x86_32位 原程序本体 Win7专用 cfnat-windows7-amd64.exe # cfnat Win7_x86_64位 原程序本体 Win7专用 colo ├─ colo-windows-386.exe # colo x86_32位 用于生成缓存IP库 ├─ colo-windows-amd64.exe # colo x86_64位 用于生成缓存IP库 ├─ colo-windows-arm.exe # colo arm_32位 用于生成缓存IP库 ├─ colo-windows-arm64.exe # colo arm_64位 用于生成缓存IP库 ├─ ip.csv # colo 扫描结果 用于生成缓存IP库 ├─ ips-v4.txt # IPv4库 ├─ ips-v6.txt # IPv6库 └─ locations.json # CF数据中心json文件 ips-v4.txt # 缓存IPv4库 ips-v6.txt # 缓存IPv6库 locations.json # CF数据中心json文件
|
CFNAT 一键脚本
适用场景:拥有干净网关的Linux设备,OpenWRT软路由使用时必须保证 cfnat 处于直连环境!!!
- 终端命令
1
| curl -sSL https://raw.cmliussss.com/cfnat.sh -o ~/cfnat.sh && chmod +x ~/cfnat.sh && bash ~/cfnat.sh
|
在正式运行之前,推荐先配置 cfnat参数后调试运行 cfnat
如系统/架构识别不正确,则需要7手动设置系统架构
在调试运行 cfnat测试无误后Ctrl+C取消运行,后再次进入脚本选择2启动 cfnat即可
- 安卓手机 termux命令
1
| bash <(curl -Ls https://raw.cmliussss.com/cfnat.sh)
|
不推荐手机用户使用后台运行,直接使用调试运行 cfnat即可
- 无交互命令
1 2 3 4 5
| # 无交互直接跑SJC,LAX优选,需要提前将脚本下载到~目录 cd ~ && bash cfnat.sh SJC,LAX
# 无交互直接跑HKG优选 bash <(curl -Ls https://raw.cmliussss.com/cfnat.sh) HKG
|
注意使用无交互启动后,脚本会使用crontab对cfnat进程进行守护,关闭需要进入脚本bash cfnat.sh选择3即可停止cfnat进程并清理crontab。
脚本文件结构
1 2 3 4 5 6
| cfnat.sh #sh脚本 本体 cfnat ├─ cfnat #cfnat 原程序本体 ├─ cfnat.conf #sh脚本 相关参数配置文件 ├─ ips-v4.txt #IP库 └─ locations.json #CF数据中心json文件
|
所谓的卸载就是删除cfnat文件夹
下载目录
- 下载地址https://raw.cmliussss.com/cfnat/*,自行替换*为下载文件名:
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 40
| cfnat-android-arm64 cfnat-darwin-amd64 cfnat-darwin-arm64 cfnat-dragonfly-amd64 cfnat-freebsd-386 cfnat-freebsd-amd64 cfnat-freebsd-arm cfnat-freebsd-arm64 cfnat-linux-386 cfnat-linux-amd64 cfnat-linux-arm cfnat-linux-arm64 cfnat-linux-mips cfnat-linux-mips64 cfnat-linux-mips64le cfnat-linux-mipsle cfnat-linux-ppc64 cfnat-linux-ppc64le cfnat-linux-riscv64 cfnat-linux-s390x cfnat-netbsd-386 cfnat-netbsd-amd64 cfnat-netbsd-arm cfnat-netbsd-arm64 cfnat-openbsd-386 cfnat-openbsd-amd64 cfnat-openbsd-arm cfnat-openbsd-arm64 cfnat-plan9-386 cfnat-plan9-amd64 cfnat-solaris-amd64 cfnat-termux cfnat-windows-386.exe cfnat-windows-amd64.exe cfnat-windows-arm.exe cfnat-windows-arm64.exe cfnat-windows7-386.exe cfnat-windows7-amd64.exe ips-v4.txt ips-v6.txt
|
参数命令
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
| Usage of cfnat: -addr string 本地监听的 IP 和端口 (default "0.0.0.0:1234") -code int HTTP/HTTPS 响应状态码 (default 200) -colo string 筛选数据中心例如 HKG,SJC,LAX (多个数据中心用逗号隔开,留空则忽略匹配) -delay int 有效延迟(毫秒),超过此延迟将断开连接 (default 300) -domain string 响应状态码检查的域名地址 (default "cloudflaremirrors.com/debian") -ipnum int 提取的有效IP数量 (default 20) -ips string 指定生成IPv4还是IPv6地址 (4或6) (default "4") -num int 目标负载 IP 数量 (default 10) -port int 转发的目标端口 (default 443) -random 是否随机生成IP,如果为false,则从CIDR中拆分出所有IP (default true) -task int 并发请求最大协程数 (default 100) -tls 是否为 TLS 端口 (default true)
|
亚洲COLO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| ICN 韩国仁川 NRT 日本成田 SIN 新加坡 KIX 日本关西 FUK 日本福冈 HKG 香港 TPE 台湾桃源 BOM 印度孟买 KHH 台湾高雄 MAA 印度真奈 BLR 印度班加罗尔 DXB 迪拜 KUL 马来西亚吉隆坡 TLV 以色列 HFA 以色列海法 CGK 印尼雅加达 HYD 印度海得拉巴 DAC 孟加拉国 MNL 菲律宾马尼拉 DEL 印度新德里
|
美国COLO
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
| ORD 美国芝加哥 SJC 美国圣何塞 IAD 美国华盛顿 EWR 美国纽约 SEA 美国西雅图 YYZ 加拿大多伦多 DFW 美国德克萨斯 PDX 美国波特兰 ATL 美国亚特兰大 MIA 美国佛罗里达州 BUF 美国纽约 MCI 美国密苏里州 PHX 美国亚利桑那 BOS 美国马萨诸塞 IAH 美国得克萨斯州 SLC 美国犹他州 DEN 美国科罗拉多州 JAX 美国佛罗里达州 MFE 美国得克萨斯州 PHL 美国宾夕法尼亚州 SMF 美国加利福尼亚 MSP 美国圣保罗 HNL 美国夏威夷檀香山 LAS 美国内华达州 AUS 美国德克萨斯州 TPA 美国佛罗里达 DTW 美国底特律 CLT 美国北卡罗来纳州 IND 美国印第安纳州 MEM 美国田纳西州 STL 美国密苏里州 SFO 美国旧金山
|