Эх сурвалжийг харах

added cookie creating binary

svcs 1 жил өмнө
parent
commit
f9a78021b0
4 өөрчлөгдсөн 13 нэмэгдсэн , 33 устгасан
  1. 3 6
      cmd/http-wokou.go
  2. 1 1
      cmd/wokou-cmd.go
  3. 2 12
      pkg/cookie.go
  4. 7 14
      pkg/include.go

+ 3 - 6
cmd/http-wokou.go

@@ -29,6 +29,7 @@ package main
 import (
 	"fmt"
 	"log"
+	"os"
 
 	httpserver "git.aetherial.dev/aeth/http-proxy/pkg"
 	"github.com/gin-contrib/cors"
@@ -36,18 +37,14 @@ import (
 )
 
 func main() {
-	cfg, err := httpserver.ReadConfig("./.config.json")
+	cfg, err := httpserver.ReadConfig(os.Args[1])
 	if err != nil {
 		log.Fatal("Couldnt read config: ", err)
 	}
 
 	e := gin.Default()
 	config := cors.DefaultConfig()
-	config.AllowOrigins = []string{
-		"https://semrush.com",
-		"https://static.semrush.com",
-		"https://sem.bunnytool.shop",
-	}
+	config.AllowOrigins = cfg.CorsHosts
 	e.Use(cors.New(config))
 	rmaps := httpserver.ReadRouteMap(cfg.RouteMapPath)
 	httpserver.RegisterRoutes(e, cfg, rmaps)

+ 1 - 1
cmd/route.go → cmd/wokou-cmd.go

@@ -38,6 +38,6 @@ func main() {
 	if err != nil {
 		log.Fatal("couldnt read the config file", err)
 	}
-	httpserver.AddCookiePrompt(cfg)
+	httpserver.AddCookiePrompt(cfg.CookieFile, cfg.CookieJar)
 
 }

+ 2 - 12
pkg/server.go → pkg/cookie.go

@@ -44,16 +44,14 @@ var prompts = [...]string{
 	"URI path to include it for (default=/): ",
 	"Domain that the cookie belongs to:  ",
 	"HTTPS only? (default yes) y/n: ",
-	"Include it in subdomains? (default=y) y/n: ",
 }
 
 /*
 Open an interactive prompt for a user to save cookies to
 */
-func AddCookiePrompt(path string, cookies []*http.Cookie) {
+func AddCookiePrompt(loc string, cookies []*http.Cookie) {
 	var answers []string
 	var https bool
-	var subd bool
 	var name string
 	var value string
 	var domain string
@@ -83,14 +81,6 @@ func AddCookiePrompt(path string, cookies []*http.Cookie) {
 				}
 			}
 		}
-		if prompts[idx] == "Include it in subdomains? (default=y) y/n: " {
-			if ans == "y" {
-				subd = true
-			}
-			if ans == "n" {
-				subd = false
-			}
-		}
 		if prompts[idx] == "URI path to include it for (default=/): " {
 			if ans != "" {
 				path = prompts[idx]
@@ -121,6 +111,6 @@ func AddCookiePrompt(path string, cookies []*http.Cookie) {
 		log.Fatal("couldnt marshal the cookie: ", err)
 	}
 
-	os.WriteFile(path, b, os.ModePerm)
+	os.WriteFile(loc, b, os.ModePerm)
 
 }

+ 7 - 14
pkg/include.go

@@ -54,6 +54,7 @@ type HttpServerConfig struct {
 	CookieFile           string   `json:"cookie_file"`
 	FullProxyDomain      string   // the domain name of the proxied site with the protocol
 	KnownHosts           []string `json:"known_hosts"`
+	CorsHosts            []string `json:"cors_hosts"`
 	CookieJar            []*http.Cookie
 	PhpSession           *http.Cookie
 	SsoToken             *http.Cookie
@@ -170,29 +171,21 @@ func ReadConfig(loc string) (*HttpServerConfig, error) {
 	cfg.FullDomain = fmt.Sprintf("%s://%s", cfg.Proto, cfg.AllowedDomain)
 	cfg.FullProxyDomain = fmt.Sprintf("%s://%s", cfg.Proto, cfg.ProxyAddr)
 	cfg.FullAltAllowedDomain = fmt.Sprintf("%s://%s", cfg.Proto, cfg.AltAllowedDomain)
-	var cookies []Cookie
+	var cookies []*http.Cookie
 	err = json.Unmarshal(cf, &cookies)
 	if err != nil {
 		return nil, err
 	}
 	for idx := range cookies {
-		httpCookie := &http.Cookie{
-			Domain: cookies[idx].Domain,
-			MaxAge: cookies[idx].MaxAge,
-			Name:   cookies[idx].Name,
-			Value:  cookies[idx].Value,
-			Path:   cookies[idx].Path,
-			Secure: cookies[idx].Secure,
+		if cookies[idx].Name == "PHPSESSID" {
+			cfg.PhpSession = cookies[idx]
 		}
-		cfg.CookieJar = append(cfg.CookieJar, httpCookie)
-		if httpCookie.Name == "PHPSESSID" {
-			cfg.PhpSession = httpCookie
-		}
-		if httpCookie.Name == "sso_token" {
-			cfg.SsoToken = httpCookie
+		if cookies[idx].Name == "sso_token" {
+			cfg.SsoToken = cookies[idx]
 		}
 
 	}
+	cfg.CookieJar = cookies
 
 	return &cfg, err