需要 golang 1.21.*
的环境,推荐使用 golang 1.21.9
版本,各个操作系统的该版本号下载地址:
- Windows amd64:https://golang.google.cn/dl/go1.21.11.windows-amd64.zip
- Linux amd64:https://golang.google.cn/dl/go1.21.11.linux-amd64.tar.gz
- Linux arm64:https://golang.google.cn/dl/go1.21.11.linux-arm64.tar.gz
- MacOS amd64:https://golang.google.cn/dl/go1.21.11.darwin-amd64.tar.gz
- MacOS arm64:https://golang.google.cn/dl/go1.21.11.darwin-arm64.tar.gz
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go mod tidy
注意在Windows下编译的代码只能在Windows下执行,如果需要在Linux下运行则需要在Linux下从新编译,Windows下编译生成的是.exe可执行文件。执行以下代码进行编译(windows下需要安装git并且用git bash执行):
./build.sh
执行完成后会在项目 bin
录地下出现一个可执行文件,文件名各个系统不一样:
- Windows: greateme_ddns.exe
- Linux/MacOS: greateme_ddns
同时会在 bin/conf
目录下生成一个 config.ini
配置文件,我们需要修改一下这个配置文件:
accessKeyId
: 改为阿里云的accessKey
accessKeySecret
: 改为阿里云的accessKeySecret
domainEndpoint
: 查询域名的Endpoint,默认为杭州,无需修改dnsEndpoint
: DNS的Endpoint,默认为深圳,可根据配置文件当中注释和地理位置进行修改domainList
: 域名列表,多个用逗号隔开dnsType
: 解析类型,只能填写 ipv4 和 ipv6,默认为ipv4(注意全部小写且不能为大写)type
: 执行类型,可选值:single 和 repetition ,single:只执行一次,需要配合系统的定时任务执行。repetition重复执行,需要配合durationMinute配置项执行durationMinute
: 时隔多久更新一次(单位为分钟),默认为十分钟,可无需修改
可直接在bin目录下执行可执行文件即可