创建一个脚本文件,比如 post_url.sh,并确保它具有执行权限:
touch post_url.sh
chmod +x post_url.sh
编辑 post_url.sh 脚本文件,将以下内容添加到文件中:
#!/bin/bash
apiuser='ux101'
apikey='AO4zfeag5584a26ge65p9SlN'
time=$(date +%s) # 获取当前时间的10位时间戳
ssapikey=$(echo -n "$apiuser$apikey$time" | md5sum | cut -d' ' -f1)
url='https://www.yooym.com/home/dns/dnsfun.php'
post_data="ssapiuser=$apiuser&ssapikey=$ssapikey&apitime=$time&ac=adddns&ID=510865&rr=ql&type=AAAA&line=%E9%BB%98%E8%AE%A4&value=$(ip -6 addr show dev eth0 | grep -oP '(?<=inet6\s)[\da-f:]+' | head -n 1)&mx=-&ttl=600&record_id=85547444600632320"
curl -X POST -d "$post_data" "$url"
请确保替换 eth0 为你的系统上的网卡接口,通常是 eth0。
其中下面代码是获取网卡 eth0 的本机地址,请使用 ifconfig 命令查看本机网卡信息
$(ip -6 addr show dev eth0 | grep -oP '(?<=inet6\s)[\da-f:]+' | head -n 1) # 获取IPv6地址
$(ip -4 addr show dev eth0 | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | head -n 1) # 获取IPv4地址
在上述脚本中,ipv4_address 变量将包含系统的IPv4地址,然后将其包含在POST请求的数据中。注意,将 type 参数更改为 A,以指示这是一个IPv4地址
保存并退出编辑器。
使用 crontab -e 命令来编辑你的用户的cron作业:
crontab -e
在打开的编辑器中,添加一行来定义定时任务,例如,如果你想每6小时执行一次,可以添加:
0 */6 * * * /path/to/post_url.sh
请替换 /path/to/post_url.sh 为你实际脚本文件的路径。
保存并退出编辑器。cron会在每小时的0分钟每6小时执行 post_url.sh 脚本。
现在,Ubuntu将会每6小时自动执行 post_url.sh 脚本,该脚本会发送POST请求到指定的URL,并包含生成的数据。确保脚本文件路径和cron定时任务设置都正确。
本教程实现具体修改域名解析地址为本机网卡 出口ipv6 地址,其它功能请根据需要修改,本教程来自 CHAT-GPT。