win-acme这点就很坑,明明acme官方都支持各种dns商的接口,他就给个“其他”。文档也是简略得比我的银行账户还干净,查了半天他的文档以及谷歌百度必应,连猜带蒙终于是搞定了。意思就是说,通过自己写的一个命令,win-acme传参数给这个命令,这个命令完成dns的更新。下面是脚本,说实话写完好几个礼拜了,我自己也看不懂了,随便看看吧。正经还得用python、C#之类的比较方便,用cmd命令纯属偷懒。据说腾讯dnspod的API更新了,旧版现在还能用,以后不一定啥时候就不能用一行纯post搞定了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
@echo off cd C:\acme dns validation set file=TEMP.txt set line= for /f "usebackq delims=" %%a in ("%file%") do ( set "line=%%a" ) set line=%line:*record":{"id":"=% set line=%line:~0,10% if "%1"=="create" ( echo. >> TEMP.txt curl -X "POST" -d "login_token=123456,sdlfkjlef8yd9s8f67923hfasdfj3&format=json&domain_id=12345678&sub_domain=%3&record_type=TXT&record_line_id=0&value=%4" https://dnsapi.cn/Record.Create >> TEMP.txt ) else ( echo. >> DELETE.txt curl -X "POST" -d "login_token=123456,sdlfkjlef8yd9s8f67923hfasdfj3&format=json&domain_id=12345678&record_id=%line%" https://dnsapi.cn/Record.Remove >> DELETE.txt ) |