소스 검색

updated redirect handling for domains and https defaults

tags/v1.0.0
Remco 9 년 전
부모
커밋
c6af437480
1개의 변경된 파일15개의 추가작업 그리고 6개의 파일을 삭제
  1. +15
    -6
      transfersh-server/handlers.go

+ 15
- 6
transfersh-server/handlers.go 파일 보기

@@ -506,13 +506,22 @@ func getHandler(w http.ResponseWriter, r *http.Request) {

func RedirectHandler(h http.Handler) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
if ipAddrFromRemoteAddr(r.Host) != "transfer.sh" && ipAddrFromRemoteAddr(r.Host) != "127.0.0.1" && r.URL.Path != "/health.html" {
http.Redirect(w, r, "https://transfer.sh/", 301)
return
}
if r.URL.Path == "/health.html" {
} else if ipAddrFromRemoteAddr(r.Host) == "127.0.0.1" {
} else if ipAddrFromRemoteAddr(r.Host) == "transfersh.elasticbeanstalk.com" {
} else if ipAddrFromRemoteAddr(r.Host) == "jxm5d6emw5rknovg.onion" {
if r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" {

if ipAddrFromRemoteAddr(r.Host) == "transfer.sh" && r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" {
http.Redirect(w, r, "https://transfer.sh/", 301)
http.Redirect(w, r, "https://jxm5d6emw5rknovg.onion"+r.RequestURI, 301)
return
}
} else if ipAddrFromRemoteAddr(r.Host) == "transfer.sh" {
if r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" {
http.Redirect(w, r, "https://transfer.sh"+r.RequestURI, 301)
return
}
} else if ipAddrFromRemoteAddr(r.Host) != "transfer.sh" {
http.Redirect(w, r, "https://transfer.sh"+r.RequestURI, 301)
return
}



불러오는 중...
취소
저장