Initial import from bf-network-r6.opencode — opencode migration

This commit is contained in:
2026-08-26 12:44:21 +02:00
commit 5ee0716dda
297 changed files with 72324 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
# TP7.1 — SSDP-Relay VLAN10 <-> VLAN40 (macOS-Sonos-App)
#
# Laeuft auf LXC 108 "mcast-relay" (pve), zweibeinig:
# eth0 = 10.40.10.21 (VLAN10/MAIN) eth1 = 10.40.40.21 (VLAN40/MEDIA)
# Ablage im Repo: mcast-relay/multicast-relay.service
# Ziel auf dem Container: /etc/systemd/system/multicast-relay.service
# Ausrollen: scp … root@10.40.20.100:/tmp/ && pct push 108 /tmp/multicast-relay.service \
# /etc/systemd/system/multicast-relay.service && pct exec 108 -- systemctl daemon-reload \
# && pct exec 108 -- systemctl restart multicast-relay
#
# --noMDNS ist WICHTIG: mDNS reflektiert bereits der Core (TP7, mdns-repeat-ifaces).
# Zweimal zu reflektieren erzeugt Duplikate und Schleifen.
#
# 🔴 KEIN --ssdpUnicastAddr (2026-08-25 ausgebaut, war seit 2026-08-18 drin und hat den
# Hinweg blockiert). Die Flagge schreibt in multicast-relay.py Z. 630 die Quelle JEDES
# SSDP-Pakets an 239.255.255.250:1900 auf die angegebene Adresse:1901 um — auch NOTIFY.
# Beim Senden greift dann Z. 691:
# if srcAddr == ssdpUnicastAddr and not onNetwork(srcAddr, tx['addr'], tx['netmask']): continue
# 10.40.10.21 liegt nicht im VLAN40-Netz ⇒ die M-SEARCH der App wurde verworfen, BEVOR sie
# die Player erreichte (Messung: 0 Pakete via eth1 / 308 via eth0 in 20 min, 0 "Received SSDP
# Unicast" im ganzen Journal). Zusaetzlich ist der Rueckweg im Upstream nur EIN globaler
# Merkslot (Z. 623 "FIXME: record more than one?").
# Ohne die Flagge relayt das Werkzeug quellerhaltend; die Player antworten unicast an den
# echten Sucher und der Core routet das nativ zurueck — forward-Regel "TP5: MEDIA->MAIN"
# ist offen (in=vlan40 out=vlan10, ohne Portfilter).
[Unit]
Description=TP7.1 SSDP-Relay vlan10 <-> vlan40 (macOS-Sonos-App)
Documentation=docs/teilprojekte.md TP7.1
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/bin/python3 /opt/multicast-relay/multicast-relay.py \
--interfaces eth0 eth1 \
--noMDNS \
--foreground --verbose
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target