一键脚本获取本机 IP 以及用gh-proxy访问 Github 的通道
经常在各TG群里看到各种一键脚本用户有检测IP与域名解析不匹配的反馈 这样的原因 常常是因为 脚本中检测IP的方法失效了. 在 233boy 的群中受到启发. 我有一个想法. 对各脚本的作者发起一个倡议, 使用统一的 本机IP 的变量名. _FQ_IP_ 使用统一的IP栈变量名. 值为4表示使用IPv4, 值为6表示使用IPv6. _FQ_NET_STACK_ 在脚本中, 检测本机IP之前, 先判断这个环境变量是否为空. 环境变量非空, 则不检测本机IP. 示例, get_ip() { if [[ -z $_FQ_IP_ ]]; then if [[ $_FQ_NET_STACK_ == "4" ]]; then _FQ_IP_=$(curl -4s https://www.cloudflare.com/cdn-cgi/trace | grep -oP "ip=\K\S+") [[ -z $_FQ_IP_ ]] && echo -e "\n 检测本机IP失败\n" && exit elif [[ $_FQ_NET_STACK_ == "6" ]]; then _FQ_IP_=$(curl -6s https://www.cloudflare.com/cdn-cgi/trace | grep -oP "ip=\K\S+") [[ -z $_FQ_IP_ ]] && echo -e "\n 检测本机IP失败\n" && exit else _FQ_IP_=$(curl -s https://www.cloudflare.com/cdn-cgi/trace | grep -oP "ip=\K\S+") [[ -z $_FQ_IP_ ]] && echo -e "\n 检测本机IP失败\n" ...