Phase 1 — Bug fixes (7 bugs): - Bug 1: Pulsar mode data loss — always persist to SQLite regardless of mode - Bug 2: PulsarSend closing TCP client — use independent resetPulsarProducer() - Bug 3: Greedy regex — use non-greedy (?s)ZCZC.*?NNNN - Bug 4: Data after NNNN discarded — keep remaining buffer data - Bug 5: strings.Index > 0 boundary — use strings.Contains - Bug 6: Variable shadowing in PulsarSend — use = not := - Bug 7: Accept failure nil panic — add continue + retry logic Phase 2 — Architecture restructuring: - Split utils/ into config/, serial/, telegram/, storage/, transport/ - Define Sender, Repository, Reader interfaces - Introduce app/ layer with context.Context lifecycle - Replace spinlock with sync.Mutex - Unified Config struct replaces 15+ global vars Phase 3 — Testing & tooling: - telegram/parser_test.go (7 test cases) - storage/store_test.go (5 test cases) - transport/transport_test.go (4 test cases) - Taskfile: add test, test-race, test-cover tasks - Go version: 1.15 -> 1.21
73 lines
3.3 KiB
AMPL
73 lines
3.3 KiB
AMPL
module it2000.com.cn/tele-recv
|
|
|
|
go 1.21
|
|
|
|
require (
|
|
github.com/apache/pulsar-client-go v0.3.0
|
|
github.com/argandas/serial v0.0.0-20160316175758-889a5ad85462
|
|
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
|
|
github.com/mattn/go-sqlite3 v1.14.5
|
|
github.com/spf13/cobra v1.1.1
|
|
github.com/spf13/viper v1.7.1
|
|
go.uber.org/zap v1.16.0
|
|
)
|
|
|
|
require (
|
|
github.com/99designs/keyring v1.1.5 // indirect
|
|
github.com/apache/pulsar-client-go/oauth2 v0.0.0-20200715083626-b9f8c5cedefb // indirect
|
|
github.com/ardielle/ardielle-go v1.5.2 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
|
github.com/danieljoos/wincred v1.0.2 // indirect
|
|
github.com/datadog/zstd v1.4.6-0.20200617134701-89f69fb7df32 // indirect
|
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
|
|
github.com/dvsekhvalnov/jose2go v0.0.0-20180829124132-7f401d37b68a // indirect
|
|
github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 // indirect
|
|
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
|
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
|
|
github.com/gogo/protobuf v1.3.1 // indirect
|
|
github.com/golang/protobuf v1.4.2 // indirect
|
|
github.com/golang/snappy v0.0.1 // indirect
|
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 // indirect
|
|
github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect
|
|
github.com/klauspost/compress v1.10.8 // indirect
|
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect
|
|
github.com/lestrrat-go/strftime v1.0.3 // indirect
|
|
github.com/linkedin/goavro/v2 v2.9.8 // indirect
|
|
github.com/magiconair/properties v1.8.4 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.4.0 // indirect
|
|
github.com/mtibben/percent v0.2.1 // indirect
|
|
github.com/pelletier/go-toml v1.8.1 // indirect
|
|
github.com/pierrec/lz4 v2.0.5+incompatible // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/prometheus/client_golang v1.7.1 // indirect
|
|
github.com/prometheus/client_model v0.2.0 // indirect
|
|
github.com/prometheus/common v0.10.0 // indirect
|
|
github.com/prometheus/procfs v0.1.3 // indirect
|
|
github.com/sirupsen/logrus v1.4.2 // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/spf13/afero v1.5.1 // indirect
|
|
github.com/spf13/cast v1.3.1 // indirect
|
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/subosito/gotenv v1.2.0 // indirect
|
|
github.com/tebeka/strftime v0.1.5 // indirect
|
|
github.com/yahoo/athenz v1.8.55 // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
go.uber.org/multierr v1.6.0 // indirect
|
|
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 // indirect
|
|
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 // indirect
|
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d // indirect
|
|
golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e // indirect
|
|
golang.org/x/text v0.3.4 // indirect
|
|
google.golang.org/appengine v1.6.1 // indirect
|
|
google.golang.org/protobuf v1.23.0 // indirect
|
|
gopkg.in/ini.v1 v1.62.0 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
)
|