From d18c8a4de4fcec427ad2ed1f82ecd2a5670c6962 Mon Sep 17 00:00:00 2001 From: Quinten Stokkink Date: Thu, 18 Apr 2024 14:36:56 +0200 Subject: [PATCH] Reclaim port on start --- src/tribler/core/start_core.py | 5 +++++ src/tribler/tribler_config.py | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tribler/core/start_core.py b/src/tribler/core/start_core.py index d1fedf569..57829f5cb 100644 --- a/src/tribler/core/start_core.py +++ b/src/tribler/core/start_core.py @@ -35,6 +35,11 @@ def run_core(api_port: int, api_key: str | None, state_dir: Path) -> None: config = TriblerConfigManager(state_dir / "configuration.json") config.set("state_dir", str(state_dir)) + + if config.get("api/refresh_port_on_start"): + config.set("api/http_port", 0) + config.set("api/https_port", 0) + if api_key is None: config.set("api/key", api_key) config.write() diff --git a/src/tribler/tribler_config.py b/src/tribler/tribler_config.py index 7f06c06f8..8a5693e5f 100644 --- a/src/tribler/tribler_config.py +++ b/src/tribler/tribler_config.py @@ -24,6 +24,7 @@ class ApiConfig(TypedDict): https_enabled: bool https_host: str https_port: int + refresh_port_on_start: bool class ContentDiscoveryCommunityConfig(TypedDict): @@ -164,7 +165,8 @@ class TriblerConfig(TypedDict): "https_enabled": False, "https_host": "127.0.0.1", "https_port": 0, - "https_certfile": "https_certfile" + "https_certfile": "https_certfile", + "refresh_port_on_start": True }, "ipv8": ipv8_default_config,