secubox-openwrt/package/secubox/secubox-dpi-dual/files/etc/init.d/dpi-dual
CyberMind-FR d92b3360ea feat(repo): Add unified repo-deploy.sh and multi-arch support
- Add repo-deploy.sh script for staging and deploying packages
- Replicate _all.ipk packages to all 6 architectures automatically
- Add "Refresh Indexes" button to LuCI dashboard for local deployments
- Add RPCD refresh method to regenerate Packages indexes on-device
- Support architectures: aarch64_cortex-a72, aarch64_cortex-a53,
  aarch64_generic, x86_64, mips_24kc, mipsel_24kc

Usage:
  ./secubox-tools/repo-deploy.sh stage --clean
  ./secubox-tools/repo-deploy.sh deploy root@192.168.255.1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-19 07:48:59 +01:00

104 lines
2.5 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
# DPI Dual-Stream procd service
# Part of secubox-dpi-dual package
START=95
STOP=10
USE_PROCD=1
NAME="dpi-dual"
PROG="/usr/sbin/dpi-dualctl"
validate_section() {
uci_load_validate dpi-dual global "$1" "$2" \
'enabled:bool:1' \
'mode:string:dual' \
'correlation:bool:1' \
'stats_dir:string:/tmp/secubox' \
'flow_dir:string:/tmp/dpi-flows'
}
start_service() {
local enabled mode
config_load dpi-dual
config_get enabled settings enabled "1"
config_get mode settings mode "dual"
[ "$enabled" != "1" ] && {
echo "DPI Dual-Stream is disabled"
return 0
}
echo "Starting DPI Dual-Stream (mode: $mode)..."
# Create directories
local stats_dir flow_dir
config_get stats_dir settings stats_dir "/tmp/secubox"
config_get flow_dir settings flow_dir "/tmp/dpi-flows"
mkdir -p "$stats_dir" "$flow_dir"
# Start TAP stream if enabled
case "$mode" in
dual|tap-only)
/usr/lib/dpi-dual/mirror-setup.sh start
# Start flow collector as procd service
procd_open_instance flow-collector
procd_set_param command /usr/sbin/dpi-flow-collector start
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
;;
esac
# Start LAN passive collector if enabled
local lan_enabled
config_get lan_enabled lan enabled "0"
if [ "$lan_enabled" = "1" ]; then
procd_open_instance lan-collector
procd_set_param command /usr/sbin/dpi-lan-collector start
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
fi
# Start correlator if enabled
local correlation
config_get correlation settings correlation "1"
if [ "$correlation" = "1" ]; then
procd_open_instance correlator
procd_set_param command /usr/sbin/dpi-correlator start
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
fi
echo "DPI Dual-Stream started"
}
stop_service() {
echo "Stopping DPI Dual-Stream..."
# Stop mirror
/usr/lib/dpi-dual/mirror-setup.sh stop 2>/dev/null
echo "DPI Dual-Stream stopped"
}
reload_service() {
stop_service
start_service
}
service_triggers() {
procd_add_reload_trigger "dpi-dual"
}
status() {
/usr/sbin/dpi-dualctl status
}