Skip to content

改进公网 IP 获取失败时的回退处理#116

Open
HexBen123 wants to merge 1 commit into233boy:mainfrom
HexBen123:fix/public-ip-fallback-prompt
Open

改进公网 IP 获取失败时的回退处理#116
HexBen123 wants to merge 1 commit into233boy:mainfrom
HexBen123:fix/public-ip-fallback-prompt

Conversation

@HexBen123
Copy link

变更说明

这个 PR 主要改进了脚本在获取公网 IP 时的容错处理,避免因为单个探测接口不可达而直接失败。

调整内容

  • get_ip() 增加多个公网 IP 探测源,降低对 https://one.one.one.one/cdn-cgi/trace 的单点依赖
  • 当所有自动探测方式都失败时,改为提示用户手动输入公网 IP
  • 安装脚本 install.sh 与运行脚本 src/core.sh 保持一致的处理逻辑
  • 非交互场景下如果无法自动获取 IP,会给出明确错误,而不是无意义地卡在输入阶段

预期效果

  • 某些服务器无法访问 Cloudflare 接口时,脚本仍有机会通过其他探测源继续工作
  • 自动探测全部失败时,用户仍可以继续完成配置修改或安装流程

@233boy
Copy link
Owner

233boy commented Mar 16, 2026

这个地方是特意弄的(因为不想给国内安装(访问不了1111

确实单点依赖是为了省事,(也有不想给国内安装的原因

最后,感谢你的pr,虽然这个问题早就有不少人提出了,但为了解决获取 ip 而增加这些代码其实是有些复杂,如果单纯只是为了避免解决获取不到 ip,只需要在获取不到 ip 的时候直接自定义一个 ip=127.0.0.1 并提醒用户类似消息 “获取ip 失败,临时设置ip 为 127.0.0.1,请更改服务器地址为本机ip”,这样一切工作依旧(这个问题我其实没有好的解决方案,只能取舍少部分可能会出现问题的情况,你可以自定义提前在终端 export ip=233 自定义 ip 并且还可以省去请求(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants