// Package kurzd contains the Kurz daemon command. package main import ( "github.com/spf13/viper" "os" "time" "database/sql" _ "github.com/go-sql-driver/mysql" ) /** kurzd -h Display top-level help -v Verbose (default: false). help Display help (same as kurzd -h) server Serve kurz (default option). -p|--port Serve on this IP port (default: 80). -m|--monitoring Serve monitoring on this IP port (default: none) install Install kurzd completely. config Install the configuration define by command line to ~. schema Install the kurz database schema. export Export kurzd data. config Export kurz configuration. content Export kurz content. migrate Goose migration commands See https://github.com/pressly/goose uninstall Uninstall kurzd completely. config Uninstall the curz configuration file from ~. schema Uninstall the curz database schema. status Report on kurzd status stop Stop all instances of kurzd on the current server (restricted) */ func main() { Execute() os.Exit(0) } type MapEntry struct { Hash uint64 Url string Date1, Date2, Date3 time.Time RefCount uint32 } func dbDial(dbDriver, dbDsn string) (*sql.DB, error) { db, err := sql.Open(dbDriver, dbDsn) if err != nil { return nil, err } return db, nil } func parseDbCred() (driver, dsn string) { viper.SetDefault("database.driver", "mysql") viper.SetDefault("database.dsn", "root:root@tcp(localhost:3306)/kurz") driver = viper.Get("database.driver").(string) dsn = viper.Get("database.dsn").(string) dsn += "?parseTime=true" return }