47 Commits

Author SHA1 Message Date
Marco Munizaga
e8b6685edb fix: swarm: refactor address resolution (#2990)
* Remove unused resolver in basic host

* Refactor Swarm.resolveAddrs

Refactors how DNS Address resolution works.

* lint

* Move MultiaddrDNSResolver interface to core

* Reserve output space for addresses left to resolve

* feat: core/transport: Add SkipResolver interface (#2989)

* Rebase on top of resolveAddrs refactor

* Add comments

* Sanitize address inputs when returning a reservation message (#3006)
2024-10-16 12:20:21 -07:00
sukun
cb81b3e48c webrtc: remove experimental tag, enable by default (#2887) 2024-07-31 16:57:32 +05:30
sukun
87c435512c autonatv2: implement autonatv2 spec (#2469) 2024-06-21 14:55:22 +05:30
Jorropo
e33f4c425f defaults: do TLS by default for encryption (#2650)
* p2p/security: add transport independent benchmarks

* defaults: do TLS by default for encryption

Tls has much better throughput, the handshake benchmark is fairly noisy, there is no significant performance difference, however it does allocate more.

```
goos: linux
goarch: amd64
cpu: AMD Ryzen 5 3600 6-Core Processor
BenchmarkNoise/throughput/32KiB-12 24984	     46605 ns/op	 703.10 MB/s	      37 B/op	       2 allocs/op
BenchmarkNoise/throughput/1MiB-12   1134	   1459483 ns/op	 718.46 MB/s	     663 B/op	      34 allocs/op
BenchmarkNoise/handshakes-12        1302	   1054533 ns/op	   32691 B/op	     348 allocs/op
BenchmarkTls/throughput/32KiB-12   49006	     24309 ns/op	1347.99 MB/s	      50 B/op	       2 allocs/op
BenchmarkTls/throughput/1MiB-12     1747	    778498 ns/op	1346.92 MB/s	    1603 B/op	      64 allocs/op
BenchmarkTls/handshakes-12          1116           1045475 ns/op	  105257 B/op	    1478 allocs/op
```
2024-01-24 19:20:51 +05:30
Marco Munizaga
9edef5a939 quic: drop support for QUIC draft-29 (#2487) 2023-08-15 18:15:02 -07:00
Sukun
a491074d89 metrics: add options to disable metrics and to set Prometheus registerer (#2116)
* provided a WithRegisterer option for metrics

* provide a libp2p.Option to setup metrics
2023-02-20 22:48:17 -08:00
Adin Schmahmann
d5a280e6f6 Expose muxer ids (#2012)
* docs: remove documentation indicating that mplex is enabled by default

* feat: expose yamux ID as a constant

* feat: expose mplex ID as a constant

* reword muxer config documentation

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-01-25 15:53:43 -08:00
Marten Seemann
c67d4b86e4 add WebTransport to the list of default transports (#1915) 2023-01-06 17:22:31 -08:00
Oleg
2cc4de5126 use a different set of default transports when PSK is enabled (#1921)
Signed-off-by: Oleg <97077423+RobotSail@users.noreply.github.com>

Signed-off-by: Oleg <97077423+RobotSail@users.noreply.github.com>
2022-12-02 20:18:26 +13:00
Marten Seemann
6a7141e2ad add QUIC v1 addresses to the default listen addresses (#1914) 2022-11-22 14:53:39 -07:00
Marten Seemann
8df365bf45 add default listen addresses for QUIC (#1615) 2022-08-22 08:06:10 -07:00
Steven Allen
0efe1e5093 feat: inject DNS resolver (#1607) 2022-08-22 04:04:56 -07:00
Marten Seemann
4623690009 switch from github.com/libp2p/go-libp2p-core to core 2022-08-17 17:13:02 +03:00
Marten Seemann
6bd5e04960 switch from github.com/libp2p/go-libp2p-resource-manager to p2p/host/resource-manager 2022-08-15 13:19:13 +03:00
Marten Seemann
ab634d2ba1 switch from github.com/libp2p/go-libp2p-peerstore to p2p/host/peerstore 2022-08-15 12:29:16 +03:00
Marten Seemann
24b27cc71b change the default key type to Ed25519 (#1576) 2022-08-09 08:03:55 -07:00
Marten Seemann
e477efda73 use autoscaling limits (#1637) 2022-07-03 10:04:29 -07:00
Marten Seemann
27cfd3f4ed switch from github.com/libp2p/go-libp2p-tls to p2p/security/tls 2022-04-27 12:00:11 +02:00
Marten Seemann
935905753a switch from github.com/libp2p/go-libp2p-noise to p2p/security/noise 2022-04-26 19:59:10 +02:00
Marten Seemann
43e4e51b74 rename the yamux package (#1452) 2022-04-25 12:03:16 -07:00
Marten Seemann
f3bdb4b53c switch from github.com/libp2p/go-libp2p-yamux to p2p/muxer/yamux 2022-04-22 18:10:16 +01:00
Marten Seemann
4810afb293 switch from github.com/libp2p/go-libp2p-quic-transport to p2p/transport/quic 2022-04-22 16:34:30 +01:00
Marten Seemann
690a16ccbe switch from github.com/libp2p/go-ws-transport to p2p/transport/websocket 2022-04-22 15:49:01 +01:00
Marten Seemann
dfc3a3f24a switch from github.com/libp2p/go-tcp-transport to p2p/transport/tcp 2022-04-22 14:48:25 +01:00
Marten Seemann
72fe013d15 remove mplex from the list of default muxers (#1344) 2022-03-30 09:51:36 -07:00
vyzo
f9e4c5c8f5 slightly lower default connmgr limits 2022-01-18 11:48:48 +02:00
vyzo
12402c7970 default connection manager 2022-01-18 11:48:43 +02:00
vyzo
df2301ba95 use the resource manager in libp2p bundled services, initialize default one 2022-01-18 12:27:07 +04:00
Gus Eggert
7a35d0df97 feat: plumb through peerstore context changes (#1237) 2021-11-12 13:43:02 -05:00
Marten Seemann
e86c4ed31f make QUIC a default transport 2021-08-28 15:25:35 +01:00
Steven Allen
db5f196114 feat: switch from SECIO to Noise as the default security transport
This is a backwards incompatible change and will require a major version bump
plus an announcement. Users can choose to re-enable SECIO by passing
`libp2p.Security(secio.ID, secio.New)` to the constructor.
2020-08-19 11:15:02 -07:00
Steven Allen
eb76a02251 feat: support TLS by default
But don't make it the default per https://github.com/libp2p/go-libp2p/pull/710#pullrequestreview-382182995.
2020-04-13 11:16:09 -07:00
Vasco Santos
fe2c13c71b docs: uniform comment sentences 2020-03-03 15:33:32 +01:00
Christian Muehlhaeuser
40cb489097 Fixed typos (#680)
Just a few nit-picky typo fixes.
2019-07-22 13:44:24 +01:00
Raúl Kripalani
d87f89314c Consolidate abstractions and core types into go-libp2p-core (#601) 2019-05-26 22:55:46 +01:00
Steven Allen
26f880b899 dep: import go-smux-* into the libp2p org
0. I imported whyrusleeping/go-smux-* into go mod.
1. To handle post-1.0 tags, I renamed all of our "gx" tags to "gx/v..." as we
   did with the rest of libp2p.
2. This broke _everything_ because `go mod` absolutely can't deal with deleted
   tags if any transitive go.sum file mentions the tag.
3. To fix this, I first got rid of all mentions of these 2.x+incompatible tags.
4. Unfortunately, I realized this was still going to be a nightmare for
   downstream users as a `go get github.com/libp2p/go-libp2p@latest` on a fresh
   clone (no go mod cache) would fail. I didn't want to have to explain to all
   of our downstream users "please delete your go.sum files!".
5. So I did what I should have done in the first place:
  a. I restored those tags.
  b. I forked all the whyrusleeping/go-smux-* repositories (and
     whyrusleeping/yamux) into the libp2p org where.
  c. I removed all tags but the _new_ go-mod tags on those new libp2p repos.

What does this mean for downstream users? If they manually import any of these
stream muxer repos, they'll have to fix their imports. Otherwise, it shouldn't
make a difference.
2019-05-21 19:44:12 -07:00
Steven Allen
d59ca83d48 switch to DisablePing instead of PingCustom 2018-10-24 07:44:25 -07:00
vyzo
1056fa8119 Ping constructor option, enabled by default 2018-10-19 12:37:20 +03:00
vyzo
0600392e23 enable relay by default in New 2018-09-28 11:30:45 +03:00
gukq
b84518b6c9 Just repair spelling mistake
Signed-off-by: gukq <gukaiqiang@gmail.com>
2018-09-13 01:02:07 +08:00
Steven Allen
c46e8d6e36 gx: update go-libp2p-peerstore 2018-09-07 22:11:23 -07:00
Florian Lenz
fcaa18df9a [muxer] set mplex version to 6.7.0 2018-07-30 22:29:16 +03:00
Abhishek Upperwal
617d7a5797 Corrected ip6 string 2018-07-28 02:47:27 +05:30
Abhishek Upperwal
836d042f54 added ipv6 + checking for default transport 2018-07-25 23:42:03 +05:30
Abhishek Upperwal
d104ff8dea making go fmt happy 2018-07-25 22:02:37 +05:30
Abhishek Upperwal
f82d4ec6aa default listener 2018-07-25 21:50:54 +05:30
Steven Allen
41c6834850 refactor for transport changes
Also, make the libp2p constructor fully useful. There should now be no need to
manually construct a swarm/host.
2018-06-04 21:22:24 -07:00