Skip to content

Auto Update Servers IP

Jian Chang edited this page Oct 18, 2018 · 2 revisions

0.说明

如果你使用的服务器 IP 经常变动, 需要定期更新, 那么可以使用这个脚本.

1.准备工作

opkg update
opkg install resolveip

2.编辑 /etc/config/shadowsocks

在需要自动更新 IP 的 servers 下添加 option host 'example.com', 脚本将根据设置的 host 解析出服务器 IP.

3.保存以下内容为 shell 脚本文件

#!/bin/sh

NAME=shadowsocks

for server in $(uci -n export $NAME | awk '$2=/servers/{print substr($3,2,9)}'); do
    host=$(uci get $NAME.$server.host 2>/dev/null)
    if [ -n "$host" ]; then
        for ip in $(resolveip $host 2>/dev/null); do
            uci set $NAME.$server.server="$ip"
            break
        done
    fi
done

uci commit $NAME

/etc/init.d/$NAME restart

4.添加以下计划任务(每天 5 点)

0      5     *     *     *     /path/to/shell-script >/dev/null 2>&1