mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-11 03:09:41 +08:00
Some checks failed
Spell Check / spellcheck (push) Has been cancelled
Currently, IP Shipyard, with the help of Probelab, monitor and extract Amino/IPFS public network metrics with the use of DHT crawlers and bootstrappers (via peerlog plugin). For example, we log all peer IDs seen and their AgentVersion/Addresses obtained from the `identify` protocol, which provides insights into protocol usage, total number of peers etc. We would like to increase the ability to obtain more insights from the network by collecting some more information in the future, but also to give users more control over this collection (i.e. opt-out). The information collected will not allow unique identification of anyone and is only used for aggregation. Now, this PR explores a way of moving in this direction: * A new "telemetry" fx plugin is in charge of dealing with telemetry * The FX plugin allows to plug and make decisions / take actions during the setup phase: * We can inspect whether we are using Private Networks before the libp2p.Host has been initialized. * We can send telemetry after the libp2p Host is initialized. * Everything is self-contained. Custom builds can remove the plugin altogether without needing to surgically edit the code. As for behaviour: * The user can opt-in/out via EnvVar, file in the repo path or plugin configuration. * Users on private networks or with custom bootstrappers are detected, offered a wall of text explaining why we need telemetry and invited to opt-in. Opt-out happens otherwise on a timeout (with no input). Their preferences are stored. * Users on standard settings are opted-in by default. This is the status quo in Kubo already, except they don't get a chance to opt out. The telemetry libp2p protocol is yet to be defined, but expect something similar to identify, with a protobuf being pushed to bootstrappers or to a specific telemetry node that we define. In the case of pnets, this will be done with a temporary peer.
279 lines
13 KiB
Modula-2
279 lines
13 KiB
Modula-2
module github.com/ipfs/kubo
|
|
|
|
go 1.24
|
|
|
|
require (
|
|
bazil.org/fuse v0.0.0-20200117225306-7b5117fecadc
|
|
contrib.go.opencensus.io/exporter/prometheus v0.4.2
|
|
github.com/blang/semver/v4 v4.0.0
|
|
github.com/caddyserver/certmagic v0.21.6
|
|
github.com/cenkalti/backoff/v4 v4.3.0
|
|
github.com/ceramicnetwork/go-dag-jose v0.1.1
|
|
github.com/cheggaaa/pb v1.0.29
|
|
github.com/cockroachdb/pebble/v2 v2.0.3
|
|
github.com/coreos/go-systemd/v22 v22.5.0
|
|
github.com/dustin/go-humanize v1.0.1
|
|
github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302
|
|
github.com/facebookgo/atomicfile v0.0.0-20151019160806-2de1f203e7d5
|
|
github.com/filecoin-project/go-clock v0.1.0
|
|
github.com/fsnotify/fsnotify v1.7.0
|
|
github.com/google/uuid v1.6.0
|
|
github.com/hashicorp/go-version v1.7.0
|
|
github.com/ipfs-shipyard/nopfs v0.0.14
|
|
github.com/ipfs-shipyard/nopfs/ipfs v0.25.0
|
|
github.com/ipfs/boxo v0.32.0
|
|
github.com/ipfs/go-block-format v0.2.1
|
|
github.com/ipfs/go-cid v0.5.0
|
|
github.com/ipfs/go-cidutil v0.1.0
|
|
github.com/ipfs/go-datastore v0.8.2
|
|
github.com/ipfs/go-detect-race v0.0.1
|
|
github.com/ipfs/go-ds-badger v0.3.4
|
|
github.com/ipfs/go-ds-flatfs v0.5.5
|
|
github.com/ipfs/go-ds-leveldb v0.5.2
|
|
github.com/ipfs/go-ds-measure v0.2.2
|
|
github.com/ipfs/go-ds-pebble v0.5.0
|
|
github.com/ipfs/go-fs-lock v0.1.1
|
|
github.com/ipfs/go-ipfs-cmds v0.15.0
|
|
github.com/ipfs/go-ipld-cbor v0.2.0
|
|
github.com/ipfs/go-ipld-format v0.6.1
|
|
github.com/ipfs/go-ipld-git v0.1.1
|
|
github.com/ipfs/go-ipld-legacy v0.2.1
|
|
github.com/ipfs/go-log/v2 v2.6.0
|
|
github.com/ipfs/go-metrics-interface v0.3.0
|
|
github.com/ipfs/go-metrics-prometheus v0.1.0
|
|
github.com/ipfs/go-test v0.2.2
|
|
github.com/ipfs/go-unixfsnode v1.10.1
|
|
github.com/ipld/go-car v0.6.2
|
|
github.com/ipld/go-car/v2 v2.14.3
|
|
github.com/ipld/go-codec-dagpb v1.7.0
|
|
github.com/ipld/go-ipld-prime v0.21.0
|
|
github.com/ipshipyard/p2p-forge v0.5.2-0.20250616211529-2c25ee655b22
|
|
github.com/jbenet/go-temp-err-catcher v0.1.0
|
|
github.com/jbenet/goprocess v0.1.4
|
|
github.com/julienschmidt/httprouter v1.3.0
|
|
github.com/libp2p/go-doh-resolver v0.5.0
|
|
github.com/libp2p/go-libp2p v0.42.0-alpha-2
|
|
github.com/libp2p/go-libp2p-http v0.5.0
|
|
github.com/libp2p/go-libp2p-kad-dht v0.33.1
|
|
github.com/libp2p/go-libp2p-kbucket v0.7.0
|
|
github.com/libp2p/go-libp2p-pubsub v0.13.1
|
|
github.com/libp2p/go-libp2p-pubsub-router v0.6.0
|
|
github.com/libp2p/go-libp2p-record v0.3.1
|
|
github.com/libp2p/go-libp2p-routing-helpers v0.7.5
|
|
github.com/libp2p/go-libp2p-testing v0.12.0
|
|
github.com/libp2p/go-socket-activation v0.1.1
|
|
github.com/multiformats/go-multiaddr v0.16.0
|
|
github.com/multiformats/go-multiaddr-dns v0.4.1
|
|
github.com/multiformats/go-multibase v0.2.0
|
|
github.com/multiformats/go-multicodec v0.9.1
|
|
github.com/multiformats/go-multihash v0.2.3
|
|
github.com/opentracing/opentracing-go v1.2.0
|
|
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
|
|
github.com/prometheus/client_golang v1.22.0
|
|
github.com/stretchr/testify v1.10.0
|
|
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d
|
|
github.com/tidwall/gjson v1.16.0
|
|
github.com/tidwall/sjson v1.2.5
|
|
github.com/whyrusleeping/go-sysinfo v0.0.0-20190219211824-4a357d4b90b1
|
|
github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7
|
|
go.opencensus.io v0.24.0
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0
|
|
go.opentelemetry.io/contrib/propagators/autoprop v0.46.1
|
|
go.opentelemetry.io/otel v1.35.0
|
|
go.opentelemetry.io/otel/sdk v1.31.0
|
|
go.opentelemetry.io/otel/trace v1.35.0
|
|
go.uber.org/dig v1.18.0
|
|
go.uber.org/fx v1.23.0
|
|
go.uber.org/multierr v1.11.0
|
|
go.uber.org/zap v1.27.0
|
|
golang.org/x/crypto v0.39.0
|
|
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476
|
|
golang.org/x/mod v0.25.0
|
|
golang.org/x/sync v0.15.0
|
|
golang.org/x/sys v0.33.0
|
|
golang.org/x/term v0.32.0
|
|
google.golang.org/protobuf v1.36.6
|
|
)
|
|
|
|
require (
|
|
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
|
|
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e // indirect
|
|
github.com/Jorropo/jsync v1.0.1 // indirect
|
|
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
|
|
github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect
|
|
github.com/benbjohnson/clock v1.3.5 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/caddyserver/zerossl v0.1.3 // indirect
|
|
github.com/cespare/xxhash v1.1.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/cockroachdb/crlib v0.0.0-20241015224233-894974b3ad94 // indirect
|
|
github.com/cockroachdb/errors v1.11.3 // indirect
|
|
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
|
|
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
|
|
github.com/cockroachdb/redact v1.1.5 // indirect
|
|
github.com/cockroachdb/swiss v0.0.0-20250327203710-2932b022f6df // indirect
|
|
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
|
|
github.com/crackcomm/go-gitignore v0.0.0-20241020182519-7843d2ba8fdf // indirect
|
|
github.com/cskr/pubsub v1.0.2 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
|
|
github.com/dgraph-io/badger v1.6.2 // indirect
|
|
github.com/dgraph-io/ristretto v0.0.2 // indirect
|
|
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
|
|
github.com/fatih/color v1.15.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/flynn/noise v1.1.0 // indirect
|
|
github.com/francoispqt/gojay v1.2.13 // indirect
|
|
github.com/gabriel-vasile/mimetype v1.4.6 // indirect
|
|
github.com/gammazero/chanqueue v1.1.0 // indirect
|
|
github.com/gammazero/deque v1.0.0 // indirect
|
|
github.com/getsentry/sentry-go v0.27.0 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
|
|
github.com/go-kit/log v0.2.1 // indirect
|
|
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
|
github.com/go-logr/logr v1.4.2 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect
|
|
github.com/google/gopacket v1.1.19 // indirect
|
|
github.com/google/pprof v0.0.0-20250501235452-c0086092b71a // indirect
|
|
github.com/gorilla/mux v1.8.1 // indirect
|
|
github.com/gorilla/websocket v1.5.3 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
|
|
github.com/hashicorp/golang-lru v1.0.2 // indirect
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
|
github.com/huin/goupnp v1.3.0 // indirect
|
|
github.com/ipfs/bbloom v0.0.4 // indirect
|
|
github.com/ipfs/go-bitfield v1.1.0 // indirect
|
|
github.com/ipfs/go-blockservice v0.5.2 // indirect
|
|
github.com/ipfs/go-ipfs-blockstore v1.3.1 // indirect
|
|
github.com/ipfs/go-ipfs-delay v0.0.1 // indirect
|
|
github.com/ipfs/go-ipfs-ds-help v1.1.1 // indirect
|
|
github.com/ipfs/go-ipfs-exchange-interface v0.2.1 // indirect
|
|
github.com/ipfs/go-ipfs-pq v0.0.3 // indirect
|
|
github.com/ipfs/go-ipfs-redirects-file v0.1.2 // indirect
|
|
github.com/ipfs/go-ipfs-util v0.0.3 // indirect
|
|
github.com/ipfs/go-log v1.0.5 // indirect
|
|
github.com/ipfs/go-merkledag v0.11.0 // indirect
|
|
github.com/ipfs/go-peertaskqueue v0.8.2 // indirect
|
|
github.com/ipfs/go-verifcid v0.0.3 // indirect
|
|
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
|
github.com/klauspost/compress v1.18.0 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
|
|
github.com/koron/go-ssdp v0.0.5 // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/kr/text v0.2.0 // indirect
|
|
github.com/libdns/libdns v0.2.2 // indirect
|
|
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
|
|
github.com/libp2p/go-cidranger v1.1.0 // indirect
|
|
github.com/libp2p/go-flow-metrics v0.2.0 // indirect
|
|
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
|
|
github.com/libp2p/go-libp2p-gostream v0.6.0 // indirect
|
|
github.com/libp2p/go-libp2p-xor v0.1.0 // indirect
|
|
github.com/libp2p/go-msgio v0.3.0 // indirect
|
|
github.com/libp2p/go-netroute v0.2.2 // indirect
|
|
github.com/libp2p/go-reuseport v0.4.0 // indirect
|
|
github.com/libp2p/go-yamux/v5 v5.0.0 // indirect
|
|
github.com/libp2p/zeroconf/v2 v2.2.0 // indirect
|
|
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mattn/go-runewidth v0.0.15 // indirect
|
|
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect
|
|
github.com/mholt/acmez/v3 v3.0.0 // indirect
|
|
github.com/miekg/dns v1.1.66 // indirect
|
|
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
|
|
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
|
|
github.com/minio/sha256-simd v1.0.1 // indirect
|
|
github.com/mr-tron/base58 v1.2.0 // indirect
|
|
github.com/multiformats/go-base32 v0.1.0 // indirect
|
|
github.com/multiformats/go-base36 v0.2.0 // indirect
|
|
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
|
|
github.com/multiformats/go-multistream v0.6.1 // indirect
|
|
github.com/multiformats/go-varint v0.0.7 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/onsi/ginkgo/v2 v2.23.4 // indirect
|
|
github.com/openzipkin/zipkin-go v0.4.3 // indirect
|
|
github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 // indirect
|
|
github.com/pion/datachannel v1.5.10 // indirect
|
|
github.com/pion/dtls/v2 v2.2.12 // indirect
|
|
github.com/pion/dtls/v3 v3.0.4 // indirect
|
|
github.com/pion/ice/v4 v4.0.8 // indirect
|
|
github.com/pion/interceptor v0.1.37 // indirect
|
|
github.com/pion/logging v0.2.3 // indirect
|
|
github.com/pion/mdns/v2 v2.0.7 // indirect
|
|
github.com/pion/randutil v0.1.0 // indirect
|
|
github.com/pion/rtcp v1.2.15 // indirect
|
|
github.com/pion/rtp v1.8.13 // indirect
|
|
github.com/pion/sctp v1.8.37 // indirect
|
|
github.com/pion/sdp/v3 v3.0.11 // indirect
|
|
github.com/pion/srtp/v3 v3.0.4 // indirect
|
|
github.com/pion/stun v0.6.1 // indirect
|
|
github.com/pion/stun/v3 v3.0.0 // indirect
|
|
github.com/pion/transport/v2 v2.2.10 // indirect
|
|
github.com/pion/transport/v3 v3.0.7 // indirect
|
|
github.com/pion/turn/v4 v4.0.0 // indirect
|
|
github.com/pion/webrtc/v4 v4.0.14 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/polydawn/refmt v0.89.0 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.63.0 // indirect
|
|
github.com/prometheus/procfs v0.16.1 // indirect
|
|
github.com/prometheus/statsd_exporter v0.27.1 // indirect
|
|
github.com/quic-go/qpack v0.5.1 // indirect
|
|
github.com/quic-go/quic-go v0.52.0 // indirect
|
|
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect
|
|
github.com/rivo/uniseg v0.4.4 // indirect
|
|
github.com/rogpeppe/go-internal v1.13.1 // indirect
|
|
github.com/rs/cors v1.11.1 // indirect
|
|
github.com/samber/lo v1.47.0 // indirect
|
|
github.com/slok/go-http-metrics v0.13.0 // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
|
|
github.com/tidwall/match v1.1.1 // indirect
|
|
github.com/tidwall/pretty v1.2.1 // indirect
|
|
github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb // indirect
|
|
github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc // indirect
|
|
github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 // indirect
|
|
github.com/whyrusleeping/cbor-gen v0.1.2 // indirect
|
|
github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f // indirect
|
|
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
|
|
github.com/wlynxg/anet v0.0.5 // indirect
|
|
github.com/zeebo/blake3 v0.2.4 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
|
|
go.opentelemetry.io/contrib/propagators/aws v1.21.1 // indirect
|
|
go.opentelemetry.io/contrib/propagators/b3 v1.21.1 // indirect
|
|
go.opentelemetry.io/contrib/propagators/jaeger v1.21.1 // indirect
|
|
go.opentelemetry.io/contrib/propagators/ot v1.21.1 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/zipkin v1.31.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.35.0 // indirect
|
|
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
go.uber.org/automaxprocs v1.6.0 // indirect
|
|
go.uber.org/mock v0.5.2 // indirect
|
|
go.uber.org/zap/exp v0.3.0 // indirect
|
|
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
|
|
golang.org/x/net v0.41.0 // indirect
|
|
golang.org/x/oauth2 v0.25.0 // indirect
|
|
golang.org/x/text v0.26.0 // indirect
|
|
golang.org/x/time v0.11.0 // indirect
|
|
golang.org/x/tools v0.34.0 // indirect
|
|
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
|
gonum.org/v1/gonum v0.16.0 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect
|
|
google.golang.org/grpc v1.67.1 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
lukechampine.com/blake3 v1.4.1 // indirect
|
|
)
|