mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
* plumb through go-datastore context changes * update go-libp2p to v0.16.0 * use LIBP2P_TCP_REUSEPORT instead of IPFS_REUSEPORT * use relay config * making deprecation notice match the go-ipfs-config key * docs(config): circuit relay v2 * docs(config): fix links and headers * feat(config): Internal.Libp2pForceReachability This switches to config that supports setting and reading Internal.Libp2pForceReachability OptionalString flag * use configuration option for static relays * chore: go-ipfs-config v0.18.0 https://github.com/ipfs/go-ipfs-config/releases/tag/v0.18.0 * feat: circuit v1 migration prompt when Swarm.EnableRelayHop is set (#8559) * exit when Swarm.EnableRelayHop is set * docs: Experimental.ShardingEnabled migration This ensures existing users of global sharding experiment get notified that the flag no longer works + that autosharding happens automatically. For people who NEED to keep the old behavior (eg. have no time to migrate today) there is a note about restoring it with `UnixFSShardingSizeThreshold`. * chore: add dag-jose code to the cid command output * add support for setting automatic unixfs sharding threshold from the config * test: have tests use low cutoff for sharding to mimic old behavior * test: change error message to match the current error * test: Add automatic sharding/unsharding tests (#8547) * test: refactored naming in the sharding sharness tests to make more sense * ci: set interop test executor to convenience image for Go1.16 + Node * ci: use interop master Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Marten Seemann <martenseemann@gmail.com> Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Gus Eggert <gus@gus.dev> Co-authored-by: Lucas Molas <schomatis@gmail.com>
27 lines
560 B
Go
27 lines
560 B
Go
package libp2p
|
|
|
|
import (
|
|
"time"
|
|
|
|
config "github.com/ipfs/go-ipfs-config"
|
|
"github.com/libp2p/go-libp2p"
|
|
)
|
|
|
|
var NatPortMap = simpleOpt(libp2p.NATPortMap())
|
|
|
|
func AutoNATService(throttle *config.AutoNATThrottleConfig) func() Libp2pOpts {
|
|
return func() (opts Libp2pOpts) {
|
|
opts.Opts = append(opts.Opts, libp2p.EnableNATService())
|
|
if throttle != nil {
|
|
opts.Opts = append(opts.Opts,
|
|
libp2p.AutoNATServiceRateLimit(
|
|
throttle.GlobalLimit,
|
|
throttle.PeerLimit,
|
|
throttle.Interval.WithDefault(time.Minute),
|
|
),
|
|
)
|
|
}
|
|
return opts
|
|
}
|
|
}
|