From c01579393ddd622352d0d0179c67adaf5ccc4c8f Mon Sep 17 00:00:00 2001 From: Alex Potsides Date: Mon, 10 Feb 2025 16:19:54 +0100 Subject: [PATCH] fix: update libp2p deps, send user agent with auto-tls (#736) --- packages/helia/package.json | 38 +++++++++---------- .../src/utils/libp2p-defaults.browser.ts | 15 ++++---- packages/helia/src/utils/libp2p-defaults.ts | 19 +++++----- packages/utils/package.json | 6 +-- 4 files changed, 38 insertions(+), 40 deletions(-) diff --git a/packages/helia/package.json b/packages/helia/package.json index 842c5402..817f8208 100644 --- a/packages/helia/package.json +++ b/packages/helia/package.json @@ -55,31 +55,31 @@ "prepublishOnly": "node scripts/update-version.js && npm run build" }, "dependencies": { - "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-noise": "^16.0.1", "@chainsafe/libp2p-yamux": "^7.0.1", "@helia/block-brokers": "^4.0.3", "@helia/delegated-routing-v1-http-api-client": "^4.2.1", "@helia/interface": "^5.2.0", "@helia/routers": "^3.0.0", "@helia/utils": "^1.2.0", - "@libp2p/auto-tls": "^1.0.4", - "@libp2p/autonat": "^2.0.12", - "@libp2p/bootstrap": "^11.0.13", - "@libp2p/circuit-relay-v2": "^3.1.3", - "@libp2p/config": "^1.0.1", - "@libp2p/dcutr": "^2.0.12", - "@libp2p/identify": "^3.0.12", - "@libp2p/interface": "^2.2.1", - "@libp2p/kad-dht": "^14.1.3", - "@libp2p/keychain": "^5.0.10", - "@libp2p/mdns": "^11.0.13", - "@libp2p/mplex": "^11.0.13", - "@libp2p/ping": "^2.0.12", - "@libp2p/tcp": "^10.0.13", - "@libp2p/tls": "^2.0.11", - "@libp2p/upnp-nat": "^3.0.4", - "@libp2p/webrtc": "^5.0.19", - "@libp2p/websockets": "^9.0.13", + "@ipshipyard/libp2p-auto-tls": "^1.0.0", + "@libp2p/autonat": "^2.0.19", + "@libp2p/bootstrap": "^11.0.20", + "@libp2p/circuit-relay-v2": "^3.1.10", + "@libp2p/config": "^1.0.3", + "@libp2p/dcutr": "^2.0.18", + "@libp2p/identify": "^3.0.18", + "@libp2p/interface": "^2.5.0", + "@libp2p/kad-dht": "^14.2.3", + "@libp2p/keychain": "^5.0.14", + "@libp2p/mdns": "^11.0.20", + "@libp2p/mplex": "^11.0.20", + "@libp2p/ping": "^2.0.18", + "@libp2p/tcp": "^10.0.18", + "@libp2p/tls": "^2.0.15", + "@libp2p/upnp-nat": "^3.1.1", + "@libp2p/webrtc": "^5.0.26", + "@libp2p/websockets": "^9.1.5", "@multiformats/dns": "^1.0.6", "blockstore-core": "^5.0.2", "datastore-core": "^10.0.2", diff --git a/packages/helia/src/utils/libp2p-defaults.browser.ts b/packages/helia/src/utils/libp2p-defaults.browser.ts index b21d4dec..ede4e0af 100644 --- a/packages/helia/src/utils/libp2p-defaults.browser.ts +++ b/packages/helia/src/utils/libp2p-defaults.browser.ts @@ -15,7 +15,7 @@ import { webRTC, webRTCDirect } from '@libp2p/webrtc' import { webSockets } from '@libp2p/websockets' import { ipnsSelector } from 'ipns/selector' import { ipnsValidator } from 'ipns/validator' -import * as libp2pInfo from 'libp2p/version' +import { userAgent } from 'libp2p/user-agent' import { name, version } from '../version.js' import { bootstrapConfig } from './bootstrappers.js' import type { Libp2pDefaultsOptions } from './libp2p.js' @@ -32,11 +32,14 @@ export interface DefaultLibp2pServices extends Record { } export function libp2pDefaults (options: Libp2pDefaultsOptions = {}): Libp2pOptions & Required, 'services'>> { - const agentVersion = `${name}/${version} ${libp2pInfo.name}/${libp2pInfo.version} UserAgent=${globalThis.navigator.userAgent}` + const agentVersion = `${name}/${version} ${userAgent()}` return { privateKey: options.privateKey, dns: options.dns, + nodeInfo: { + userAgent: agentVersion + }, addresses: { listen: [ '/p2p-circuit', @@ -72,12 +75,8 @@ export function libp2pDefaults (options: Libp2pDefaultsOptions = {}): Libp2pOpti ipns: ipnsSelector } }), - identify: identify({ - agentVersion - }), - identifyPush: identifyPush({ - agentVersion - }), + identify: identify(), + identifyPush: identifyPush(), keychain: keychain(options.keychain), ping: ping() } diff --git a/packages/helia/src/utils/libp2p-defaults.ts b/packages/helia/src/utils/libp2p-defaults.ts index 222353a6..e908e784 100644 --- a/packages/helia/src/utils/libp2p-defaults.ts +++ b/packages/helia/src/utils/libp2p-defaults.ts @@ -2,7 +2,7 @@ import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' import { createDelegatedRoutingV1HttpApiClient } from '@helia/delegated-routing-v1-http-api-client' import { delegatedHTTPRoutingDefaults } from '@helia/routers' -import { autoTLS } from '@libp2p/auto-tls' +import { autoTLS } from '@ipshipyard/libp2p-auto-tls' import { autoNAT } from '@libp2p/autonat' import { bootstrap } from '@libp2p/bootstrap' import { circuitRelayTransport, circuitRelayServer, type CircuitRelayService } from '@libp2p/circuit-relay-v2' @@ -20,11 +20,11 @@ import { webRTC, webRTCDirect } from '@libp2p/webrtc' import { webSockets } from '@libp2p/websockets' import { ipnsSelector } from 'ipns/selector' import { ipnsValidator } from 'ipns/validator' -import * as libp2pInfo from 'libp2p/version' +import { userAgent } from 'libp2p/user-agent' import { name, version } from '../version.js' import { bootstrapConfig } from './bootstrappers.js' import type { Libp2pDefaultsOptions } from './libp2p.js' -import type { AutoTLS } from '@libp2p/auto-tls' +import type { AutoTLS } from '@ipshipyard/libp2p-auto-tls' import type { Libp2pOptions } from 'libp2p' export interface DefaultLibp2pServices extends Record { @@ -41,11 +41,14 @@ export interface DefaultLibp2pServices extends Record { } export function libp2pDefaults (options: Libp2pDefaultsOptions = {}): Libp2pOptions & Required, 'services'>> { - const agentVersion = `${name}/${version} ${libp2pInfo.name}/${libp2pInfo.version} UserAgent=${process.version}` + const agentVersion = `${name}/${version} ${userAgent()}` return { privateKey: options.privateKey, dns: options.dns, + nodeInfo: { + userAgent: agentVersion + }, addresses: { listen: [ '/ip4/0.0.0.0/tcp/0', @@ -88,12 +91,8 @@ export function libp2pDefaults (options: Libp2pDefaultsOptions = {}): Libp2pOpti ipns: ipnsSelector } }), - identify: identify({ - agentVersion - }), - identifyPush: identifyPush({ - agentVersion - }), + identify: identify(), + identifyPush: identifyPush(), keychain: keychain(options.keychain), ping: ping(), relay: circuitRelayServer(), diff --git a/packages/utils/package.json b/packages/utils/package.json index 2880ab7a..b66d8606 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -58,9 +58,9 @@ "@ipld/dag-cbor": "^9.2.2", "@ipld/dag-json": "^10.2.3", "@ipld/dag-pb": "^4.1.3", - "@libp2p/interface": "^2.4.0", - "@libp2p/logger": "^5.1.4", - "@libp2p/utils": "^6.2.1", + "@libp2p/interface": "^2.5.0", + "@libp2p/logger": "^5.1.8", + "@libp2p/utils": "^6.5.1", "@multiformats/dns": "^1.0.6", "any-signal": "^4.1.1", "blockstore-core": "^5.0.2",