Loading shim.go +20 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import ( type MoatHandler struct { ProxyPass string Token string } // ServeHTTP will pass incoming HTTP requests to the ProxyPass address Loading @@ -35,6 +36,7 @@ func (h *MoatHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } r.Header.Set("X-Forwarded-For", r.RemoteAddr) r.Header.Set("shim-token", h.Token) resp, err := transport.RoundTrip(r) if err != nil { log.Println("Error: %s", err.Error()) Loading Loading @@ -68,6 +70,7 @@ func main() { var certFile string var keyFile string var authCookieFile string var httpTokenFile string flag.StringVar(&extOrAddr, "addr", "127.0.0.1:5000", "port to listen for incoming OR connections") Loading @@ -77,6 +80,8 @@ func main() { flag.StringVar(&keyFile, "key", "", "TLS private key file") flag.StringVar(&authCookieFile, "auth", "", "TOR_PT_AUTH_COOKIE_FILE for ExtOR connections") flag.StringVar(&httpTokenFile, "token", "", "file containing the token to be added as a shim-token http header") flag.Parse() addr, err := net.ResolveTCPAddr("tcp", extOrAddr) Loading Loading @@ -113,8 +118,14 @@ func main() { log.Fatalf("Error listening on ExtOrAddr: %s", err.Error()) } httpToken, err := readHttpToken(httpTokenFile) if err != nil { log.Fatalf("Error reading http token from %s: %s", httpTokenFile, err.Error()) } handler := &MoatHandler{ ProxyPass: proxyPass, Token: httpToken, } if certFile == "" || keyFile == "" { Loading @@ -133,3 +144,12 @@ func main() { log.Println("Exiting.") } func readHttpToken(filename string) (string, error) { if filename == "" { return "", nil } token, err := ioutil.ReadFile(filename) return string(token), err } Loading
shim.go +20 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import ( type MoatHandler struct { ProxyPass string Token string } // ServeHTTP will pass incoming HTTP requests to the ProxyPass address Loading @@ -35,6 +36,7 @@ func (h *MoatHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } r.Header.Set("X-Forwarded-For", r.RemoteAddr) r.Header.Set("shim-token", h.Token) resp, err := transport.RoundTrip(r) if err != nil { log.Println("Error: %s", err.Error()) Loading Loading @@ -68,6 +70,7 @@ func main() { var certFile string var keyFile string var authCookieFile string var httpTokenFile string flag.StringVar(&extOrAddr, "addr", "127.0.0.1:5000", "port to listen for incoming OR connections") Loading @@ -77,6 +80,8 @@ func main() { flag.StringVar(&keyFile, "key", "", "TLS private key file") flag.StringVar(&authCookieFile, "auth", "", "TOR_PT_AUTH_COOKIE_FILE for ExtOR connections") flag.StringVar(&httpTokenFile, "token", "", "file containing the token to be added as a shim-token http header") flag.Parse() addr, err := net.ResolveTCPAddr("tcp", extOrAddr) Loading Loading @@ -113,8 +118,14 @@ func main() { log.Fatalf("Error listening on ExtOrAddr: %s", err.Error()) } httpToken, err := readHttpToken(httpTokenFile) if err != nil { log.Fatalf("Error reading http token from %s: %s", httpTokenFile, err.Error()) } handler := &MoatHandler{ ProxyPass: proxyPass, Token: httpToken, } if certFile == "" || keyFile == "" { Loading @@ -133,3 +144,12 @@ func main() { log.Println("Exiting.") } func readHttpToken(filename string) (string, error) { if filename == "" { return "", nil } token, err := ioutil.ReadFile(filename) return string(token), err }