You need to enable JavaScript to run this app. Hyperprotocol使用问题:如何仅连接指定对等节点,限制Hyperdrive仅同步局域网对等点
优惠活动
大模型
产品
解决方案
定价
更多

Hyperprotocol使用问题:如何仅连接指定对等节点,限制Hyperdrive仅同步局域网对等点

Hyperdrive 仅局域网同步实现方案

核心实现思路

你提到的 validatePeer 是Hyperswarm提供的标准过滤钩子,Hyperspace支持直接透传配置给底层Hyperswarm实例,无需手动获取swarm引用即可实现需求,同时可以通过全局开关控制是否允许互联网同步,满足后续配置扩展的要求。

场景1:代码中直接初始化Hyperspace实例

初始化Hyperspace时传入swarmOpts配置项,该参数会直接透传给底层Hyperswarm实例,在其中定义validatePeer回调即可实现对等节点过滤:

  • 前置依赖:npm install hyperspace hyperdrive ip,其中ip模块用于快速判断IP是否为私有局域网地址,也可以自行匹配IP段:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、fc00::/7实现相同逻辑。
  • 代码示例:
const Hyperspace = require('hyperspace')
const Hyperdrive = require('hyperdrive')
const ip = require('ip')

// 全局配置开关,后续需要开放互联网同步时直接改为true即可
const ALLOW_WAN_SYNC = false

const hyperspace = new Hyperspace({
  // 透传给底层Hyperswarm的配置
  swarmOpts: {
    validatePeer: (peer) => {
      // 允许所有节点时直接返回true
      if (ALLOW_WAN_SYNC) return true
      // 仅允许局域网私有地址的节点连接
      return ip.isPrivate(peer.host)
    }
  }
})

await hyperspace.ready()
// 后续按原有逻辑初始化Hyperdrive即可
const drive = new Hyperdrive(hyperspace.corestore)
await drive.ready()

场景2:连接独立运行的Hyperspace守护进程

如果你的代码通过@hyperspace/client连接后台已启动的Hyperspace守护进程,无法在客户端侧直接传入swarm配置,可以通过连接后过滤的方案实现相同效果:

  • 代码示例:
const HyperspaceClient = require('@hyperspace/client')
const Hyperdrive = require('hyperdrive')
const ip = require('ip')

const ALLOW_WAN_SYNC = false

const client = new HyperspaceClient()
await client.ready()

// 监听新对等节点连接事件
client.corestore.on('peer-add', (peer) => {
  if (ALLOW_WAN_SYNC) return
  // 提取远程IP地址
  const remoteIp = peer.remoteAddress?.split(':')[0]
  // 非局域网IP直接销毁连接
  if (remoteIp && !ip.isPrivate(remoteIp)) {
    peer.destroy()
  }
})

const drive = new Hyperdrive(client.corestore)
await drive.ready()

可选优化:局域网节点优先同步

如果后续开放了互联网同步,需要实现局域网节点优先级高于互联网节点,可以在validatePeer中调整节点优先级:

validatePeer: (peer) => {
  // 局域网节点优先级设为10,互联网节点优先级设为1
  peer.priority = ip.isPrivate(peer.host) ? 10 : 1
  return ALLOW_WAN_SYNC || ip.isPrivate(peer.host)
}

内容的提问来源于stack exchange,提问作者Nearoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 07:21:03