Termux 默认源中是没有 ddclient 二进制软件包的,需自助编译
1.准备环境
bash
pkg install git autoconf automake libtool
mkdir ~/git && cd ~/git
2.克隆源码并编译安装
bash
git clone https://bgithub.xyz/ddclient/ddclient.git
cd ddclient
#配置编译环境,此步骤不能省略,参数不要写错了!
./autogen
./configure --prefix=$PREFIX --sysconfdir=$PREFIX/etc --localstatedir=$PREFIX/var
make
make install
3.编辑 ddclient.conf
以 dynv6
为例:
注意!注册时需要科学上网,有谷歌人机验证!
注册后在My Zone
区域可以看到域名,点击进入域名,在Instructions
可以看到 ddclient 的配置代码。
ddclient.conf 里面包含了各种服务商的配置代码,但没有 dynv6 的,手动配置一下。
daemon=1h
ssl=yes
protocol=dyndns2
usev6=if,if=wlan0
server=dynv6.com
login=none
password='你的 token'
example.dynv6.net

(红框中自动给出配置项)
4.设置自启动
bash
mkdir -pv $PREFIX/var/service/ddclient
nano $PREFIX/var/service/ddclient/run
添加以下内容:
bash
#!/data/data/com.termux/files/usr/bin/sh
exec ddclient 2>&1
保存关闭后,给文件添加可执行权限
bash
chmod +x $PREFIX/var/service/ddclient/run
设置自启动
bash
sv-enable ddclient
手动更新地址:
bash
ddclient -daemon=0 -debug -verbose -noquiet --force
登陆 dynv6 Records
查看是否更新成功,有记录表示更新成功。
5.手动编辑脚本更新
单条命令更新
bash
curl --silent 'http://dynv6.com/api/update?hostname=域名&token=令牌&ipv6='$(ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)
使用脚本
bash
mkdir -p $PREFIX/var/service/ipv6
nano $PREFIX/var/service/run
复制以下内容到run中
bash
#!/data/data/com.termux/files/usr/bin/sh
time=''
token='your token'
name='your name'
while true
do
curl --silent 'https://dynv6.com/api/update?hostname='$name'&token='$token'&ipv6='$(ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1) 2>&1
echo -n "!\t"
ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1
sleep $time
done
添加文件可执行
bash
chmod +x $PREFIX/var/service/ipv6/run
sv up ipv6
查看 dynv6 后台,已经更新成功!
设置随会话启动
bash
sv-enable ipv6
更多 Termux 玩机教程,关注订阅主题,长期更新!