diff options
Diffstat (limited to 'cmds/cloudflare')
| -rw-r--r-- | cmds/cloudflare/Makefile | 18 | ||||
| -rw-r--r-- | cmds/cloudflare/argv.go | 30 | ||||
| -rw-r--r-- | cmds/cloudflare/dns.go | 115 | ||||
| -rw-r--r-- | cmds/cloudflare/main.go | 122 |
4 files changed, 0 insertions, 285 deletions
diff --git a/cmds/cloudflare/Makefile b/cmds/cloudflare/Makefile deleted file mode 100644 index bcd88c6..0000000 --- a/cmds/cloudflare/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -run: build - ./cloudflare - -build-release: - go get -v -u -x . - go build - ./cloudflare - -build: - GO111MODULE="off" go get -v -x . - GO111MODULE="off" go build - -update: - GO111MODULE="off" go get -v -u -x . - -log: - reset - tail -f /tmp/witgui.* /tmp/guilogfile diff --git a/cmds/cloudflare/argv.go b/cmds/cloudflare/argv.go deleted file mode 100644 index 38579c7..0000000 --- a/cmds/cloudflare/argv.go +++ /dev/null @@ -1,30 +0,0 @@ -// This creates a simple hello world window -package main - -import ( - "fmt" - arg "github.com/alexflint/go-arg" - "git.wit.org/wit/gui" - log "git.wit.org/wit/gui/log" -) - - -var args struct { - Foo string - Bar bool - User string `arg:"env:USER"` - Demo bool `help:"run a demo"` - gui.GuiArgs - log.LogArgs -} - -func init() { - arg.MustParse(&args) - fmt.Println(args.Foo, args.Bar, args.User) - - if (args.Gui != "") { - gui.GuiArg.Gui = args.Gui - } - log.Log(true, "INIT() args.GuiArg.Gui =", gui.GuiArg.Gui) - -} diff --git a/cmds/cloudflare/dns.go b/cmds/cloudflare/dns.go deleted file mode 100644 index 6626843..0000000 --- a/cmds/cloudflare/dns.go +++ /dev/null @@ -1,115 +0,0 @@ -// This is a simple example -package main - -import ( - "os" - "log" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "strconv" -) - -// Define a struct to match the JSON structure of the response. -// This structure should be adjusted based on the actual format of the response. -type DNSRecords struct { - Result []struct { - ID string `json:"id"` - Type string `json:"type"` - Name string `json:"name"` - Content string `json:"content"` - Proxied bool `json:"proxied"` - Proxiable bool `json:"proxiable"` - TTL int `json:"ttl"` - } `json:"result"` -} - -// var domain string = "wit.org" -// var os.Getenv("CLOUDFLARE_DOMAIN") - -func loadDNS(hostname string) { - log.Println("adding DNS record") - - // more2.NewButton(name, func () { - // log.Println(name, "ip =", ip) - // }) - - newt := mainWindow.NewTab(hostname) - newg := newt.NewGroup("more") - more2 := newg.NewGrid("gridnuts", 5, gridH) - - records := getRecords() - for _, record := range records.Result { - more2.NewLabel(record.Type) - more2.NewLabel(record.Name) - if (record.Proxied) { - more2.NewLabel("Proxied") - } else { - more2.NewLabel("DNS") - } - var ttl, short string - if (record.TTL == 1) { - ttl = "Auto" - } else { - ttl = strconv.Itoa(record.TTL) - } - more2.NewLabel(ttl) - // short = fmt.Sprintf("%80s", record.Content) - short = record.Content - if len(short) > 40 { - short = short[:40] // Slice the first 20 characters - } - more2.NewLabel(short) - - fmt.Printf("ID: %s, Type: %s, Name: %s, short Content: %s\n", record.ID, record.Type, record.Name, short) - fmt.Printf("\tproxied: %b, %b, string TTL: %i\n", record.Proxied, record.Proxiable, ttl) - } -} - - -func getRecords() *DNSRecords { - var url string = os.Getenv("CLOUDFLARE_URL") - req, err := http.NewRequest("GET", url, nil) - if err != nil { - fmt.Println(err) - return nil - } - - var authKey string = os.Getenv("CLOUDFLARE_AUTHKEY") - var email string = os.Getenv("CLOUDFLARE_EMAIL") - - // Set headers - req.Header.Set("X-Auth-Key", authKey) - req.Header.Set("X-Auth-Email", email) - - client := &http.Client{} - resp, err := client.Do(req) - if err != nil { - fmt.Println(err) - return nil - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - fmt.Println(err) - return nil - } - - var records DNSRecords - if err := json.Unmarshal(body, &records); err != nil { - fmt.Println(err) - return nil - } - - // Process the records as needed - /* - for _, record := range records.Result { - fmt.Printf("ID: %s, Type: %s, Name: %s, Content: %s\n", record.ID, record.Type, record.Name, record.Content) - fmt.Printf("\tproxied: %b, %b, TTL: %i\n", record.Proxied, record.Proxiable, record.TTL) - } - */ - - return &records -} diff --git a/cmds/cloudflare/main.go b/cmds/cloudflare/main.go deleted file mode 100644 index 75ba448..0000000 --- a/cmds/cloudflare/main.go +++ /dev/null @@ -1,122 +0,0 @@ -// This is a simple example -package main - -import ( - "os" - "fmt" - "log" - "strconv" - "git.wit.org/wit/gui" -) - -var title string = "Cloudflare DNS Control Panel" -var outfile string = "/tmp/guilogfile" -var myGui *gui.Node - -var buttonCounter int = 5 -var gridW int = 5 -var gridH int = 3 - -var mainWindow, more, more2 *gui.Node - -func main() { - myGui = gui.New().Default() - buttonWindow() - - // This is just a optional goroutine to watch that things are alive - gui.Watchdog() - gui.StandardExit() -} - -// This creates a window -func buttonWindow() { - var t, g *gui.Node - - log.Println("buttonWindow() START") - - mainWindow = myGui.NewWindow(title).SetText(title) - t = mainWindow.NewTab("Cloudflare") - g = t.NewGroup("buttons") - g1 := t.NewGroup("buttonGroup 2") - - more = g1.NewGroup("more") - showCloudflareCredentials(more) - - g1.NewButton("hello", func () { - log.Println("world") - }) - more2 = g1.NewGrid("gridnuts", gridW, gridH) - - var domain string = os.Getenv("CLOUDFLARE_DOMAIN") - if (domain == "") { - domain = "example.org" - } - - g.NewButton("Load " + domain + " DNS", func () { - loadDNS(domain) - }) - - g.NewButton("Load 'gocui'", func () { - // this set the xterm and mate-terminal window title. maybe works generally? - fmt.Println("\033]0;" + title + "blah \007") - myGui.LoadToolkit("gocui") - }) - - g.NewButton("Load 'andlabs'", func () { - myGui.LoadToolkit("andlabs") - }) - - g.NewButton("NewButton(more)", func () { - name := "foobar " + strconv.Itoa(buttonCounter) - log.Println("NewButton(more) Adding button", name) - buttonCounter += 1 - more.NewButton(name, func () { - log.Println("Got all the way to main() name =", name) - }) - }) - - g.NewButton("NewButton(more2)", func () { - name := "foobar " + strconv.Itoa(buttonCounter) - log.Println("NewButton(more2) Adding button", name) - buttonCounter += 1 - more2.NewButton(name, func () { - log.Println("Got all the way to main() name =", name) - }) - }) - - g.NewButton("NewButton(more2 d)", func () { - name := "d" + strconv.Itoa(buttonCounter) - log.Println("NewButton(more2 d) Adding button", name) - buttonCounter += 1 - more2.NewButton(name, func () { - log.Println("Got all the way to main() name =", name) - }) - }) - - g.NewButton("NewGroup()", func () { - name := "neat " + strconv.Itoa(buttonCounter) - log.Println("NewGroup() Adding button", name) - buttonCounter += 1 - more.NewGroup(name) - }) - - g.NewButton("gui.DebugWindow()", func () { - gui.DebugWindow() - }) -} - -func showCloudflareCredentials(box *gui.Node) { - grid := box.NewGrid("credsGrid", 2, 4) // width = 2 - - grid.NewLabel("Domain") - grid.NewLabel(os.Getenv("CLOUDFLARE_DOMAIN")) - - grid.NewLabel("Auth Key") - grid.NewLabel(os.Getenv("CLOUDFLARE_AUTHKEY")) - - grid.NewLabel("Email") - grid.NewLabel(os.Getenv("CLOUDFLARE_EMAIL")) - - grid.NewLabel("URL") - grid.NewLabel(os.Getenv("CLOUDFLARE_URL")) -} |
