diff --git a/analytics/analytics.go b/analytics/analytics.go index d529c333..7833c837 100644 --- a/analytics/analytics.go +++ b/analytics/analytics.go @@ -15,8 +15,8 @@ import ( "github.com/getlantern/http-proxy-lantern/v2/analytics/engine" - "github.com/getlantern/golog" "github.com/getlantern/http-proxy-lantern/v2/common" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/proxy/v3/filters" "github.com/golang/groupcache/lru" ) @@ -26,7 +26,7 @@ func init() { } var ( - log = golog.LoggerFor("http-proxy-lantern.analytics") + log = logger.InitLogger("http-proxy-lantern.analytics") ) // siteAccess holds information for tracking access to a site diff --git a/blacklist/blacklist.go b/blacklist/blacklist.go index 31ad0075..1b9ebc41 100644 --- a/blacklist/blacklist.go +++ b/blacklist/blacklist.go @@ -9,9 +9,8 @@ import ( "sync" "time" - "github.com/getlantern/golog" - "github.com/getlantern/http-proxy-lantern/v2/instrument" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) const ( @@ -33,7 +32,7 @@ const ( ) var ( - log = golog.LoggerFor("blacklist") + log = logger.InitLogger("blacklist") blacklistingEnabled = false // we've temporarily turned off blacklisting for safety ) diff --git a/devicefilter/devicefilter.go b/devicefilter/devicefilter.go index 66932ccb..71ace805 100644 --- a/devicefilter/devicefilter.go +++ b/devicefilter/devicefilter.go @@ -10,7 +10,6 @@ import ( "github.com/dustin/go-humanize" - "github.com/getlantern/golog" "github.com/getlantern/proxy/v3/filters" "github.com/getlantern/http-proxy-lantern/v2/listeners" @@ -19,13 +18,14 @@ import ( "github.com/getlantern/http-proxy-lantern/v2/common" "github.com/getlantern/http-proxy-lantern/v2/domains" "github.com/getlantern/http-proxy-lantern/v2/instrument" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/http-proxy-lantern/v2/redis" "github.com/getlantern/http-proxy-lantern/v2/throttle" "github.com/getlantern/http-proxy-lantern/v2/usage" ) var ( - log = golog.LoggerFor("devicefilter") + log = logger.InitLogger("devicefilter") epoch = time.Date(2016, 1, 1, 0, 0, 0, 0, time.UTC) diff --git a/diffserv/diffserv.go b/diffserv/diffserv.go index 20d682d6..9dfe5261 100644 --- a/diffserv/diffserv.go +++ b/diffserv/diffserv.go @@ -4,13 +4,15 @@ package diffserv import ( - "github.com/getlantern/golog" - "golang.org/x/net/ipv4" "net" + + "golang.org/x/net/ipv4" + + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( - log = golog.LoggerFor("diffserv") + log = logger.InitLogger("diffserv") ) // Wrap wraps the given Listener into a Listener that applies the specified tos diff --git a/go.mod b/go.mod index 69601821..8741c430 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/OperatorFoundation/Starbridge-go/Starbridge/v3 v3.0.17 github.com/dustin/go-humanize v1.0.1 github.com/getlantern/broflake v0.0.0-20231117182649-7d46643a6f87 - github.com/getlantern/cmux/v2 v2.0.0-20230301223233-dac79088a4c0 + github.com/getlantern/cmux/v2 v2.0.0-20250124101821-d19fd14965c1 github.com/getlantern/cmuxprivate v0.0.0-20211216020409-d29d0d38be54 github.com/getlantern/enhttp v0.0.0-20210901195634-6f89d45ee033 github.com/getlantern/errors v1.0.4 @@ -48,6 +48,7 @@ require ( github.com/go-redis/redis/v8 v8.11.5 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/hashicorp/golang-lru v0.5.4 + github.com/mitchellh/mapstructure v1.5.0 github.com/mitchellh/panicwrap v1.0.0 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/refraction-networking/utls v1.6.7 @@ -55,24 +56,31 @@ require ( github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726 github.com/spaolacci/murmur3 v1.1.0 github.com/stretchr/testify v1.10.0 + github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2 github.com/vharitonsky/iniflags v0.0.0-20180513140207-a33cd0b5f3de github.com/xtaci/smux v1.5.24 gitlab.com/yawning/obfs4.git v0.0.0-20220204003609-77af0cba934d - go.opentelemetry.io/otel v1.28.0 + go.opentelemetry.io/otel v1.34.0 + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.28.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 - go.opentelemetry.io/otel/metric v1.28.0 - go.opentelemetry.io/otel/sdk v1.28.0 - go.opentelemetry.io/otel/sdk/metric v1.28.0 - go.opentelemetry.io/otel/trace v1.28.0 - golang.org/x/net v0.26.0 + go.opentelemetry.io/otel/metric v1.34.0 + go.opentelemetry.io/otel/sdk v1.34.0 + go.opentelemetry.io/otel/sdk/metric v1.31.0 + go.opentelemetry.io/otel/trace v1.34.0 + golang.org/x/net v0.34.0 google.golang.org/api v0.169.0 ) require ( - cloud.google.com/go v0.112.1 // indirect - cloud.google.com/go/compute/metadata v0.3.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/otel/log v0.10.0 + go.opentelemetry.io/otel/sdk/log v0.10.0 +) + +require ( + cloud.google.com/go/compute/metadata v0.5.2 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/OperatorFoundation/ghostwriter-go v1.0.6 // indirect github.com/OperatorFoundation/go-bloom v1.0.1 // indirect @@ -106,7 +114,7 @@ require ( github.com/blang/vfs v1.0.0 // indirect github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dchest/siphash v1.2.3 // indirect @@ -152,7 +160,7 @@ require ( github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect github.com/huandu/xstrings v1.3.2 // indirect github.com/josharian/native v1.1.0 // indirect github.com/klauspost/compress v1.17.4 // indirect @@ -171,7 +179,7 @@ require ( github.com/oschwald/geoip2-golang v1.9.0 // indirect github.com/oschwald/maxminddb-golang v1.11.0 // indirect github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c // indirect - github.com/pierrec/lz4/v4 v4.1.14 // indirect + github.com/pierrec/lz4/v4 v4.1.18 // indirect github.com/pion/datachannel v1.5.5 // indirect github.com/pion/dtls/v2 v2.2.7 // indirect github.com/pion/ice/v2 v2.3.5 // indirect @@ -191,7 +199,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.19.1 // indirect - github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/client_model v0.6.0 // indirect github.com/prometheus/common v0.48.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/quic-go/qtls-go1-20 v0.4.1 // indirect @@ -220,30 +228,31 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/mock v0.5.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.21.0 // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/oauth2 v0.20.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/oauth2 v0.24.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.29.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect - google.golang.org/grpc v1.64.0 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/grpc v1.69.4 // indirect + google.golang.org/protobuf v1.36.3 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - modernc.org/libc v1.22.3 // indirect + modernc.org/libc v1.22.4 // indirect modernc.org/mathutil v1.5.0 // indirect modernc.org/memory v1.5.0 // indirect - modernc.org/sqlite v1.21.1 // indirect + modernc.org/sqlite v1.21.2 // indirect nhooyr.io/websocket v1.8.10 // indirect zombiezen.com/go/sqlite v0.13.1 // indirect ) @@ -252,3 +261,5 @@ require ( replace github.com/mitchellh/panicwrap v1.0.0 => github.com/getlantern/panicwrap v0.0.0-20200707191944-9ba45baf8e51 replace github.com/tetratelabs/wazero => github.com/refraction-networking/wazero v1.7.1-w + +// replace github.com/getlantern/golog => ../golog diff --git a/go.sum b/go.sum index 26e6e70a..cfa0f95b 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= -cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= crawshaw.io/iox v0.0.0-20181124134642-c51c3df30797/go.mod h1:sXBiorCo8c46JlQV3oXPKINnZ8mcqnye1EkVkqsectk= @@ -136,8 +136,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= @@ -194,9 +194,12 @@ github.com/getlantern/byteexec v0.0.0-20220903142956-e6ed20032cfd h1:0xt9OTbV50a github.com/getlantern/byteexec v0.0.0-20220903142956-e6ed20032cfd/go.mod h1:oD9q9NB1LNBLHk3WAwza4tivxV7tm7jKFlCNCAv3+M8= github.com/getlantern/cmux v0.0.0-20230301223233-dac79088a4c0 h1:JlVdpDQThkcqlMoqpn89ZfNUpxNTUNqUrTFacBJvIqU= github.com/getlantern/cmux v0.0.0-20230301223233-dac79088a4c0/go.mod h1:48COjs7jITfhkdw82LeMDQtrISx0CQG3/W0Ycr2UafM= +github.com/getlantern/cmux/v2 v2.0.0-20200905031936-c55b16ee8462 h1:i5/Pd2raSQs59f0twxO/Fm3FaxpEsSSZKC0mxWnXumM= github.com/getlantern/cmux/v2 v2.0.0-20200905031936-c55b16ee8462/go.mod h1:oJz1ghfzM796DpGP0et6Gbc3si2Zn3/7l7KxxK/KXQ0= github.com/getlantern/cmux/v2 v2.0.0-20230301223233-dac79088a4c0 h1:Yn5u/vwIC0iIKyI7OqhD4R74vzhaMCEaFHei9AJXS3c= github.com/getlantern/cmux/v2 v2.0.0-20230301223233-dac79088a4c0/go.mod h1:oJz1ghfzM796DpGP0et6Gbc3si2Zn3/7l7KxxK/KXQ0= +github.com/getlantern/cmux/v2 v2.0.0-20250124101821-d19fd14965c1 h1:qSV2fDy1VV/hetsp6aFAuCtXUHmE3Bt+4fkm8oFo738= +github.com/getlantern/cmux/v2 v2.0.0-20250124101821-d19fd14965c1/go.mod h1:oJz1ghfzM796DpGP0et6Gbc3si2Zn3/7l7KxxK/KXQ0= github.com/getlantern/cmuxprivate v0.0.0-20211216020409-d29d0d38be54 h1:aqzgkWfjRLDSIpTKU3x4a8MtqpRi5Jr2pt81Ga0moJQ= github.com/getlantern/cmuxprivate v0.0.0-20211216020409-d29d0d38be54/go.mod h1:WIunQ/nFvkQAP89tY2CX4R5kj9A1OJhjA3KmP6nj4o4= github.com/getlantern/context v0.0.0-20190109183933-c447772a6520/go.mod h1:L+mq6/vvYHKjCX2oez0CgEAJmbq1fbb/oNJIWQkBybY= @@ -232,6 +235,8 @@ github.com/getlantern/golog v0.0.0-20200929154820-62107891371a/go.mod h1:ZyIjgH/ github.com/getlantern/golog v0.0.0-20210606115803-bce9f9fe5a5f/go.mod h1:ZyIjgH/1wTCl+B+7yH1DqrWp6MPJqESmwmEQ89ZfhvA= github.com/getlantern/golog v0.0.0-20230503153817-8e72de7e0a65 h1:NlQedYmPI3pRAXJb+hLVVDGqfvvXGRPV8vp7XOjKAZ0= github.com/getlantern/golog v0.0.0-20230503153817-8e72de7e0a65/go.mod h1:+ZU1h+iOVqWReBpky6d5Y2WL0sF2Llxu+QcxJFs2+OU= +github.com/getlantern/golog v0.0.0-20250123111742-f1cdfe6dd32b h1:ey7DuKRZ8XzrslEb4HpWVItYbyw6MjeW8WJwx/5leE4= +github.com/getlantern/golog v0.0.0-20250123111742-f1cdfe6dd32b/go.mod h1:3Bh8J9bvGDkmIu8wrSCODjfbUS6UcvNFp26L5VP4Cpw= github.com/getlantern/gonat v0.0.0-20201001145726-634575ba87fb h1:tDQA66mL1vTHKSMu3Ras/9Tk884ipPAhcdQHXpnDhxg= github.com/getlantern/gonat v0.0.0-20201001145726-634575ba87fb/go.mod h1:ysiamkJHyOrnlNmtDCCccH1NbFdgEBSJRg44DWiOxcY= github.com/getlantern/gotun v0.0.0-20190809092752-6d35bb1397ee/go.mod h1:zvsZQrsl7Yrmi+ENk5WZFT7dQaYtihAcI0H/9+LacqQ= @@ -429,8 +434,8 @@ github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51 github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= @@ -497,6 +502,8 @@ github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Cl github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4= github.com/mitchellh/go-server-timing v1.0.0 h1:cdHk4f7lxjwbRqTSGZFw8PCeoNYXGp4T4Sdr8wT+Xlw= github.com/mitchellh/go-server-timing v1.0.0/go.mod h1:RdipKQzCJaL4HyxFQBINbf4XoDdZKkSshqw9Bbsx1ic= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mmcloughlin/avo v0.0.0-20200803215136-443f81d77104 h1:ULR/QWMgcgRiZLUjSSJMU+fW+RDMstRdmnDWj9Q+AsA= github.com/mmcloughlin/avo v0.0.0-20200803215136-443f81d77104/go.mod h1:wqKykBG2QzQDJEzvRkcS8x6MiSJkF52hXZsXcjaB3ls= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -541,8 +548,8 @@ github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwU github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -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/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= +github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pion/datachannel v1.5.5 h1:10ef4kwdjije+M9d7Xm9im2Y3O6A6ccQb0zcqZcJew8= github.com/pion/datachannel v1.5.5/go.mod h1:iMz+lECmfdCMqFRhXhcA/219B0SQlbpoR2V118yimL0= github.com/pion/dtls/v2 v2.2.6/go.mod h1:t8fWJCIquY5rlQZwA2yWxUS1+OCrAdXrhVKXB5oD/wY= @@ -604,8 +611,8 @@ github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1: github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= @@ -636,8 +643,8 @@ github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 h1:f/FNXud6gA3MNr github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstvQsPGkxUsCd2KWxErBblirPizecHcpD3ffK+s= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -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/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417 h1:Lt9DzQALzHoDwMBGJ6v8ObDPR0dzr2a6sXTB1Fq7IHs= github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417/go.mod h1:qe5TWALJ8/a1Lqznoc5BDHpYX/8HU60Hm2AwRmqzxqA= github.com/ryszard/goskiplist v0.0.0-20150312221310-2dfbae5fcf46 h1:GHRpF1pTW19a8tTFrMLUcfWwyC0pnifVo2ClaLq+hP8= @@ -703,6 +710,8 @@ github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oW github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2 h1:3/aHKUq7qaFMWxyQV0W2ryNgg8x8rVeKVA20KJUkfS0= +github.com/uptrace/opentelemetry-go-extra/otelutil v0.3.2/go.mod h1:Zit4b8AQXaXvA68+nzmbyDzqiyFRISyw1JiD5JqUBjw= github.com/vharitonsky/iniflags v0.0.0-20180513140207-a33cd0b5f3de h1:fkw+7JkxF3U1GzQoX9h69Wvtvxajo5Rbzy6+YMMzPIg= github.com/vharitonsky/iniflags v0.0.0-20180513140207-a33cd0b5f3de/go.mod h1:irMhzlTz8+fVFj6CH2AN2i+WI5S6wWFtK3MBCIxIpyI= github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= @@ -734,30 +743,38 @@ go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.9.0/go.mod h1:np4EoPGzoPs3O67xUVNoPPcmSvsfOxNlNA4F4AC+0Eo= -go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= -go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0 h1:q/heq5Zh8xV1+7GoMGJpTxM2Lhq5+bFxB29tshuRuw0= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.10.0/go.mod h1:leO2CSTg0Y+LyvmR7Wm4pUxE8KAmaM2GCVx7O+RATLA= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.28.0 h1:aLmmtjRke7LPDQ3lvpFz+kNEH43faFhzW7v8BFIEydg= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.28.0/go.mod h1:TC1pyCt6G9Sjb4bQpShH+P5R53pO6ZuGnHuuln9xMeE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= -go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= -go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= -go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= -go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= -go.opentelemetry.io/otel/sdk/metric v1.28.0 h1:OkuaKgKrgAbYrrY0t92c+cC+2F6hsFNnCQArXCKlg08= -go.opentelemetry.io/otel/sdk/metric v1.28.0/go.mod h1:cWPjykihLAPvXKi4iZc1dpER3Jdq2Z0YLse3moQUCpg= +go.opentelemetry.io/otel/log v0.10.0 h1:1CXmspaRITvFcjA4kyVszuG4HjA61fPDxMb7q3BuyF0= +go.opentelemetry.io/otel/log v0.10.0/go.mod h1:PbVdm9bXKku/gL0oFfUF4wwsQsOPlpo4VEqjvxih+FM= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/log v0.10.0 h1:lR4teQGWfeDVGoute6l0Ou+RpFqQ9vaPdrNJlST0bvw= +go.opentelemetry.io/otel/sdk/log v0.10.0/go.mod h1:A+V1UTWREhWAittaQEG4bYm4gAZa6xnvVu+xKrIRkzo= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= go.opentelemetry.io/otel/trace v1.9.0/go.mod h1:2737Q0MuG8q1uILYm2YYVkAyLtOofiTNGg6VODnOiPo= -go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= -go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -787,8 +804,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= @@ -835,12 +852,12 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= 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.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= -golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -851,8 +868,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.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-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -899,8 +916,8 @@ 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.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= 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= @@ -920,8 +937,8 @@ 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.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= 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-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -955,10 +972,10 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 h1:0+ozOGcrp+Y8Aq8TLNN2Aliibms5LEzsq99ZZmAGYm0= -google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094/go.mod h1:fJ/e3If/Q67Mj99hin0hMhiNyCRmt6BQ2aWIJshUSJw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1:gap6+3Gk41EItBuyi4XX/bp4oqJ3UwuIMl25yGinuAA= +google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -966,8 +983,8 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= +google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= 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= @@ -979,8 +996,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= 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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= +google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -989,6 +1006,8 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= 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.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1006,14 +1025,14 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= 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= -modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY= -modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw= +modernc.org/libc v1.22.4 h1:wymSbZb0AlrjdAVX3cjreCHTPCpPARbQXNz6BHPzdwQ= +modernc.org/libc v1.22.4/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.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU= -modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI= +modernc.org/sqlite v1.21.2 h1:ixuUG0QS413Vfzyx6FWx6PYTmHaOegTY+hjzhn7L+a0= +modernc.org/sqlite v1.21.2/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q= nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/googlefilter/googlefilter.go b/googlefilter/googlefilter.go index a2546c59..759632b4 100644 --- a/googlefilter/googlefilter.go +++ b/googlefilter/googlefilter.go @@ -8,13 +8,10 @@ import ( "net/http" "regexp" - "github.com/getlantern/golog" "github.com/getlantern/proxy/v3/filters" ) var ( - log = golog.LoggerFor("googlefilter") - // DefaultSearchRegex is the default regex for google search domains. DefaultSearchRegex = `^(www.)?google\..+` diff --git a/http-proxy/main.go b/http-proxy/main.go index 36c7d771..e92aebe2 100644 --- a/http-proxy/main.go +++ b/http-proxy/main.go @@ -28,6 +28,7 @@ import ( proxy "github.com/getlantern/http-proxy-lantern/v2" "github.com/getlantern/http-proxy-lantern/v2/blacklist" "github.com/getlantern/http-proxy-lantern/v2/googlefilter" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/http-proxy-lantern/v2/obfs4listener" lanternredis "github.com/getlantern/http-proxy-lantern/v2/redis" "github.com/getlantern/http-proxy-lantern/v2/shadowsocks" @@ -37,7 +38,7 @@ import ( ) var ( - log = golog.LoggerFor("lantern-proxy") + log = logger.InitLogger("lantern-proxy") revision = "unknown" // overridden by Makefile build_type = "unknown" // overriden by Makefile diff --git a/http_proxy.go b/http_proxy.go index c8c44d96..4319aa70 100644 --- a/http_proxy.go +++ b/http_proxy.go @@ -24,7 +24,6 @@ import ( "github.com/getlantern/enhttp" "github.com/getlantern/errors" "github.com/getlantern/geo" - "github.com/getlantern/golog" "github.com/getlantern/gonat" "github.com/getlantern/kcpwrapper" @@ -60,6 +59,7 @@ import ( "github.com/getlantern/http-proxy-lantern/v2/httpsupgrade" "github.com/getlantern/http-proxy-lantern/v2/instrument" "github.com/getlantern/http-proxy-lantern/v2/lampshade" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/http-proxy-lantern/v2/mimic" "github.com/getlantern/http-proxy-lantern/v2/obfs4listener" "github.com/getlantern/http-proxy-lantern/v2/ping" @@ -82,11 +82,14 @@ const ( ) var ( - log = golog.LoggerFor("lantern-proxy") - + log = logger.InitLogger("lantern-proxy") proxyNameRegex = regexp.MustCompile(`(fp-([a-z0-9]+-)?([a-z0-9]+)-[0-9]{8}-[0-9]+)(-.+)?`) ) +func init() { + cmux.SetLogger(logger.InitLogger("cmux")) +} + // Proxy is an HTTP proxy. type Proxy struct { TestingLocal bool @@ -207,6 +210,7 @@ type listenerBuilderFN func(addr string) (net.Listener, error) // ListenAndServe listens, serves and blocks. func (p *Proxy) ListenAndServe(ctx context.Context) error { + log.Debug("Testing log") if p.CountryLookup == nil { log.Debugf("Maxmind not configured, will not report country data with telemetry") p.CountryLookup = geo.NoLookup{} @@ -269,6 +273,7 @@ func (p *Proxy) ListenAndServe(ctx context.Context) error { p.instrument.Connection(ctx, clientIP) }, }) + stopProxiedBytes := p.configureTeleportProxiedBytes() defer stopProxiedBytes() @@ -1044,7 +1049,7 @@ func (p *Proxy) listenWATER(addr string) (net.Listener, error) { switch p.WaterMismatchProtocol { case "PROTOCOL_UNSPECIFIED": listener, err := waterListener.NewWATERListener(ctx, waterListener.ListenerParams{ - Logger: golog.LoggerFor("water"), + Logger: logger.InitLogger("water"), Transport: p.WaterTransport, Address: addr, WASM: wasm, diff --git a/httpsupgrade/httpsupgrade.go b/httpsupgrade/httpsupgrade.go index 62b6b234..c9797bb0 100644 --- a/httpsupgrade/httpsupgrade.go +++ b/httpsupgrade/httpsupgrade.go @@ -24,6 +24,8 @@ import ( "github.com/getlantern/http-proxy-lantern/v2/common" "github.com/getlantern/http-proxy-lantern/v2/domains" "github.com/getlantern/proxy/v3/filters" + + "github.com/getlantern/http-proxy-lantern/v2/logger" ) type httpsUpgrade struct { @@ -40,7 +42,8 @@ func NewHTTPSUpgrade(configServerAuthToken string) filters.Filter { IdleConnTimeout: 4 * time.Minute, }, }, - log: golog.LoggerFor("httpsUpgrade"), + log: logger.InitLogger("httpsUpgrade"), + configServerAuthToken: configServerAuthToken, } } diff --git a/listeners/common.go b/listeners/common.go index f715c6c4..f30ee24f 100644 --- a/listeners/common.go +++ b/listeners/common.go @@ -1,7 +1,7 @@ package listeners import ( - "github.com/getlantern/golog" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) -var log = golog.LoggerFor("listeners") +var log = logger.InitLogger("listeners") diff --git a/logger/logger.go b/logger/logger.go new file mode 100644 index 00000000..5a533118 --- /dev/null +++ b/logger/logger.go @@ -0,0 +1,218 @@ +package logger + +import ( + "context" + "errors" + "fmt" + "io" + "log" + "path" + "runtime" + "time" + + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/sdk/resource" + "gopkg.in/ini.v1" + + "github.com/getlantern/golog" + otlpLog "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp" + otelLog "go.opentelemetry.io/otel/log" + otelLogSdk "go.opentelemetry.io/otel/sdk/log" + semconv "go.opentelemetry.io/otel/semconv/v1.4.0" +) + +const ( + otelEndpoint = "172.16.0.88:4318" + otelServiceName = "http-proxy-lantern" +) + +// wraps both an otel logger and std logger +type ProxyLogger struct { + stdLogger golog.Logger + otelLogger otelLog.Logger +} + +type Opts struct { + ProviderMachine string `ini:"provider"` + TrackName string `ini:"track"` + RouteName string `ini:"proxyname"` +} + +func (o Opts) attrKV() []attribute.KeyValue { + return []attribute.KeyValue{ + attribute.String("provider", o.ProviderMachine), + attribute.String("track", o.TrackName), + attribute.String("route", o.RouteName), + } +} + +func (pl *ProxyLogger) SetStdLogger(logger golog.Logger) *ProxyLogger { + nL := &ProxyLogger{ + stdLogger: logger, + } + + otelLogger, _ := BuildOtelLogger(BuildOtelOptsFromINI()) + nL.otelLogger = otelLogger + return nL +} + +func BuildOtelOptsFromINI() Opts { + cfg, err := ini.Load("/home/lantern/config.ini") + if err != nil { + return Opts{} + } + + var opts Opts + err = cfg.MapTo(&opts) + if err != nil { + return Opts{} + } + + return opts +} + +func BuildOtelLogger(opts Opts) (otelLog.Logger, error) { + expLog, err := otlpLog.New(context.Background(), + otlpLog.WithEndpoint(otelEndpoint), + otlpLog.WithInsecure(), // the endpoint is on the lo interface, so this "might" be safe + ) + if err != nil { + return nil, err + } + + resourceAttributes := []attribute.KeyValue{semconv.ServiceNameKey.String(otelServiceName)} + resourceAttributes = append(resourceAttributes, opts.attrKV()...) + + r := resource.NewWithAttributes(semconv.SchemaURL, resourceAttributes...) + provider := otelLogSdk.NewLoggerProvider( + otelLogSdk.WithProcessor(otelLogSdk.NewBatchProcessor(expLog)), + otelLogSdk.WithResource(r), + ) + + return provider.Logger(otelServiceName), nil +} + +func InitLogger(stdLoggerPrefix string) *ProxyLogger { + goLog := golog.LoggerFor(stdLoggerPrefix) + p := &ProxyLogger{ + stdLogger: goLog, + } + + oLogger, err := BuildOtelLogger(BuildOtelOptsFromINI()) + if err != nil { + return p + } + + p.otelLogger = oLogger + return p +} + +func (pl *ProxyLogger) writeLog(severity otelLog.Severity, message any) { + if pl.otelLogger == nil { + return + } + var record otelLog.Record + record.SetTimestamp(time.Now()) + record.SetBody(otelLog.StringValue(fmt.Sprintf("%v", message))) + record.SetSeverity(severity) + record.SetSeverityText(severity.String()) + + if pc, file, line, ok := runtime.Caller(2); ok { + fn := "" + if function := runtime.FuncForPC(pc); function != nil { + fn = function.Name() + } + record.AddAttributes(otelLog.String("file", path.Base(file)), otelLog.Int64("line", int64(line)), otelLog.String("function", fn)) + } + + pl.otelLogger.Emit(context.Background(), record) +} + +func (pl *ProxyLogger) Debug(message any) { + if pl.stdLogger != nil { + pl.stdLogger.Debug(message) + } + pl.writeLog(otelLog.SeverityDebug, message) +} + +func (pl *ProxyLogger) Debugf(format string, args ...any) { + if pl.stdLogger != nil { + pl.stdLogger.Debugf(format, args...) + } + pl.writeLog(otelLog.SeverityDebug, fmt.Sprintf(format, args...)) +} + +func (pl *ProxyLogger) Fatal(message any) { + if pl.stdLogger != nil { + pl.stdLogger.Fatal(message) + } + pl.writeLog(otelLog.SeverityFatal, message) +} + +func (pl *ProxyLogger) Fatalf(format string, args ...any) { + if pl.stdLogger != nil { + pl.stdLogger.Fatalf(format, args...) + } + pl.writeLog(otelLog.SeverityFatal, fmt.Sprintf(format, args...)) +} + +func (pl *ProxyLogger) Trace(message any) { + if pl.stdLogger != nil { + pl.stdLogger.Trace(message) + } + + pl.writeLog(otelLog.SeverityTrace, message) +} + +func (pl *ProxyLogger) Tracef(format string, args ...any) { + if pl.stdLogger != nil { + pl.stdLogger.Tracef(format, args...) + } + pl.writeLog(otelLog.SeverityTrace, fmt.Sprintf(format, args...)) +} + +func (pl *ProxyLogger) Error(message any) error { + var err error + var msg string + + switch v := message.(type) { + case error: + msg = v.Error() + err = v + case fmt.Stringer: + msg = v.String() + err = errors.New(msg) + case string: + msg = v + err = errors.New(v) + default: + msg = "unknown error" + err = errors.New(msg) + } + + if pl.stdLogger != nil { + pl.stdLogger.Error(msg) + } + + pl.writeLog(otelLog.SeverityError, msg) + return err +} + +func (pl *ProxyLogger) Errorf(format string, args ...any) error { + var e error + if pl.stdLogger != nil { + e = pl.stdLogger.Errorf(format, args...) + } + + err := fmt.Errorf(format, args...) + msg := err.Error() + + pl.writeLog(otelLog.SeverityError, msg) + return e +} + +func (pl *ProxyLogger) TraceOut() io.Writer { return pl.stdLogger.TraceOut() } +func (pl *ProxyLogger) IsTraceEnabled() bool { return pl.stdLogger.IsTraceEnabled() } +func (pl *ProxyLogger) AsDebugLogger() *log.Logger { return pl.stdLogger.AsDebugLogger() } +func (pl *ProxyLogger) AsStdLogger() *log.Logger { return pl.stdLogger.AsStdLogger() } +func (pl *ProxyLogger) AsErrorLogger() *log.Logger { return pl.stdLogger.AsStdLogger() } diff --git a/mimic/apache.go b/mimic/apache.go index fd0a25ef..258bf444 100644 --- a/mimic/apache.go +++ b/mimic/apache.go @@ -15,11 +15,11 @@ import ( "text/template" "time" - "github.com/getlantern/golog" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( - log = golog.LoggerFor("apache") + log = logger.InitLogger("apache") ) type apacheMimic struct { diff --git a/obfs4listener/obfs4listener.go b/obfs4listener/obfs4listener.go index d6245fa1..9825e52a 100644 --- a/obfs4listener/obfs4listener.go +++ b/obfs4listener/obfs4listener.go @@ -8,10 +8,10 @@ import ( "sync/atomic" "time" - "github.com/getlantern/golog" "github.com/getlantern/withtimeout" pt "git.torproject.org/pluggable-transports/goptlib.git" + "github.com/getlantern/http-proxy-lantern/v2/logger" "gitlab.com/yawning/obfs4.git/transports/base" "gitlab.com/yawning/obfs4.git/transports/obfs4" ) @@ -23,7 +23,7 @@ const ( ) var ( - log = golog.LoggerFor("obfs4listener") + log = logger.InitLogger("obfs4listener") ) func Wrap(wrapped net.Listener, stateDir string, handshakeConcurrency int, maxPendingHandshakesPerClient int, handshakeTimeout time.Duration) (net.Listener, error) { diff --git a/otel/otel.go b/otel/otel.go index 93524259..0d0a7688 100644 --- a/otel/otel.go +++ b/otel/otel.go @@ -4,6 +4,7 @@ import ( "context" "time" + "github.com/getlantern/http-proxy-lantern/v2/logger" sdkotel "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp" @@ -14,8 +15,6 @@ import ( "go.opentelemetry.io/otel/sdk/resource" sdktrace "go.opentelemetry.io/otel/sdk/trace" semconv "go.opentelemetry.io/otel/semconv/v1.7.0" - - "github.com/getlantern/golog" ) const ( @@ -24,7 +23,7 @@ const ( ) var ( - log = golog.LoggerFor("otel") + log = logger.InitLogger("otel") ) type Opts struct { diff --git a/ping/ping.go b/ping/ping.go index 8fed348a..ff79392e 100644 --- a/ping/ping.go +++ b/ping/ping.go @@ -12,14 +12,14 @@ import ( "time" "github.com/getlantern/enhttp" - "github.com/getlantern/golog" "github.com/getlantern/proxy/v3/filters" "github.com/getlantern/http-proxy-lantern/v2/common" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( - log = golog.LoggerFor("http-proxy-lantern.ping") + log = logger.InitLogger("http-proxy-lantern.ping") letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") diff --git a/proxyfilters/filters.go b/proxyfilters/filters.go index 1321293a..1c6ddb6a 100644 --- a/proxyfilters/filters.go +++ b/proxyfilters/filters.go @@ -4,11 +4,11 @@ import ( "net/http" "github.com/getlantern/errors" - "github.com/getlantern/golog" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/proxy/v3/filters" ) -var log = golog.LoggerFor("http-proxy.filters") +var log = logger.InitLogger("http-proxy.filters") func fail(cs *filters.ConnectionState, req *http.Request, statusCode int, description string, params ...interface{}) (*http.Response, *filters.ConnectionState, error) { log.Errorf("Filter fail: "+description, params...) diff --git a/redis/measured_reporter.go b/redis/measured_reporter.go index 5c3d96bf..b60029e0 100644 --- a/redis/measured_reporter.go +++ b/redis/measured_reporter.go @@ -11,9 +11,9 @@ import ( "github.com/go-redis/redis/v8" "github.com/getlantern/geo" - "github.com/getlantern/golog" "github.com/getlantern/http-proxy-lantern/v2/common" "github.com/getlantern/http-proxy-lantern/v2/listeners" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/http-proxy-lantern/v2/throttle" "github.com/getlantern/http-proxy-lantern/v2/usage" "github.com/getlantern/measured" @@ -42,7 +42,7 @@ const ( ) var ( - log = golog.LoggerFor("redis") + log = logger.InitLogger("redis") ) type statsAndContext struct { diff --git a/server/server.go b/server/server.go index 82a1695f..08b58f5c 100644 --- a/server/server.go +++ b/server/server.go @@ -11,18 +11,18 @@ import ( "time" "github.com/getlantern/errors" - "github.com/getlantern/golog" "github.com/getlantern/ops" "github.com/getlantern/proxy/v3" "github.com/getlantern/proxy/v3/filters" "github.com/getlantern/tlsdefaults" "github.com/getlantern/http-proxy-lantern/v2/listeners" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( testingLocal = false - log = golog.LoggerFor("server") + log = logger.InitLogger("server") ) // A ListenerGenerator generates a new listener from an existing one. diff --git a/shadowsocks/local.go b/shadowsocks/local.go index 7ae35117..cc1d04f8 100644 --- a/shadowsocks/local.go +++ b/shadowsocks/local.go @@ -6,12 +6,13 @@ import ( "net" "time" - "github.com/getlantern/golog" "github.com/getlantern/netx" "github.com/Jigsaw-Code/outline-sdk/transport" onet "github.com/Jigsaw-Code/outline-ss-server/net" "github.com/Jigsaw-Code/outline-ss-server/service" + + "github.com/getlantern/http-proxy-lantern/v2/logger" ) // shadowsocks/local.go houses adapters for use with Lantern. This mostly is in @@ -19,7 +20,7 @@ import ( // have shadowsocks behave like other transports we use in Lantern. var ( - log = golog.LoggerFor("shadowsocks") + log = logger.InitLogger("shadowsocks") ErrListenerClosed = errors.New("listener closed") ) diff --git a/stackdrivererror/stackdrivererror.go b/stackdrivererror/stackdrivererror.go index 6556968b..35aed6fb 100644 --- a/stackdrivererror/stackdrivererror.go +++ b/stackdrivererror/stackdrivererror.go @@ -10,6 +10,7 @@ import ( "github.com/getlantern/golog" "cloud.google.com/go/errorreporting" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) // Reporter is a thin wrapper of Google errorreporting client @@ -40,7 +41,7 @@ func (r *Reporter) Report(severity golog.Severity, err error, stack []byte) { // Enable enables golog to report errors to stackdriver and returns the reporter. func Enable(ctx context.Context, projectID, stackdriverCreds string, samplePercentage float64, proxyName, externalIP, proxyProtocol string, track string) *Reporter { - log := golog.LoggerFor("proxy-stackdriver") + log := logger.InitLogger("proxy-stackdriver") log.Debugf("Enabling stackdriver error reporting for project %v", projectID) serviceVersion := track diff --git a/throttle/throttle.go b/throttle/throttle.go index 6624cb7c..2b560a8c 100644 --- a/throttle/throttle.go +++ b/throttle/throttle.go @@ -4,10 +4,9 @@ // are the 2-digit lowercase ISO-3166 country code plus a pipe-delimited // threshold and rate, for example: // -// _throttle:mobile -// "__" "524288000|10240" -// "cn" "104857600|10240" -// +// _throttle:mobile +// "__" "524288000|10240" +// "cn" "104857600|10240" package throttle import ( @@ -21,7 +20,7 @@ import ( "github.com/spaolacci/murmur3" "github.com/getlantern/errors" - "github.com/getlantern/golog" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) const ( @@ -29,7 +28,7 @@ const ( ) var ( - log = golog.LoggerFor("flashlight.throttle") + log = logger.InitLogger("flashlight.throttle") ) type CapInterval string diff --git a/tlslistener/clienthelloconn.go b/tlslistener/clienthelloconn.go index a367628e..26e2f51d 100644 --- a/tlslistener/clienthelloconn.go +++ b/tlslistener/clienthelloconn.go @@ -17,6 +17,7 @@ import ( "github.com/getlantern/netx" "github.com/getlantern/http-proxy-lantern/v2/instrument" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( @@ -141,7 +142,7 @@ func newClientHelloRecordingConn(rawConn net.Conn, cfg *tls.Config, utlsCfg *utl rrc := &clientHelloRecordingConn{ Conn: rawConn, dataRead: buf, - log: golog.LoggerFor("clienthello-conn"), + log: logger.InitLogger("clienthello-conn"), cfg: cfgClone, ticketKeys: ticketKeys, activeReader: io.TeeReader(rawConn, buf), diff --git a/tlslistener/tlslistener.go b/tlslistener/tlslistener.go index 9bd8d91d..c7936240 100644 --- a/tlslistener/tlslistener.go +++ b/tlslistener/tlslistener.go @@ -14,10 +14,11 @@ import ( utls "github.com/refraction-networking/utls" "github.com/getlantern/http-proxy-lantern/v2/instrument" + "github.com/getlantern/http-proxy-lantern/v2/logger" ) var ( - log = golog.LoggerFor("tlslistener") + log = logger.InitLogger("tlslistener") ) // Wrap wraps the specified listener in our default TLS listener. diff --git a/tlsmasq/tlsmasq.go b/tlsmasq/tlsmasq.go index 3d84f7e9..fac43bdb 100644 --- a/tlsmasq/tlsmasq.go +++ b/tlsmasq/tlsmasq.go @@ -9,13 +9,14 @@ import ( "net" "sync" - "github.com/getlantern/golog" "github.com/getlantern/tlsmasq" "github.com/getlantern/tlsmasq/ptlshs" "github.com/getlantern/tlsutil" + + "github.com/getlantern/http-proxy-lantern/v2/logger" ) -var log = golog.LoggerFor("tlsmasq-listener") +var log = logger.InitLogger("tlsmasq-listener") func Wrap(ll net.Listener, certFile string, keyFile string, originAddr string, secret string, tlsMinVersion uint16, tlsCipherSuites []uint16, onNonFatalErrors func(error)) (net.Listener, error) { diff --git a/tokenfilter/tokenfilter.go b/tokenfilter/tokenfilter.go index 7911cf4e..f6a2a4fb 100644 --- a/tokenfilter/tokenfilter.go +++ b/tokenfilter/tokenfilter.go @@ -5,15 +5,15 @@ import ( "net/http/httputil" "strings" - "github.com/getlantern/golog" "github.com/getlantern/proxy/v3/filters" "github.com/getlantern/http-proxy-lantern/v2/common" "github.com/getlantern/http-proxy-lantern/v2/instrument" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/http-proxy-lantern/v2/mimic" ) -var log = golog.LoggerFor("tokenfilter") +var log = logger.InitLogger("tokenfilter") type tokenFilter struct { token string diff --git a/wss/headers.go b/wss/headers.go index d078579f..b6bf437f 100644 --- a/wss/headers.go +++ b/wss/headers.go @@ -4,15 +4,15 @@ import ( "net" "net/http" - "github.com/getlantern/golog" "github.com/getlantern/http-proxy-lantern/v2/domains" + "github.com/getlantern/http-proxy-lantern/v2/logger" "github.com/getlantern/netx" "github.com/getlantern/proxy/v3/filters" "github.com/getlantern/tinywss" ) var ( - log = golog.LoggerFor("wss") + log = logger.InitLogger("wss") // these headers are replicated from the inital http upgrade request // to certain subrequests on a wss connection. headerWhitelist = []string{