mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-31 23:01:21 +08:00
47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
. /lib/functions.sh
|
|
cfg_groups_set()
|
|
{
|
|
|
|
CFG_FILE="/etc/config/clash"
|
|
local section="$1"
|
|
config_get "name" "$section" "name" ""
|
|
config_get "old_name_cfg" "$section" "old_name_cfg" ""
|
|
config_get "old_name" "$section" "old_name" ""
|
|
|
|
if [ -z "$name" ]; then
|
|
return
|
|
fi
|
|
|
|
|
|
if [ -z "$old_name_cfg" ]; then
|
|
uci set clash."$section".old_name_cfg="$name"
|
|
uci commit clash
|
|
fi
|
|
|
|
if [ -z "$old_name" ]; then
|
|
uci set clash."$section".old_name="$name"
|
|
uci commit clash
|
|
fi
|
|
|
|
|
|
if [ "$name" != "$old_name_cfg" ] && [ ! -z "$old_name_cfg" ]; then
|
|
sed -i "s/old_name_cfg \'${old_name_cfg}\'/old_name_cfg \'${name}\'/g" $CFG_FILE 2>/dev/null
|
|
sed -i "s/groups \'${old_name_cfg}/groups \'${name}/g" $CFG_FILE 2>/dev/null
|
|
sed -i "s/other_group \'${old_name_cfg}/other_group \'${name}/g" $CFG_FILE 2>/dev/null
|
|
sed -i "s/new_servers_group \'${old_name_cfg}/new_servers_group \'${name}/g" $CFG_FILE 2>/dev/null
|
|
sed -i "s/relay_groups \'${old_name_cfg}/relay_groups \'${name}/g" $CFG_FILE 2>/dev/null
|
|
config_load "clash"
|
|
fi
|
|
|
|
}
|
|
|
|
start(){
|
|
status=$(ps|grep -c /usr/share/clash/create/pgroups.sh)
|
|
[ "$status" -gt "3" ] && exit 0
|
|
|
|
config_load "clash"
|
|
config_foreach cfg_groups_set "pgroups"
|
|
}
|
|
start
|