secubox-openwrt/package/secubox/secubox-app-squeezelite/files/etc/init.d/squeezelite
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

81 lines
2.0 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=95
STOP=10
USE_PROCD=1
PROG=/usr/bin/squeezelite
start_service() {
local enabled name server server_port auto_discover output mac model
local sample_rate buffer_size codec_buffer alsa_buffer alsa_period
local fifo_output fifo_path
config_load squeezelite
config_get enabled main enabled '0'
[ "$enabled" != "1" ] && return 0
config_get name main name 'SecuBox-Player'
config_get server main server ''
config_get server_port main server_port '3483'
config_get auto_discover main auto_discover '1'
config_get output main output 'default'
config_get mac main mac ''
config_get model main model 'squeezelite'
config_get sample_rate audio sample_rate '44100'
config_get buffer_size audio buffer_size '2000'
config_get codec_buffer audio codec_buffer '2000'
config_get alsa_buffer audio alsa_buffer '80'
config_get alsa_period audio alsa_period '4'
config_get fifo_output streaming fifo_output '0'
config_get fifo_path streaming fifo_path '/tmp/squeezelite.pcm'
# Build command line
local cmd_args="-n $name -o $output"
# Server connection
if [ -n "$server" ]; then
cmd_args="$cmd_args -s $server:$server_port"
fi
# MAC address (auto-generate if not set)
if [ -n "$mac" ]; then
cmd_args="$cmd_args -m $mac"
fi
# Model name
cmd_args="$cmd_args -M $model"
# Audio settings
cmd_args="$cmd_args -r $sample_rate"
cmd_args="$cmd_args -b ${buffer_size}:${codec_buffer}"
cmd_args="$cmd_args -a ${alsa_buffer}:${alsa_period}"
# FIFO output for streaming bridge
if [ "$fifo_output" = "1" ]; then
# Create FIFO if not exists
[ -p "$fifo_path" ] || mkfifo "$fifo_path"
cmd_args="$cmd_args -o $fifo_path"
fi
procd_open_instance
procd_set_param command $PROG $cmd_args
procd_set_param respawn
procd_set_param stderr 1
procd_set_param pidfile /var/run/squeezelite.pid
procd_close_instance
logger -t squeezelite "Started: $name"
}
stop_service() {
logger -t squeezelite "Stopped"
}
service_triggers() {
procd_add_reload_trigger "squeezelite"
}