op-packages/docker-lan-bridge/files/docker-lan.uci
github-actions[bot] 32600acc60 🌴 Sync 2026-03-05 23:51:42
2026-03-05 23:51:42 +08:00

39 lines
900 B
Bash
Executable File

#!/bin/sh
/etc/init.d/docker-lan boot 2>/dev/null
uci_find_section()
{
local config="$1"
local type="$2"
local key="$3"
local value="$4"
local section
uci show $config | grep -E '^'$config'\.[^\.]+\.'$key'='"'$value'"'$' | sed 's/\.'$key'='"'$value'"'$//' | while read section; do
[ "$type" = "`uci get "$section"`" ] && echo $section
done
}
section=`uci_find_section network device name br-lan | head -n1`
if [ -n "$section" ]; then
uci get "$section.ports" | grep -wq docker-lan-op || uci add_list "$section.ports=docker-lan-op"
else
ifnames="`uci get network.lan.device`"
if [ -n "$ifnames" ]; then
echo "$ifnames" | grep -wq docker-lan-op || {
ifnames="$ifnames docker-lan-op"
uci set network.lan.device="$ifnames"
uci set network.lan.type='bridge'
}
else
echo "uci get lan ports failed!" >&2
exit 1
fi
fi
uci commit network
/etc/init.d/network reload
exit 0