Redirect-IP-logger/server.go

31 lines
468 B
Go
Raw Normal View History

2022-07-13 04:05:53 +00:00
package main
import (
"fmt"
"log"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
2022-07-13 04:45:09 +00:00
ip := GetRealIP(r)
2022-07-13 04:05:53 +00:00
fmt.Fprintf(w, ip)
}
2022-07-13 04:45:09 +00:00
func GetRealIP(r *http.Request) string {
IP := r.Header.Get("X-Real-IP")
if IP == "" {
IP = r.Header.Get("X-Forwarder-For")
2022-07-13 04:05:53 +00:00
}
2022-07-13 04:45:09 +00:00
if IP == "" {
IP = r.RemoteAddr
}
if IP == "" {
IP = "No IPV4 address"
}
return IP
2022-07-13 04:05:53 +00:00
}
func main() {
http.HandleFunc("/", handler)
log.Fatal(http.ListenAndServe(":8081", nil))
}