feat: add tracker registration routing

This commit is contained in:
Dobromir Popov
2026-06-29 01:16:48 +03:00
parent 7c8e85c571
commit 15897d5c95
6 changed files with 752 additions and 21 deletions

View File

@@ -2,6 +2,9 @@
import argparse
import sys
import time
from .server import TrackerServer
def main() -> None:
@@ -12,17 +15,30 @@ def main() -> None:
subparsers = parser.add_subparsers(dest="command")
start_cmd = subparsers.add_parser("start", help="Start the tracker server")
start_cmd.add_argument("--host", default="127.0.0.1", help="Host interface to listen on")
start_cmd.add_argument("--port", type=int, default=8080, help="Port to listen on")
start_cmd.add_argument(
"--heartbeat-timeout",
type=float,
default=30.0,
help="Seconds before a node is removed from the registry after missed heartbeat",
)
args = parser.parse_args()
if args.command == "start":
print(f"meshnet-tracker starting on port {args.port}")
server = TrackerServer(
host=args.host,
port=args.port,
heartbeat_timeout=args.heartbeat_timeout,
)
port = server.start()
print(f"meshnet-tracker listening on http://{args.host}:{port}", flush=True)
try:
import time
while True:
time.sleep(1)
except KeyboardInterrupt:
server.stop()
sys.exit(0)
else:
parser.print_help()