wo_scripts/get_runmode.js
2026-01-21 14:06:39 +08:00

24 lines
787 B
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 使用Node.js实现Shell脚本逻辑获取公网IP并检查是否以.172结尾
const https = require('https')
const { execFileSync } = require('child_process')
// https.get 没有同步版本,使用 child_process.execFileSync 同步获取公网 IP
let ip
try {
// 使用 curl 同步请求获取 IP
ip = execFileSync('curl', ['-s', 'https://api.ipify.org'], { encoding: 'utf8' }).trim()
} catch (e) {
// 如果 curl 失败,降级为固定开发环境
ip = '0.0.0.0'
}
const result = ip.endsWith('.172') ? 'production' : ip.endsWith('.60') ? 'test' : 'development'
// 直接导出结果字符串require 时即可拿到 IP 对应的 env
module.exports = result
// 如果直接运行此文件,则打印结果
if (require.main === module) {
console.log(result)
}