add MX record
This commit is contained in:
parent
a76eff8814
commit
3f5d108177
@ -14,7 +14,7 @@ CLI tool to manage cloudflare DNS records
|
||||
|
||||
## Features
|
||||
|
||||
1. Add/Modify `A`, `AAAA`, `CNAME` records
|
||||
1. Add/Modify `A`, `AAAA`, `CNAME`, `MX` records
|
||||
2. List/Delete records
|
||||
3. Save all records in JSON format
|
||||
|
||||
@ -30,6 +30,7 @@ Usage of cloudflare-dns-cli:
|
||||
Domain name, e.g. example.com. env var: DOMAIN
|
||||
-i value
|
||||
IP address (default 127.0.0.1)
|
||||
-m Set mx record with cname value
|
||||
-o string
|
||||
Path to save all records as json, e.g. ./records.json
|
||||
-s string
|
||||
|
10
main.go
10
main.go
@ -23,6 +23,7 @@ var (
|
||||
sub = "<UNSET>"
|
||||
path string
|
||||
del = false
|
||||
mx = false
|
||||
)
|
||||
|
||||
func genRecord() (libdns.Record, error) {
|
||||
@ -30,11 +31,19 @@ func genRecord() (libdns.Record, error) {
|
||||
ipv6 := ip.To16()
|
||||
switch {
|
||||
case cname != "":
|
||||
if mx {
|
||||
return libdns.Record{
|
||||
Type: "MX",
|
||||
Name: sub,
|
||||
Value: cname,
|
||||
}, nil
|
||||
} else {
|
||||
return libdns.Record{
|
||||
Type: "CNAME",
|
||||
Name: sub,
|
||||
Value: cname,
|
||||
}, nil
|
||||
}
|
||||
case ipv4 != nil:
|
||||
return libdns.Record{
|
||||
Type: "A",
|
||||
@ -101,6 +110,7 @@ func main() {
|
||||
flag.StringVar(&cname, "c", cname, "CNAME target")
|
||||
flag.StringVar(&path, "o", path, "Path to save all records as json, e.g. ./records.json")
|
||||
flag.BoolVar(&del, "x", del, "Delete records of subdomain")
|
||||
flag.BoolVar(&mx, "m", mx, "Set mx record with cname value")
|
||||
flag.Parse()
|
||||
|
||||
provider := cloudflare.Provider{APIToken: token}
|
||||
|
Loading…
Reference in New Issue
Block a user