2023-02-08 11:04:04 -06:00
|
|
|
package main
|
|
|
|
|
2023-12-16 09:02:59 -06:00
|
|
|
/*
|
|
|
|
this parses the command line arguements
|
2023-12-29 17:29:47 -06:00
|
|
|
|
|
|
|
this enables command line options from other packages like 'gui' and 'log'
|
2023-12-16 09:02:59 -06:00
|
|
|
*/
|
|
|
|
|
2023-02-08 11:04:04 -06:00
|
|
|
import (
|
2023-12-20 03:13:43 -06:00
|
|
|
"time"
|
2023-12-16 09:02:59 -06:00
|
|
|
arg "github.com/alexflint/go-arg"
|
2024-01-03 12:40:31 -06:00
|
|
|
"go.wit.com/log"
|
2024-01-03 13:25:07 -06:00
|
|
|
"go.wit.com/gui/debugger"
|
2023-02-08 11:04:04 -06:00
|
|
|
)
|
|
|
|
|
2023-12-16 09:02:59 -06:00
|
|
|
var args struct {
|
2023-04-07 11:23:47 -05:00
|
|
|
Display string `arg:"env:DISPLAY"`
|
2023-12-29 17:29:47 -06:00
|
|
|
VerboseDNS bool `arg:"--verbose-dns" help:"debug your dns settings"`
|
2023-02-08 11:04:04 -06:00
|
|
|
}
|
2023-03-01 11:21:47 -06:00
|
|
|
|
2024-01-03 19:33:13 -06:00
|
|
|
var NOW log.LogFlag
|
2024-01-06 11:12:10 -06:00
|
|
|
var INFO log.LogFlag
|
2024-01-06 01:41:33 -06:00
|
|
|
var NET log.LogFlag
|
|
|
|
var DNS log.LogFlag
|
2024-01-06 19:58:58 -06:00
|
|
|
var WARN log.LogFlag
|
2024-01-03 12:40:31 -06:00
|
|
|
var SPEW log.LogFlag
|
2024-01-03 19:33:13 -06:00
|
|
|
var CHANGE log.LogFlag
|
2024-01-06 01:41:33 -06:00
|
|
|
var STATUS log.LogFlag
|
2024-01-03 12:40:31 -06:00
|
|
|
|
2024-01-06 19:58:58 -06:00
|
|
|
func myreg(f *log.LogFlag, b bool, name string, desc string) {
|
|
|
|
f.B = b
|
|
|
|
f.Subsystem = "go.wit.com/control-panels/dns"
|
|
|
|
f.Short = "cpdns"
|
|
|
|
f.Desc = desc
|
|
|
|
f.Name = name
|
|
|
|
f.Register()
|
|
|
|
}
|
|
|
|
|
2023-12-16 09:02:59 -06:00
|
|
|
func init() {
|
|
|
|
arg.MustParse(&args)
|
2023-12-29 17:29:47 -06:00
|
|
|
// fmt.Println(args.Foo, args.Bar, args.User)
|
2023-12-16 09:02:59 -06:00
|
|
|
|
2024-01-06 19:58:58 -06:00
|
|
|
myreg(&NOW, true, "NOW", "temp debugging stuff")
|
|
|
|
myreg(&INFO, false, "INFO", "normal debugging stuff")
|
|
|
|
myreg(&NET, false, "NET", "Network logging")
|
|
|
|
myreg(&DNS, false, "DNS", "dnsStatus.update()")
|
|
|
|
myreg(&WARN, true, "WARN", "bad things")
|
|
|
|
myreg(&SPEW, false, "SPEW", "spew stuff")
|
|
|
|
myreg(&CHANGE, true, "CHANGE", "when host or dns change")
|
|
|
|
myreg(&STATUS, false, "STATUS", "updateStatus()")
|
2024-01-06 01:41:33 -06:00
|
|
|
|
2024-01-03 13:25:07 -06:00
|
|
|
if debugger.ArgDebug() {
|
2024-01-03 12:40:31 -06:00
|
|
|
log.Log(true, "INIT() gui debug == true")
|
2023-12-29 17:29:47 -06:00
|
|
|
} else {
|
2024-01-03 12:40:31 -06:00
|
|
|
log.Log(true, "INIT() gui debug == false")
|
2023-12-16 09:02:59 -06:00
|
|
|
}
|
2023-12-16 12:59:18 -06:00
|
|
|
|
2023-12-20 03:13:43 -06:00
|
|
|
me.dnsSleep = 500 * time.Millisecond
|
|
|
|
me.localSleep = 100 * time.Millisecond
|
2023-12-16 12:59:18 -06:00
|
|
|
|
2023-12-21 17:56:56 -06:00
|
|
|
me.artificialSleep = 0.4 // seems to need to exist or GTK crashes. TODO: fix andlabs plugin
|
2023-12-20 03:13:43 -06:00
|
|
|
me.artificialS = "blah"
|
2024-01-03 12:40:31 -06:00
|
|
|
log.Log(true, "init() me.artificialSleep =", me.artificialSleep)
|
|
|
|
log.Log(true, "init() me.artificialS =", me.artificialS)
|
2024-01-03 19:33:13 -06:00
|
|
|
log.Sleep(me.artificialSleep)
|
2023-03-01 11:21:47 -06:00
|
|
|
}
|