build(go): 更新 Go 版本及依赖包版本

更新 Go 版本从 1.25.3 到 1.25.4,并升级了以下依赖项:
- github.com/lionsoul2014/ip2region/binding/golang 从 20251015 版本升级到 20251113 版本
- golang.org/x/net 从 v0.46.0 升级到 v0.47.0
- golang.org/x/sys 从 v0.37.0 升级到 v0.38.0

同时在 main.go 中新增对 iptables 和 ipset 命令存在性的检查。
This commit is contained in:
2025-11-18 15:45:30 +08:00
parent 2df83f3e23
commit df2c4a325c
6 changed files with 31 additions and 4 deletions

14
common.go Normal file
View File

@@ -0,0 +1,14 @@
package main
import (
"log"
"os/exec"
)
// CheckCommandExists 检测系统命令是否存在,不存在则退出程序
func CheckCommandExists(cmd string) {
_, err := exec.LookPath(cmd)
if err != nil {
log.Fatalf("命令未找到: %s (请确保已安装该命令)", cmd)
}
}

BIN
denyip

Binary file not shown.

BIN
denyip.upx Normal file

Binary file not shown.

8
go.mod
View File

@@ -1,13 +1,13 @@
module denyip
go 1.25.3
go 1.25.4
require (
github.com/google/gopacket v1.1.19
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251015133354-5a51b754117e
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251113013923-bd30b77d5468
)
require (
golang.org/x/net v0.46.0 // indirect
golang.org/x/sys v0.37.0 // indirect
golang.org/x/net v0.47.0 // indirect
golang.org/x/sys v0.38.0 // indirect
)

10
go.sum
View File

@@ -1,7 +1,13 @@
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
github.com/lionsoul2014/ip2region v3.8.1+incompatible h1:gPNjTKGDwD+ONRfEuarkO2/+m0cHUyKq54RYh3Y5OYo=
github.com/lionsoul2014/ip2region v3.8.1+incompatible/go.mod h1:+ZBN7PBoh5gG6/y0ZQ85vJDBe21WnfbRrQQwTfliJJI=
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251015133354-5a51b754117e h1:+SFFyvJZrJ/uns6ioXL9pd3Rg7CPDHy7fa45DcRoPzM=
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251015133354-5a51b754117e/go.mod h1:+mNMTBuDMdEGhWzoQgc6kBdqeaQpWh5ba8zqmp2MxCU=
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251113013923-bd30b77d5468 h1:tAxRAx434lf9txMOrgrMVPIAm2/7nB7SkL5v7NnO8Cc=
github.com/lionsoul2014/ip2region/binding/golang v0.0.0-20251113013923-bd30b77d5468/go.mod h1:+mNMTBuDMdEGhWzoQgc6kBdqeaQpWh5ba8zqmp2MxCU=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
@@ -10,11 +16,15 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@@ -505,6 +505,9 @@ func main() {
runtime.GOMAXPROCS(runtime.NumCPU()) // 设置最大CPU核数
HandleCmd()
CheckCommandExists("iptables")
CheckCommandExists("ipset")
embed_ip2region()
// 加载白名单