summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/quic_client.py17
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/quic_server.py2
2 files changed, 11 insertions, 8 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_client.py b/packages/meshbay-node/src/meshbay_node/transport/quic_client.py
index 6041fef..a2220ff 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/quic_client.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/quic_client.py
@@ -100,16 +100,18 @@ class QuicChunkClient:
jwt_token: str,
gek: bytes,
pk_node_b64: str,
+ local_port: int = 0, # 0 = OS choisit; spécifier pour hole punching Port-Restricted
):
- self._host = host
- self._port = port
- self._jwt_token = jwt_token
- self._gek = gek
- self._pk_node = Ed25519PublicKey.from_public_bytes(
+ self._host = host
+ self._port = port
+ self._jwt_token = jwt_token
+ self._gek = gek
+ self._local_port = local_port
+ self._pk_node = Ed25519PublicKey.from_public_bytes(
base64.b64decode(pk_node_b64))
self._proto: _MNPClientProtocol | None = None
- self._cm = None
- self._ctrl_stream = 0 # stream 0 = control/handshake
+ self._cm = None
+ self._ctrl_stream = 0
async def __aenter__(self):
await self.connect()
@@ -129,6 +131,7 @@ class QuicChunkClient:
self._host, self._port,
configuration=config,
create_protocol=_MNPClientProtocol,
+ local_port=self._local_port, # 0 = aléatoire; local_port=X pour hole punching
)
self._proto = await self._cm.__aenter__()
diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
index 2d23da2..8ab359d 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py
@@ -228,7 +228,7 @@ class QuicChunkServer:
gek: bytes,
shared_root: Path,
index: GroupIndex,
- host: str = "0.0.0.0",
+ host: str = "::", # écoute IPv4 + IPv6 (dual-stack Linux)
port: int = 19000,
cert_path: Path | None = None,
key_path: Path | None = None,