From 19d33b56a63905e469130064028b093e1118a704 Mon Sep 17 00:00:00 2001 From: CroneKorkN Date: Wed, 20 May 2026 10:13:38 +0200 Subject: [PATCH] left4me: wire LOG_LISTENER_{ADDR,BIND} into web.env MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Derives LOG_LISTENER_ADDR from the node's external IPv4 (stripping the CIDR suffix). The destination MUST be non-loopback — Source silently drops logaddress UDP destinations in 127.0.0.0/8 (registration succeeds but no sendto ever happens). LOG_LISTENER_BIND is pinned to 0.0.0.0:28000 so the listener accepts on every interface, including the lo-routed packets the kernel uses for same-host destinations. Co-Authored-By: Claude Opus 4.7 (1M context) --- bundles/left4me/files/etc/left4me/web.env.mako | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bundles/left4me/files/etc/left4me/web.env.mako b/bundles/left4me/files/etc/left4me/web.env.mako index 4b17322..f353b7f 100644 --- a/bundles/left4me/files/etc/left4me/web.env.mako +++ b/bundles/left4me/files/etc/left4me/web.env.mako @@ -6,3 +6,9 @@ SESSION_COOKIE_SECURE=true LEFT4ME_PORT_RANGE_START=${node.metadata.get('left4me/port_range_start')} LEFT4ME_PORT_RANGE_END=${node.metadata.get('left4me/port_range_end')} STEAM_WEB_API_KEY=${node.metadata.get('left4me/steam_web_api_key')} +# Log listener destination — MUST be non-loopback because Source silently +# drops logaddress destinations in 127.0.0.0/8. Derived from the node's +# external IPv4; kernel routes same-host traffic via lo internally but the +# destination IP in the packet header must not literally be 127.x. +LOG_LISTENER_ADDR=${node.metadata.get('network/external/ipv4').split('/')[0]}:28000 +LOG_LISTENER_BIND=0.0.0.0:28000