diff options
Diffstat (limited to 'structs.go')
| -rw-r--r-- | structs.go | 39 |
1 files changed, 35 insertions, 4 deletions
@@ -3,7 +3,9 @@ package main import ( "net" + "time" "git.wit.org/wit/gui" + "github.com/miekg/dns" ) // It's probably a terrible idea to call this 'me' @@ -11,13 +13,18 @@ var me Host type Host struct { hostname string // mirrors - domainname string // kernel.org + domainname *gui.Node // kernel.org + hostshort *gui.Node // hostname -s + hostnameStatus *gui.Node // is the hostname configured correctly in the OS? // fqdn string // mirrors.kernel.org - dnsTTL int `default:3` // Recheck DNS is working every TTL (in seconds) + dnsTTL int `default:"3"` // Recheck DNS is working every TTL (in seconds) dnsTTLsleep float64 // sleep between loops - artificialSleep float64 `default:0.7` // artificial sleep on startup - artificialS string `default:0.7` // artificial sleep on startup + artificialSleep float64 `default:"0.7"` // artificial sleep on startup + artificialS string `default:"abc"` // artificial sleep on startup + + dnsSleep time.Duration + localSleep time.Duration changed bool // set to true if things changed user string // name of the user @@ -25,19 +32,43 @@ type Host struct { ipmap map[string]*IPtype // the current ip addresses dnsmap map[string]*IPtype // the current dns addresses ifmap map[int]*IFtype // the current interfaces + nsmap map[string]string // the NS records + + // DNS A and AAAA results + ipv4s map[string]dns.RR + ipv6s map[string]dns.RR window *gui.Node // the main window tab *gui.Node // the main dns tab notes *gui.Node // using this to put notes here + + // local OS settings, network interfaces, etc uid *gui.Node // user fqdn *gui.Node // display the full hostname IPv4 *gui.Node // show valid IPv4 addresses IPv6 *gui.Node // show valid IPv6 addresses Interfaces *gui.Node // Interfaces + LocalSpeedActual *gui.Node // the time it takes to check each network interface + + // DNS stuff + NSrr *gui.Node // NS resource records for the domain name + DnsAPI *gui.Node // what DNS API to use? DnsAAAA *gui.Node // the actual DNS AAAA results DnsA *gui.Node // the actual DNS A results (ignore for status since mostly never happens?) DnsStatus *gui.Node // the current state of DNS + DnsSpeed *gui.Node // 'FAST', 'OK', 'SLOW', etc + DnsSpeedActual *gui.Node // the last actual duration + DnsSpeedLast string // the last state 'FAST', 'OK', etc + fix *gui.Node // button for the user to click + fixProc *gui.Node // button for the user to click + + mainStatus *gui.Node // group for the main display of stuff + cloudflareB *gui.Node // cloudflare button + + dbOn *gui.Node // button for setting debugging on + dbNet *gui.Node // button for setting network debugging on + dbProc *gui.Node // button for setting proc debugging on } type IPtype struct { |
