diff --git a/api/api.go b/api/api.go index 32670a1..a96b43c 100644 --- a/api/api.go +++ b/api/api.go @@ -141,12 +141,19 @@ func (a *API) DefaultHandler(w http.ResponseWriter, r *http.Request) *appError { return internalServerError(err) } + IsV6 := true + ip := net.ParseIP(r.Header.Get(IP_HEADER)) + if ip.To4() != nil { + IsV6 = false + } + var data = struct { IP string + IsV6 bool JSON string Header http.Header Cmd - }{r.Header.Get(IP_HEADER), string(b), r.Header, cmd} + }{ip.String(), IsV6, string(b), r.Header, cmd} if err := t.Execute(w, &data); err != nil { return internalServerError(err) diff --git a/index.html b/index.html index 82f71d1..0d9e0ff 100644 --- a/index.html +++ b/index.html @@ -24,6 +24,10 @@ margin-bottom: 10px; text-align: center; } + #footer { + margin-top: 10px; + text-align: center; + } .ip { border: 1px solid #cbcbcb; background: #f2f2f2; @@ -66,6 +70,11 @@ + Fork me on GitHub diff --git a/main.go b/main.go index 218e5d4..0f14d9c 100644 --- a/main.go +++ b/main.go @@ -13,13 +13,13 @@ func main() { var opts struct { DBPath string `short:"f" long:"file" description:"Path to GeoIP database" value-name:"FILE" default:""` Listen string `short:"l" long:"listen" description:"Listening address" value-name:"ADDR" default:":8080"` - CORS bool `short:"x" long:"cors" description:"Allow requests from other domains" default:"false"` - ReverseLookup bool `short:"r" long:"reverselookup" description:"Perform reverse hostname lookups" default:"false"` + CORS bool `short:"x" long:"cors" description:"Allow requests from other domains"` + ReverseLookup bool `short:"r" long:"reverselookup" description:"Perform reverse hostname lookups"` Template string `short:"t" long:"template" description:"Path to template" default:"index.html"` } _, err := flags.ParseArgs(&opts, os.Args) if err != nil { - os.Exit(1) + log.Fatal(err) } var a *api.API