# dedyn_desec_simple_tool **Repository Path**: osnosn/dedyn_desec_simple_tool ## Basic Information - **Project Name**: dedyn_desec_simple_tool - **Description**: A simple client tool for dedyn.io, desec.io. - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-28 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: desec, dedyn, ddns ## README # dedyn_desec_simple_tool #### 介绍 a client tool for dedyn.io, desec.io. #### 软件架构 只有一个 bash 脚本. #### 安装教程 * 适用 debian/ubuntu 等 linux 终端。 * 需要 `apt install jq curl util-linux coreutils` 的支持。 * 把 `desec_ddns_RRset.sh` 拷贝到本地。 * `chmod +x desec_ddns_RRset.sh` * `./desec_ddns_RRset.sh -h` 查看帮助 #### 使用说明 * 修改`desec_ddns_RRset.sh` 前几行。 ``` # DDNS开源/desec.io/注册账号/需要先收邮件,点击激活链接,才能设置密码/建议设置2FA保证账户安全/ EMAIL_USR='xxx@email' #desec.io 的账号 EMAIL_PWD='xxxxxxxxxx' #密码 #高权限的 api_token admin_token='ac------------------------tH' #main_token #长期有效api_token, 如果被注销,需要登录 desec.io 创建一个新的api_token, 然后更新ddns脚本中的token #无token管理权限,无创建/删除域名权限的api_token; 不能list_tokens,show_account_info, 其他都能操作. api_token='yy------------------------RR' #update_token,(不能管理token,不能创建/删除域名;可以创建rrset子记录) ``` * EMAIL_USR, EMAIL_PWD 可以不设置, admin_token 按需设置, api_token 必须要设置. * `./desec_ddns_RRset.sh -h` 查看帮助 ``` -------------------------- Version: v1.1 Date: 2025-09 Usage: ./desec_ddns_RRset.sh ... [parameters ...] Commands: #####不指定 --api或--admin 参数,则默认使用 "临时login_token"##### --accinfo show account_info. --tokens list all tokens. --token-conf help Show token-config file Examples & Notes.配置文件的例子和说明. --create-token create token. '-s token_name [--token-conf ]' --show-token show token. '-v token_id' --modify-token modify token. '-v token_id -s token_name [--token-conf ]' --delete-token delete token. '-v token_id' --token-policy list token all policies. '-v token_id' --create-policy create token policy. '-v token_id [-d domain] [-s subname] [-t type] [--write]' --modify-policy modify token policy. '-v token_id -p policy_id [-d domain] [-s subname] [-t type] [--write]' --delete-policy delete token policy. '-v token_id -p policy_id' --domains list all domains.' --show-domain show domain. '-d ' --zones list domain zonefile. '-d ' --rrsets list domain rrset. '-d ' --stats list domain stats. '-d ' --cname1 create/modify rrset '-d -s -v value' --cname2 delete rrset '-d -s ' --txt1 create/modify rrset '-d -s -v value' --txt2 delete rrset '-d -s ' -u, --update update IPs. '-d --ipv4 --ipv6 ' 给 nnn.更新ipv4/ipv6, 会自动创建nnn的 A/AAAA 子记录. ##### CNAME, TXT 也可以通过以下的"子记录"操作 实现 create/modify/delete 操作 ##### --rrset1 创建/修改 子记录,指定记录类型 '-d -s -t A -v 127.0.0.1' --rrset2 删除 子记录,指定记录类型 '-d -s -t A' --myipv4, --myipv6 通过外部网站,获取自己的外部 ipv4, ipv6地址 --localipv4, --localipv6 通过本机网口,获取本机的 ipv4, ipv6地址 -h, --help Show this help message. -V, --version Show version info. Parameters: -a, --api USE api_token, 使用api_token. 例如: ./desec_ddns_RRset.sh -a --domains (list all domains) --admin USE admin_token, 使用高权限的admin_token -d, --domain 指定域名. "test.dedyn.io" -s, --subname 指定子记录名.不包含主域名. "mysub" -t, --type 子记录的记录类型. (必须大写) A, AAAA, AFSDB, APL, CAA, CDNSKEY, CDS, CERT, CNAME, DHCID, DNAME, DNSKEY, DLV, DS, EUI48, EUI64, HINFO, HTTPS, KX, L32, L64, LOC, LP, MX, NAPTR, NID, NS, OPENPGPKEY, PTR, RP, SMIMEA, SPF, SRV, SSHFP, SVCB, TLSA, TXT, URI -d, -s, -t 用于 token_policy 时, 不设置:对应{domain, subname, type}值为 null -v,--value 子记录的 内容/值. token操作时:token_id -p,--policy token_policy_id. --token-conf Set token-config filename.配置文件名. --write set {perm_write:true}, otherwise{perm_write:false} --ipv4 ipv4 address. "127.0.0.2" --ipv6 ipv6 address. "2001::234" -D, --verbose 显示 curl 的progress进程. list tokens,domains 显示更详细. --proxy socks5h://usr:pwd@127.0.0.1:1080 curl 的代理. Examples: ./desec_ddns_RRset.sh --token-conf help | tee ./test.txt ./desec_ddns_RRset.sh --admin --modify-token -v 5cxxxxxxxxxdc -s any -token-conf ./test.txt ./desec_ddns_RRset.sh --admin --modify-policy -v e0xxxxxxxxxc2 -p 33xxxxxx88 -d test.dedyn.io -s nnn -t AAAA --write ./desec_ddns_RRset.sh -a --cname1 -d test.dedyn.io -s nnn -v test_cname_txt ./desec_ddns_RRset.sh -a --rrset1 -d xxx.dedyn.io -s nnn -t AAAA -v 2001::3 ./desec_ddns_RRset.sh -a --update -d nnn.test.dedyn.io --ipv6 2001::5 ./desec_ddns_RRset.sh --localipv6 ./desec_ddns_RRset.sh -a --domains --proxy http://usr:pwd@127.0.0.1:8080 Documentation: [dedyn_desec_simple_tool](https://gitee.com/osnosn/dedyn_desec_simple_tool) [deSEC.io DNS API](https://desec.readthedocs.io/) ------------------------- ``` * desec.io api 文档: [deSEC.io DNS API](https://desec.readthedocs.io/) #### 参与贡献 #### 其他类似的工具 * [s-hamann/desec-dns](https://github.com/s-hamann/desec-dns), 对于debian系统, 在 releases 中,找到 desec_dns-1.3.0.tar.gz 下载,解压, 执行 `python3 -m desec --help` #### 最后修改 * 2025-09