secubox-openwrt/package/secubox/secubox-p2p/root/etc/init.d/secubox-p2p
CyberMind-FR ce512bbda0 feat(p2p): Add mDNS service publishing and REST API for mesh visibility
- Add mDNS service announcement via avahi-publish for _secubox._tcp
- Add REST API endpoints on port 7331 (/api/peers, /api/status, /api/services)
- Add node self-registration to ensure local node visible in mesh view
- Add UCI defaults for uhttpd P2P API instance and firewall rules
- Bump secubox-p2p version to 0.2.0

fix(vhost-manager): Fix uninitialized variable syntax errors

- Add 'local' keyword to variable declarations on lines 606, 621, 693

fix(metablogizer,service-registry): Add HAProxy availability fallback

- Add haproxy_available() helper to check if HAProxy is running
- Gracefully skip HAProxy operations when service unavailable
- Store pending HAProxy config for later when service becomes available
- Prevent crashes when HAProxy container is stopped

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:46:28 +01:00

53 lines
1014 B
Bash

#!/bin/sh /etc/rc.common
START=95
STOP=10
USE_PROCD=1
NAME="secubox-p2p"
PROG="/usr/sbin/secubox-p2p"
# Ensure avahi-daemon is started before us
DEPEND="avahi-daemon"
start_service() {
local enabled
config_load secubox-p2p
config_get enabled main enabled "1"
[ "$enabled" = "1" ] || return
# Ensure state directory exists
mkdir -p /var/run/secubox-p2p
# Ensure avahi-daemon is running for mDNS
if [ -x /etc/init.d/avahi-daemon ]; then
/etc/init.d/avahi-daemon running || /etc/init.d/avahi-daemon start
fi
procd_open_instance
procd_set_param command $PROG daemon
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param pidfile /var/run/secubox-p2p/daemon.pid
procd_close_instance
logger -t secubox-p2p "P2P mesh daemon started"
}
stop_service() {
# Stop mDNS announcement
$PROG stop-mdns 2>/dev/null
logger -t secubox-p2p "P2P mesh daemon stopped"
}
service_triggers() {
procd_add_reload_trigger "secubox-p2p"
}
reload_service() {
stop
start
}