- Add secubox-app-ndpid: nDPId daemon with bundled libndpi 5.x - Add luci-app-ndpid: LuCI web interface for nDPId management - Add migration documentation from netifyd to nDPId - Uses git dev branch for latest libndpi API compatibility - Builds nDPId + nDPIsrvd event broker for microservice architecture Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
69 lines
1.7 KiB
Bash
69 lines
1.7 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
# nDPIsrvd init script for OpenWrt
|
|
# Event distribution broker for nDPId
|
|
# Copyright (C) 2025 CyberMind.fr
|
|
|
|
START=50
|
|
STOP=11
|
|
USE_PROCD=1
|
|
|
|
PROG=/usr/sbin/ndpisrvd
|
|
CONF=/etc/config/ndpid
|
|
RUNTIME_DIR=/var/run/ndpid
|
|
|
|
start_service() {
|
|
local enabled listen_socket tcp_port tcp_address max_clients
|
|
local collector_socket
|
|
|
|
config_load ndpid
|
|
|
|
# Check distributor settings
|
|
config_get_bool enabled distributor enabled 1
|
|
[ "$enabled" -eq 0 ] && {
|
|
logger -t ndpisrvd "Service disabled in config"
|
|
return 0
|
|
}
|
|
|
|
# Create runtime directory
|
|
mkdir -p "$RUNTIME_DIR"
|
|
chown nobody:nogroup "$RUNTIME_DIR"
|
|
|
|
# Get configuration
|
|
config_get collector_socket main collector_socket /var/run/ndpid/collector.sock
|
|
config_get listen_socket distributor listen_socket /var/run/ndpid/distributor.sock
|
|
config_get tcp_port distributor tcp_port 7000
|
|
config_get tcp_address distributor tcp_address 127.0.0.1
|
|
config_get max_clients distributor max_clients 10
|
|
|
|
logger -t ndpisrvd "Starting nDPIsrvd (collector: $collector_socket, distributor: $listen_socket)"
|
|
|
|
# Build command
|
|
local cmd_args="-c $collector_socket -s $listen_socket"
|
|
|
|
# Add TCP listener if enabled
|
|
[ "$tcp_port" -gt 0 ] && {
|
|
cmd_args="$cmd_args -S ${tcp_address}:${tcp_port}"
|
|
}
|
|
|
|
procd_open_instance ndpisrvd
|
|
procd_set_param command "$PROG" $cmd_args
|
|
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param pidfile /var/run/ndpisrvd.pid
|
|
procd_close_instance
|
|
}
|
|
|
|
stop_service() {
|
|
logger -t ndpisrvd "Stopping nDPIsrvd"
|
|
}
|
|
|
|
reload_service() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "ndpid"
|
|
}
|