parent
586494505b
commit
f0b712faf8
24
api.go
24
api.go
|
@ -23,7 +23,7 @@ func DoChange() *RRT {
|
||||||
dnsRow = new(RRT)
|
dnsRow = new(RRT)
|
||||||
|
|
||||||
log.Log(INFO, "DoChange() START")
|
log.Log(INFO, "DoChange() START")
|
||||||
if (CFdialog.proxyNode.String() == "On") {
|
if CFdialog.proxyNode.String() == "On" {
|
||||||
dnsRow.Proxied = true
|
dnsRow.Proxied = true
|
||||||
} else {
|
} else {
|
||||||
dnsRow.Proxied = false
|
dnsRow.Proxied = false
|
||||||
|
@ -44,7 +44,7 @@ func DoChange() *RRT {
|
||||||
// show the JSON
|
// show the JSON
|
||||||
log.Log(INFO, dnsRow)
|
log.Log(INFO, dnsRow)
|
||||||
|
|
||||||
if (CFdialog.curlNode != nil) {
|
if CFdialog.curlNode != nil {
|
||||||
pretty, _ := FormatJSON(dnsRow.data)
|
pretty, _ := FormatJSON(dnsRow.data)
|
||||||
log.Log(INFO, "http PUT curl =", pretty)
|
log.Log(INFO, "http PUT curl =", pretty)
|
||||||
CFdialog.curlNode.SetText(pretty)
|
CFdialog.curlNode.SetText(pretty)
|
||||||
|
@ -54,36 +54,36 @@ func DoChange() *RRT {
|
||||||
|
|
||||||
func SetRow(dnsRow *RRT) {
|
func SetRow(dnsRow *RRT) {
|
||||||
log.Log(INFO, "Look for changes in row", dnsRow.ID)
|
log.Log(INFO, "Look for changes in row", dnsRow.ID)
|
||||||
if (CFdialog.proxyNode != nil) {
|
if CFdialog.proxyNode != nil {
|
||||||
log.Log(INFO, "Proxy", dnsRow.Proxied, "vs", CFdialog.proxyNode.String())
|
log.Log(INFO, "Proxy", dnsRow.Proxied, "vs", CFdialog.proxyNode.String())
|
||||||
if (dnsRow.Proxied == true) {
|
if dnsRow.Proxied == true {
|
||||||
CFdialog.proxyNode.SetText("On")
|
CFdialog.proxyNode.SetText("On")
|
||||||
} else {
|
} else {
|
||||||
CFdialog.proxyNode.SetText("Off")
|
CFdialog.proxyNode.SetText("Off")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CFdialog.zoneNode != nil) {
|
if CFdialog.zoneNode != nil {
|
||||||
CFdialog.zoneNode.SetText(dnsRow.Domain)
|
CFdialog.zoneNode.SetText(dnsRow.Domain)
|
||||||
}
|
}
|
||||||
if (CFdialog.zoneIdNode != nil) {
|
if CFdialog.zoneIdNode != nil {
|
||||||
CFdialog.zoneIdNode.SetText(dnsRow.ZoneID)
|
CFdialog.zoneIdNode.SetText(dnsRow.ZoneID)
|
||||||
}
|
}
|
||||||
log.Log(INFO, "zoneIdNode =", dnsRow.ZoneID)
|
log.Log(INFO, "zoneIdNode =", dnsRow.ZoneID)
|
||||||
if (CFdialog.rrNode != nil) {
|
if CFdialog.rrNode != nil {
|
||||||
CFdialog.rrNode.SetText(dnsRow.ID)
|
CFdialog.rrNode.SetText(dnsRow.ID)
|
||||||
}
|
}
|
||||||
if (CFdialog.ValueNode != nil) {
|
if CFdialog.ValueNode != nil {
|
||||||
log.Log(INFO, "Content", dnsRow.Content, "vs", CFdialog.ValueNode.String())
|
log.Log(INFO, "Content", dnsRow.Content, "vs", CFdialog.ValueNode.String())
|
||||||
CFdialog.ValueNode.SetText(dnsRow.Content)
|
CFdialog.ValueNode.SetText(dnsRow.Content)
|
||||||
}
|
}
|
||||||
if (CFdialog.NameNode != nil) {
|
if CFdialog.NameNode != nil {
|
||||||
CFdialog.NameNode.SetText(dnsRow.Name)
|
CFdialog.NameNode.SetText(dnsRow.Name)
|
||||||
}
|
}
|
||||||
if (CFdialog.TypeNode != nil) {
|
if CFdialog.TypeNode != nil {
|
||||||
CFdialog.TypeNode.SetText(dnsRow.Type)
|
CFdialog.TypeNode.SetText(dnsRow.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CFdialog.urlNode != nil) {
|
if CFdialog.urlNode != nil {
|
||||||
url := cloudflareURL + dnsRow.ZoneID + "/dns_records/" + dnsRow.ID
|
url := cloudflareURL + dnsRow.ZoneID + "/dns_records/" + dnsRow.ID
|
||||||
CFdialog.urlNode.SetText(url)
|
CFdialog.urlNode.SetText(url)
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ func SetRow(dnsRow *RRT) {
|
||||||
// show the JSON
|
// show the JSON
|
||||||
tmp := makeJSON(dnsRow)
|
tmp := makeJSON(dnsRow)
|
||||||
log.Spew(tmp)
|
log.Spew(tmp)
|
||||||
if (CFdialog.curlNode != nil) {
|
if CFdialog.curlNode != nil {
|
||||||
pretty, _ := FormatJSON(tmp)
|
pretty, _ := FormatJSON(tmp)
|
||||||
log.Spew("http PUT curl =", pretty)
|
log.Spew("http PUT curl =", pretty)
|
||||||
CFdialog.curlNode.SetText(pretty)
|
CFdialog.curlNode.SetText(pretty)
|
||||||
|
|
|
@ -17,11 +17,11 @@ func Create(zone string, hostname string, value string) bool {
|
||||||
key := os.Getenv("CF_API_KEY")
|
key := os.Getenv("CF_API_KEY")
|
||||||
email := os.Getenv("CF_API_EMAIL")
|
email := os.Getenv("CF_API_EMAIL")
|
||||||
|
|
||||||
if (key == "") {
|
if key == "" {
|
||||||
log.Warn("cloudflare.Create() MISSING environment variable CF_API_KEY")
|
log.Warn("cloudflare.Create() MISSING environment variable CF_API_KEY")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (email == "") {
|
if email == "" {
|
||||||
log.Warn("cloudflare.Create() MISSING environment variable CF_API_EMAIL")
|
log.Warn("cloudflare.Create() MISSING environment variable CF_API_EMAIL")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -30,12 +30,12 @@ func Create(zone string, hostname string, value string) bool {
|
||||||
var z *ConfigT
|
var z *ConfigT
|
||||||
for d, v := range Config {
|
for d, v := range Config {
|
||||||
log.Log(INFO, "cloudflare.Create() zone =", d, "value =", v)
|
log.Log(INFO, "cloudflare.Create() zone =", d, "value =", v)
|
||||||
if (zone == d) {
|
if zone == d {
|
||||||
z = Config[zone]
|
z = Config[zone]
|
||||||
log.Log(INFO, "cloudflare.Create() FOUND ZONE", zone, "ID =", z.ZoneID)
|
log.Log(INFO, "cloudflare.Create() FOUND ZONE", zone, "ID =", z.ZoneID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (z == nil) {
|
if z == nil {
|
||||||
log.Warn("cloudflare.Create() COULD NOT FIND ZONE", zone)
|
log.Warn("cloudflare.Create() COULD NOT FIND ZONE", zone)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
14
delete.go
14
delete.go
|
@ -7,8 +7,8 @@
|
||||||
package cloudflare
|
package cloudflare
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Delete(zone string, hostname string, value string) (bool, string) {
|
func Delete(zone string, hostname string, value string) (bool, string) {
|
||||||
|
@ -16,11 +16,11 @@ func Delete(zone string, hostname string, value string) (bool, string) {
|
||||||
key := os.Getenv("CF_API_KEY")
|
key := os.Getenv("CF_API_KEY")
|
||||||
email := os.Getenv("CF_API_EMAIL")
|
email := os.Getenv("CF_API_EMAIL")
|
||||||
|
|
||||||
if (key == "") {
|
if key == "" {
|
||||||
log.Log(WARN, "Delete() MISSING environment variable CF_API_KEY")
|
log.Log(WARN, "Delete() MISSING environment variable CF_API_KEY")
|
||||||
return false, ""
|
return false, ""
|
||||||
}
|
}
|
||||||
if (email == "") {
|
if email == "" {
|
||||||
log.Log(WARN, "Delete() MISSING environment variable CF_API_EMAIL")
|
log.Log(WARN, "Delete() MISSING environment variable CF_API_EMAIL")
|
||||||
return false, ""
|
return false, ""
|
||||||
}
|
}
|
||||||
|
@ -29,12 +29,12 @@ func Delete(zone string, hostname string, value string) (bool, string) {
|
||||||
var z *ConfigT
|
var z *ConfigT
|
||||||
for d, v := range Config {
|
for d, v := range Config {
|
||||||
log.Log(INFO, "Delete() zone =", d, "value =", v)
|
log.Log(INFO, "Delete() zone =", d, "value =", v)
|
||||||
if (zone == d) {
|
if zone == d {
|
||||||
z = Config[zone]
|
z = Config[zone]
|
||||||
log.Log(INFO, "Delete() FOUND ZONE", zone, "ID =", z.ZoneID)
|
log.Log(INFO, "Delete() FOUND ZONE", zone, "ID =", z.ZoneID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (z == nil) {
|
if z == nil {
|
||||||
log.Log(WARN, "Delete() COULD NOT FIND ZONE", zone)
|
log.Log(WARN, "Delete() COULD NOT FIND ZONE", zone)
|
||||||
return false, ""
|
return false, ""
|
||||||
}
|
}
|
||||||
|
@ -42,10 +42,10 @@ func Delete(zone string, hostname string, value string) (bool, string) {
|
||||||
|
|
||||||
records := GetZonefile(z)
|
records := GetZonefile(z)
|
||||||
for i, record := range records.Result {
|
for i, record := range records.Result {
|
||||||
if (record.Name == hostname) {
|
if record.Name == hostname {
|
||||||
log.Log(INFO, "Delete() FOUND hostname:", i, record.ID, record.Type, record.Name, record.Content)
|
log.Log(INFO, "Delete() FOUND hostname:", i, record.ID, record.Type, record.Name, record.Content)
|
||||||
}
|
}
|
||||||
if (record.Content == value) {
|
if record.Content == value {
|
||||||
log.Log(INFO, "Delete() FOUND CONTENT:", i, record.ID, record.Type, record.Name, record.Content)
|
log.Log(INFO, "Delete() FOUND CONTENT:", i, record.ID, record.Type, record.Name, record.Content)
|
||||||
log.Log(INFO, "Delete() DO THE ACTUAL cloudflare DELETE here")
|
log.Log(INFO, "Delete() DO THE ACTUAL cloudflare DELETE here")
|
||||||
result := doCurlDelete(key, email, z.ZoneID, record.ID)
|
result := doCurlDelete(key, email, z.ZoneID, record.ID)
|
||||||
|
|
4
http.go
4
http.go
|
@ -2,9 +2,9 @@
|
||||||
package cloudflare
|
package cloudflare
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"bytes"
|
|
||||||
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
@ -118,7 +118,7 @@ func doCurl(method string, rr *RRT) string {
|
||||||
|
|
||||||
data := []byte(rr.data)
|
data := []byte(rr.data)
|
||||||
|
|
||||||
if (method == "PUT") {
|
if method == "PUT" {
|
||||||
req, err = http.NewRequest(http.MethodPut, rr.url, bytes.NewBuffer(data))
|
req, err = http.NewRequest(http.MethodPut, rr.url, bytes.NewBuffer(data))
|
||||||
} else {
|
} else {
|
||||||
req, err = http.NewRequest(http.MethodPost, rr.url, bytes.NewBuffer(data))
|
req, err = http.NewRequest(http.MethodPost, rr.url, bytes.NewBuffer(data))
|
||||||
|
|
|
@ -4,9 +4,9 @@ package cloudflare
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"go.wit.com/log"
|
|
||||||
"go.wit.com/gui/gui"
|
"go.wit.com/gui/gui"
|
||||||
"go.wit.com/gui/gadgets"
|
"go.wit.com/lib/gadgets"
|
||||||
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func LoadZoneWindow(n *gui.Node, c *ConfigT) {
|
func LoadZoneWindow(n *gui.Node, c *ConfigT) {
|
||||||
|
@ -54,14 +54,14 @@ func LoadZoneWindow(n *gui.Node, c *ConfigT) {
|
||||||
grid.NewLabel(record.Name)
|
grid.NewLabel(record.Name)
|
||||||
|
|
||||||
proxy := grid.NewLabel("proxy")
|
proxy := grid.NewLabel("proxy")
|
||||||
if (record.Proxied) {
|
if record.Proxied {
|
||||||
proxy.SetText("On")
|
proxy.SetText("On")
|
||||||
} else {
|
} else {
|
||||||
proxy.SetText("Off")
|
proxy.SetText("Off")
|
||||||
}
|
}
|
||||||
|
|
||||||
var ttl string
|
var ttl string
|
||||||
if (record.TTL == 1) {
|
if record.TTL == 1 {
|
||||||
ttl = "Auto"
|
ttl = "Auto"
|
||||||
} else {
|
} else {
|
||||||
ttl = strconv.Itoa(record.TTL)
|
ttl = strconv.Itoa(record.TTL)
|
||||||
|
|
|
@ -4,9 +4,9 @@ package cloudflare
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"go.wit.com/log"
|
|
||||||
"go.wit.com/gui/gui"
|
"go.wit.com/gui/gui"
|
||||||
"go.wit.com/gui/gadgets"
|
"go.wit.com/lib/gadgets"
|
||||||
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
// This creates a window
|
// This creates a window
|
||||||
|
@ -35,7 +35,7 @@ func MakeCloudflareWindow(n *gui.Node) *gadgets.BasicWindow {
|
||||||
CFdialog.zonedrop.Custom = func() {
|
CFdialog.zonedrop.Custom = func() {
|
||||||
domain := CFdialog.zonedrop.String()
|
domain := CFdialog.zonedrop.String()
|
||||||
log.Log(ZONE, "custom dropdown() zone (domain name) =", CFdialog.zonedrop.String(), domain)
|
log.Log(ZONE, "custom dropdown() zone (domain name) =", CFdialog.zonedrop.String(), domain)
|
||||||
if (Config[domain] == nil) {
|
if Config[domain] == nil {
|
||||||
log.Log(ZONE, "custom dropdown() Config[domain] = nil for domain =", domain)
|
log.Log(ZONE, "custom dropdown() Config[domain] = nil for domain =", domain)
|
||||||
CFdialog.domainWidget.SetText(domain)
|
CFdialog.domainWidget.SetText(domain)
|
||||||
CFdialog.zoneWidget.SetText("")
|
CFdialog.zoneWidget.SetText("")
|
||||||
|
|
6
rr.go
6
rr.go
|
@ -9,9 +9,9 @@ package cloudflare
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"go.wit.com/log"
|
|
||||||
"go.wit.com/gui/gui"
|
"go.wit.com/gui/gui"
|
||||||
"go.wit.com/gui/gadgets"
|
"go.wit.com/lib/gadgets"
|
||||||
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -19,7 +19,7 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateRR(myGui *gui.Node, zone string, zoneID string) *gadgets.BasicWindow {
|
func CreateRR(myGui *gui.Node, zone string, zoneID string) *gadgets.BasicWindow {
|
||||||
if (CFdialog.cloudflareW != nil) {
|
if CFdialog.cloudflareW != nil {
|
||||||
// skip this if the window has already been created
|
// skip this if the window has already been created
|
||||||
log.Warn("createRR() the cloudflare window already exists")
|
log.Warn("createRR() the cloudflare window already exists")
|
||||||
CFdialog.cloudflareB.Disable()
|
CFdialog.cloudflareB.Disable()
|
||||||
|
|
|
@ -3,7 +3,7 @@ package cloudflare
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go.wit.com/gui/gui"
|
"go.wit.com/gui/gui"
|
||||||
"go.wit.com/gui/gadgets"
|
"go.wit.com/lib/gadgets"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cloudflareURL string = "https://api.cloudflare.com/client/v4/zones/"
|
var cloudflareURL string = "https://api.cloudflare.com/client/v4/zones/"
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
package cloudflare
|
package cloudflare
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go.wit.com/log"
|
|
||||||
"go.wit.com/gui/gui"
|
"go.wit.com/gui/gui"
|
||||||
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
func drawZoneBox(box *gui.Node) {
|
func drawZoneBox(box *gui.Node) {
|
||||||
|
@ -20,7 +20,7 @@ func drawZoneBox(box *gui.Node) {
|
||||||
CFdialog.zonedrop.Custom = func() {
|
CFdialog.zonedrop.Custom = func() {
|
||||||
domain := CFdialog.zonedrop.String()
|
domain := CFdialog.zonedrop.String()
|
||||||
log.Log(INFO, "custom dropdown() zone (domain name) =", CFdialog.zonedrop.String(), domain)
|
log.Log(INFO, "custom dropdown() zone (domain name) =", CFdialog.zonedrop.String(), domain)
|
||||||
if (Config[domain] == nil) {
|
if Config[domain] == nil {
|
||||||
log.Log(INFO, "custom dropdown() Config[domain] = nil for domain =", domain)
|
log.Log(INFO, "custom dropdown() Config[domain] = nil for domain =", domain)
|
||||||
CFdialog.domainWidget.SetText(domain)
|
CFdialog.domainWidget.SetText(domain)
|
||||||
CFdialog.zoneWidget.SetText("")
|
CFdialog.zoneWidget.SetText("")
|
||||||
|
|
Loading…
Reference in New Issue