aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-03-23 12:04:27 +0800
committerRunxi Yu <me@runxiyu.org>2025-03-23 12:04:27 +0800
commit137415cb5062ae3b5ce4ba8056754c1fc4febcaf (patch)
tree95b7f7bfa04ab381e21e14a1dcd3bb1f8fc90663 /main.go
parentSeparate privkey stuff (diff)
downloadpowxy-137415cb5062ae3b5ce4ba8056754c1fc4febcaf.tar.gz
powxy-137415cb5062ae3b5ce4ba8056754c1fc4febcaf.tar.zst
powxy-137415cb5062ae3b5ce4ba8056754c1fc4febcaf.zip
Separate proxy stuff
Diffstat (limited to '')
-rw-r--r--main.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/main.go b/main.go
index 10794ab..2b6bc77 100644
--- a/main.go
+++ b/main.go
@@ -1,30 +1,15 @@
package main
import (
- "crypto/hmac"
"crypto/sha256"
"crypto/subtle"
"encoding/base64"
- "encoding/binary"
"errors"
"log"
"net/http"
- "net/http/httputil"
- "net/url"
"strings"
- "time"
)
-var reverseProxy *httputil.ReverseProxy
-
-func init() {
- parsedURL, err := url.Parse(destHost)
- if err != nil {
- log.Fatal(err)
- }
- reverseProxy = httputil.NewSingleHostReverseProxy(parsedURL)
-}
-
type tparams struct {
UnsignedTokenBase64 string
NeedBits uint
@@ -127,37 +112,3 @@ func getRemoteIP(request *http.Request) (remoteIP string) {
}
return
}
-
-func makeSignedToken(request *http.Request) []byte {
- buf := make([]byte, 0, 2*sha256.Size)
-
- timeBuf := make([]byte, binary.MaxVarintLen64)
- binary.PutVarint(timeBuf, time.Now().Unix()/604800)
-
- remoteIP := getRemoteIP(request)
-
- h := sha256.New()
- h.Write(timeBuf)
- h.Write(stringToBytes(remoteIP))
- h.Write(stringToBytes(request.Header.Get("User-Agent")))
- h.Write(stringToBytes(request.Header.Get("Accept-Encoding")))
- h.Write(stringToBytes(request.Header.Get("Accept-Language")))
- h.Write(privkeyHash)
- buf = h.Sum(buf)
- if len(buf) != sha256.Size {
- panic("unexpected buffer length after hashing contents")
- }
-
- mac := hmac.New(sha256.New, privkey)
- mac.Write(buf)
- buf = mac.Sum(buf)
- if len(buf) != 2*sha256.Size {
- panic("unexpected buffer length after hmac")
- }
-
- return buf
-}
-
-func proxyRequest(writer http.ResponseWriter, request *http.Request) {
- reverseProxy.ServeHTTP(writer, request)
-}