Skip to content

GitLab

  • Menu
    • Projects Groups Snippets
      Help
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • G go-libp2p
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • adam.huang
  • go-libp2p
  • Issues
  • #1

Something went wrong while setting issue health status.
Closed
Open
Created 6 years ago by adam.huang@root:rocket:Maintainer8 of 8 tasks completed8/8 tasks
  • New issue

  • Report abuse

  • New issue

  • Report abuse

PoC Hole Punching Implementation

Open

PoC Hole Punching Implementation

Created by: cannium

related to https://github.com/ipbit/ipfsbit/issues/21 branch https://github.com/ipbit/go-libp2p/tree/punching pull request https://github.com/libp2p/go-libp2p/pull/490

  • collect observed QUIC addr
    • send it in identify
  • run go-libp2p-autonat-svc by default
  • pass IPFS DHT to libp2p properly: copied from https://github.com/ipfs/go-ipfs/pull/5785/files
  • register Connected callback like AutoNATProto do
    • sleep IdentifyDelay
    • if support "PunchingProto" && both behind NAT, send punching request, contains observed QUIC addr
  • dial back routine
  • keepalive: 30s by default in quic-go
  • prioritize QUIC connection when starting new streams

configs need change

  "Addresses": {
    "Swarm": [
      "/ip4/0.0.0.0/tcp/4001",
      "/ip6/::/tcp/4001",
      "/ip4/0.0.0.0/udp/4002/quic",
      "/ip6/::/udp/4002/quic"
    ]
  }

  "Swarm": {
    "DisableRelay": false,
    "EnableRelayHop": false,
  }

  "Experimental": {
    "QUIC": true
  }
An error occurred while loading designs. Please try again.

Linked issues
0


  • adam.huang
    adam.huang :rocket: @root · 6 years ago
    Author Maintainer

    Created by: cannium

    FIXME

    • filter out wildcard IP in address announcement
    • opened a new TCP port when NewStream is called
    • prioritize QUIC conditionally
  • You're only seeing other activity in the feed. To add a comment, switch to one of the following options.
Please register or sign in to reply
0 Assignees
None
Assign to
Milestone
No milestone
None
None
Time tracking
No estimate or time spent
Due date
None
None
Labels
0
None
0
None
    Assign labels
  • Manage project labels

Weight
None
None

None

Health status

    Assign health status


None

Confidentiality
Not confidential
Not confidential

You are going to turn on confidentiality. Only team members with at least Reporter access will be able to see and leave comments on the issue.

Lock issue
Unlocked
0
0 participants
Reference:

Menu

Projects Groups Snippets
Help