46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
START=99
|
|
STOP=01
|
|
USE_PROCD=1
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "airconnect"
|
|
}
|
|
|
|
main_config() {
|
|
config_get AIRUPNP_IFACE "$1" interface "lan"
|
|
config_get_bool ENABLE_MAIN "$1" enabled 0
|
|
config_get_bool ENABLE_AIRCAST "$1" aircast 0
|
|
config_get_bool ENABLE_AIRUPNP "$1" airupnp 0
|
|
}
|
|
|
|
start_service() {
|
|
config_load airconnect
|
|
config_foreach main_config main
|
|
[ "$ENABLE_MAIN" = 0 ] && return 0
|
|
[ "$ENABLE_AIRCAST" = 0 -a "$ENABLE_AIRUPNP" = 0 ] && return 0
|
|
|
|
local interface=$(
|
|
. /lib/functions/network.sh
|
|
|
|
network_is_up "$AIRUPNP_IFACE" || exit 0
|
|
network_get_device device "$AIRUPNP_IFACE"
|
|
printf "%s" "${device:-$AIRUPNP_IFACE}"
|
|
)
|
|
[ -z "$interface" ] && interface=br-lan
|
|
local common_args="-Z -b $interface"
|
|
|
|
if [ "$ENABLE_AIRUPNP" = 1 ]; then
|
|
procd_open_instance
|
|
procd_set_param command /usr/bin/airupnp $common_args
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
fi
|
|
if [ "$ENABLE_AIRCAST" = 1 ]; then
|
|
procd_open_instance
|
|
procd_set_param command /usr/bin/aircast $common_args
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
fi
|
|
} |