Через командную строку устанавливаем на роутер текстовый редактор nano:
opkg update && opkg install nano
Открываем пустой файл для создания скрипта:
nano /etc/hotplug.d/iface/40-clash_rules
Вставляем туда этот текст (меняем в третьей строке IP на адрес вашего роутера)
#!/bin/sh
sleep 10
api_base_url="<http://192.168.8.1:9090>"
base_url="$api_base_url/providers/rules"
response=$(curl -s "$base_url")
providers=$(echo "$response" | grep -o '"name":"[^"]*"' | sed 's/"name":"\\([^"]*\\)"/\\1/')
if [ -z "$providers" ]; then
echo "Failed to retrieve providers or no providers found."
exit 1
fi
for provider in $providers; do
echo "Updating provider: $provider"
curl -X PUT "$base_url/$provider"
if [ $? -eq 0 ]; then
echo "Successfully updated $provider"
else
echo "Failed to update $provider"
fi
done
/etc/init.d/clash reload
Выдаём права на исполнение:
chmod 755 /etc/hotplug.d/iface/40-clash_rules
Теперь при каждой перезагрузке интернета Clash будет обновлять правила. Это не обязательно для его работы, в стандартном конфиге на каждое правило задаётся период обновления 86400 (24 часа), но кому-то в определённых условиях такой вариант может пригодиться и он точно не будет лишним для вас.