加添功能:

把本机外网地址加入防火墙白名单,(如果是国外VPS)
This commit is contained in:
2025-02-08 11:44:29 +08:00
parent bad3a9d45f
commit 19b20dec5c
3 changed files with 51 additions and 1 deletions

19
main.go
View File

@@ -145,7 +145,7 @@ func runChildProcess() {
for {
select {
case sig := <-sigChan:
fmt.Printf("子进程收到信号: %v准备退出...\n", sig)
fmt.Printf("子进程收到信号: %v, 准备退出...\n", sig)
return
case <-ticker.C:
@@ -211,6 +211,21 @@ func InitMap() {
}
func WriteLocalAddr() {
local_ipv4_addr := GetLocalIpv4Addr() // 本机地址
// 将本机外网地址加入到已处理集合中
if local_ipv4_addr != "NULL" {
//log.Printf("\033[33m %s 本机地址 \033[0m\n", ipStr)
ProcessedMutex.Lock()
ProcessedIPMap[local_ipv4_addr] = ""
ProcessedMutex.Unlock()
}
// 写入json文件
if err := saveMapToFile("cn.json"); err != nil {
log.Printf("实时保存 Map 失败: %v", err)
}
}
func runMainProcess() { // 主进程逻辑
fmt.Println("主进程启动...")
@@ -239,6 +254,8 @@ func runMainProcess() { // 主进程逻辑
ipStr := e1.Value.(net.IP).String()
region, _ := ip2region(ipStr) // 离线库初步判断地域
WriteLocalAddr() // 将本机外网地址加入到已处理集合中
ProcessedMutex.Lock()
_, processed := ProcessedIPMap[ipStr] // 检查是否已处理
ProcessedMutex.Unlock()