summaryrefslogtreecommitdiff
path: root/args.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-12-20 03:13:43 -0600
committerJeff Carr <[email protected]>2023-12-20 03:13:43 -0600
commit382cc8dd171731cc333dd05b7b0b798340162a32 (patch)
tree946e99e434183b3eb1272180799c3678f5c7e037 /args.go
parentbbf96ee7fa67a6d50ea1d1b3a23a3f44f136a30e (diff)
make a cloudflare packagev0.1.2
move cloudflare stuff to a package display cloudflare API values dns protobuf example sort output, but gocli formatting is bad cloudflare window can be closed first time success pushing AAAA records for my box enable a cloudflare button RFC 8482. DNS servers we use should respond to ANY We should support ANY requests via DNS as long as we enforce TCP over UDP populate the API provider domain NS record changes are tracked check hostname OS configuration detect domain name changes lookup of NS records for my domain name button to investigate port 53 daemon start dns resolver detection and debugging measure dns resolution speed sort todo items Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'args.go')
-rw-r--r--args.go65
1 files changed, 13 insertions, 52 deletions
diff --git a/args.go b/args.go
index 8df208b..04abc96 100644
--- a/args.go
+++ b/args.go
@@ -7,13 +7,14 @@ package main
import (
"log"
"fmt"
- "reflect"
- "strconv"
+ "time"
arg "github.com/alexflint/go-arg"
"git.wit.org/wit/gui"
// log "git.wit.org/wit/gui/log"
+ "git.wit.org/jcarr/control-panel-dns/cloudflare"
)
+var newRR *cloudflare.RRT
var args struct {
Verbose bool
@@ -40,57 +41,17 @@ func init() {
}
log.Println(true, "INIT() args.GuiArg.Gui =", gui.GuiArg.Gui)
- Set(&me, "default")
- log.Println("init() me.artificialSleep =", me.artificialSleep)
- log.Println("init() me.artificialS =", me.artificialS)
- me.artificialSleep = 2.3
- log.Println("init() me.artificialSleep =", me.artificialSleep)
- sleep(me.artificialSleep)
-}
+ newRR = &cloudflare.CFdialog
-func Set(ptr interface{}, tag string) error {
- if reflect.TypeOf(ptr).Kind() != reflect.Ptr {
- log.Println(logError, "Set() Not a pointer", ptr, "with tag =", tag)
- return fmt.Errorf("Not a pointer")
- }
-
- v := reflect.ValueOf(ptr).Elem()
- t := v.Type()
+ me.dnsTTL = 2 // how often to recheck DNS
+ me.dnsTTLsleep = 0.4 // sleep between loops
- for i := 0; i < t.NumField(); i++ {
- defaultVal := t.Field(i).Tag.Get(tag)
- name := t.Field(i).Name
- // log("Set() try name =", name, "defaultVal =", defaultVal)
- setField(v.Field(i), defaultVal, name)
- }
- return nil
-}
+ me.dnsSleep = 500 * time.Millisecond
+ me.localSleep = 100 * time.Millisecond
-func setField(field reflect.Value, defaultVal string, name string) error {
-
- if !field.CanSet() {
- // log("setField() Can't set value", field, defaultVal)
- return fmt.Errorf("Can't set value\n")
- } else {
- log.Println("setField() Can set value", name, defaultVal)
- }
-
- switch field.Kind() {
- case reflect.Int:
- val, _ := strconv.Atoi(defaultVal)
- field.Set(reflect.ValueOf(int(val)).Convert(field.Type()))
- case reflect.Float64:
- val, _ := strconv.ParseFloat(defaultVal, 64)
- field.Set(reflect.ValueOf(float64(val)).Convert(field.Type()))
- case reflect.String:
- field.Set(reflect.ValueOf(defaultVal).Convert(field.Type()))
- case reflect.Bool:
- if defaultVal == "true" {
- field.Set(reflect.ValueOf(true))
- } else {
- field.Set(reflect.ValueOf(false))
- }
- }
-
- return nil
+ me.artificialSleep = me.dnsTTLsleep // seems to need to exist or GTK crashes
+ me.artificialS = "blah"
+ log.Println("init() me.artificialSleep =", me.artificialSleep)
+ log.Println("init() me.artificialS =", me.artificialS)
+ sleep(me.artificialSleep)
}