增加查看iptales规则功能参数 -s l 或者 -s list,规范变量命名。
This commit is contained in:
26
main.go
26
main.go
@@ -132,8 +132,6 @@ func startDaemon() {
|
||||
|
||||
// 子进程逻辑
|
||||
func runChildProcess() {
|
||||
fmt.Println("子进程启动中...")
|
||||
|
||||
sigChan := make(chan os.Signal, 1)
|
||||
signal.Notify(sigChan, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
|
||||
|
||||
@@ -146,8 +144,7 @@ func runChildProcess() {
|
||||
fmt.Printf("子进程收到信号: %v,准备退出...\n", sig)
|
||||
return
|
||||
case <-ticker.C:
|
||||
fmt.Println("子进程正在运行...")
|
||||
fmt.Println("子进程接收到的参数:", os.Args)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -175,11 +172,10 @@ func runMainProcess() { // 主进程逻辑
|
||||
for {
|
||||
IpMutex.Lock() // 锁定互斥锁
|
||||
if IpList.Len() > 0 { // 链表不为空
|
||||
e1 := IpList.Front() // 获取链表第一个元素
|
||||
e1 := IpList.Front() // 获取链表第一个元素
|
||||
region, _ := ip2region(e1.Value.(net.IP).String()) // 离线Ip位置库初步判断地域
|
||||
|
||||
region, _ := ip2region(e1.Value.(net.IP).String())
|
||||
|
||||
log.Printf("当前 Ipset 链 %s %d\n", IPSET_NAME, func() int {
|
||||
log.Printf("当前 Ipset 链 %s %d\n", IPSET_NAME, func() int { // 打印 当前 Ipset 链长度
|
||||
_len, _err := NumIPSet(IPSET_NAME)
|
||||
if _err == nil {
|
||||
return _len
|
||||
@@ -191,8 +187,8 @@ func runMainProcess() { // 主进程逻辑
|
||||
if position, err := curl_(e1.Value.(net.IP).String()); err != nil { //判断地域
|
||||
log.Printf("获取Ip地域出错: %v", err)
|
||||
} else {
|
||||
log.Printf("curl_ %s 位置 %s\n", e1.Value.(net.IP).String(), position) // 打印地域
|
||||
AddIPSet(IPSET_NAME, e1.Value.(net.IP).String()) // 添加 Ip 到 ipset 集合
|
||||
log.Printf("\033[31m%s %s\033[0m\n", e1.Value.(net.IP).String(), position) // 打印地域
|
||||
AddIPSet(IPSET_NAME, e1.Value.(net.IP).String()) // 添加 Ip 到 ipset 集合
|
||||
|
||||
IpList.Remove(e1) // 移除第一个元素
|
||||
}
|
||||
@@ -247,10 +243,9 @@ func handleCmd() {
|
||||
flag.BoolVar(&InterfacesList, "l", false, "列出可用的网络接口")
|
||||
Protocol = flag.String("f", "tcp", "指定 BPF 过滤器")
|
||||
PcapFile = flag.String("o", "", "保存捕获数据的输出文件(可选)")
|
||||
flag.StringVar(&instruction, "s", "", "-s start 启动 Iptables 规则\n-s stop 停止 Iptables 规则")
|
||||
flag.StringVar(&instruction, "s", "", "-s start 启动 Iptables 规则\n-s stop 停止 Iptables 规则\n-s list 打印 Iptables 规则")
|
||||
flag.BoolVar(&help, "h", false, "")
|
||||
flag.BoolVar(&help, "help", false, "帮助信息")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
if help {
|
||||
@@ -261,6 +256,7 @@ func handleCmd() {
|
||||
"\tDate: 20250102\n")
|
||||
|
||||
flag.Usage()
|
||||
fmt.Printf("\n")
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
@@ -281,6 +277,12 @@ func handleCmd() {
|
||||
iptables_del(_name)
|
||||
}
|
||||
os.Exit(0)
|
||||
case "l":
|
||||
fallthrough
|
||||
case "list":
|
||||
fmt.Println("打印 Iptables 规则")
|
||||
_ = iptables_list()
|
||||
os.Exit(0)
|
||||
default:
|
||||
log.Fatalf("未知的操作: %s. 请使用 'start' 或 'stop'.", instruction)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user