039bcc9af9
Normalize Only/Prefer values (ip4→ipv4, ip6→ipv6) so downstream comparisons match correctly. Fix asymmetric fallback where caller network=ip6 fell through to IPv4 but ip4 didn't fall through to IPv6 — both branches now check hard constraints (server.Only || callerPref) only, allowing soft Prefer to fall back. Fix data race on cache item.ts by reading it inside RLock. Fix Store mutating caller's dns.Msg by copying before TTL override. Add singleflight dedup, semaphore-bounded async refresh, DNS rcode error checking, and bump EDNS0 UDPSize to 4096. Add 25 tests.
131 lines
5.5 KiB
Modula-2
131 lines
5.5 KiB
Modula-2
module github.com/go-gost/x
|
|
|
|
go 1.26.3
|
|
|
|
require (
|
|
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137
|
|
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d
|
|
github.com/gin-contrib/cors v1.7.2
|
|
github.com/gin-gonic/gin v1.10.1
|
|
github.com/go-gost/core v0.4.0
|
|
github.com/go-gost/go-shadowsocks2 v0.1.3
|
|
github.com/go-gost/gosocks4 v0.1.0
|
|
github.com/go-gost/gosocks5 v0.5.0
|
|
github.com/go-gost/plugin v0.3.0
|
|
github.com/go-gost/relay v0.6.0
|
|
github.com/go-gost/tls-dissector v0.2.0
|
|
github.com/go-redis/redis/v8 v8.11.5
|
|
github.com/gobwas/glob v0.2.3
|
|
github.com/golang/snappy v0.0.4
|
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
|
github.com/google/uuid v1.6.0
|
|
github.com/gorilla/websocket v1.5.3
|
|
github.com/miekg/dns v1.1.61
|
|
github.com/mitchellh/go-homedir v1.1.0
|
|
github.com/patrickmn/go-cache v2.1.0+incompatible
|
|
github.com/pion/dtls/v3 v3.1.1
|
|
github.com/pires/go-proxyproto v0.8.1
|
|
github.com/prometheus/client_golang v1.19.1
|
|
github.com/quic-go/quic-go v0.59.0
|
|
github.com/quic-go/webtransport-go v0.10.0
|
|
github.com/rs/xid v1.3.0
|
|
github.com/shadowsocks/go-shadowsocks2 v0.1.5
|
|
github.com/sirupsen/logrus v1.9.3
|
|
github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8
|
|
github.com/spf13/viper v1.19.0
|
|
github.com/stretchr/testify v1.11.1
|
|
github.com/vishvananda/netlink v1.1.1-0.20211118161826-650dca95af54
|
|
github.com/vishvananda/netns v0.0.4
|
|
github.com/vulcand/predicate v1.2.0
|
|
github.com/xjasonlyu/tun2socks/v2 v2.6.0
|
|
github.com/xtaci/kcp-go/v5 v5.6.5
|
|
github.com/xtaci/smux v1.5.31
|
|
github.com/xtaci/tcpraw v1.2.25
|
|
github.com/yl2chen/cidranger v1.0.2
|
|
github.com/zalando/go-keyring v0.2.4
|
|
golang.org/x/crypto v0.50.0
|
|
golang.org/x/exp v0.0.0-20241210194714-1829a127f884
|
|
golang.org/x/net v0.53.0
|
|
golang.org/x/sys v0.43.0
|
|
golang.org/x/text v0.36.0
|
|
golang.org/x/time v0.12.0
|
|
golang.zx2c4.com/wireguard v0.0.0-20250521234502-f333402bd9cb
|
|
google.golang.org/grpc v1.79.3
|
|
google.golang.org/protobuf v1.36.10
|
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
gvisor.dev/gvisor v0.0.0-20250523182742-eede7a881b20
|
|
)
|
|
|
|
require (
|
|
github.com/alessio/shellescape v1.4.1 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/bytedance/sonic v1.11.6 // indirect
|
|
github.com/bytedance/sonic/loader v0.1.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/cloudwego/base64x v0.1.4 // indirect
|
|
github.com/cloudwego/iasm v0.2.0 // indirect
|
|
github.com/coreos/go-iptables v0.5.0 // indirect
|
|
github.com/danieljoos/wincred v1.2.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
|
github.com/dunglas/httpsfv v1.1.0 // indirect
|
|
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
|
github.com/gabriel-vasile/mimetype v1.4.3 // indirect
|
|
github.com/gin-contrib/sse v0.1.0 // indirect
|
|
github.com/go-playground/locales v0.14.1 // indirect
|
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
|
github.com/go-playground/validator/v10 v10.20.0 // indirect
|
|
github.com/goccy/go-json v0.10.2 // indirect
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
|
github.com/google/btree v1.1.3 // indirect
|
|
github.com/google/gopacket v1.1.19 // indirect
|
|
github.com/gravitational/trace v1.1.16-0.20220114165159-14a9a7dd6aaf // indirect
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
github.com/jonboulle/clockwork v0.2.2 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
|
|
github.com/klauspost/reedsolomon v1.11.8 // indirect
|
|
github.com/leodido/go-urn v1.4.0 // indirect
|
|
github.com/magiconair/properties v1.8.7 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/onsi/gomega v1.34.2 // indirect
|
|
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
|
|
github.com/pion/logging v0.2.4 // indirect
|
|
github.com/pion/transport/v4 v4.0.1 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/prometheus/client_model v0.6.0 // indirect
|
|
github.com/prometheus/common v0.48.0 // indirect
|
|
github.com/prometheus/procfs v0.12.0 // indirect
|
|
github.com/quic-go/qpack v0.6.0 // indirect
|
|
github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect
|
|
github.com/sagikazarmark/locafero v0.4.0 // indirect
|
|
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
|
github.com/sourcegraph/conc v0.3.0 // indirect
|
|
github.com/spf13/afero v1.11.0 // indirect
|
|
github.com/spf13/cast v1.6.0 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/subosito/gotenv v1.6.0 // indirect
|
|
github.com/templexxx/cpu v0.1.1 // indirect
|
|
github.com/templexxx/xorsimd v0.4.3 // indirect
|
|
github.com/tjfoc/gmsm v1.4.1 // indirect
|
|
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
|
github.com/ugorji/go/codec v1.2.12 // indirect
|
|
github.com/zeebo/blake3 v0.2.4 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
golang.org/x/arch v0.8.0 // indirect
|
|
golang.org/x/mod v0.34.0 // indirect
|
|
golang.org/x/sync v0.20.0
|
|
golang.org/x/term v0.42.0 // indirect
|
|
golang.org/x/tools v0.43.0 // indirect
|
|
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
|
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
|
)
|
|
|
|
replace github.com/ugorji/go v1.1.4 => github.com/ugorji/go/codec v1.2.12
|