From 59f1de2cd31e3caec6255b1b197368c6989b7295 Mon Sep 17 00:00:00 2001 From: timerzz Date: Wed, 10 Apr 2024 17:36:56 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=AE=9E=E7=8E=B0=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 21 ++ go.mod | 151 +++++++++ go.sum | 504 ++++++++++++++++++++++++++++ main/main.go | 50 +++ pkg/database/init.go | 17 + pkg/model/msg.go | 7 + pkg/model/product.go | 45 +++ pkg/model/pusher.go | 28 ++ pkg/model/response.go | 6 + pkg/options/coachoutlet.go | 18 + pkg/options/config_test.go | 15 + pkg/options/db.go | 6 + pkg/options/init.go | 21 ++ pkg/options/proxy.go | 5 + pkg/options/pusher.go | 6 + pkg/pools/proxy.go | 72 ++++ pkg/pools/resty.go | 67 ++++ pkg/pusher/anPush.go | 34 ++ pkg/pusher/anPush_test.go | 18 + pkg/pusher/controller.go | 124 +++++++ pkg/utils/proxy.go | 57 ++++ pkg/watcher/base.go | 16 + pkg/watcher/coach.go | 261 ++++++++++++++ pkg/watcher/controller.go | 192 +++++++++++ server/pusher_svc.go | 43 +++ server/watcher_svc.go | 98 ++++++ wwwroot/.gitignore | 24 ++ wwwroot/.vscode/extensions.json | 3 + wwwroot/README.md | 7 + wwwroot/bun.lockb | Bin 0 -> 109485 bytes wwwroot/index.html | 13 + wwwroot/package.json | 26 ++ wwwroot/src/App.vue | 15 + wwwroot/src/api/pusher.js | 11 + wwwroot/src/api/watcher.js | 22 ++ wwwroot/src/assets/logo.png | Bin 0 -> 277095 bytes wwwroot/src/constants/pusher.js | 10 + wwwroot/src/constants/website.js | 15 + wwwroot/src/css/base.css | 6 + wwwroot/src/main.js | 9 + wwwroot/src/routers/index.js | 25 ++ wwwroot/src/views/Pusher/index.vue | 178 ++++++++++ wwwroot/src/views/Watcher/index.vue | 253 ++++++++++++++ wwwroot/src/views/layout/Aside.vue | 42 +++ wwwroot/src/views/layout/Header.vue | 14 + wwwroot/src/views/layout/Main.vue | 14 + wwwroot/src/views/layout/index.vue | 17 + wwwroot/vite.config.js | 38 +++ 48 files changed, 2624 insertions(+) create mode 100644 Dockerfile create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main/main.go create mode 100644 pkg/database/init.go create mode 100644 pkg/model/msg.go create mode 100644 pkg/model/product.go create mode 100644 pkg/model/pusher.go create mode 100644 pkg/model/response.go create mode 100644 pkg/options/coachoutlet.go create mode 100644 pkg/options/config_test.go create mode 100644 pkg/options/db.go create mode 100644 pkg/options/init.go create mode 100644 pkg/options/proxy.go create mode 100644 pkg/options/pusher.go create mode 100644 pkg/pools/proxy.go create mode 100644 pkg/pools/resty.go create mode 100644 pkg/pusher/anPush.go create mode 100644 pkg/pusher/anPush_test.go create mode 100644 pkg/pusher/controller.go create mode 100644 pkg/utils/proxy.go create mode 100644 pkg/watcher/base.go create mode 100644 pkg/watcher/coach.go create mode 100644 pkg/watcher/controller.go create mode 100644 server/pusher_svc.go create mode 100644 server/watcher_svc.go create mode 100644 wwwroot/.gitignore create mode 100644 wwwroot/.vscode/extensions.json create mode 100644 wwwroot/README.md create mode 100644 wwwroot/bun.lockb create mode 100644 wwwroot/index.html create mode 100644 wwwroot/package.json create mode 100644 wwwroot/src/App.vue create mode 100644 wwwroot/src/api/pusher.js create mode 100644 wwwroot/src/api/watcher.js create mode 100644 wwwroot/src/assets/logo.png create mode 100644 wwwroot/src/constants/pusher.js create mode 100644 wwwroot/src/constants/website.js create mode 100644 wwwroot/src/css/base.css create mode 100644 wwwroot/src/main.js create mode 100644 wwwroot/src/routers/index.js create mode 100644 wwwroot/src/views/Pusher/index.vue create mode 100644 wwwroot/src/views/Watcher/index.vue create mode 100644 wwwroot/src/views/layout/Aside.vue create mode 100644 wwwroot/src/views/layout/Header.vue create mode 100644 wwwroot/src/views/layout/Main.vue create mode 100644 wwwroot/src/views/layout/index.vue create mode 100644 wwwroot/vite.config.js diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fdf2602 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ + +FROM golang:alpine as back +ARG GOPROXY=https://goproxy.cn,direct +WORKDIR /build +COPY . /build +RUN CGO_ENABLED=0 go build -trimpath -ldflags '-w -s' -o watcher ./main + +FROM oven/bun:1 as front +COPY . /build +WORKDIR /build/wwwroot +RUN bun install && bun run build + +FROM alpine:latest +ARG HTTP_PROXY=http://192.168.31.55:10809 +ARG HTTPS_PROXY=http://192.168.31.55:10809 +RUN apk add --no-cache ca-certificates tzdata +WORKDIR /work +COPY --from=back /build/watcher /work/ +COPY --from=front /build/wwwroot/dist /work/ +ENTRYPOINT ["/work/watcher"] + diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..2d58ed1 --- /dev/null +++ b/go.mod @@ -0,0 +1,151 @@ +module haitao_watcher + +go 1.22.2 + +require ( + github.com/bytedance/sonic v1.9.1 + github.com/glebarez/sqlite v1.11.0 + github.com/go-resty/resty/v2 v2.12.0 + github.com/gofiber/fiber/v3 v3.0.0-beta.2 + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b + github.com/metacubex/mihomo v1.18.3 + github.com/pkg/errors v0.9.1 + github.com/timerzz/proxypool v0.0.0-20240407102509-f13ba2d1b0ca + gopkg.in/yaml.v3 v3.0.1 + gorm.io/gorm v1.25.9 +) + +require ( + github.com/3andne/restls-client-go v0.1.6 // indirect + github.com/PuerkitoBio/goquery v1.8.1 // indirect + github.com/RyuaNerin/go-krypto v1.2.4 // indirect + github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344 // indirect + github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect + github.com/andybalholm/brotli v1.1.0 // indirect + github.com/andybalholm/cascadia v1.3.2 // indirect + github.com/antchfx/htmlquery v1.3.1 // indirect + github.com/antchfx/xmlquery v1.3.15 // indirect + github.com/antchfx/xpath v1.3.0 // indirect + github.com/bahlo/generic-list-go v0.2.0 // indirect + github.com/buger/jsonparser v1.1.1 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/cloudflare/circl v1.3.6 // indirect + github.com/coreos/go-iptables v0.7.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ericlagergren/aegis v0.0.0-20230312195928-b4ce538b56f9 // indirect + github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391 // indirect + github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1 // indirect + github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 // indirect + github.com/gaukas/godicttls v0.0.4 // indirect + github.com/glebarez/go-sqlite v1.21.2 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/gobwas/glob v0.2.3 // indirect + github.com/gobwas/httphead v0.1.0 // indirect + github.com/gobwas/pool v0.2.1 // indirect + github.com/gobwas/ws v1.3.2 // indirect + github.com/gocolly/colly/v2 v2.1.0 // indirect + github.com/gofiber/utils/v2 v2.0.0-beta.4 // indirect + github.com/gofrs/uuid/v5 v5.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/btree v1.1.2 // indirect + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/hashicorp/yamux v0.1.1 // indirect + github.com/hpcloud/tail v1.0.0 // indirect + github.com/insomniacslk/dhcp v0.0.0-20240227161007-c728f5dd21c8 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/josharian/native v1.1.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kennygrant/sanitize v1.2.4 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mdlayher/netlink v1.7.2 // indirect + github.com/mdlayher/socket v0.4.1 // indirect + github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 // indirect + github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec // indirect + github.com/metacubex/quic-go v0.42.1-0.20240319071510-a251e5c66a5c // indirect + github.com/metacubex/sing-quic v0.0.0-20240310154810-47bca850fc01 // indirect + github.com/metacubex/sing-shadowsocks v0.2.6 // indirect + github.com/metacubex/sing-shadowsocks2 v0.2.0 // indirect + github.com/metacubex/sing-vmess v0.1.9-0.20231207122118-72303677451f // indirect + github.com/metacubex/sing-wireguard v0.0.0-20240321042214-224f96122a63 // indirect + github.com/metacubex/tfo-go v0.0.0-20240228025757-be1269474a66 // indirect + github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/miekg/dns v1.1.58 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/mroth/weightedrand/v2 v2.1.0 // indirect + github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 // indirect + github.com/onsi/ginkgo v1.10.1 // indirect + github.com/onsi/ginkgo/v2 v2.9.5 // indirect + github.com/openacid/low v0.1.21 // indirect + github.com/oschwald/maxminddb-golang v1.12.0 // indirect + github.com/pierrec/lz4/v4 v4.1.14 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect + github.com/puzpuzpuz/xsync/v3 v3.1.0 // indirect + github.com/quic-go/qpack v0.4.0 // indirect + github.com/quic-go/qtls-go1-20 v0.4.1 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/robertkrimen/otto v0.2.1 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect + github.com/sagernet/bbolt v0.0.0-20231014093535-ea5cb2fe9f0a // indirect + github.com/sagernet/sing v0.3.6 // indirect + github.com/sagernet/sing-mux v0.2.1-0.20240124034317-9bfb33698bb6 // indirect + github.com/sagernet/sing-shadowtls v0.1.4 // indirect + github.com/sagernet/smux v0.0.0-20231208180855-7041f6ea79e7 // indirect + github.com/sagernet/utls v1.5.4 // indirect + github.com/sagernet/wireguard-go v0.0.0-20231209092712-9a439356a62e // indirect + github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect + github.com/samber/lo v1.39.0 // indirect + github.com/shirou/gopsutil/v3 v3.24.2 // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b // indirect + github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c // indirect + github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e // indirect + github.com/sirupsen/logrus v1.9.3 // indirect + github.com/temoto/robotstxt v1.1.2 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.52.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect + github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect + github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect + github.com/zhangyunhao116/fastrand v0.3.0 // indirect + gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect + go.uber.org/mock v0.4.0 // indirect + go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect + golang.org/x/arch v0.3.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect + golang.org/x/mod v0.15.0 // indirect + golang.org/x/net v0.22.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.18.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.18.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/protobuf v1.33.0 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect + gopkg.in/fsnotify.v1 v1.4.7 // indirect + gopkg.in/sourcemap.v1 v1.0.5 // indirect + lukechampine.com/blake3 v1.2.1 // indirect + modernc.org/libc v1.22.5 // indirect + modernc.org/mathutil v1.5.0 // indirect + modernc.org/memory v1.5.0 // indirect + modernc.org/sqlite v1.23.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..5b2308c --- /dev/null +++ b/go.sum @@ -0,0 +1,504 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/3andne/restls-client-go v0.1.6 h1:tRx/YilqW7iHpgmEL4E1D8dAsuB0tFF3uvncS+B6I08= +github.com/3andne/restls-client-go v0.1.6/go.mod h1:iEdTZNt9kzPIxjIGSMScUFSBrUH6bFRNg0BWlP4orEY= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= +github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= +github.com/RyuaNerin/elliptic2 v1.0.0/go.mod h1:wWB8fWrJI/6EPJkyV/r1Rj0hxUgrusmqSj8JN6yNf/A= +github.com/RyuaNerin/go-krypto v1.2.4 h1:mXuNdK6M317aPV0llW6Xpjbo4moOlPF7Yxz4tb4b4Go= +github.com/RyuaNerin/go-krypto v1.2.4/go.mod h1:QqCYkoutU3yInyD9INt2PGolVRsc3W4oraQadVGXJ/8= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344 h1:cDVUiFo+npB0ZASqnw4q90ylaVAbnYyx0JYqK4YcGok= +github.com/Yawning/aez v0.0.0-20211027044916-e49e68abd344/go.mod h1:9pIqrY6SXNL8vjRQE5Hd/OL5GyK/9MrGUWs87z/eFfk= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= +github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= +github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= +github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= +github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= +github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= +github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= +github.com/antchfx/htmlquery v1.2.3/go.mod h1:B0ABL+F5irhhMWg54ymEZinzMSi0Kt3I2if0BLYa3V0= +github.com/antchfx/htmlquery v1.3.1 h1:wm0LxjLMsZhRHfQKKZscDf2COyH4vDYA3wyH+qZ+Ylc= +github.com/antchfx/htmlquery v1.3.1/go.mod h1:PTj+f1V2zksPlwNt7uVvZPsxpKNa7mlVliCRxLX6Nx8= +github.com/antchfx/xmlquery v1.2.4/go.mod h1:KQQuESaxSlqugE2ZBcM/qn+ebIpt+d+4Xx7YcSGAIrM= +github.com/antchfx/xmlquery v1.3.15 h1:aJConNMi1sMha5G8YJoAIF5P+H+qG1L73bSItWHo8Tw= +github.com/antchfx/xmlquery v1.3.15/go.mod h1:zMDv5tIGjOxY/JCNNinnle7V/EwthZ5IT8eeCGJKRWA= +github.com/antchfx/xpath v1.1.6/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk= +github.com/antchfx/xpath v1.1.8/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk= +github.com/antchfx/xpath v1.2.3/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/antchfx/xpath v1.3.0 h1:nTMlzGAK3IJ0bPpME2urTuFL76o4A96iYvoKFHRXJgc= +github.com/antchfx/xpath v1.3.0/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs= +github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= +github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.3.6 h1:/xbKIqSHbZXHwkhbrhrt2YOHIwYJlXH94E3tI/gDlUg= +github.com/cloudflare/circl v1.3.6/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/coreos/go-iptables v0.7.0 h1:XWM3V+MPRr5/q51NuWSgU0fqMad64Zyxs8ZUoMsamr8= +github.com/coreos/go-iptables v0.7.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/ericlagergren/aegis v0.0.0-20230312195928-b4ce538b56f9 h1:/5RkVc9Rc81XmMyVqawCiDyrBHZbLAZgTTCqou4mwj8= +github.com/ericlagergren/aegis v0.0.0-20230312195928-b4ce538b56f9/go.mod h1:hkIFzoiIPZYxdFOOLyDho59b7SrDfo+w3h+yWdlg45I= +github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391 h1:8j2RH289RJplhA6WfdaPqzg1MjH2K8wX5e0uhAxrw2g= +github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391/go.mod h1:K2R7GhgxrlJzHw2qiPWsCZXf/kXEJN9PLnQK73Ll0po= +github.com/ericlagergren/saferand v0.0.0-20220206064634-960a4dd2bc5c h1:RUzBDdZ+e/HEe2Nh8lYsduiPAZygUfVXJn0Ncj5sHMg= +github.com/ericlagergren/saferand v0.0.0-20220206064634-960a4dd2bc5c/go.mod h1:ETASDWf/FmEb6Ysrtd1QhjNedUU/ZQxBCRLh60bQ/UI= +github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1 h1:tlDMEdcPRQKBEz5nGDMvswiajqh7k8ogWRlhRwKy5mY= +github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1/go.mod h1:4RfsapbGx2j/vU5xC/5/9qB3kn9Awp1YDiEnN43QrJ4= +github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 h1:fuGucgPk5dN6wzfnxl3D0D3rVLw4v2SbBT9jb4VnxzA= +github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010/go.mod h1:JtBcj7sBuTTRupn7c2bFspMDIObMJsVK8TeUvpShPok= +github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk= +github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo= +github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k= +github.com/glebarez/sqlite v1.11.0 h1:wSG0irqzP6VurnMEpFGer5Li19RpIRi2qvQz++w0GMw= +github.com/glebarez/sqlite v1.11.0/go.mod h1:h8/o8j5wiAsqSPoWELDUdJXhjAhsVliSn7bWZjOhrgQ= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= +github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA= +github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= +github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= +github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.3.2 h1:zlnbNHxumkRvfPWgfXu8RBwyNR1x8wh9cf5PTOCqs9Q= +github.com/gobwas/ws v1.3.2/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= +github.com/gocolly/colly v1.2.0/go.mod h1:Hof5T3ZswNVsOHYmba1u03W65HDWgpV5HifSuueE0EA= +github.com/gocolly/colly/v2 v2.1.0 h1:k0DuZkDoCsx51bKpRJNEmcxcp+W5N8ziuwGaSDuFoGs= +github.com/gocolly/colly/v2 v2.1.0/go.mod h1:I2MuhsLjQ+Ex+IzK3afNS8/1qP3AedHOusRPcRdC5o0= +github.com/gofiber/fiber/v3 v3.0.0-beta.2 h1:mVVgt8PTaHGup3NGl/+7U7nEoZaXJ5OComV4E+HpAao= +github.com/gofiber/fiber/v3 v3.0.0-beta.2/go.mod h1:w7sdfTY0okjZ1oVH6rSOGvuACUIt0By1iK0HKUb3uqM= +github.com/gofiber/utils/v2 v2.0.0-beta.4 h1:1gjbVFFwVwUb9arPcqiB6iEjHBwo7cHsyS41NeIW3co= +github.com/gofiber/utils/v2 v2.0.0-beta.4/go.mod h1:sdRsPU1FXX6YiDGGxd+q2aPJRMzpsxdzCXo9dz+xtOY= +github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= +github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= +github.com/google/tink/go v1.6.1 h1:t7JHqO8Ath2w2ig5vjwQYJzhGEZymedQc90lQXUBa4I= +github.com/google/tink/go v1.6.1/go.mod h1:IGW53kTgag+st5yPhKKwJ6u2l+SSp5/v9XF7spovjlY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= +github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/insomniacslk/dhcp v0.0.0-20240227161007-c728f5dd21c8 h1:V3plQrMHRWOB5zMm3yNqvBxDQVW1+/wHBSok5uPdmVs= +github.com/insomniacslk/dhcp v0.0.0-20240227161007-c728f5dd21c8/go.mod h1:izxuNQZeFrbx2nK2fAyN5iNUB34Fe9j0nK4PwLzAkKw= +github.com/jawher/mow.cli v1.1.0/go.mod h1:aNaQlc7ozF3vw6IJ2dHjp2ZFiA4ozMIYY6PyuRJwlUg= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/josharian/native v1.0.1-0.20221213033349-c1e37c09b531/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= +github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kennygrant/sanitize v1.2.4 h1:gN25/otpP5vAsO2djbMhF/LQX6R7+O1TB4yv8NzpJ3o= +github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 h1:EnfXoSqDfSNJv0VBNqY/88RNnhSGYkrHaO0mmFGbVsc= +github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40/go.mod h1:vy1vK6wD6j7xX6O6hXe621WabdtNkou2h7uRtTfRMyg= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g= +github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= +github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U= +github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= +github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 h1:cjd4biTvOzK9ubNCCkQ+ldc4YSH/rILn53l/xGBFHHI= +github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759/go.mod h1:UHOv2xu+RIgLwpXca7TLrXleEd4oR3sPatW6IF8wU88= +github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec h1:HxreOiFTUrJXJautEo8rnE1uKTVGY8wtZepY1Tii/Nc= +github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec/go.mod h1:8BVmQ+3cxjqzWElafm24rb2Ae4jRI6vAXNXWqWjfrXw= +github.com/metacubex/mihomo v1.18.3 h1:pIozbxnfHHYzSsF6m9uafcGIscMyHsRj/D3WuTKi2TM= +github.com/metacubex/mihomo v1.18.3/go.mod h1:9CPB84Z1tk2c3W1be7G9tm4kAqCdAkY0SRZkwB2cqaA= +github.com/metacubex/quic-go v0.42.1-0.20240319071510-a251e5c66a5c h1:AhaPKvVqF3N/jXFmlW51Cf1+KddslKAsZqcdgGhZjr0= +github.com/metacubex/quic-go v0.42.1-0.20240319071510-a251e5c66a5c/go.mod h1:iGx3Y1zynls/FjFgykLSqDcM81U0IKePRTXEz5g3iiQ= +github.com/metacubex/sing-quic v0.0.0-20240310154810-47bca850fc01 h1:5INHs85Gp1JZsdF7fQp1pXUjfJOX2dhwZjuUQWJVSt8= +github.com/metacubex/sing-quic v0.0.0-20240310154810-47bca850fc01/go.mod h1:WyY0zYxv+o+18R/Ece+QFontlgXoobKbNqbtYn2zjz8= +github.com/metacubex/sing-shadowsocks v0.2.6 h1:6oEB3QcsFYnNiFeoevcXrCwJ3sAablwVSgtE9R3QeFQ= +github.com/metacubex/sing-shadowsocks v0.2.6/go.mod h1:zIkMeSnb8Mbf4hdqhw0pjzkn1d99YJ3JQm/VBg5WMTg= +github.com/metacubex/sing-shadowsocks2 v0.2.0 h1:hqwT/AfI5d5UdPefIzR6onGHJfDXs5zgOM5QSgaM/9A= +github.com/metacubex/sing-shadowsocks2 v0.2.0/go.mod h1:LCKF6j1P94zN8ZS+LXRK1gmYTVGB3squivBSXAFnOg8= +github.com/metacubex/sing-vmess v0.1.9-0.20231207122118-72303677451f h1:QjXrHKbTMBip/C+R79bvbfr42xH1gZl3uFb0RELdZiQ= +github.com/metacubex/sing-vmess v0.1.9-0.20231207122118-72303677451f/go.mod h1:olVkD4FChQ5gKMHG4ZzuD7+fMkJY1G8vwOKpRehjrmY= +github.com/metacubex/sing-wireguard v0.0.0-20240321042214-224f96122a63 h1:AGyIB55UfQm/0ZH0HtQO9u3l//yjtHUpjeRjjPGfGRI= +github.com/metacubex/sing-wireguard v0.0.0-20240321042214-224f96122a63/go.mod h1:uY+BYb0UEknLrqvbGcwi9i++KgrKxsurysgI6G1Pveo= +github.com/metacubex/tfo-go v0.0.0-20240228025757-be1269474a66 h1:as/aO/fM8nv4W4pOr9EETP6kV/Oaujk3fUNyQSJK61c= +github.com/metacubex/tfo-go v0.0.0-20240228025757-be1269474a66/go.mod h1:c7bVFM9f5+VzeZ/6Kg77T/jrg1Xp8QpqlSHvG/aXVts= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= +github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mroth/weightedrand/v2 v2.1.0 h1:o1ascnB1CIVzsqlfArQQjeMy1U0NcIbBO5rfd5E/OeU= +github.com/mroth/weightedrand/v2 v2.1.0/go.mod h1:f2faGsfOGOwc1p94wzHKKZyTpcJUW7OJ/9U4yfiNAOU= +github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7 h1:1102pQc2SEPp5+xrS26wEaeb26sZy6k9/ZXlZN+eXE4= +github.com/oasisprotocol/deoxysii v0.0.0-20220228165953-2091330c22b7/go.mod h1:UqoUn6cHESlliMhOnKLWr+CBH+e3bazUPvFj1XZwAjs= +github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= +github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/openacid/errors v0.8.1/go.mod h1:GUQEJJOJE3W9skHm8E8Y4phdl2LLEN8iD7c5gcGgdx0= +github.com/openacid/low v0.1.21 h1:Tr2GNu4N/+rGRYdOsEHOE89cxUIaDViZbVmKz29uKGo= +github.com/openacid/low v0.1.21/go.mod h1:q+MsKI6Pz2xsCkzV4BLj7NR5M4EX0sGz5AqotpZDVh0= +github.com/openacid/must v0.1.3/go.mod h1:luPiXCuJlEo3UUFQngVQokV0MPGryeYvtCbQPs3U1+I= +github.com/openacid/testkeys v0.1.6/go.mod h1:MfA7cACzBpbiwekivj8StqX0WIRmqlMsci1c37CA3Do= +github.com/oschwald/maxminddb-golang v1.12.0 h1:9FnTOD0YOhP7DGxGsq4glzpGy5+w7pq50AS6wALUMYs= +github.com/oschwald/maxminddb-golang v1.12.0/go.mod h1:q0Nob5lTCqyQ8WT6FYgS1L7PXKVVbgiymefNwIjPzgY= +github.com/pierrec/lz4/v4 v4.1.14 h1:+fL8AQEZtz/ijeNnpduH0bROTu0O3NZAlPjQxGn8LwE= +github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/puzpuzpuz/xsync/v3 v3.1.0 h1:EewKT7/LNac5SLiEblJeUu8z5eERHrmRLnMQL2d7qX4= +github.com/puzpuzpuz/xsync/v3 v3.1.0/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= +github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= +github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= +github.com/quic-go/qtls-go1-20 v0.4.1 h1:D33340mCNDAIKBqXuAvexTNMUByrYmFYVfKfDN5nfFs= +github.com/quic-go/qtls-go1-20 v0.4.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/robertkrimen/otto v0.2.1 h1:FVP0PJ0AHIjC+N4pKCG9yCDz6LHNPCwi/GKID5pGGF0= +github.com/robertkrimen/otto v0.2.1/go.mod h1:UPwtJ1Xu7JrLcZjNWN8orJaM5n5YEtqL//farB5FlRY= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/sagernet/bbolt v0.0.0-20231014093535-ea5cb2fe9f0a h1:+NkI2670SQpQWvkkD2QgdTuzQG263YZ+2emfpeyGqW0= +github.com/sagernet/bbolt v0.0.0-20231014093535-ea5cb2fe9f0a/go.mod h1:63s7jpZqcDAIpj8oI/1v4Izok+npJOHACFCU6+huCkM= +github.com/sagernet/sing v0.2.18/go.mod h1:OL6k2F0vHmEzXz2KW19qQzu172FDgSbUSODylighuVo= +github.com/sagernet/sing v0.3.6 h1:dsEdYLKBQlrxUfw1a92x0VdPvR1/BOxQ+HIMyaoEJsQ= +github.com/sagernet/sing v0.3.6/go.mod h1:+60H3Cm91RnL9dpVGWDPHt0zTQImO9Vfqt9a4rSambI= +github.com/sagernet/sing-mux v0.2.1-0.20240124034317-9bfb33698bb6 h1:5bCAkvDDzSMITiHFjolBwpdqYsvycdTu71FsMEFXQ14= +github.com/sagernet/sing-mux v0.2.1-0.20240124034317-9bfb33698bb6/go.mod h1:khzr9AOPocLa+g53dBplwNDz4gdsyx/YM3swtAhlkHQ= +github.com/sagernet/sing-shadowtls v0.1.4 h1:aTgBSJEgnumzFenPvc+kbD9/W0PywzWevnVpEx6Tw3k= +github.com/sagernet/sing-shadowtls v0.1.4/go.mod h1:F8NBgsY5YN2beQavdgdm1DPlhaKQlaL6lpDdcBglGK4= +github.com/sagernet/smux v0.0.0-20231208180855-7041f6ea79e7 h1:DImB4lELfQhplLTxeq2z31Fpv8CQqqrUwTbrIRumZqQ= +github.com/sagernet/smux v0.0.0-20231208180855-7041f6ea79e7/go.mod h1:FP9X2xjT/Az1EsG/orYYoC+5MojWnuI7hrffz8fGwwo= +github.com/sagernet/utls v1.5.4 h1:KmsEGbB2dKUtCNC+44NwAdNAqnqQ6GA4pTO0Yik56co= +github.com/sagernet/utls v1.5.4/go.mod h1:CTGxPWExIloRipK3XFpYv0OVyhO8kk3XCGW/ieyTh1s= +github.com/sagernet/wireguard-go v0.0.0-20231209092712-9a439356a62e h1:iGH0RMv2FzELOFNFQtvsxH7NPmlo7X5JizEK51UCojo= +github.com/sagernet/wireguard-go v0.0.0-20231209092712-9a439356a62e/go.mod h1:YbL4TKHRR6APYQv3U2RGfwLDpPYSyWz6oUlpISBEzBE= +github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= +github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA= +github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= +github.com/samber/lo v1.39.0 h1:4gTz1wUhNYLhFSKl6O+8peW0v2F4BCY034GRpU9WnuA= +github.com/samber/lo v1.39.0/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= +github.com/shirou/gopsutil/v3 v3.24.2 h1:kcR0erMbLg5/3LcInpw0X/rrPSqq4CDPyI6A6ZRC18Y= +github.com/shirou/gopsutil/v3 v3.24.2/go.mod h1:tSg/594BcA+8UdQU2XcW803GWYgdtauFFPgJCJKZlVk= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b h1:rXHg9GrUEtWZhEkrykicdND3VPjlVbYiLdX9J7gimS8= +github.com/sina-ghaderi/poly1305 v0.0.0-20220724002748-c5926b03988b/go.mod h1:X7qrxNQViEaAN9LNZOPl9PfvQtp3V3c7LTo0dvGi0fM= +github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c h1:DjKMC30y6yjG3IxDaeAj3PCoRr+IsO+bzyT+Se2m2Hk= +github.com/sina-ghaderi/rabaead v0.0.0-20220730151906-ab6e06b96e8c/go.mod h1:NV/a66PhhWYVmUMaotlXJ8fIEFB98u+c8l/CQIEFLrU= +github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e h1:ur8uMsPIFG3i4Gi093BQITvwH9znsz2VUZmnmwHvpIo= +github.com/sina-ghaderi/rabbitio v0.0.0-20220730151941-9ce26f4f872e/go.mod h1:+e5fBW3bpPyo+3uLo513gIUblc03egGjMM0+5GKbzK8= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/temoto/robotstxt v1.1.1/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo= +github.com/temoto/robotstxt v1.1.2 h1:W2pOjSJ6SWvldyEuiFXNxz3xZ8aiWX5LbfDiOFd7Fxg= +github.com/temoto/robotstxt v1.1.2/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo= +github.com/timerzz/proxypool v0.0.0-20240407102509-f13ba2d1b0ca h1:EbyIUW/bB7vZtwgrno1V5nyx38mCE+4DrWurtVMs0fQ= +github.com/timerzz/proxypool v0.0.0-20240407102509-f13ba2d1b0ca/go.mod h1:KVeB0Qlvv/sdR7dbB7ys1EqK4qGKpSnSiIhPhkHukwQ= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923 h1:tHNk7XK9GkmKUR6Gh8gVBKXc2MVSZ4G/NnWLtzw4gNA= +github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923/go.mod h1:eLL9Nub3yfAho7qB0MzZizFhTU2QkLeoVsWdHtDW264= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.52.0 h1:wqBQpxH71XW0e2g+Og4dzQM8pk34aFYlA1Ga8db7gU0= +github.com/valyala/fasthttp v1.52.0/go.mod h1:hf5C4QnVMkNXMspnsUlfM3WitlgYflyhHYoKol/szxQ= +github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= +github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= +github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= +github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/zhangyunhao116/fastrand v0.3.0 h1:7bwe124xcckPulX6fxtr2lFdO2KQqaefdtbk+mqO/Ig= +github.com/zhangyunhao116/fastrand v0.3.0/go.mod h1:0v5KgHho0VE6HU192HnY15de/oDS8UrbBChIFjIhBtc= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiVfzQttTuxanPIT43FtkkCFypIod8LHo= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= +go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M= +go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= +golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +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.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= +golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/sourcemap.v1 v1.0.5 h1:inv58fC9f9J3TK2Y2R1NPntXEn3/wjWHkonhIUODNTI= +gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/gorm v1.25.9 h1:wct0gxZIELDk8+ZqF/MVnHLkA1rvYlBWUMv2EdsK1g8= +gorm.io/gorm v1.25.9/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= +lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= +modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= +modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/sqlite v1.23.1 h1:nrSBg4aRQQwq59JpvGEQ15tNxoO5pX/kUjcRNwSAGQM= +modernc.org/sqlite v1.23.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/main/main.go b/main/main.go new file mode 100644 index 0000000..5c021a9 --- /dev/null +++ b/main/main.go @@ -0,0 +1,50 @@ +package main + +import ( + "context" + "github.com/gofiber/fiber/v3" + "github.com/golang/glog" + "haitao_watcher/pkg/database" + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" + "haitao_watcher/pkg/pools" + "haitao_watcher/pkg/pusher" + "haitao_watcher/pkg/watcher" + "haitao_watcher/server" + "log/slog" + "os" + "os/signal" +) + +func main() { + slog.Info(">>> BEGIN INIT<<<") + ctx := context.Background() + _ctx, cancel := signal.NotifyContext(ctx, os.Kill, os.Interrupt) + defer cancel() + cfg, _ := options.LoadConfig() + + db, err := database.InitDatabase(&cfg.DB) + if err != nil { + glog.Fatalf("初始化数据库失败:%v", err) + } + + pool := pools.NewProxyPool(cfg.Proxy.Subscribes) + pusherCtl := pusher.NewController(_ctx, db) + ch := make(chan model.PushMsg, 30) + pusherCtl.Consume(ch) + + watcherCtl := watcher.NewController(_ctx, db, pool, ch) + + r := fiber.New() + + r.Static("/", "/work/dist") + + api := r.Group("/api/v1") + + server.NewWatcherController(watcherCtl).RegistryRouter(api) + server.NewPusherSvcController(pusherCtl).RegistryRouter(api) + + if err = r.Listen(":2280"); err != nil { + glog.Warningf("server over: %v", err) + } +} diff --git a/pkg/database/init.go b/pkg/database/init.go new file mode 100644 index 0000000..7f55760 --- /dev/null +++ b/pkg/database/init.go @@ -0,0 +1,17 @@ +package database + +import ( + "fmt" + "github.com/glebarez/sqlite" + "gorm.io/gorm" + "haitao_watcher/pkg/options" +) + +func InitDatabase(opt *options.DBOption) (*gorm.DB, error) { + if opt.Timeout == 0 { + opt.Timeout = 3000 + } + dialector := sqlite.Open(fmt.Sprintf("%s?_pragma=busy_timeout(%d)", opt.Path, opt.Timeout)) + + return gorm.Open(dialector, &gorm.Config{}) +} diff --git a/pkg/model/msg.go b/pkg/model/msg.go new file mode 100644 index 0000000..917a639 --- /dev/null +++ b/pkg/model/msg.go @@ -0,0 +1,7 @@ +package model + +type PushMsg struct { + Title string + Content string + ToPusher []uint +} diff --git a/pkg/model/product.go b/pkg/model/product.go new file mode 100644 index 0000000..bb9c326 --- /dev/null +++ b/pkg/model/product.go @@ -0,0 +1,45 @@ +package model + +import ( + "gorm.io/gorm" + "time" +) + +type Product struct { + ID uint `gorm:"primaryKey" json:"id"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` + DeletedAt gorm.DeletedAt `gorm:"index"` + UpdateErr bool `json:"updateErr"` //更新出错了 + + Uid string `json:"uid" gorm:"index:,unique"` + Pid string `json:"pid" gorm:"index"` //产品编号 + Name string `json:"name"` + Brand string `json:"brand"` + Website WebsiteType `json:"website"` //是什么网站 + Watch bool `json:"watch"` + Orderable bool `json:"orderable"` + Link string `json:"link"` + Remark string `json:"remark,omitempty"` + AllocationResetDate time.Time `json:"allocationResetDate"` //上次补货时间 + + PusherIds []uint `json:"pusherIds" gorm:"serializer:json"` +} + +type WebsiteType uint + +func (t WebsiteType) IsZero() bool { + return t == WebsiteType(0) +} + +const ( + CoachOutlet WebsiteType = iota + 1 +) + +func (p *Product) TableName() string { + return "product_info" +} + +type Producter interface { + Product() *Product +} diff --git a/pkg/model/pusher.go b/pkg/model/pusher.go new file mode 100644 index 0000000..439ffbf --- /dev/null +++ b/pkg/model/pusher.go @@ -0,0 +1,28 @@ +package model + +import ( + "gorm.io/gorm" + "time" +) + +type PusherType int + +const ( + PusherType_AnPusher = iota + 1 +) + +type Pusher[T any] struct { + ID uint `gorm:"primaryKey" json:"id"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` + DeletedAt gorm.DeletedAt `gorm:"index"` + + Type PusherType `json:"type"` + Name string `json:"name"` + Remark string `json:"remark"` + Option T `json:"option" gorm:"serializer:json"` +} + +func (p *Pusher[T]) TableName() string { + return "pusher" +} diff --git a/pkg/model/response.go b/pkg/model/response.go new file mode 100644 index 0000000..d7e223b --- /dev/null +++ b/pkg/model/response.go @@ -0,0 +1,6 @@ +package model + +type ListResponse[E any] struct { + Total int64 `json:"total"` + List []E `json:"list"` +} diff --git a/pkg/options/coachoutlet.go b/pkg/options/coachoutlet.go new file mode 100644 index 0000000..de9d35c --- /dev/null +++ b/pkg/options/coachoutlet.go @@ -0,0 +1,18 @@ +package options + +import ( + "fmt" + "time" +) + +type CoachOutletOption struct { + RawUrl string `json:"raw_url"` + Pid string `json:"pid"` //商品的id + Remark string `json:"remark"` + PusherIds []uint `json:"pusherIds"` + Interval time.Duration `json:"interval"` +} + +func (o *CoachOutletOption) Uid() string { + return fmt.Sprintf("coachOutlet_%s", o.Pid) +} diff --git a/pkg/options/config_test.go b/pkg/options/config_test.go new file mode 100644 index 0000000..6985b66 --- /dev/null +++ b/pkg/options/config_test.go @@ -0,0 +1,15 @@ +package options + +import ( + "gopkg.in/yaml.v3" + "os" + "testing" +) + +func TestGenConfig(t *testing.T) { + var opt = Config{ + DB: DBOption{}, + Proxy: ProxyOption{Subscribes: []string{"123", "345"}}, + } + yaml.NewEncoder(os.Stdout).Encode(&opt) +} diff --git a/pkg/options/db.go b/pkg/options/db.go new file mode 100644 index 0000000..ee4e915 --- /dev/null +++ b/pkg/options/db.go @@ -0,0 +1,6 @@ +package options + +type DBOption struct { + Path string `json:"path"` + Timeout int `json:"timeout"` +} diff --git a/pkg/options/init.go b/pkg/options/init.go new file mode 100644 index 0000000..b716fd6 --- /dev/null +++ b/pkg/options/init.go @@ -0,0 +1,21 @@ +package options + +import ( + "gopkg.in/yaml.v3" + "os" +) + +type Config struct { + DB DBOption `yaml:"db"` + Proxy ProxyOption `yaml:"proxy"` +} + +func LoadConfig() (*Config, error) { + var opt Config + f, err := os.Open("/data/cfg.yaml") + if err != nil { + return nil, err + } + defer f.Close() + return &opt, yaml.NewDecoder(f).Decode(&opt) +} diff --git a/pkg/options/proxy.go b/pkg/options/proxy.go new file mode 100644 index 0000000..8b1af31 --- /dev/null +++ b/pkg/options/proxy.go @@ -0,0 +1,5 @@ +package options + +type ProxyOption struct { + Subscribes []string `yaml:"subscribes"` +} diff --git a/pkg/options/pusher.go b/pkg/options/pusher.go new file mode 100644 index 0000000..50293c4 --- /dev/null +++ b/pkg/options/pusher.go @@ -0,0 +1,6 @@ +package options + +type AnPushOption struct { + Token string `json:"token"` + Channel string `json:"channel"` +} diff --git a/pkg/pools/proxy.go b/pkg/pools/proxy.go new file mode 100644 index 0000000..57e52f5 --- /dev/null +++ b/pkg/pools/proxy.go @@ -0,0 +1,72 @@ +package pools + +import ( + "context" + "fmt" + "github.com/golang/glog" + "github.com/timerzz/proxypool/pkg/getter" + "github.com/timerzz/proxypool/pkg/proxy" + "github.com/timerzz/proxypool/pkg/tool" + "log/slog" + "math/rand" + "sync" + "time" +) + +type ProxyPool struct { + m sync.Mutex + proxys proxy.ProxyList + subscribes []string //订阅url +} + +func NewProxyPool(subscribes []string) *ProxyPool { + var p = &ProxyPool{} + p.subscribes = subscribes + p.Update() + return p +} + +// Update 更新代理池 +func (p *ProxyPool) Update() { + var list = make(proxy.ProxyList, 0, len(p.proxys)) + for _, url := range p.subscribes { + subscribeGetter, err := getter.NewSubscribe(tool.Options{"url": url}) + if err != nil { + slog.Warn(fmt.Sprintf("创建Subscribe Getter失败:%v", err)) + continue + } + list = list.UniqAppendProxyList(subscribeGetter.Get()) + } + glog.Infof("代理源共 %d 个: %v", len(p.subscribes), p.subscribes) + glog.Infof("获取代理共 %d 个", len(list)) + p.m.Lock() + p.proxys = list + p.m.Unlock() +} + +// CronUpdate 定时更新 +func (p *ProxyPool) CronUpdate(ctx context.Context, interval time.Duration) { + ticker := time.NewTicker(interval) + defer ticker.Stop() + for { + select { + case <-ctx.Done(): + return + case <-ticker.C: + p.Update() + } + } +} + +// RandomIterator 获取随机代理的迭代器 +func (p *ProxyPool) RandomIterator() func() proxy.Proxy { + return func() (proxy proxy.Proxy) { + if len(p.proxys) == 0 { + return nil + } + p.m.Lock() + defer p.m.Unlock() + curIndex := rand.Intn(len(p.proxys)) + return p.proxys[curIndex] + } +} diff --git a/pkg/pools/resty.go b/pkg/pools/resty.go new file mode 100644 index 0000000..65f3d83 --- /dev/null +++ b/pkg/pools/resty.go @@ -0,0 +1,67 @@ +package pools + +import ( + "context" + "github.com/go-resty/resty/v2" + "net" + "net/http" + "sync" + "time" +) + +var rp *restyPool + +func init() { + rp = NewRestyPool() +} + +func GetRestyClient(conn net.Conn) (cli *resty.Client) { + return rp.Get(conn) +} + +func PutRestyClient(cli *resty.Client) { + rp.Put(cli) +} + +type restyPool struct { + resty sync.Pool + transport sync.Pool +} + +const ( + UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0" +) + +func NewRestyPool() *restyPool { + return &restyPool{ + resty: sync.Pool{ + New: func() any { + return resty.New().SetHeader("User-Agent", UserAgent) + }, + }, + transport: sync.Pool{ + New: func() any { + return &http.Transport{ + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 5 * time.Second, + } + }, + }, + } +} + +func (r *restyPool) Get(conn net.Conn) (cli *resty.Client) { + cli = r.resty.Get().(*resty.Client) + transport := r.transport.Get().(*http.Transport) + transport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { + return conn, nil + } + return cli.SetTransport(transport) +} + +func (r *restyPool) Put(cli *resty.Client) { + transport, _ := cli.Transport() + r.transport.Put(transport) + r.resty.Put(cli) +} diff --git a/pkg/pusher/anPush.go b/pkg/pusher/anPush.go new file mode 100644 index 0000000..7112453 --- /dev/null +++ b/pkg/pusher/anPush.go @@ -0,0 +1,34 @@ +package pusher + +import ( + "fmt" + "github.com/go-resty/resty/v2" + "haitao_watcher/pkg/options" + "strings" +) + +type AnPush struct { + opt *options.AnPushOption + client *resty.Client +} + +func NewAnPush(opt *options.AnPushOption) *AnPush { + return &AnPush{ + opt: opt, + client: resty.New().SetHeader("Content-Type", "application/x-www-form-urlencoded"), + } +} + +type msgResponse struct { + Errcode int `json:"errcode"` + Errmsg string `json:"errmsg"` + Msgid uint64 `json:"msgid"` +} + +func (a *AnPush) Push(title, content string) error { + r := a.client.R().SetBody(strings.NewReader(fmt.Sprintf("title=%s&content=%s&channel=%s", title, content, a.opt.Channel))) + var result msgResponse + r.SetResult(&result) + _, err := r.Post(fmt.Sprintf("https://api.anpush.com/push/%s", a.opt.Token)) + return err +} diff --git a/pkg/pusher/anPush_test.go b/pkg/pusher/anPush_test.go new file mode 100644 index 0000000..82779dc --- /dev/null +++ b/pkg/pusher/anPush_test.go @@ -0,0 +1,18 @@ +package pusher + +import ( + "haitao_watcher/pkg/options" + "testing" +) + +func TestAnPush_Push(t *testing.T) { + var opt = &options.AnPushOption{ + Token: "LHS13BO3FGBLGBP9MFBM53R8WV32P1", + Channel: "06683", + } + pusher := NewAnPush(opt) + err := pusher.Push("测试", "这是一个测试") + if err != nil { + t.Fatal(err) + } +} diff --git a/pkg/pusher/controller.go b/pkg/pusher/controller.go new file mode 100644 index 0000000..e7c03c1 --- /dev/null +++ b/pkg/pusher/controller.go @@ -0,0 +1,124 @@ +package pusher + +import ( + "context" + "fmt" + "github.com/golang/glog" + "gorm.io/gorm" + "gorm.io/gorm/schema" + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" +) + +type Pusher interface { + Push(title, content string) error +} + +type Controller struct { + m map[uint]Pusher + db *gorm.DB + ctx context.Context +} + +func NewController(ctx context.Context, db *gorm.DB) *Controller { + ctl := &Controller{ + m: make(map[uint]Pusher), + db: db, + ctx: ctx, + } + ctl.migrateTables() + go func() { + if err := ctl.initPushers(); err != nil { + glog.Errorf("pusher init :%v", err) + } + }() + return ctl +} + +func (c *Controller) Consume(ch <-chan model.PushMsg) { + go func() { + for { + select { + case <-c.ctx.Done(): + return + case msg := <-ch: + for _, pusherId := range msg.ToPusher { + if pusher, ok := c.m[pusherId]; ok { + if err := pusher.Push(msg.Title, msg.Content); err != nil { + glog.Errorf("pusher %d err: %v", pusherId, err) + } + } + } + } + } + }() +} + +func (c *Controller) migrateTables() { + tables := []schema.Tabler{ + &model.Pusher[options.AnPushOption]{}, + } + for _, table := range tables { + if err := c.db.AutoMigrate(table); err != nil { + glog.Fatalf("failed to migrate table %s: %v", table.TableName(), err) + } + } +} + +func (c *Controller) initPushers() error { + var list []model.Pusher[*options.AnPushOption] + if err := c.db.Find(&list).Error; err != nil { + return err + } + for _, p := range list { + c.m[p.ID] = NewAnPush(p.Option) + } + return nil +} + +func (c *Controller) AddPusher(opt *model.Pusher[options.AnPushOption]) error { + return c.db.Transaction(func(tx *gorm.DB) error { + if err := tx.Create(opt).Error; err != nil { + return err + } + fmt.Println("id", opt.ID) + return nil + }) +} + +type ListPusherInfoRequest struct { + Keyword string `query:"keyword,omitempty"` + Page int `query:"page"` + Size int `query:"size"` + All bool `query:"all"` +} + +func (c *Controller) List(req ListPusherInfoRequest) (resp model.ListResponse[model.Pusher[*options.AnPushOption]], err error) { + tx := c.db + if req.Keyword != "" { + tx = tx.Where("name LIKE ? or remark LIKE ?", fmt.Sprintf("%%%s%%", req.Keyword), fmt.Sprintf("%%%s%%", req.Keyword)) + } + + if err = tx.Model(&model.Pusher[*options.AnPushOption]{}).Find(&resp.List).Error; err != nil { + return resp, fmt.Errorf("查询总数失败:%v", err) + } + resp.Total = int64(len(resp.List)) + if req.All || resp.Total == 0 { + return + } + + // 查询列表 + if req.Page < 1 { + req.Page = 1 + } + if req.Size < 1 { + req.Size = 10 + } + offset := (req.Page - 1) * req.Size + + if err = tx.Order("created_at desc").Limit(req.Size).Offset(offset). + Find(&resp.List).Error; err != nil { + return resp, fmt.Errorf("查询列表失败:%v", err) + } + return +} diff --git a/pkg/utils/proxy.go b/pkg/utils/proxy.go new file mode 100644 index 0000000..3d1e17b --- /dev/null +++ b/pkg/utils/proxy.go @@ -0,0 +1,57 @@ +package utils + +import ( + "context" + "fmt" + "github.com/bytedance/sonic" + "github.com/metacubex/mihomo/adapter" + "github.com/metacubex/mihomo/constant" + "github.com/timerzz/proxypool/pkg/proxy" + "net" + "net/url" + "strconv" +) + +func ConnFromProxy(ctx context.Context, p proxy.Proxy, addr constant.Metadata) (conn net.Conn, err error) { + pmap := make(map[string]interface{}) + err = sonic.UnmarshalString(p.String(), &pmap) + if err != nil { + return + } + pmap["port"] = int(pmap["port"].(float64)) + if p.TypeName() == "vmess" { + pmap["alterId"] = int(pmap["alterId"].(float64)) + } + clashProxy, err := adapter.ParseProxy(pmap) + if err != nil { + return nil, err + } + return clashProxy.DialContext(ctx, &addr) // 建立到proxy server的connection,对Proxy的类别做了自适应相当于泛型 +} + +// UrlToMetadata DO NOT EDIT. Copied from clash because it's an unexported function +func UrlToMetadata(rawURL string) (addr constant.Metadata, err error) { + u, err := url.Parse(rawURL) + if err != nil { + return + } + + port := u.Port() + if port == "" { + switch u.Scheme { + case "https": + port = "443" + case "http": + port = "80" + default: + err = fmt.Errorf("%s scheme not Support", rawURL) + return + } + } + pi, _ := strconv.Atoi(port) + addr = constant.Metadata{ + Host: u.Hostname(), + DstPort: uint16(pi), + } + return +} diff --git a/pkg/watcher/base.go b/pkg/watcher/base.go new file mode 100644 index 0000000..d08eadf --- /dev/null +++ b/pkg/watcher/base.go @@ -0,0 +1,16 @@ +package watcher + +import ( + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" +) + +type Watcher interface { + Watch() + Cancel() + SetOnOrderableMsgChannel(ch chan<- model.PushMsg) Watcher + Option() options.CoachOutletOption + SetOption(options.CoachOutletOption) + Uid() string + Restart() +} diff --git a/pkg/watcher/coach.go b/pkg/watcher/coach.go new file mode 100644 index 0000000..75e9ba2 --- /dev/null +++ b/pkg/watcher/coach.go @@ -0,0 +1,261 @@ +package watcher + +import ( + "context" + "fmt" + "github.com/go-resty/resty/v2" + "github.com/pkg/errors" + "github.com/timerzz/proxypool/pkg/proxy" + "gorm.io/gorm" + "gorm.io/gorm/clause" + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" + pool "haitao_watcher/pkg/pools" + "haitao_watcher/pkg/utils" + "log/slog" + "math/rand/v2" + "net/url" + "time" +) + +type CoachOutlet struct { + pool *pool.ProxyPool + cfg *options.CoachOutletOption + detail *model.Product + iter func() (proxy proxy.Proxy) + db *gorm.DB + fCtx context.Context + ctx context.Context + cancel context.CancelFunc + onOrderable chan<- model.PushMsg +} + +func NewCoachWatcher(ctx context.Context, p *pool.ProxyPool, cfg *options.CoachOutletOption, db *gorm.DB) *CoachOutlet { + return &CoachOutlet{ + fCtx: ctx, + pool: p, + cfg: cfg, + iter: p.RandomIterator(), + db: db, + } +} +func (c *CoachOutlet) Option() options.CoachOutletOption { + return *c.cfg +} + +func (c *CoachOutlet) SetOption(cfg options.CoachOutletOption) { + c.cfg = &cfg +} + +func (c *CoachOutlet) SetOnOrderableMsgChannel(ch chan<- model.PushMsg) Watcher { + c.onOrderable = ch + return c +} +func (c *CoachOutlet) Cancel() { + c.cancel() +} + +func (c *CoachOutlet) Uid() string { + return fmt.Sprintf("coachOutlet_%s", c.cfg.Pid) +} + +func (c *CoachOutlet) getDetail() { + if c.detail == nil { + subCtx, cancel := context.WithTimeout(c.ctx, time.Minute*5) + defer cancel() + if err := c.requestProductDetail(subCtx); err != nil { + slog.Error(fmt.Sprintf("获取coach %s 详情失败:%v", c.cfg.Pid, err)) + } + if c.detail != nil && c.detail.Orderable { + if c.onOrderable != nil { + c.onOrderable <- model.PushMsg{ + Title: "coachoutlet 商品补货", + Content: fmt.Sprintf("商品 %s 可以购买,链接: %s", c.detail.Name, c.detail.Link), + ToPusher: c.detail.PusherIds, + } + } + c.cancel() + } + } +} + +func (c *CoachOutlet) Restart() { + c.Cancel() + go c.Watch() +} +func (c *CoachOutlet) Watch() { + c.ctx, c.cancel = context.WithCancel(c.fCtx) + c.getDetail() + ticker := time.NewTicker(c.cfg.Interval) + defer ticker.Stop() + + for { + select { + case <-ticker.C: + c.getDetail() + if c.detail == nil { + continue + } + // 加一些干扰 + salt := rand.IntN(70) + time.Sleep(time.Second * time.Duration(salt)) + // 请求 + subCtx, cancel := context.WithTimeout(c.ctx, time.Minute*5) + inventory, err := c.requestProductInventory(subCtx) + cancel() + if err != nil { + slog.Warn(fmt.Sprintf("获取coach %s 库存失败:%v", c.cfg.Pid, err)) + } + c.detail.UpdateErr = err != nil + //如果获取库存没出错,那么更新一下状态 + if err == nil { + c.detail.Orderable = inventory.Orderable + if !inventory.AllocationResetDate.IsZero() { + c.detail.AllocationResetDate = inventory.AllocationResetDate + } + if c.detail.Orderable { + c.detail.Watch = false + c.detail.AllocationResetDate = time.Now() + } + } + + if err = c.db.Save(c.detail).Error; err != nil { + slog.Error(fmt.Sprintf("更新数据库失败:%v", err)) + } + // 如果可以预定了,那么退出 + if c.detail.Orderable { + if c.onOrderable != nil { + c.onOrderable <- model.PushMsg{ + Title: "coachoutlet 商品补货", + Content: fmt.Sprintf("商品 %s 可以购买,链接: %s", c.detail.Name, c.detail.Link), + ToPusher: c.detail.PusherIds, + } + } + return + } + case <-c.ctx.Done(): + return + } + } +} + +type ProductData struct { + Id string `json:"id"` + Name string `json:"name"` + Brand string `json:"brand"` + Inventory Inventory `json:"inventory"` + Url string `json:"url"` + MasterId string `json:"masterId"` + Prices struct { + CurrentPrice float64 `json:"currentPrice"` + } `json:"prices"` + Remark string `json:"-"` +} + +func (p *ProductData) Product() *model.Product { + return &model.Product{ + Uid: fmt.Sprintf("coachOutlet_%s", p.Id), + Pid: p.Id, + Name: p.Name, + Brand: p.Brand, + Website: model.CoachOutlet, + Watch: true, + Orderable: p.Inventory.Orderable, + Link: p.Url, + Remark: p.Remark, + } +} + +type Inventory struct { + Id string `json:"id"` + Ats int `json:"ats"` + PreOrderable bool `json:"preorderable"` + BackOrderable bool `json:"backorderable"` + Orderable bool `json:"orderable"` + AllocationResetDate time.Time `json:"allocationResetDate,omitempty"` + Perpetual bool `json:"perpetual"` + StockLevel int `json:"stockLevel"` +} + +type ProductDataResponse struct { + ProductData []*ProductData `json:"productsData"` +} + +// 获取 +func (c *CoachOutlet) requestProductDetail(ctx context.Context) error { + urlPath := fmt.Sprintf("https://www.coachoutlet.com/api/get-products?ids=%s&includeInventory=false", url.QueryEscape(c.cfg.Pid)) + var resp ProductDataResponse + err := tryRequest(ctx, urlPath, &resp, c.iter) + if err != nil { + return err + } + if len(resp.ProductData) == 0 { + return fmt.Errorf("coachoutlet %s 详情信息长度为0", c.cfg.Pid) + } + c.detail = resp.ProductData[0].Product() + c.detail.Remark = c.cfg.Remark + c.detail.Link = fmt.Sprintf("https://www.coachoutlet.com%s", c.detail.Link) + if c.detail.Orderable { + c.detail.Watch = false + if c.detail.AllocationResetDate.IsZero() { + c.detail.AllocationResetDate = time.Now() + } + } + c.detail.PusherIds = c.cfg.PusherIds + // 更新数据库 + return c.db.Clauses(clause.OnConflict{ + Columns: []clause.Column{{Name: "uid"}}, + UpdateAll: true, + }).Create(c.detail).Error +} + +type InventoryResponse struct { + Inventory struct { + Status string `json:"status"` + InventoryListID string `json:"inventoryListID"` + InventoryInfo Inventory `json:"inventoryInfo"` + } `json:"inventory"` +} + +func (c *CoachOutlet) requestProductInventory(ctx context.Context) (Inventory, error) { + urlPath := fmt.Sprintf("https://www.coachoutlet.com/api/inventory?vgId=%s&includeVariantData=false", url.QueryEscape(c.cfg.Pid)) + var resp InventoryResponse + return resp.Inventory.InventoryInfo, tryRequest(ctx, urlPath, &resp, c.iter) +} + +func tryRequest(ctx context.Context, urlPath string, respData any, proxyGetter func() proxy.Proxy) error { + for p := proxyGetter(); p != nil; p = proxyGetter() { + select { + case <-ctx.Done(): + return nil + default: + + } + _, err := callByProxy(ctx, p, urlPath, respData) + if err != nil { + slog.Debug(err.Error()) + continue + } + return nil + } + return errors.New("can not get ") +} + +func callByProxy(ctx context.Context, p proxy.Proxy, urlPath string, result any) (*resty.Response, error) { + addr, err := utils.UrlToMetadata(urlPath) + if err != nil { + return nil, err + } + subCtx, cancel := context.WithTimeout(ctx, time.Second*5) + defer cancel() + conn, err := utils.ConnFromProxy(subCtx, p, addr) + if err != nil { + return nil, errors.Wrap(err, "创建conn失败") + } + defer conn.Close() + + var cli = pool.GetRestyClient(conn) + defer pool.PutRestyClient(cli) + + return cli.R().SetResult(result).Get(urlPath) +} diff --git a/pkg/watcher/controller.go b/pkg/watcher/controller.go new file mode 100644 index 0000000..055c787 --- /dev/null +++ b/pkg/watcher/controller.go @@ -0,0 +1,192 @@ +package watcher + +import ( + "context" + "fmt" + "github.com/golang/glog" + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" + pool "haitao_watcher/pkg/pools" + "sync" + "time" +) + +type Controller struct { + lock sync.RWMutex + m map[string]Watcher + db *gorm.DB + pool *pool.ProxyPool + ctx context.Context + ch chan<- model.PushMsg +} + +func NewController(ctx context.Context, db *gorm.DB, pool *pool.ProxyPool, ch chan<- model.PushMsg) *Controller { + ctl := &Controller{ + m: make(map[string]Watcher), + db: db, + pool: pool, + ctx: ctx, + ch: ch, + } + ctl.migrateTables() + go func() { + if err := ctl.initWatchers(); err != nil { + glog.Errorf("watcher init :%v", err) + } + }() + return ctl +} + +func (c *Controller) migrateTables() { + tables := []schema.Tabler{ + &model.Product{}, + } + for _, table := range tables { + if err := c.db.AutoMigrate(table); err != nil { + glog.Fatalf("failed to migrate table %s: %v", table.TableName(), err) + } + } +} + +func (c *Controller) initWatchers() error { + var list []model.Product + if err := c.db.Find(&list, "orderable = ?", false).Error; err != nil { + return err + } + for _, p := range list { + if err := c.RunWatcher(&options.CoachOutletOption{ + Pid: p.Pid, + Remark: p.Remark, + Interval: time.Minute * 5, + PusherIds: p.PusherIds, + }); err != nil { + glog.Errorf("run watcher err: %v", err) + } + } + return nil +} + +func (c *Controller) RunWatcher(opt *options.CoachOutletOption) error { + uid := opt.Uid() + err := c.db.Clauses(clause.OnConflict{ + Columns: []clause.Column{{Name: "uid"}}, + DoUpdates: clause.AssignmentColumns([]string{"watch", "remark", "orderable", "pusher_ids"}), + }).Create(&model.Product{Uid: uid, Watch: true, Remark: opt.Remark, Orderable: false, PusherIds: opt.PusherIds}).Error + + if err != nil { + return err + } + + if water, ok := c.m[uid]; ok { + water.Restart() + return nil + } + + watcher := NewCoachWatcher(c.ctx, c.pool, opt, c.db).SetOnOrderableMsgChannel(c.ch) + go watcher.Watch() + + c.lock.Lock() + c.m[watcher.Uid()] = watcher + c.lock.Unlock() + return nil +} + +type ListWatcherInfoRequest struct { + Website model.WebsiteType `query:"website,omitempty"` //是什么网站 + Watch *bool `query:"watch,omitempty"` + Orderable *bool `query:"orderable,omitempty"` + Keyword string `query:"keyword,omitempty"` + Page int `query:"page"` + Size int `query:"size"` +} + +func (c *Controller) List(req ListWatcherInfoRequest) (resp model.ListResponse[model.Product], err error) { + tx := c.db + if req.Keyword != "" { + tx = tx.Where("name LIKE ? or remark LIKE ?", fmt.Sprintf("%%%s%%", req.Keyword), fmt.Sprintf("%%%s%%", req.Keyword)) + } + if !req.Website.IsZero() { + tx = tx.Where("website = ?", req.Website) + } + if req.Watch != nil { + tx = tx.Where("watch = ?", req.Watch) + } + if req.Orderable != nil { + tx = tx.Where("orderable = ?", req.Orderable) + } + if err = tx.Model(&model.Product{}).Count(&resp.Total).Error; err != nil { + return resp, fmt.Errorf("查询总数失败:%v", err) + } + if resp.Total == 0 { + resp.List = make([]model.Product, 0) + return + } + // 查询列表 + if req.Page < 1 { + req.Page = 1 + } + if req.Size < 1 { + req.Size = 10 + } + offset := (req.Page - 1) * req.Size + + if err = tx.Order("created_at desc").Limit(req.Size).Offset(offset). + Find(&resp.List).Error; err != nil { + return resp, fmt.Errorf("查询列表失败:%v", err) + } + return +} + +func (c *Controller) Delete(uid string) error { + c.lock.Lock() + if watcher, ok := c.m[uid]; ok { + watcher.Cancel() + delete(c.m, uid) + } + c.lock.Unlock() + return c.db.Delete(&model.Product{Uid: uid}, "uid = ?", uid).Error +} + +func (c *Controller) Stop(uid string) error { + c.lock.RLock() + if watcher, ok := c.m[uid]; ok { + watcher.Cancel() + } + c.lock.RUnlock() + return c.db.Model(&model.Product{}).Where("uid = ?", uid).UpdateColumn("watch", false).Error +} + +func (c *Controller) Start(uid string) error { + c.lock.RLock() + if watcher, ok := c.m[uid]; ok { + watcher.Restart() + c.lock.RUnlock() + return nil + } + c.lock.RUnlock() + + var product model.Product + if err := c.db.Find(&product, "uid = ?", uid).Error; err != nil { + return err + } + return c.RunWatcher(&options.CoachOutletOption{ + Pid: product.Pid, + Remark: product.Remark, + Interval: time.Minute * 5, + PusherIds: product.PusherIds, + }) +} + +func (c *Controller) SetPushers(uid string, pushers []uint) (err error) { + c.lock.RLock() + if watcher, ok := c.m[uid]; ok { + cfg := watcher.Option() + cfg.PusherIds = pushers + watcher.SetOption(cfg) + } + c.lock.RUnlock() + return c.db.Model(&model.Product{}).Where("uid = ?", uid).UpdateColumn("pusher_ids", pushers).Error +} diff --git a/server/pusher_svc.go b/server/pusher_svc.go new file mode 100644 index 0000000..95a4e19 --- /dev/null +++ b/server/pusher_svc.go @@ -0,0 +1,43 @@ +package server + +import ( + "github.com/gofiber/fiber/v3" + "haitao_watcher/pkg/model" + "haitao_watcher/pkg/options" + "haitao_watcher/pkg/pusher" +) + +type PusherSvc struct { + ctl *pusher.Controller +} + +func NewPusherSvcController(ctl *pusher.Controller) *PusherSvc { + return &PusherSvc{ + ctl: ctl, + } +} + +func (s *PusherSvc) RegistryRouter(r fiber.Router) { + r.Get("pushers", s.ListPusherInfo) + r.Post("pushers", s.CreatePusher) +} + +func (s *PusherSvc) ListPusherInfo(ctx fiber.Ctx) error { + var req pusher.ListPusherInfoRequest + if err := ctx.Bind().Query(&req); err != nil { + return err + } + resp, err := s.ctl.List(req) + if err != nil { + return err + } + return ctx.JSON(resp) +} + +func (s *PusherSvc) CreatePusher(ctx fiber.Ctx) error { + var opt model.Pusher[options.AnPushOption] + if err := ctx.Bind().JSON(&opt); err != nil { + return err + } + return s.ctl.AddPusher(&opt) +} diff --git a/server/watcher_svc.go b/server/watcher_svc.go new file mode 100644 index 0000000..01c34c0 --- /dev/null +++ b/server/watcher_svc.go @@ -0,0 +1,98 @@ +package server + +import ( + "github.com/gofiber/fiber/v3" + "github.com/pkg/errors" + "haitao_watcher/pkg/options" + "haitao_watcher/pkg/watcher" + "net/url" + "time" +) + +type WatcherSvc struct { + ctl *watcher.Controller +} + +func NewWatcherController(ctl *watcher.Controller) *WatcherSvc { + return &WatcherSvc{ + ctl: ctl, + } +} + +func (s *WatcherSvc) RegistryRouter(r fiber.Router) { + r.Get("watchers", s.ListWatcherInfo) + r.Post("watchers", s.CreateWatcher) + r.Delete("watchers/:uid", s.DeleteWatcher) + r.Delete("watchers/:uid/status", s.StopWatcher) + r.Post("watchers/:uid/status", s.StartWatcher) +} + +func (s *WatcherSvc) ListWatcherInfo(ctx fiber.Ctx) error { + var req watcher.ListWatcherInfoRequest + if err := ctx.Bind().Query(&req); err != nil { + return err + } + resp, err := s.ctl.List(req) + if err != nil { + return err + } + return ctx.JSON(resp) +} + +func (s *WatcherSvc) CreateWatcher(ctx fiber.Ctx) (err error) { + var opt options.CoachOutletOption + if err = ctx.Bind().JSON(&opt); err != nil { + return err + } + if opt.Interval == 0 { + opt.Interval = 5 * time.Minute + } + if opt.Pid, err = url.QueryUnescape(opt.Pid); err != nil { + return + } + return s.ctl.RunWatcher(&opt) +} + +func (s *WatcherSvc) StopWatcher(ctx fiber.Ctx) (err error) { + uid, err := url.QueryUnescape(ctx.Params("uid")) + if err != nil { + return err + } + if uid == "" { + return errors.New("uid is empty") + } + return s.ctl.Stop(uid) +} + +func (s *WatcherSvc) StartWatcher(ctx fiber.Ctx) (err error) { + uid, err := url.QueryUnescape(ctx.Params("uid")) + if err != nil { + return err + } + if uid == "" { + return errors.New("uid is empty") + } + return s.ctl.Start(uid) +} +func (s *WatcherSvc) DeleteWatcher(ctx fiber.Ctx) error { + uid, err := url.QueryUnescape(ctx.Params("uid")) + if err != nil { + return err + } + if uid == "" { + return errors.New("uid is empty") + } + return s.ctl.Delete(uid) +} + +func (s *WatcherSvc) SetWatcherPushers(ctx fiber.Ctx) (err error) { + var pusherIds []uint + if err = ctx.Bind().JSON(&pusherIds); err != nil { + return + } + uid := ctx.Params("uid") + if uid == "" { + return errors.New("uid is empty") + } + return s.ctl.SetPushers(uid, pusherIds) +} diff --git a/wwwroot/.gitignore b/wwwroot/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/wwwroot/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/wwwroot/.vscode/extensions.json b/wwwroot/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/wwwroot/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/wwwroot/README.md b/wwwroot/README.md new file mode 100644 index 0000000..e0acb37 --- /dev/null +++ b/wwwroot/README.md @@ -0,0 +1,7 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + diff --git a/wwwroot/package.json b/wwwroot/package.json new file mode 100644 index 0000000..14fbd17 --- /dev/null +++ b/wwwroot/package.json @@ -0,0 +1,26 @@ +{ + "name": "wwwroot", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@ant-design/icons-vue": "^7.0.1", + "ant-design-vue": "4.x", + "mande": "^2.0.8", + "moment": "^2.30.1", + "vue": "^3.4.21", + "vue-router": "4" + }, + "devDependencies": { + "@types/node": "^20.12.5", + "@vitejs/plugin-vue": "^5.0.4", + "unocss": "^0.59.0", + "unplugin-vue-components": "^0.26.0", + "vite": "^5.2.0" + } +} diff --git a/wwwroot/src/App.vue b/wwwroot/src/App.vue new file mode 100644 index 0000000..604710e --- /dev/null +++ b/wwwroot/src/App.vue @@ -0,0 +1,15 @@ + + + + + + diff --git a/wwwroot/src/api/pusher.js b/wwwroot/src/api/pusher.js new file mode 100644 index 0000000..025d50d --- /dev/null +++ b/wwwroot/src/api/pusher.js @@ -0,0 +1,11 @@ +import {mande} from "mande"; + +const pushers = mande('/api/v1/pushers') + +export const ListPushers = (query) => { + return pushers.get({query:query}) +} + +export const AddPusher = (opt)=>{ + return pushers.post(opt) +} \ No newline at end of file diff --git a/wwwroot/src/api/watcher.js b/wwwroot/src/api/watcher.js new file mode 100644 index 0000000..d665cae --- /dev/null +++ b/wwwroot/src/api/watcher.js @@ -0,0 +1,22 @@ +import {mande} from "mande"; + +const watchers = mande('/api/v1/watchers') + +export const ListWatchers = (query) => { + return watchers.get({query:query}) +} + +export const CreateWatcher = (opt)=>{ + return watchers.post(opt) +} + +export const DeleteWatcher = (uid)=>{ + return watchers.delete(`/${encodeURIComponent(uid)}`) +} + +export const StopWatcher = (uid)=>{ + return watchers.delete(`/${encodeURIComponent(uid)}/status`) +} +export const StartWatcher = (uid)=>{ + return watchers.post(`/${encodeURIComponent(uid)}/status`) +} \ No newline at end of file diff --git a/wwwroot/src/assets/logo.png b/wwwroot/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3a02aacfb7869451380c88e0a4d86130b8483c28 GIT binary patch literal 277095 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

`SmOk)FcL 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'@/views/Watcher/index.vue') + }, + { + path: '/pusher', + name: 'pusher', + component: ()=>import('@/views/Pusher/index.vue') + } +] + +const router = createRouter({ + history: createWebHashHistory(), + routes +}) + +export default router \ No newline at end of file diff --git a/wwwroot/src/views/Pusher/index.vue b/wwwroot/src/views/Pusher/index.vue new file mode 100644 index 0000000..732555b --- /dev/null +++ b/wwwroot/src/views/Pusher/index.vue @@ -0,0 +1,178 @@ + + + + + \ No newline at end of file diff --git a/wwwroot/src/views/Watcher/index.vue b/wwwroot/src/views/Watcher/index.vue new file mode 100644 index 0000000..53462a2 --- /dev/null +++ b/wwwroot/src/views/Watcher/index.vue @@ -0,0 +1,253 @@ + + + + + + \ No newline at end of file diff --git a/wwwroot/src/views/layout/Aside.vue b/wwwroot/src/views/layout/Aside.vue new file mode 100644 index 0000000..4100d45 --- /dev/null +++ b/wwwroot/src/views/layout/Aside.vue @@ -0,0 +1,42 @@ + + + + \ No newline at end of file diff --git a/wwwroot/src/views/layout/Header.vue b/wwwroot/src/views/layout/Header.vue new file mode 100644 index 0000000..703203c --- /dev/null +++ b/wwwroot/src/views/layout/Header.vue @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/wwwroot/src/views/layout/Main.vue b/wwwroot/src/views/layout/Main.vue new file mode 100644 index 0000000..657f1ee --- /dev/null +++ b/wwwroot/src/views/layout/Main.vue @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/wwwroot/src/views/layout/index.vue b/wwwroot/src/views/layout/index.vue new file mode 100644 index 0000000..d92d49c --- /dev/null +++ b/wwwroot/src/views/layout/index.vue @@ -0,0 +1,17 @@ + + + \ No newline at end of file diff --git a/wwwroot/vite.config.js b/wwwroot/vite.config.js new file mode 100644 index 0000000..bc42ab8 --- /dev/null +++ b/wwwroot/vite.config.js @@ -0,0 +1,38 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import UnoCSS from 'unocss/vite' +import path from 'path' +import Components from 'unplugin-vue-components/vite'; +import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; + + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + UnoCSS(), + Components({ + resolvers: [ + AntDesignVueResolver({ + importStyle: false, // css in js + }), + ], + }), + ], + server:{ + open: true, + proxy: { + '/api/v1': { + target: 'http://172.25.168.160:2280/', + changeOrigin: true, + secure: false, + ws: true, + }, + }, + }, + resolve: { + alias: { + '@': path.resolve(__dirname, "./src") + } + } +})