37 lines
641 B
Go
37 lines
641 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"github.com/loveuer/nf"
|
|
"github.com/loveuer/nf/nft/log"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
address string
|
|
)
|
|
|
|
func init() {
|
|
flag.StringVar(&address, "address", ":80", "listen address")
|
|
flag.Parse()
|
|
}
|
|
|
|
func main() {
|
|
app := nf.New()
|
|
|
|
app.Get("/api/real-ip/available", func(c *nf.Ctx) error {
|
|
return c.JSON(nf.Map{"status": 200, "data": "available@" + time.Now().Format(time.RFC3339)})
|
|
})
|
|
|
|
app.Get("/api/real-ip/ip", func(c *nf.Ctx) error {
|
|
headers := c.Request.Header
|
|
|
|
return c.JSON(nf.Map{"status": 200, "data": nf.Map{
|
|
"ip": c.IP(),
|
|
"headers": headers,
|
|
}})
|
|
})
|
|
|
|
log.Fatal(app.Run(address).Error())
|
|
}
|