From f6341f2c3e9bb62c285f3c6a35d95476f6fb1ef8 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sat, 18 Nov 2023 08:31:59 -0600 Subject: [PATCH 001/178] begin refactor of proxy engine --- cmd/main.go | 22 +- handlers/proxy.go | 95 +---- handlers/proxy.test.go | 2 +- .../cli.go => internal/cli/ruleset_merge.go | 0 proxychain/proxychain.go | 384 ++++++++++++++++++ proxychain/proxychain_pool.go | 11 + proxychain/rqm/block_outgoing_cookies.go | 41 ++ proxychain/rqm/masquerade_as_trusted_bot.go | 32 ++ proxychain/rqm/modify_domain_with_regex.go | 13 + proxychain/rqm/modify_path_with_regex.go | 13 + proxychain/rqm/modify_query_params.go | 20 + proxychain/rqm/request_archive_is.go | 27 ++ proxychain/rqm/request_google_cache.go | 21 + proxychain/rqm/request_wayback_machine.go | 22 + proxychain/rqm/resolve_with_google_doh.go | 80 ++++ proxychain/rqm/spoof_origin.go | 24 ++ proxychain/rqm/spoof_referrer.go | 29 ++ proxychain/rqm/spoof_user_agent.go | 13 + proxychain/rqm/spoof_x_forwarded_for.go | 14 + proxychain/rsm/block_incoming_cookies.go | 58 +++ proxychain/rsm/bypass_cors.go | 20 + proxychain/rsm/bypass_csp.go | 19 + proxychain/rsm/modify_response_header.go | 26 ++ proxychain/strategy/cloudflare.go | 8 + 24 files changed, 917 insertions(+), 77 deletions(-) rename handlers/cli/cli.go => internal/cli/ruleset_merge.go (100%) create mode 100644 proxychain/proxychain.go create mode 100644 proxychain/proxychain_pool.go create mode 100644 proxychain/rqm/block_outgoing_cookies.go create mode 100644 proxychain/rqm/masquerade_as_trusted_bot.go create mode 100644 proxychain/rqm/modify_domain_with_regex.go create mode 100644 proxychain/rqm/modify_path_with_regex.go create mode 100644 proxychain/rqm/modify_query_params.go create mode 100644 proxychain/rqm/request_archive_is.go create mode 100644 proxychain/rqm/request_google_cache.go create mode 100644 proxychain/rqm/request_wayback_machine.go create mode 100644 proxychain/rqm/resolve_with_google_doh.go create mode 100644 proxychain/rqm/spoof_origin.go create mode 100644 proxychain/rqm/spoof_referrer.go create mode 100644 proxychain/rqm/spoof_user_agent.go create mode 100644 proxychain/rqm/spoof_x_forwarded_for.go create mode 100644 proxychain/rsm/block_incoming_cookies.go create mode 100644 proxychain/rsm/bypass_cors.go create mode 100644 proxychain/rsm/bypass_csp.go create mode 100644 proxychain/rsm/modify_response_header.go create mode 100644 proxychain/strategy/cloudflare.go diff --git a/cmd/main.go b/cmd/main.go index e9ead89a..96710121 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -8,7 +8,7 @@ import ( "strings" "ladder/handlers" - "ladder/handlers/cli" + "ladder/internal/cli" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" @@ -40,6 +40,13 @@ func main() { Help: "This will spawn multiple processes listening", }) + verbose := parser.Flag("v", "verbose", &argparse.Options{ + Required: false, + Help: "Adds verbose logging", + }) + + // TODO: add version flag that reads from handers/VERSION + ruleset := parser.String("r", "ruleset", &argparse.Options{ Required: false, Help: "File, Directory or URL to a ruleset.yaml. Overrides RULESET environment variable.", @@ -84,6 +91,7 @@ func main() { }, ) + // TODO: move to cmd/auth.go userpass := os.Getenv("USERPASS") if userpass != "" { userpass := strings.Split(userpass, ":") @@ -94,6 +102,7 @@ func main() { })) } + // TODO: move to handlers/favicon.go app.Use(favicon.New(favicon.Config{ Data: []byte(faviconData), URL: "/favicon.ico", @@ -107,6 +116,8 @@ func main() { } app.Get("/", handlers.Form) + + // TODO: move this logic to handers/styles.go app.Get("/styles.css", func(c *fiber.Ctx) error { cssData, err := cssData.ReadFile("styles.css") if err != nil { @@ -115,10 +126,17 @@ func main() { c.Set("Content-Type", "text/css") return c.Send(cssData) }) + app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) app.Get("api/*", handlers.Api) - app.Get("/*", handlers.ProxySite(*ruleset)) + + proxyOpts := &handlers.ProxyOptions{ + Verbose: *verbose, + RulesetPath: *ruleset, + } + + app.Get("/*", handlers.NewProxySiteHandler(proxyOpts)) log.Fatal(app.Listen(":" + *port)) } diff --git a/handlers/proxy.go b/handlers/proxy.go index 128314eb..2a0f0c6a 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -11,6 +11,9 @@ import ( "strings" "ladder/pkg/ruleset" + "ladder/proxychain" + "ladder/proxychain/rqm" + "ladder/proxychain/rsm" "github.com/PuerkitoBio/goquery" "github.com/gofiber/fiber/v2" @@ -30,88 +33,32 @@ func init() { } } -// extracts a URL from the request ctx. If the URL in the request -// is a relative path, it reconstructs the full URL using the referer header. -func extractUrl(c *fiber.Ctx) (string, error) { - // try to extract url-encoded - reqUrl, err := url.QueryUnescape(c.Params("*")) - if err != nil { - // fallback - reqUrl = c.Params("*") - } - - // Extract the actual path from req ctx - urlQuery, err := url.Parse(reqUrl) - if err != nil { - return "", fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) - } - - isRelativePath := urlQuery.Scheme == "" - - // eg: https://localhost:8080/images/foobar.jpg -> https://realsite.com/images/foobar.jpg - if isRelativePath { - // Parse the referer URL from the request header. - refererUrl, err := url.Parse(c.Get("referer")) - if err != nil { - return "", fmt.Errorf("error parsing referer URL from req: '%s': %v", reqUrl, err) - } - - // Extract the real url from referer path - realUrl, err := url.Parse(strings.TrimPrefix(refererUrl.Path, "/")) - if err != nil { - return "", fmt.Errorf("error parsing real URL from referer '%s': %v", refererUrl.Path, err) - } - - // reconstruct the full URL using the referer's scheme, host, and the relative path / queries - fullUrl := &url.URL{ - Scheme: realUrl.Scheme, - Host: realUrl.Host, - Path: urlQuery.Path, - RawQuery: urlQuery.RawQuery, - } - - if os.Getenv("LOG_URLS") == "true" { - log.Printf("modified relative URL: '%s' -> '%s'", reqUrl, fullUrl.String()) - } - return fullUrl.String(), nil - - } - - // default behavior: - // eg: https://localhost:8080/https://realsite.com/images/foobar.jpg -> https://realsite.com/images/foobar.jpg - return urlQuery.String(), nil - +type ProxyOptions struct { + RulesetPath string + Verbose bool } -func ProxySite(rulesetPath string) fiber.Handler { - if rulesetPath != "" { - rs, err := ruleset.NewRuleset(rulesetPath) +func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { + var rs ruleset.RuleSet + if opts.RulesetPath != "" { + r, err := ruleset.NewRuleset(opts.RulesetPath) if err != nil { panic(err) } - rulesSet = rs + rs = r } return func(c *fiber.Ctx) error { - // Get the url from the URL - url, err := extractUrl(c) - if err != nil { - log.Println("ERROR In URL extraction:", err) - } - - queries := c.Queries() - body, _, resp, err := fetchSite(url, queries) - if err != nil { - log.Println("ERROR:", err) - c.SendStatus(fiber.StatusInternalServerError) - return c.SendString(err.Error()) - } - - c.Cookie(&fiber.Cookie{}) - c.Set("Content-Type", resp.Header.Get("Content-Type")) - c.Set("Content-Security-Policy", resp.Header.Get("Content-Security-Policy")) - - return c.SendString(body) + return proxychain.NewProxyChain(). + SetCtx(c). + AddRuleset(&rs). + SetRequestModifications( + rqm.BlockOutgoingCookies(), + ). + SetResultModifications( + rsm.BlockIncomingCookies(), + ). + Execute() } } diff --git a/handlers/proxy.test.go b/handlers/proxy.test.go index 07f72bd3..ef4349ca 100644 --- a/handlers/proxy.test.go +++ b/handlers/proxy.test.go @@ -14,7 +14,7 @@ import ( func TestProxySite(t *testing.T) { app := fiber.New() - app.Get("/:url", ProxySite("")) + app.Get("/:url", NewProxySiteHandler(nil)) req := httptest.NewRequest("GET", "/https://example.com", nil) resp, err := app.Test(req) diff --git a/handlers/cli/cli.go b/internal/cli/ruleset_merge.go similarity index 100% rename from handlers/cli/cli.go rename to internal/cli/ruleset_merge.go diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go new file mode 100644 index 00000000..56d27fce --- /dev/null +++ b/proxychain/proxychain.go @@ -0,0 +1,384 @@ +package proxychain + +import ( + "errors" + "fmt" + "io" + "log" + "net/http" + "net/url" + "strings" + + "ladder/pkg/ruleset" + + "github.com/gofiber/fiber/v2" +) + +var defaultClient *http.Client + +func DefaultClient() { + defaultClient = &http.Client{ + Timeout: 15, + } +} + +/* +ProxyChain manages the process of forwarding an HTTP request to an upstream server, +applying request and response modifications along the way. + + - It accepts incoming HTTP requests (as a Fiber *ctx), and applies + request modifiers (ReqMods) and response modifiers (ResMods) before passing the + upstream response back to the client. + + - ProxyChains can be reused to avoid memory allocations. + +--- + +# EXAMPLE + +``` + +import ( + + "ladder/internal/proxychain/rqm" + "ladder/internal/proxychain/rsm" + "ladder/internal/proxychain" + +) + +proxychain.NewProxyChain(). + + SetCtx(c). + AddRuleset(&rs). + SetRequestModifications( + rqm.BlockOutgoingCookies(), + ). + SetResultModifications( + rsm.BlockIncomingCookies(), + ). + Execute() + +``` + + client ladder service upstream + +┌─────────┐ ┌────────────────────────┐ ┌─────────┐ +│ │GET │ │ │ │ +│ req────┼───► ProxyChain │ │ │ +│ │ │ │ │ │ │ +│ │ │ ▼ │ │ │ +│ │ │ apply │ │ │ +│ │ │ RequestModifications │ │ │ +│ │ │ │ │ │ │ +│ │ │ ▼ │ │ │ +│ │ │ send GET │ │ │ +│ │ │ Request req────────┼─► │ │ +│ │ │ │ │ │ +│ │ │ 200 OK │ │ │ +│ │ │ ┌────────────────┼─response │ +│ │ │ ▼ │ │ │ +│ │ │ apply │ │ │ +│ │ │ ResultModifications │ │ │ +│ │ │ │ │ │ │ +│ │◄───┼───────┘ │ │ │ +│ │ │ 200 OK │ │ │ +│ │ │ │ │ │ +└─────────┘ └────────────────────────┘ └─────────┘ +*/ +type ProxyChain struct { + Context *fiber.Ctx + Client *http.Client + Request *http.Request + Response *http.Response + Body []byte + requestModifications []RequestModification + resultModifications []ResponseModification + ruleset *ruleset.RuleSet + verbose bool + _abort_err error +} + +// a ProxyStrategy is a pre-built proxychain with purpose-built defaults +type ProxyStrategy ProxyChain + +// A RequestModification is a function that should operate on the +// ProxyChain Req or Client field, using the fiber ctx as needed. +type RequestModification func(*ProxyChain) error + +// A ResponseModification is a function that should operate on the +// ProxyChain Res (http result) & Body (buffered http response body) field +type ResponseModification func(*ProxyChain) error + +// SetRequestModifications sets the ProxyChain's request modifers +// the modifier will not fire until ProxyChain.Execute() is run. +func (chain *ProxyChain) SetRequestModifications(mods ...RequestModification) *ProxyChain { + chain.requestModifications = mods + return chain +} + +// AddRequestModifications sets the ProxyChain's request modifers +// the modifier will not fire until ProxyChain.Execute() is run. +func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *ProxyChain { + chain.requestModifications = append(chain.requestModifications, mods...) + return chain +} + +// SetResultModifications sets the ProxyChain's response modifers +// the modifier will not fire until ProxyChain.Execute() is run. +func (chain *ProxyChain) SetResultModifications(mods ...ResponseModification) *ProxyChain { + chain.resultModifications = mods + return chain +} + +// AddResultModifications adds to the ProxyChain's response modifers +// the modifier will not fire until ProxyChain.Execute() is run. +func (chain *ProxyChain) AddResultModifications(mods ...ResponseModification) *ProxyChain { + chain.resultModifications = append(chain.resultModifications, mods...) + return chain +} + +// Adds a ruleset to ProxyChain +func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { + chain.ruleset = rs + // TODO: add _applyRuleset method + return chain +} + +func (chain *ProxyChain) _initialize_request() (*http.Request, error) { + // initialize a request (without url) + req, err := http.NewRequest(chain.Context.Method(), "", nil) + if err != nil { + return nil, err + } + chain.Request = req + switch chain.Context.Method() { + case "GET": + case "DELETE": + case "HEAD": + case "OPTIONS": + break + case "POST": + case "PUT": + case "PATCH": + // stream content of body from client request to upstream request + chain.Request.Body = io.NopCloser(chain.Context.Request().BodyStream()) + default: + return nil, fmt.Errorf("unsupported request method from client: '%s'", chain.Context.Method()) + } + + // copy client request headers to upstream request headers + forwardHeaders := func(key []byte, val []byte) { + req.Header.Set(string(key), string(val)) + } + clientHeaders := &chain.Context.Request().Header + clientHeaders.VisitAll(forwardHeaders) + + return req, nil +} + +// _execute sends the request for the ProxyChain and returns the raw body only +// the caller is responsible for returning a response back to the requestor +// the caller is also responsible for calling pxc._reset() when they are done with the body +func (chain *ProxyChain) _execute() (*[]byte, error) { + chain._validate_ctx_is_set() + if chain._abort_err != nil { + return nil, chain._abort_err + } + if chain.Context == nil { + return nil, errors.New("request ctx not set. Use ProxyChain.SetCtx()") + } + if chain.Request.URL.Scheme == "" { + return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") + } + + // Apply requestModifications to proxychain (pxc) + for _, applyRequestModificationsTo := range chain.requestModifications { + err := applyRequestModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + + // Send Request Upstream + resp, err := chain.Client.Do(chain.Request) + if err != nil { + return nil, chain.abort(err) + } + chain.Response = resp + + // Buffer response into memory + body, err := io.ReadAll(resp.Body) + if err != nil { + return nil, chain.abort(err) + } + chain.Body = body + defer resp.Body.Close() + + // Apply ResponseModifiers to proxychain (pxc) + for _, applyResultModificationsTo := range chain.resultModifications { + err := applyResultModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + + return &chain.Body, nil +} + +// Execute sends the request for the ProxyChain and returns the request to the sender +// and resets the fields so that the ProxyChain can be reused. +// if any step in the ProxyChain fails, the request will abort and a 500 error will +// be returned to the client +func (chain *ProxyChain) Execute() error { + defer chain._reset() + body, err := chain._execute() + if err != nil { + return err + } + // Return request back to client + return chain.Context.Send(*body) +} + +// ExecuteAPIContent sends the request for the ProxyChain and returns the response body as +// a structured API response to the client +// if any step in the ProxyChain fails, the request will abort and a 500 error will +// be returned to the client +func (chain *ProxyChain) ExecuteAPIContent() error { + defer chain._reset() + body, err := chain._execute() + if err != nil { + return err + } + // TODO: implement reader API + // Return request back to client + return chain.Context.Send(*body) +} + +// reconstructUrlFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries +func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL, error) { + + // Extract the real url from referer path + realUrl, err := url.Parse(strings.TrimPrefix(referer.Path, "/")) + if err != nil { + return nil, fmt.Errorf("error parsing real URL from referer '%s': %v", referer.Path, err) + } + + if realUrl.Scheme == "" || realUrl.Host == "" { + return nil, fmt.Errorf("invalid referer URL: %s", referer) + } + + return &url.URL{ + Scheme: referer.Scheme, + Host: referer.Host, + Path: realUrl.Path, + RawQuery: realUrl.RawQuery, + }, nil +} + +// extractUrl extracts a URL from the request ctx. If the URL in the request +// is a relative path, it reconstructs the full URL using the referer header. +func (chain *ProxyChain) extractUrl() (*url.URL, error) { + // try to extract url-encoded + reqUrl, err := url.QueryUnescape(chain.Context.Params("*")) + if err != nil { + reqUrl = chain.Context.Params("*") // fallback + } + + urlQuery, err := url.Parse(reqUrl) + if err != nil { + return nil, fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) + } + + // Handle standard paths + // eg: https://localhost:8080/https://realsite.com/images/foobar.jpg -> https://realsite.com/images/foobar.jpg + isRelativePath := urlQuery.Scheme == "" + if !isRelativePath { + return urlQuery, nil + } + + // Handle relative URLs + // eg: https://localhost:8080/images/foobar.jpg -> https://realsite.com/images/foobar.jpg + referer, err := url.Parse(chain.Context.Get("referer")) + relativePath := urlQuery + if err != nil { + return nil, fmt.Errorf("error parsing referer URL from req: '%s': %v", relativePath, err) + } + return reconstructUrlFromReferer(referer, relativePath) +} + +// SetCtx takes the request ctx from the client +// for the modifiers and execute function to use. +// it must be set everytime a new request comes through +// if the upstream request url cannot be extracted from the ctx, +// a 500 error will be sent back to the client +func (chain *ProxyChain) SetCtx(ctx *fiber.Ctx) *ProxyChain { + chain.Context = ctx + + // initialize the request and prepare it for modification + req, err := chain._initialize_request() + if err != nil { + chain._abort_err = chain.abort(err) + } + chain.Request = req + + // extract the URL for the request and add it to the new request + url, err := chain.extractUrl() + if err != nil { + chain._abort_err = chain.abort(err) + } + chain.Request.URL = url + + return chain +} + +func (pxc *ProxyChain) _validate_ctx_is_set() { + if pxc.Context != nil { + return + } + err := errors.New("proxyChain was called without setting a fiber Ctx. Use ProxyChain.SetCtx()") + pxc._abort_err = pxc.abort(err) +} + +// SetClient sets a new upstream http client transport +// useful for modifying TLS +func (pxc *ProxyChain) SetClient(httpClient *http.Client) *ProxyChain { + pxc.Client = httpClient + return pxc +} + +// SetVerbose changes the logging behavior to print +// the modification steps and applied rulesets for debugging +func (pxc *ProxyChain) SetVerbose() *ProxyChain { + pxc.verbose = true + return pxc +} + +// abort proxychain and return 500 error to client +// this will prevent Execute from firing and reset the state +// returns the initial error enriched with context +func (pxc *ProxyChain) abort(err error) error { + defer pxc._reset() + pxc._abort_err = err + pxc.Context.Response().SetStatusCode(500) + e := fmt.Errorf("ProxyChain error for '%s': %s", pxc.Request.URL.String(), err.Error()) + pxc.Context.SendString(e.Error()) + log.Println(e.Error()) + return e +} + +// internal function to reset state of ProxyChain for reuse +func (pxc *ProxyChain) _reset() { + pxc._abort_err = nil + pxc.Body = nil + pxc.Request = nil + pxc.Response = nil + pxc.Context = nil + pxc.Request.URL = nil +} + +// NewProxyChain initializes a new ProxyChain +func NewProxyChain() *ProxyChain { + px := new(ProxyChain) + px.Client = defaultClient + return px +} diff --git a/proxychain/proxychain_pool.go b/proxychain/proxychain_pool.go new file mode 100644 index 00000000..005bd281 --- /dev/null +++ b/proxychain/proxychain_pool.go @@ -0,0 +1,11 @@ +package proxychain + +import ( + "net/url" +) + +type ProxyChainPool map[url.URL]ProxyChain + +func NewProxyChainPool() ProxyChainPool { + return map[url.URL]ProxyChain{} +} diff --git a/proxychain/rqm/block_outgoing_cookies.go b/proxychain/rqm/block_outgoing_cookies.go new file mode 100644 index 00000000..b59a9ff8 --- /dev/null +++ b/proxychain/rqm/block_outgoing_cookies.go @@ -0,0 +1,41 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// BlockOutgoingCookies prevents ALL cookies from being sent from the client +// to the upstream proxy server. +func BlockOutgoingCookies() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Del("Cookie") + return nil + } +} + +// BlockOutgoingCookiesExcept prevents non-whitelisted cookies from being sent from the client +// to the upstream proxy server. Cookies whose names are in the whitelist are not removed. +func BlockOutgoingCookiesExcept(whitelist ...string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + // Convert whitelist slice to a map for efficient lookups + whitelistMap := make(map[string]struct{}) + for _, cookieName := range whitelist { + whitelistMap[cookieName] = struct{}{} + } + + // Get all cookies from the request header + cookies := px.Request.Cookies() + + // Clear the original Cookie header + px.Request.Header.Del("Cookie") + + // Re-add cookies that are in the whitelist + for _, cookie := range cookies { + if _, found := whitelistMap[cookie.Name]; found { + px.Request.AddCookie(cookie) + } + } + + return nil + } +} diff --git a/proxychain/rqm/masquerade_as_trusted_bot.go b/proxychain/rqm/masquerade_as_trusted_bot.go new file mode 100644 index 00000000..550329a5 --- /dev/null +++ b/proxychain/rqm/masquerade_as_trusted_bot.go @@ -0,0 +1,32 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// MasqueradeAsGoogleBot modifies user agent and x-forwarded for +// to appear to be a Google Bot +func MasqueradeAsGoogleBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; http://www.google.com/bot.html) Chrome/79.0.3945.120 Safari/537.36" + const botIP string = "66.249.78.8" // TODO: create a random ip pool from https://developers.google.com/static/search/apis/ipranges/googlebot.json + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsBingBot modifies user agent and x-forwarded for +// to appear to be a Bing Bot +func MasqueradeAsBingBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/79.0.3945.120 Safari/537.36" + const botIP string = "13.66.144.9" // https://www.bing.com/toolbox/bingbot.json + return masqueradeAsTrustedBot(botUA, botIP) +} + +func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.AddRequestModifications( + SpoofUserAgent(botUA), + SpoofXForwardedFor(botIP), + SpoofReferrer(""), + ) + return nil + } +} diff --git a/proxychain/rqm/modify_domain_with_regex.go b/proxychain/rqm/modify_domain_with_regex.go new file mode 100644 index 00000000..d3b93dc0 --- /dev/null +++ b/proxychain/rqm/modify_domain_with_regex.go @@ -0,0 +1,13 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" + "regexp" +) + +func ModifyDomainWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.URL.Host = match.ReplaceAllString(px.Request.URL.Host, replacement) + return nil + } +} diff --git a/proxychain/rqm/modify_path_with_regex.go b/proxychain/rqm/modify_path_with_regex.go new file mode 100644 index 00000000..8b96c6f3 --- /dev/null +++ b/proxychain/rqm/modify_path_with_regex.go @@ -0,0 +1,13 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" + "regexp" +) + +func ModifyPathWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.URL.Path = match.ReplaceAllString(px.Request.URL.Path, replacement) + return nil + } +} diff --git a/proxychain/rqm/modify_query_params.go b/proxychain/rqm/modify_query_params.go new file mode 100644 index 00000000..1018a00c --- /dev/null +++ b/proxychain/rqm/modify_query_params.go @@ -0,0 +1,20 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. +// If the query param key doesn't exist, it is created. +func ModifyQueryParams(key string, value string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + q := px.Request.URL.Query() + if value == "" { + q.Del(key) + return nil + } + q.Set(key, value) + px.Request.URL.RawQuery = q.Encode() + return nil + } +} diff --git a/proxychain/rqm/request_archive_is.go b/proxychain/rqm/request_archive_is.go new file mode 100644 index 00000000..525b0925 --- /dev/null +++ b/proxychain/rqm/request_archive_is.go @@ -0,0 +1,27 @@ +package rqm + +import ( + "ladder/proxychain" + "net/url" +) + +const archivistUrl string = "https://archive.is/latest/" + +// RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is +func RequestArchiveIs() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.URL.RawQuery = "" + newURLString := archivistUrl + px.Request.URL.String() + newURL, err := url.Parse(newURLString) + if err != nil { + return err + } + + // archivist seems to sabotage requests from cloudflare's DNS + // bypass this just in case + px.AddRequestModifications(ResolveWithGoogleDoH()) + + px.Request.URL = newURL + return nil + } +} diff --git a/proxychain/rqm/request_google_cache.go b/proxychain/rqm/request_google_cache.go new file mode 100644 index 00000000..c9d8d9bf --- /dev/null +++ b/proxychain/rqm/request_google_cache.go @@ -0,0 +1,21 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" + "net/url" +) + +const googleCacheUrl string = "https://webcache.googleusercontent.com/search?q=cache:" + +// RequestGoogleCache modifies a ProxyChain's URL to request its Google Cache version. +func RequestGoogleCache() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + encodedURL := url.QueryEscape(px.Request.URL.String()) + newURL, err := url.Parse(googleCacheUrl + encodedURL) + if err != nil { + return err + } + px.Request.URL = newURL + return nil + } +} diff --git a/proxychain/rqm/request_wayback_machine.go b/proxychain/rqm/request_wayback_machine.go new file mode 100644 index 00000000..a01926ba --- /dev/null +++ b/proxychain/rqm/request_wayback_machine.go @@ -0,0 +1,22 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" + "net/url" +) + +const waybackUrl string = "https://web.archive.org/web/" + +// RequestWaybackMachine modifies a ProxyChain's URL to request the wayback machine (archive.org) version. +func RequestWaybackMachine() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.URL.RawQuery = "" + newURLString := waybackUrl + px.Request.URL.String() + newURL, err := url.Parse(newURLString) + if err != nil { + return err + } + px.Request.URL = newURL + return nil + } +} diff --git a/proxychain/rqm/resolve_with_google_doh.go b/proxychain/rqm/resolve_with_google_doh.go new file mode 100644 index 00000000..2e2fb05b --- /dev/null +++ b/proxychain/rqm/resolve_with_google_doh.go @@ -0,0 +1,80 @@ +package rqm + +import ( + "context" + "encoding/json" + "fmt" + "ladder/proxychain" + "net" + "net/http" + "time" +) + +// resolveWithGoogleDoH resolves DNS using Google's DNS-over-HTTPS +func resolveWithGoogleDoH(host string) (string, error) { + url := "https://dns.google/resolve?name=" + host + "&type=A" + resp, err := http.Get(url) + if err != nil { + return "", err + } + defer resp.Body.Close() + + var result struct { + Answer []struct { + Data string `json:"data"` + } `json:"Answer"` + } + err = json.NewDecoder(resp.Body).Decode(&result) + if err != nil { + return "", err + } + + // Get the first A record + if len(result.Answer) > 0 { + return result.Answer[0].Data, nil + } + return "", fmt.Errorf("no DoH DNS record found for %s", host) +} + +// ResolveWithGoogleDoH modifies a ProxyChain's client to make the request but resolve the URL +// using Google's DNS over HTTPs service +func ResolveWithGoogleDoH() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + client := &http.Client{ + Timeout: px.Client.Timeout, + } + + dialer := &net.Dialer{ + Timeout: 5 * time.Second, + KeepAlive: 5 * time.Second, + } + + customDialContext := func(ctx context.Context, network, addr string) (net.Conn, error) { + host, port, err := net.SplitHostPort(addr) + if err != nil { + // If the addr doesn't include a port, determine it based on the URL scheme + if px.Request.URL.Scheme == "https" { + port = "443" + } else { + port = "80" + } + host = addr // assume the entire addr is the host + } + + resolvedHost, err := resolveWithGoogleDoH(host) + if err != nil { + return nil, err + } + + return dialer.DialContext(ctx, network, net.JoinHostPort(resolvedHost, port)) + } + + patchedTransportWithDoH := &http.Transport{ + DialContext: customDialContext, + } + + client.Transport = patchedTransportWithDoH + px.Client = client // Assign the modified client to the ProxyChain + return nil + } +} diff --git a/proxychain/rqm/spoof_origin.go b/proxychain/rqm/spoof_origin.go new file mode 100644 index 00000000..07bbd8a0 --- /dev/null +++ b/proxychain/rqm/spoof_origin.go @@ -0,0 +1,24 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// SpoofOrigin modifies the origin header +// if the upstream server returns a Vary header +// it means you might get a different response if you change this +func SpoofOrigin(url string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set("origin", url) + return nil + } +} + +// HideOrigin modifies the origin header +// so that it is the original origin, not the proxy +func HideOrigin() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set("origin", px.Request.URL.String()) + return nil + } +} diff --git a/proxychain/rqm/spoof_referrer.go b/proxychain/rqm/spoof_referrer.go new file mode 100644 index 00000000..1f0ae46a --- /dev/null +++ b/proxychain/rqm/spoof_referrer.go @@ -0,0 +1,29 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// SpoofReferrer modifies the referrer header +// useful if the page can be accessed from a search engine +// or social media site, but not by browsing the website itself +// if url is "", then the referrer header is removed +func SpoofReferrer(url string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + if url == "" { + px.Request.Header.Del("referrer") + return nil + } + px.Request.Header.Set("referrer", url) + return nil + } +} + +// HideReferrer modifies the referrer header +// so that it is the original referrer, not the proxy +func HideReferrer() proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set("referrer", px.Request.URL.String()) + return nil + } +} diff --git a/proxychain/rqm/spoof_user_agent.go b/proxychain/rqm/spoof_user_agent.go new file mode 100644 index 00000000..49502827 --- /dev/null +++ b/proxychain/rqm/spoof_user_agent.go @@ -0,0 +1,13 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// SpoofUserAgent modifies the user agent +func SpoofUserAgent(ua string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set("user-agent", ua) + return nil + } +} diff --git a/proxychain/rqm/spoof_x_forwarded_for.go b/proxychain/rqm/spoof_x_forwarded_for.go new file mode 100644 index 00000000..93a4e910 --- /dev/null +++ b/proxychain/rqm/spoof_x_forwarded_for.go @@ -0,0 +1,14 @@ +package rqm // ReQuestModifier + +import ( + "ladder/proxychain" +) + +// SpoofXForwardedFor modifies the X-Forwarded-For header +// in some cases, a forward proxy may interpret this as the source IP +func SpoofXForwardedFor(ip string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set("X-FORWARDED-FOR", ip) + return nil + } +} diff --git a/proxychain/rsm/block_incoming_cookies.go b/proxychain/rsm/block_incoming_cookies.go new file mode 100644 index 00000000..0884a6f0 --- /dev/null +++ b/proxychain/rsm/block_incoming_cookies.go @@ -0,0 +1,58 @@ +package rsm // ReSponseModifers + +import ( + "ladder/proxychain" + "net/http" +) + +// BlockIncomingCookies prevents ALL cookies from being sent from the proxy server +// to the client. +func BlockIncomingCookies(whitelist ...string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.Response.Header.Del("Set-Cookie") + return nil + } +} + +// BlockIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server +// to the client. Cookies whose names are in the whitelist are not removed. +func BlockIncomingCookiesExcept(whitelist ...string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + // Convert whitelist slice to a map for efficient lookups + whitelistMap := make(map[string]struct{}) + for _, cookieName := range whitelist { + whitelistMap[cookieName] = struct{}{} + } + + // If the response has no cookies, return early + if px.Response.Header == nil { + return nil + } + + // Filter the cookies in the response + filteredCookies := []string{} + for _, cookieStr := range px.Response.Header["Set-Cookie"] { + cookie := parseCookie(cookieStr) + if _, found := whitelistMap[cookie.Name]; found { + filteredCookies = append(filteredCookies, cookieStr) + } + } + + // Update the Set-Cookie header with the filtered cookies + if len(filteredCookies) > 0 { + px.Response.Header["Set-Cookie"] = filteredCookies + } else { + px.Response.Header.Del("Set-Cookie") + } + + return nil + } +} + +// parseCookie parses a cookie string and returns an http.Cookie object. +func parseCookie(cookieStr string) *http.Cookie { + header := http.Header{} + header.Add("Set-Cookie", cookieStr) + request := http.Request{Header: header} + return request.Cookies()[0] +} diff --git a/proxychain/rsm/bypass_cors.go b/proxychain/rsm/bypass_cors.go new file mode 100644 index 00000000..dbf7013b --- /dev/null +++ b/proxychain/rsm/bypass_cors.go @@ -0,0 +1,20 @@ +package rsm // ReSponseModifers + +import ( + "ladder/proxychain" +) + +// BypassCORs modifies response headers to prevent the browser +// from enforcing any CORS restrictions +func BypassCORS() proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.AddResultModifications( + ModifyResponseHeader("Access-Control-Allow-Origin", "*"), + ModifyResponseHeader("Access-Control-Expose-Headers", "*"), + ModifyResponseHeader("Access-Control-Allow-Credentials", "true"), + ModifyResponseHeader("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, HEAD, OPTIONS, PATCH"), + DeleteResponseHeader("X-Frame-Options"), + ) + return nil + } +} diff --git a/proxychain/rsm/bypass_csp.go b/proxychain/rsm/bypass_csp.go new file mode 100644 index 00000000..4262590e --- /dev/null +++ b/proxychain/rsm/bypass_csp.go @@ -0,0 +1,19 @@ +package rsm // ReSponseModifers + +import ( + "ladder/proxychain" +) + +// BypassCSP modifies response headers to prevent the browser +// from enforcing any CORS restrictions +func BypassCSP() proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.AddResultModifications( + ModifyResponseHeader("Access-Control-Allow-Origin", "*"), + ModifyResponseHeader("Access-Control-Expose-Headers", "*"), + ModifyResponseHeader("Access-Control-Allow-Credentials", "true"), + ModifyResponseHeader("Access-Control-Allow-Methods", ""), + ) + return nil + } +} diff --git a/proxychain/rsm/modify_response_header.go b/proxychain/rsm/modify_response_header.go new file mode 100644 index 00000000..d7a473e3 --- /dev/null +++ b/proxychain/rsm/modify_response_header.go @@ -0,0 +1,26 @@ +package rsm // ReSponseModifers + +import ( + "ladder/proxychain" +) + +// ModifyResponseHeader modifies response headers from the upstream server +// if value is "", then the response header is deleted. +func ModifyResponseHeader(key string, value string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + if value == "" { + px.Context.Response().Header.Del(key) + return nil + } + px.Context.Response().Header.Set(key, value) + return nil + } +} + +// DeleteResponseHeader removes response headers from the upstream server +func DeleteResponseHeader(key string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.Context.Response().Header.Del(key) + return nil + } +} diff --git a/proxychain/strategy/cloudflare.go b/proxychain/strategy/cloudflare.go new file mode 100644 index 00000000..63877363 --- /dev/null +++ b/proxychain/strategy/cloudflare.go @@ -0,0 +1,8 @@ +package strategy + +/* +var Cloudflare = proxy.Strategy{ + tactic.NoCookie(), + // ... other tactics ... +} +*/ From 98fa53287b39131e11bc51bab4a5abd094499680 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sat, 18 Nov 2023 18:13:46 -0600 Subject: [PATCH 002/178] fix nil pointer deref --- handlers/proxy.go | 18 ++++++++-------- proxychain/proxychain.go | 44 +++++++++++++++++++++++----------------- 2 files changed, 35 insertions(+), 27 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 2a0f0c6a..221108a2 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -39,19 +39,21 @@ type ProxyOptions struct { } func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { - var rs ruleset.RuleSet - if opts.RulesetPath != "" { - r, err := ruleset.NewRuleset(opts.RulesetPath) - if err != nil { - panic(err) + /* + var rs ruleset.RuleSet + if opts.RulesetPath != "" { + r, err := ruleset.NewRuleset(opts.RulesetPath) + if err != nil { + panic(err) + } + rs = r } - rs = r - } + */ return func(c *fiber.Ctx) error { return proxychain.NewProxyChain(). SetCtx(c). - AddRuleset(&rs). + //AddRuleset(&rs). SetRequestModifications( rqm.BlockOutgoingCookies(), ). diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 56d27fce..5a4594d3 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -214,6 +214,12 @@ func (chain *ProxyChain) _execute() (*[]byte, error) { chain.Body = body defer resp.Body.Close() + /* todo: move to rsm + for k, v := range resp.Header { + chain.Context.Set(k, resp.Header.Get(k)) + } + */ + // Apply ResponseModifiers to proxychain (pxc) for _, applyResultModificationsTo := range chain.resultModifications { err := applyResultModificationsTo(chain) @@ -348,37 +354,37 @@ func (pxc *ProxyChain) SetClient(httpClient *http.Client) *ProxyChain { // SetVerbose changes the logging behavior to print // the modification steps and applied rulesets for debugging -func (pxc *ProxyChain) SetVerbose() *ProxyChain { - pxc.verbose = true - return pxc +func (chain *ProxyChain) SetVerbose() *ProxyChain { + chain.verbose = true + return chain } // abort proxychain and return 500 error to client // this will prevent Execute from firing and reset the state // returns the initial error enriched with context -func (pxc *ProxyChain) abort(err error) error { - defer pxc._reset() - pxc._abort_err = err - pxc.Context.Response().SetStatusCode(500) - e := fmt.Errorf("ProxyChain error for '%s': %s", pxc.Request.URL.String(), err.Error()) - pxc.Context.SendString(e.Error()) +func (chain *ProxyChain) abort(err error) error { + defer chain._reset() + chain._abort_err = err + chain.Context.Response().SetStatusCode(500) + e := fmt.Errorf("ProxyChain error for '%s': %s", chain.Request.URL.String(), err.Error()) + chain.Context.SendString(e.Error()) log.Println(e.Error()) return e } // internal function to reset state of ProxyChain for reuse -func (pxc *ProxyChain) _reset() { - pxc._abort_err = nil - pxc.Body = nil - pxc.Request = nil - pxc.Response = nil - pxc.Context = nil - pxc.Request.URL = nil +func (chain *ProxyChain) _reset() { + chain._abort_err = nil + chain.Body = nil + chain.Request = nil + chain.Response = nil + chain.Context = nil } // NewProxyChain initializes a new ProxyChain func NewProxyChain() *ProxyChain { - px := new(ProxyChain) - px.Client = defaultClient - return px + chain := new(ProxyChain) + //px.Client = defaultClient + chain.Client = http.DefaultClient + return chain } From ee9066dedb4aa13d9755c583dfc48de32e496b67 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 19 Nov 2023 15:03:11 -0600 Subject: [PATCH 003/178] refactor wip --- go.mod | 2 +- handlers/proxy.go | 25 ++-- proxychain/cache/memcache.go | 0 proxychain/proxychain.go | 120 ++++++------------ proxychain/proxychain_cache.go | 19 +++ .../masquerade_as_trusted_bot.go | 2 +- .../modify_domain_with_regex.go | 2 +- .../modify_outgoing_cookies.go} | 2 +- .../modify_path_with_regex.go | 2 +- .../modify_query_params.go | 2 +- .../requestmodifers/modify_request_headers.go | 23 ++++ .../request_archive_is.go | 2 +- .../request_google_cache.go | 2 +- .../request_wayback_machine.go | 2 +- .../resolve_with_google_doh.go | 2 +- .../{rqm => requestmodifers}/spoof_origin.go | 2 +- .../spoof_referrer.go | 2 +- .../spoof_user_agent.go | 2 +- .../spoof_x_forwarded_for.go | 2 +- proxychain/responsemodifers/bypass_cors.go | 21 +++ proxychain/responsemodifers/bypass_csp.go | 27 ++++ .../modify_incoming_cookies.go | 102 +++++++++++++++ .../modify_response_header.go | 11 +- .../rewrite_http_resource_urls.go | 114 +++++++++++++++++ proxychain/rsm/block_incoming_cookies.go | 58 --------- proxychain/rsm/bypass_cors.go | 20 --- proxychain/rsm/bypass_csp.go | 19 --- 27 files changed, 377 insertions(+), 210 deletions(-) create mode 100644 proxychain/cache/memcache.go create mode 100644 proxychain/proxychain_cache.go rename proxychain/{rqm => requestmodifers}/masquerade_as_trusted_bot.go (97%) rename proxychain/{rqm => requestmodifers}/modify_domain_with_regex.go (90%) rename proxychain/{rqm/block_outgoing_cookies.go => requestmodifers/modify_outgoing_cookies.go} (97%) rename proxychain/{rqm => requestmodifers}/modify_path_with_regex.go (90%) rename proxychain/{rqm => requestmodifers}/modify_query_params.go (93%) create mode 100644 proxychain/requestmodifers/modify_request_headers.go rename proxychain/{rqm => requestmodifers}/request_archive_is.go (96%) rename proxychain/{rqm => requestmodifers}/request_google_cache.go (94%) rename proxychain/{rqm => requestmodifers}/request_wayback_machine.go (94%) rename proxychain/{rqm => requestmodifers}/resolve_with_google_doh.go (98%) rename proxychain/{rqm => requestmodifers}/spoof_origin.go (95%) rename proxychain/{rqm => requestmodifers}/spoof_referrer.go (96%) rename proxychain/{rqm => requestmodifers}/spoof_user_agent.go (88%) rename proxychain/{rqm => requestmodifers}/spoof_x_forwarded_for.go (91%) create mode 100644 proxychain/responsemodifers/bypass_cors.go create mode 100644 proxychain/responsemodifers/bypass_csp.go create mode 100644 proxychain/responsemodifers/modify_incoming_cookies.go rename proxychain/{rsm => responsemodifers}/modify_response_header.go (55%) create mode 100644 proxychain/responsemodifers/rewrite_http_resource_urls.go delete mode 100644 proxychain/rsm/block_incoming_cookies.go delete mode 100644 proxychain/rsm/bypass_cors.go delete mode 100644 proxychain/rsm/bypass_csp.go diff --git a/go.mod b/go.mod index 5d6ca5dd..9bab4b35 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.50.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect - golang.org/x/net v0.18.0 // indirect + golang.org/x/net v0.18.0 golang.org/x/sys v0.14.0 // indirect golang.org/x/term v0.14.0 ) diff --git a/handlers/proxy.go b/handlers/proxy.go index 221108a2..fc3beea0 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -12,8 +12,8 @@ import ( "ladder/pkg/ruleset" "ladder/proxychain" - "ladder/proxychain/rqm" - "ladder/proxychain/rsm" + rx "ladder/proxychain/requestmodifers" + tx "ladder/proxychain/responsemodifers" "github.com/PuerkitoBio/goquery" "github.com/gofiber/fiber/v2" @@ -49,19 +49,20 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ + proxychain := proxychain. + NewProxyChain(). + SetDebugLogging(opts.Verbose). + SetRequestModifications( + rx.DeleteOutgoingCookies(), + ). + AddResponseModifications( + tx.DeleteIncomingCookies(), + ) return func(c *fiber.Ctx) error { - return proxychain.NewProxyChain(). - SetCtx(c). - //AddRuleset(&rs). - SetRequestModifications( - rqm.BlockOutgoingCookies(), - ). - SetResultModifications( - rsm.BlockIncomingCookies(), - ). - Execute() + return proxychain.SetFiberCtx(c).Execute() } + } func modifyURL(uri string, rule ruleset.Rule) (string, error) { diff --git a/proxychain/cache/memcache.go b/proxychain/cache/memcache.go new file mode 100644 index 00000000..e69de29b diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 5a4594d3..b4c36133 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -14,14 +14,6 @@ import ( "github.com/gofiber/fiber/v2" ) -var defaultClient *http.Client - -func DefaultClient() { - defaultClient = &http.Client{ - Timeout: 15, - } -} - /* ProxyChain manages the process of forwarding an HTTP request to an upstream server, applying request and response modifications along the way. @@ -40,21 +32,22 @@ applying request and response modifications along the way. import ( - "ladder/internal/proxychain/rqm" - "ladder/internal/proxychain/rsm" + rx "ladder/pkg/proxychain/requestmodifers" + tx "ladder/pkg/proxychain/responsemodifers" "ladder/internal/proxychain" ) proxychain.NewProxyChain(). - SetCtx(c). - AddRuleset(&rs). + SetFiberCtx(c). SetRequestModifications( - rqm.BlockOutgoingCookies(), + rx.BlockOutgoingCookies(), + rx.SpoofOrigin(), + rx.SpoofReferrer(), ). SetResultModifications( - rsm.BlockIncomingCookies(), + tx.BlockIncomingCookies(), ). Execute() @@ -90,12 +83,12 @@ type ProxyChain struct { Client *http.Client Request *http.Request Response *http.Response - Body []byte + Body io.Reader requestModifications []RequestModification resultModifications []ResponseModification - ruleset *ruleset.RuleSet - verbose bool - _abort_err error + Ruleset *ruleset.RuleSet + debugMode bool + abortErr error } // a ProxyStrategy is a pre-built proxychain with purpose-built defaults @@ -123,23 +116,16 @@ func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *P return chain } -// SetResultModifications sets the ProxyChain's response modifers +// AddResponseModifications sets the ProxyChain's response modifers // the modifier will not fire until ProxyChain.Execute() is run. -func (chain *ProxyChain) SetResultModifications(mods ...ResponseModification) *ProxyChain { +func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) *ProxyChain { chain.resultModifications = mods return chain } -// AddResultModifications adds to the ProxyChain's response modifers -// the modifier will not fire until ProxyChain.Execute() is run. -func (chain *ProxyChain) AddResultModifications(mods ...ResponseModification) *ProxyChain { - chain.resultModifications = append(chain.resultModifications, mods...) - return chain -} - // Adds a ruleset to ProxyChain func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { - chain.ruleset = rs + chain.Ruleset = rs // TODO: add _applyRuleset method return chain } @@ -178,20 +164,16 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { // _execute sends the request for the ProxyChain and returns the raw body only // the caller is responsible for returning a response back to the requestor -// the caller is also responsible for calling pxc._reset() when they are done with the body -func (chain *ProxyChain) _execute() (*[]byte, error) { - chain._validate_ctx_is_set() - if chain._abort_err != nil { - return nil, chain._abort_err - } - if chain.Context == nil { - return nil, errors.New("request ctx not set. Use ProxyChain.SetCtx()") +// the caller is also responsible for calling chain._reset() when they are done with the body +func (chain *ProxyChain) _execute() (io.Reader, error) { + if chain.validateCtxIsSet() != nil { + return nil, chain.abortErr } if chain.Request.URL.Scheme == "" { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } - // Apply requestModifications to proxychain (pxc) + // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { err := applyRequestModificationsTo(chain) if err != nil { @@ -205,13 +187,8 @@ func (chain *ProxyChain) _execute() (*[]byte, error) { return nil, chain.abort(err) } chain.Response = resp + chain.Body = chain.Response.Body - // Buffer response into memory - body, err := io.ReadAll(resp.Body) - if err != nil { - return nil, chain.abort(err) - } - chain.Body = body defer resp.Body.Close() /* todo: move to rsm @@ -220,7 +197,7 @@ func (chain *ProxyChain) _execute() (*[]byte, error) { } */ - // Apply ResponseModifiers to proxychain (pxc) + // Apply ResponseModifiers to proxychain for _, applyResultModificationsTo := range chain.resultModifications { err := applyResultModificationsTo(chain) if err != nil { @@ -228,7 +205,7 @@ func (chain *ProxyChain) _execute() (*[]byte, error) { } } - return &chain.Body, nil + return chain.Body, nil } // Execute sends the request for the ProxyChain and returns the request to the sender @@ -242,22 +219,7 @@ func (chain *ProxyChain) Execute() error { return err } // Return request back to client - return chain.Context.Send(*body) -} - -// ExecuteAPIContent sends the request for the ProxyChain and returns the response body as -// a structured API response to the client -// if any step in the ProxyChain fails, the request will abort and a 500 error will -// be returned to the client -func (chain *ProxyChain) ExecuteAPIContent() error { - defer chain._reset() - body, err := chain._execute() - if err != nil { - return err - } - // TODO: implement reader API - // Return request back to client - return chain.Context.Send(*body) + return chain.Context.SendStream(body) } // reconstructUrlFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries @@ -312,50 +274,51 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { return reconstructUrlFromReferer(referer, relativePath) } -// SetCtx takes the request ctx from the client +// SetFiberCtx takes the request ctx from the client // for the modifiers and execute function to use. // it must be set everytime a new request comes through // if the upstream request url cannot be extracted from the ctx, // a 500 error will be sent back to the client -func (chain *ProxyChain) SetCtx(ctx *fiber.Ctx) *ProxyChain { +func (chain *ProxyChain) SetFiberCtx(ctx *fiber.Ctx) *ProxyChain { chain.Context = ctx // initialize the request and prepare it for modification req, err := chain._initialize_request() if err != nil { - chain._abort_err = chain.abort(err) + chain.abortErr = chain.abort(err) } chain.Request = req // extract the URL for the request and add it to the new request url, err := chain.extractUrl() if err != nil { - chain._abort_err = chain.abort(err) + chain.abortErr = chain.abort(err) } chain.Request.URL = url return chain } -func (pxc *ProxyChain) _validate_ctx_is_set() { - if pxc.Context != nil { - return +func (chain *ProxyChain) validateCtxIsSet() error { + if chain.Context != nil { + return nil } err := errors.New("proxyChain was called without setting a fiber Ctx. Use ProxyChain.SetCtx()") - pxc._abort_err = pxc.abort(err) + chain.abortErr = chain.abort(err) + return chain.abortErr } -// SetClient sets a new upstream http client transport +// SetHttpClient sets a new upstream http client transport // useful for modifying TLS -func (pxc *ProxyChain) SetClient(httpClient *http.Client) *ProxyChain { - pxc.Client = httpClient - return pxc +func (chain *ProxyChain) SetHttpClient(httpClient *http.Client) *ProxyChain { + chain.Client = httpClient + return chain } // SetVerbose changes the logging behavior to print // the modification steps and applied rulesets for debugging -func (chain *ProxyChain) SetVerbose() *ProxyChain { - chain.verbose = true +func (chain *ProxyChain) SetDebugLogging(isDebugMode bool) *ProxyChain { + chain.debugMode = isDebugMode return chain } @@ -363,8 +326,8 @@ func (chain *ProxyChain) SetVerbose() *ProxyChain { // this will prevent Execute from firing and reset the state // returns the initial error enriched with context func (chain *ProxyChain) abort(err error) error { - defer chain._reset() - chain._abort_err = err + //defer chain._reset() + chain.abortErr = err chain.Context.Response().SetStatusCode(500) e := fmt.Errorf("ProxyChain error for '%s': %s", chain.Request.URL.String(), err.Error()) chain.Context.SendString(e.Error()) @@ -374,7 +337,7 @@ func (chain *ProxyChain) abort(err error) error { // internal function to reset state of ProxyChain for reuse func (chain *ProxyChain) _reset() { - chain._abort_err = nil + chain.abortErr = nil chain.Body = nil chain.Request = nil chain.Response = nil @@ -384,7 +347,6 @@ func (chain *ProxyChain) _reset() { // NewProxyChain initializes a new ProxyChain func NewProxyChain() *ProxyChain { chain := new(ProxyChain) - //px.Client = defaultClient chain.Client = http.DefaultClient return chain } diff --git a/proxychain/proxychain_cache.go b/proxychain/proxychain_cache.go new file mode 100644 index 00000000..44289af9 --- /dev/null +++ b/proxychain/proxychain_cache.go @@ -0,0 +1,19 @@ +package proxychain + +import "time" + +// Cache provides an interface for caching mechanisms. +// It supports operations to get, set, and invalidate cache entries. +// Implementations should ensure thread safety, efficiency +type Cache interface { + // Get Retrieves a cached value by its key. Returns the value and a boolean indicating + Get(key string) (value interface{}, found bool) + + // Set - Stores a value associated with a key in the cache for a specified time-to-live (ttl). + // If ttl is zero, the cache item has no expiration. + Set(key string, value interface{}, ttl time.Duration) + + // Invalidate - Removes a value from the cache by its key. If the key does not exist, + // it should perform a no-op or return a suitable error. + Invalidate(key string) error +} diff --git a/proxychain/rqm/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go similarity index 97% rename from proxychain/rqm/masquerade_as_trusted_bot.go rename to proxychain/requestmodifers/masquerade_as_trusted_bot.go index 550329a5..fcbdc62f 100644 --- a/proxychain/rqm/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/modify_domain_with_regex.go b/proxychain/requestmodifers/modify_domain_with_regex.go similarity index 90% rename from proxychain/rqm/modify_domain_with_regex.go rename to proxychain/requestmodifers/modify_domain_with_regex.go index d3b93dc0..3352d549 100644 --- a/proxychain/rqm/modify_domain_with_regex.go +++ b/proxychain/requestmodifers/modify_domain_with_regex.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/block_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go similarity index 97% rename from proxychain/rqm/block_outgoing_cookies.go rename to proxychain/requestmodifers/modify_outgoing_cookies.go index b59a9ff8..43bb5101 100644 --- a/proxychain/rqm/block_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/modify_path_with_regex.go b/proxychain/requestmodifers/modify_path_with_regex.go similarity index 90% rename from proxychain/rqm/modify_path_with_regex.go rename to proxychain/requestmodifers/modify_path_with_regex.go index 8b96c6f3..97163ee6 100644 --- a/proxychain/rqm/modify_path_with_regex.go +++ b/proxychain/requestmodifers/modify_path_with_regex.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/modify_query_params.go b/proxychain/requestmodifers/modify_query_params.go similarity index 93% rename from proxychain/rqm/modify_query_params.go rename to proxychain/requestmodifers/modify_query_params.go index 1018a00c..06d81228 100644 --- a/proxychain/rqm/modify_query_params.go +++ b/proxychain/requestmodifers/modify_query_params.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/modify_request_headers.go b/proxychain/requestmodifers/modify_request_headers.go new file mode 100644 index 00000000..601c47e4 --- /dev/null +++ b/proxychain/requestmodifers/modify_request_headers.go @@ -0,0 +1,23 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SetRequestHeader modifies a specific outgoing header +// This is the header that the upstream server will see. +func SetRequestHeader(name string, val string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Set(name, val) + return nil + } +} + +// DeleteRequestHeader modifies a specific outgoing header +// This is the header that the upstream server will see. +func DeleteRequestHeader(name string) proxychain.RequestModification { + return func(px *proxychain.ProxyChain) error { + px.Request.Header.Del(name) + return nil + } +} diff --git a/proxychain/rqm/request_archive_is.go b/proxychain/requestmodifers/request_archive_is.go similarity index 96% rename from proxychain/rqm/request_archive_is.go rename to proxychain/requestmodifers/request_archive_is.go index 525b0925..674a48af 100644 --- a/proxychain/rqm/request_archive_is.go +++ b/proxychain/requestmodifers/request_archive_is.go @@ -1,4 +1,4 @@ -package rqm +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/request_google_cache.go b/proxychain/requestmodifers/request_google_cache.go similarity index 94% rename from proxychain/rqm/request_google_cache.go rename to proxychain/requestmodifers/request_google_cache.go index c9d8d9bf..1e967a03 100644 --- a/proxychain/rqm/request_google_cache.go +++ b/proxychain/requestmodifers/request_google_cache.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/request_wayback_machine.go b/proxychain/requestmodifers/request_wayback_machine.go similarity index 94% rename from proxychain/rqm/request_wayback_machine.go rename to proxychain/requestmodifers/request_wayback_machine.go index a01926ba..36363dc9 100644 --- a/proxychain/rqm/request_wayback_machine.go +++ b/proxychain/requestmodifers/request_wayback_machine.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go similarity index 98% rename from proxychain/rqm/resolve_with_google_doh.go rename to proxychain/requestmodifers/resolve_with_google_doh.go index 2e2fb05b..f236d544 100644 --- a/proxychain/rqm/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -1,4 +1,4 @@ -package rqm +package requestmodifers import ( "context" diff --git a/proxychain/rqm/spoof_origin.go b/proxychain/requestmodifers/spoof_origin.go similarity index 95% rename from proxychain/rqm/spoof_origin.go rename to proxychain/requestmodifers/spoof_origin.go index 07bbd8a0..1dcc109b 100644 --- a/proxychain/rqm/spoof_origin.go +++ b/proxychain/requestmodifers/spoof_origin.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/spoof_referrer.go b/proxychain/requestmodifers/spoof_referrer.go similarity index 96% rename from proxychain/rqm/spoof_referrer.go rename to proxychain/requestmodifers/spoof_referrer.go index 1f0ae46a..b2e53014 100644 --- a/proxychain/rqm/spoof_referrer.go +++ b/proxychain/requestmodifers/spoof_referrer.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/spoof_user_agent.go b/proxychain/requestmodifers/spoof_user_agent.go similarity index 88% rename from proxychain/rqm/spoof_user_agent.go rename to proxychain/requestmodifers/spoof_user_agent.go index 49502827..4c2083c7 100644 --- a/proxychain/rqm/spoof_user_agent.go +++ b/proxychain/requestmodifers/spoof_user_agent.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/rqm/spoof_x_forwarded_for.go b/proxychain/requestmodifers/spoof_x_forwarded_for.go similarity index 91% rename from proxychain/rqm/spoof_x_forwarded_for.go rename to proxychain/requestmodifers/spoof_x_forwarded_for.go index 93a4e910..45a9dffe 100644 --- a/proxychain/rqm/spoof_x_forwarded_for.go +++ b/proxychain/requestmodifers/spoof_x_forwarded_for.go @@ -1,4 +1,4 @@ -package rqm // ReQuestModifier +package requestmodifers import ( "ladder/proxychain" diff --git a/proxychain/responsemodifers/bypass_cors.go b/proxychain/responsemodifers/bypass_cors.go new file mode 100644 index 00000000..23dad060 --- /dev/null +++ b/proxychain/responsemodifers/bypass_cors.go @@ -0,0 +1,21 @@ +package responsemodifers + +import ( + "ladder/proxychain" +) + +// BypassCORS modifies response headers to prevent the browser +// from enforcing any CORS restrictions. This should run at the end of the chain. +func BypassCORS() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddResponseModifications( + SetResponseHeader("Access-Control-Allow-Origin", "*"), + SetResponseHeader("Access-Control-Expose-Headers", "*"), + SetResponseHeader("Access-Control-Allow-Credentials", "true"), + SetResponseHeader("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, HEAD, OPTIONS, PATCH"), + SetResponseHeader("Access-Control-Allow-Headers", "*"), + DeleteResponseHeader("X-Frame-Options"), + ) + return nil + } +} diff --git a/proxychain/responsemodifers/bypass_csp.go b/proxychain/responsemodifers/bypass_csp.go new file mode 100644 index 00000000..71d4d736 --- /dev/null +++ b/proxychain/responsemodifers/bypass_csp.go @@ -0,0 +1,27 @@ +package responsemodifers + +import ( + "ladder/proxychain" +) + +// BypassContentSecurityPolicy modifies response headers to prevent the browser +// from enforcing any CSP restrictions. This should run at the end of the chain. +func BypassContentSecurityPolicy() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddResponseModifications( + DeleteResponseHeader("Content-Security-Policy"), + DeleteResponseHeader("Content-Security-Policy-Report-Only"), + DeleteResponseHeader("X-Content-Security-Policy"), + DeleteResponseHeader("X-WebKit-CSP"), + ) + return nil + } +} + +// SetContentSecurityPolicy modifies response headers to a specific CSP +func SetContentSecurityPolicy(csp string) proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + chain.Response.Header.Set("Content-Security-Policy", csp) + return nil + } +} diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifers/modify_incoming_cookies.go new file mode 100644 index 00000000..df6aa535 --- /dev/null +++ b/proxychain/responsemodifers/modify_incoming_cookies.go @@ -0,0 +1,102 @@ +package responsemodifers + +import ( + "fmt" + "ladder/proxychain" + "net/http" +) + +// DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server +// back down to the client. +func DeleteIncomingCookies(whitelist ...string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.Response.Header.Del("Set-Cookie") + return nil + } +} + +// DeleteIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server +// to the client. Cookies whose names are in the whitelist are not removed. +func DeleteIncomingCookiesExcept(whitelist ...string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + // Convert whitelist slice to a map for efficient lookups + whitelistMap := make(map[string]struct{}) + for _, cookieName := range whitelist { + whitelistMap[cookieName] = struct{}{} + } + + // If the response has no cookies, return early + if px.Response.Header == nil { + return nil + } + + // Filter the cookies in the response + filteredCookies := []string{} + for _, cookieStr := range px.Response.Header["Set-Cookie"] { + cookie := parseCookie(cookieStr) + if _, found := whitelistMap[cookie.Name]; found { + filteredCookies = append(filteredCookies, cookieStr) + } + } + + // Update the Set-Cookie header with the filtered cookies + if len(filteredCookies) > 0 { + px.Response.Header["Set-Cookie"] = filteredCookies + } else { + px.Response.Header.Del("Set-Cookie") + } + + return nil + } +} + +// parseCookie parses a cookie string and returns an http.Cookie object. +func parseCookie(cookieStr string) *http.Cookie { + header := http.Header{} + header.Add("Set-Cookie", cookieStr) + request := http.Request{Header: header} + return request.Cookies()[0] +} + +// SetIncomingCookies adds a raw cookie string being sent from the proxy server down to the client +func SetIncomingCookies(cookies string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + px.Response.Header.Set("Set-Cookie", cookies) + return nil + } +} + +// SetIncomingCookie modifies a specific cookie in the response from the proxy server to the client. +func SetIncomingCookie(name string, val string) proxychain.ResponseModification { + return func(px *proxychain.ProxyChain) error { + if px.Response.Header == nil { + return nil + } + + updatedCookies := []string{} + found := false + + // Iterate over existing cookies and modify the one that matches the cookieName + for _, cookieStr := range px.Response.Header["Set-Cookie"] { + cookie := parseCookie(cookieStr) + if cookie.Name == name { + // Replace the cookie with the new value + updatedCookies = append(updatedCookies, fmt.Sprintf("%s=%s", name, val)) + found = true + } else { + // Keep the cookie as is + updatedCookies = append(updatedCookies, cookieStr) + } + } + + // If the specified cookie wasn't found, add it + if !found { + updatedCookies = append(updatedCookies, fmt.Sprintf("%s=%s", name, val)) + } + + // Update the Set-Cookie header + px.Response.Header["Set-Cookie"] = updatedCookies + + return nil + } +} diff --git a/proxychain/rsm/modify_response_header.go b/proxychain/responsemodifers/modify_response_header.go similarity index 55% rename from proxychain/rsm/modify_response_header.go rename to proxychain/responsemodifers/modify_response_header.go index d7a473e3..5266d6db 100644 --- a/proxychain/rsm/modify_response_header.go +++ b/proxychain/responsemodifers/modify_response_header.go @@ -1,17 +1,12 @@ -package rsm // ReSponseModifers +package responsemodifers import ( "ladder/proxychain" ) -// ModifyResponseHeader modifies response headers from the upstream server -// if value is "", then the response header is deleted. -func ModifyResponseHeader(key string, value string) proxychain.ResponseModification { +// SetResponseHeader modifies response headers from the upstream server +func SetResponseHeader(key string, value string) proxychain.ResponseModification { return func(px *proxychain.ProxyChain) error { - if value == "" { - px.Context.Response().Header.Del(key) - return nil - } px.Context.Response().Header.Set(key, value) return nil } diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go new file mode 100644 index 00000000..29caff81 --- /dev/null +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -0,0 +1,114 @@ +package responsemodifers + +import ( + "bytes" + "io" + "ladder/proxychain" + "net/url" + "strings" + + "golang.org/x/net/html" +) + +type HTMLResourceURLRewriter struct { + src io.Reader + buffer *bytes.Buffer // buffer to temporarily hold rewritten output for the reader + proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL +} + +func NewHTMLResourceURLRewriter(src io.Reader, proxyURL *url.URL) *HTMLResourceURLRewriter { + return &HTMLResourceURLRewriter{ + src: src, + buffer: new(bytes.Buffer), + proxyURL: proxyURL, + } +} + +func rewriteToken(token *html.Token, baseURL *url.URL) { + attrsToRewrite := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} + for i := range token.Attr { + attr := &token.Attr[i] + if attrsToRewrite[attr.Key] && strings.HasPrefix(attr.Val, "/") { + // Make URL absolute + attr.Val = "/https://" + baseURL.Host + attr.Val + } + } +} + +func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { + if r.buffer.Len() != 0 { + return r.buffer.Read(p) + } + + tokenizer := html.NewTokenizer(r.src) + for { + tokenType := tokenizer.Next() + if tokenType == html.ErrorToken { + err := tokenizer.Err() + if err == io.EOF { + return 0, io.EOF // End of document + } + return 0, err // Actual error + } + token := tokenizer.Token() + if tokenType == html.StartTagToken || tokenType == html.SelfClosingTagToken { + rewriteToken(&token, r.url) + } + r.buffer.WriteString(token.String()) + if r.buffer.Len() > 0 { + break + } + } + } +} + + +// RewriteHTMLResourceURLs updates src/href attributes in HTML content to route through the proxy. +func RewriteHTMLResourceURLs() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + ct := chain.Response.Header.Get("content-type") + if ct != "text/html" { + return nil + } + + // parse dom + tokenizer := html.NewTokenizer(chain.Body) + var buffer bytes.Buffer + + // traverse dom and proxify existing src/img resource links + for { + tokenType := tokenizer.Next() + switch tokenType { + case html.ErrorToken: + // End of the document, set the new body + chain.Body = io.ReaderFrom(buffer) + return nil + case html.StartTagToken, html.SelfClosingTagToken: + token := tokenizer.Token() + // Rewrite the necessary attributes + token = rewriteToken(token, u) + buffer.WriteString(token.String()) + case html.TextToken, html.CommentToken, html.DoctypeToken, html.EndTagToken: + // Write the token to the buffer as is + buffer.WriteString(tokenizer.Token().String()) + } + } + } +} + +// rewriteToken rewrites the tokens with URLs to point to the proxy server. +func rewriteToken(token html.Token, u *url.URL) html.Token { + // Define attributes to rewrite, add more as needed such as "srcset" + rewriteAttrs := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} + + for i, attr := range token.Attr { + _, shouldRewrite := rewriteAttrs[attr.Key] + if shouldRewrite { + val := attr.Val + if strings.HasPrefix(val, "/") { + token.Attr[i].Val = "/https://" + u.Host + val + } + } + } + return token +} diff --git a/proxychain/rsm/block_incoming_cookies.go b/proxychain/rsm/block_incoming_cookies.go deleted file mode 100644 index 0884a6f0..00000000 --- a/proxychain/rsm/block_incoming_cookies.go +++ /dev/null @@ -1,58 +0,0 @@ -package rsm // ReSponseModifers - -import ( - "ladder/proxychain" - "net/http" -) - -// BlockIncomingCookies prevents ALL cookies from being sent from the proxy server -// to the client. -func BlockIncomingCookies(whitelist ...string) proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.Response.Header.Del("Set-Cookie") - return nil - } -} - -// BlockIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server -// to the client. Cookies whose names are in the whitelist are not removed. -func BlockIncomingCookiesExcept(whitelist ...string) proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - // Convert whitelist slice to a map for efficient lookups - whitelistMap := make(map[string]struct{}) - for _, cookieName := range whitelist { - whitelistMap[cookieName] = struct{}{} - } - - // If the response has no cookies, return early - if px.Response.Header == nil { - return nil - } - - // Filter the cookies in the response - filteredCookies := []string{} - for _, cookieStr := range px.Response.Header["Set-Cookie"] { - cookie := parseCookie(cookieStr) - if _, found := whitelistMap[cookie.Name]; found { - filteredCookies = append(filteredCookies, cookieStr) - } - } - - // Update the Set-Cookie header with the filtered cookies - if len(filteredCookies) > 0 { - px.Response.Header["Set-Cookie"] = filteredCookies - } else { - px.Response.Header.Del("Set-Cookie") - } - - return nil - } -} - -// parseCookie parses a cookie string and returns an http.Cookie object. -func parseCookie(cookieStr string) *http.Cookie { - header := http.Header{} - header.Add("Set-Cookie", cookieStr) - request := http.Request{Header: header} - return request.Cookies()[0] -} diff --git a/proxychain/rsm/bypass_cors.go b/proxychain/rsm/bypass_cors.go deleted file mode 100644 index dbf7013b..00000000 --- a/proxychain/rsm/bypass_cors.go +++ /dev/null @@ -1,20 +0,0 @@ -package rsm // ReSponseModifers - -import ( - "ladder/proxychain" -) - -// BypassCORs modifies response headers to prevent the browser -// from enforcing any CORS restrictions -func BypassCORS() proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.AddResultModifications( - ModifyResponseHeader("Access-Control-Allow-Origin", "*"), - ModifyResponseHeader("Access-Control-Expose-Headers", "*"), - ModifyResponseHeader("Access-Control-Allow-Credentials", "true"), - ModifyResponseHeader("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, HEAD, OPTIONS, PATCH"), - DeleteResponseHeader("X-Frame-Options"), - ) - return nil - } -} diff --git a/proxychain/rsm/bypass_csp.go b/proxychain/rsm/bypass_csp.go deleted file mode 100644 index 4262590e..00000000 --- a/proxychain/rsm/bypass_csp.go +++ /dev/null @@ -1,19 +0,0 @@ -package rsm // ReSponseModifers - -import ( - "ladder/proxychain" -) - -// BypassCSP modifies response headers to prevent the browser -// from enforcing any CORS restrictions -func BypassCSP() proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.AddResultModifications( - ModifyResponseHeader("Access-Control-Allow-Origin", "*"), - ModifyResponseHeader("Access-Control-Expose-Headers", "*"), - ModifyResponseHeader("Access-Control-Allow-Credentials", "true"), - ModifyResponseHeader("Access-Control-Allow-Methods", ""), - ) - return nil - } -} From 5035f65d6b2d149a96370fe327b1502c7b3f50fe Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 19 Nov 2023 20:59:55 -0600 Subject: [PATCH 004/178] wip --- .../modify_outgoing_cookies.go | 66 +++++++++++++- .../rewrite_http_resource_urls.go | 91 ++++++------------- 2 files changed, 88 insertions(+), 69 deletions(-) diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index 43bb5101..86f8e35b 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -2,20 +2,76 @@ package requestmodifers import ( "ladder/proxychain" + "net/http" ) -// BlockOutgoingCookies prevents ALL cookies from being sent from the client -// to the upstream proxy server. -func BlockOutgoingCookies() proxychain.RequestModification { +// SetOutgoingCookie modifes a specific cookie name +// by modifying the request cookie headers going to the upstream server. +// If the cookie name does not already exist, it is created. +func SetOutgoingCookie(name string, val string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + cookies := chain.Request.Cookies() + hasCookie := false + for _, cookie := range cookies { + if cookie.Name != name { + continue + } + hasCookie = true + cookie.Value = val + } + + if hasCookie { + return nil + } + + chain.Request.AddCookie(&http.Cookie{ + Domain: chain.Request.URL.Host, + Name: name, + Value: val, + }) + + return nil + } +} + +// SetOutgoingCookies modifies a client request's cookie header +// to a raw Cookie string, overwriting existing cookies +func SetOutgoingCookies(cookies string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.Request.Header.Set("Cookies", cookies) + return nil + } +} + +// DeleteOutgoingCookie modifies the http request's cookies header to +// delete a specific request cookie going to the upstream server. +// If the cookie does not exist, it does not do anything. +func DeleteOutgoingCookie(name string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + cookies := chain.Request.Cookies() + chain.Request.Header.Del("Cookies") + + for _, cookie := range cookies { + if cookie.Name == name { + chain.Request.AddCookie(cookie) + } + } + return nil + } +} + +// DeleteOutgoingCookies removes the cookie header entirely, +// preventing any cookies from reaching the upstream server. +func DeleteOutgoingCookies() proxychain.RequestModification { return func(px *proxychain.ProxyChain) error { px.Request.Header.Del("Cookie") return nil } } -// BlockOutgoingCookiesExcept prevents non-whitelisted cookies from being sent from the client +// DeleteOutGoingCookiesExcept prevents non-whitelisted cookies from being sent from the client // to the upstream proxy server. Cookies whose names are in the whitelist are not removed. -func BlockOutgoingCookiesExcept(whitelist ...string) proxychain.RequestModification { +func DeleteOutgoingCookiesExcept(whitelist ...string) proxychain.RequestModification { return func(px *proxychain.ProxyChain) error { // Convert whitelist slice to a map for efficient lookups whitelistMap := make(map[string]struct{}) diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 29caff81..d572a5ef 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -11,16 +11,16 @@ import ( ) type HTMLResourceURLRewriter struct { - src io.Reader - buffer *bytes.Buffer // buffer to temporarily hold rewritten output for the reader - proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL + src io.Reader + buffer *bytes.Buffer // buffer to temporarily hold rewritten output for the reader + proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL } func NewHTMLResourceURLRewriter(src io.Reader, proxyURL *url.URL) *HTMLResourceURLRewriter { return &HTMLResourceURLRewriter{ - src: src, - buffer: new(bytes.Buffer), - proxyURL: proxyURL, + src: src, + buffer: new(bytes.Buffer), + proxyURL: proxyURL, } } @@ -40,29 +40,29 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { return r.buffer.Read(p) } - tokenizer := html.NewTokenizer(r.src) - for { - tokenType := tokenizer.Next() - if tokenType == html.ErrorToken { - err := tokenizer.Err() - if err == io.EOF { - return 0, io.EOF // End of document - } - return 0, err // Actual error - } - token := tokenizer.Token() - if tokenType == html.StartTagToken || tokenType == html.SelfClosingTagToken { - rewriteToken(&token, r.url) - } - r.buffer.WriteString(token.String()) - if r.buffer.Len() > 0 { - break + tokenizer := html.NewTokenizer(r.src) + for { + tokenType := tokenizer.Next() + if tokenType == html.ErrorToken { + err := tokenizer.Err() + if err == io.EOF { + return 0, io.EOF // End of document } + return 0, err // Actual error + } + + token := tokenizer.Token() + if tokenType == html.StartTagToken || tokenType == html.SelfClosingTagToken { + rewriteToken(&token, r.proxyURL) + } + r.buffer.WriteString(token.String()) + if r.buffer.Len() > 0 { + break } } + return r.buffer.Read(p) } - // RewriteHTMLResourceURLs updates src/href attributes in HTML content to route through the proxy. func RewriteHTMLResourceURLs() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { @@ -70,45 +70,8 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { if ct != "text/html" { return nil } - - // parse dom - tokenizer := html.NewTokenizer(chain.Body) - var buffer bytes.Buffer - - // traverse dom and proxify existing src/img resource links - for { - tokenType := tokenizer.Next() - switch tokenType { - case html.ErrorToken: - // End of the document, set the new body - chain.Body = io.ReaderFrom(buffer) - return nil - case html.StartTagToken, html.SelfClosingTagToken: - token := tokenizer.Token() - // Rewrite the necessary attributes - token = rewriteToken(token, u) - buffer.WriteString(token.String()) - case html.TextToken, html.CommentToken, html.DoctypeToken, html.EndTagToken: - // Write the token to the buffer as is - buffer.WriteString(tokenizer.Token().String()) - } - } - } -} - -// rewriteToken rewrites the tokens with URLs to point to the proxy server. -func rewriteToken(token html.Token, u *url.URL) html.Token { - // Define attributes to rewrite, add more as needed such as "srcset" - rewriteAttrs := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} - - for i, attr := range token.Attr { - _, shouldRewrite := rewriteAttrs[attr.Key] - if shouldRewrite { - val := attr.Val - if strings.HasPrefix(val, "/") { - token.Attr[i].Val = "/https://" + u.Host + val - } - } + // TODO: implement chaining rewriter chaining method + // so we can compose multiple body rewriters together + return nil } - return token } From 1d88f14de205527cde3a32483fad697268fd6e7f Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 20 Nov 2023 11:38:53 -0600 Subject: [PATCH 005/178] rewrite resource URLs based on html tokenizer instead of regex --- handlers/proxy.go | 19 ++-- proxychain/proxychain.go | 59 +++++++--- .../rewrite_http_resource_urls.go | 104 +++++++++++------- 3 files changed, 121 insertions(+), 61 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index fc3beea0..70e75778 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -49,17 +49,18 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ - proxychain := proxychain. - NewProxyChain(). - SetDebugLogging(opts.Verbose). - SetRequestModifications( - rx.DeleteOutgoingCookies(), - ). - AddResponseModifications( - tx.DeleteIncomingCookies(), - ) return func(c *fiber.Ctx) error { + proxychain := proxychain. + NewProxyChain(). + SetDebugLogging(opts.Verbose). + SetRequestModifications( + rx.DeleteOutgoingCookies(), + ). + AddResponseModifications( + tx.DeleteIncomingCookies(), + tx.RewriteHTMLResourceURLs(), + ) return proxychain.SetFiberCtx(c).Execute() } diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index b4c36133..a6f59489 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -83,7 +83,6 @@ type ProxyChain struct { Client *http.Client Request *http.Request Response *http.Response - Body io.Reader requestModifications []RequestModification resultModifications []ResponseModification Ruleset *ruleset.RuleSet @@ -131,11 +130,17 @@ func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { } func (chain *ProxyChain) _initialize_request() (*http.Request, error) { + log.Println("ir 1") + if chain.Context == nil { + chain.abortErr = chain.abort(errors.New("no context set")) + return nil, chain.abortErr + } // initialize a request (without url) req, err := http.NewRequest(chain.Context.Method(), "", nil) if err != nil { return nil, err } + log.Println("ir 2") chain.Request = req switch chain.Context.Method() { case "GET": @@ -152,12 +157,16 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { return nil, fmt.Errorf("unsupported request method from client: '%s'", chain.Context.Method()) } - // copy client request headers to upstream request headers - forwardHeaders := func(key []byte, val []byte) { - req.Header.Set(string(key), string(val)) - } - clientHeaders := &chain.Context.Request().Header - clientHeaders.VisitAll(forwardHeaders) + log.Println("ir 3") + /* + // copy client request headers to upstream request headers + forwardHeaders := func(key []byte, val []byte) { + req.Header.Set(string(key), string(val)) + } + clientHeaders := &chain.Context.Request().Header + clientHeaders.VisitAll(forwardHeaders) + */ + log.Println("ir 4") return req, nil } @@ -166,20 +175,27 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { // the caller is responsible for returning a response back to the requestor // the caller is also responsible for calling chain._reset() when they are done with the body func (chain *ProxyChain) _execute() (io.Reader, error) { - if chain.validateCtxIsSet() != nil { + if chain.validateCtxIsSet() != nil || chain.abortErr != nil { return nil, chain.abortErr } + if chain.Request == nil { + return nil, errors.New("proxychain request not yet initialized") + } if chain.Request.URL.Scheme == "" { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } + log.Println("A") // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { + log.Println("AA") + log.Println(applyRequestModificationsTo) err := applyRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } + log.Println("B") // Send Request Upstream resp, err := chain.Client.Do(chain.Request) @@ -187,9 +203,9 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { return nil, chain.abort(err) } chain.Response = resp - chain.Body = chain.Response.Body + log.Println("C") - defer resp.Body.Close() + //defer resp.Body.Close() /* todo: move to rsm for k, v := range resp.Header { @@ -204,8 +220,9 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { return nil, chain.abort(err) } } + log.Println("D") - return chain.Body, nil + return chain.Response.Body, nil } // Execute sends the request for the ProxyChain and returns the request to the sender @@ -214,12 +231,23 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { // be returned to the client func (chain *ProxyChain) Execute() error { defer chain._reset() + log.Println("1") body, err := chain._execute() + log.Println("2") if err != nil { + log.Println(err) return err } + log.Println("3") + log.Println(chain) + if chain.Context == nil { + return errors.New("no context set") + } // Return request back to client + chain.Context.Set("content-type", "text/html") return chain.Context.SendStream(body) + + //return chain.Context.SendStream(body) } // reconstructUrlFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries @@ -232,9 +260,11 @@ func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL } if realUrl.Scheme == "" || realUrl.Host == "" { - return nil, fmt.Errorf("invalid referer URL: %s", referer) + return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer, relativeUrl) } + log.Printf("'%s' -> '%s'\n", relativeUrl.String(), realUrl.String()) + return &url.URL{ Scheme: referer.Scheme, Host: referer.Host, @@ -251,11 +281,13 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { if err != nil { reqUrl = chain.Context.Params("*") // fallback } + fmt.Println(reqUrl) urlQuery, err := url.Parse(reqUrl) if err != nil { return nil, fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) } + fmt.Println(urlQuery) // Handle standard paths // eg: https://localhost:8080/https://realsite.com/images/foobar.jpg -> https://realsite.com/images/foobar.jpg @@ -338,9 +370,8 @@ func (chain *ProxyChain) abort(err error) error { // internal function to reset state of ProxyChain for reuse func (chain *ProxyChain) _reset() { chain.abortErr = nil - chain.Body = nil chain.Request = nil - chain.Response = nil + //chain.Response = nil chain.Context = nil } diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index d572a5ef..1e051a23 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -4,6 +4,7 @@ import ( "bytes" "io" "ladder/proxychain" + "log" "net/url" "strings" @@ -11,67 +12,94 @@ import ( ) type HTMLResourceURLRewriter struct { - src io.Reader - buffer *bytes.Buffer // buffer to temporarily hold rewritten output for the reader - proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL + proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL; TODO: implement + tokenizer *html.Tokenizer + currentToken html.Token + tokenBuffer *bytes.Buffer + currentTokenIndex int + currentTokenProcessed bool } -func NewHTMLResourceURLRewriter(src io.Reader, proxyURL *url.URL) *HTMLResourceURLRewriter { +func NewHTMLResourceURLRewriter(src io.ReadCloser, proxyURL *url.URL) *HTMLResourceURLRewriter { + log.Println("tokenize") return &HTMLResourceURLRewriter{ - src: src, - buffer: new(bytes.Buffer), - proxyURL: proxyURL, + tokenizer: html.NewTokenizer(src), + currentToken: html.Token{}, + currentTokenIndex: 0, + tokenBuffer: new(bytes.Buffer), + proxyURL: proxyURL, } } -func rewriteToken(token *html.Token, baseURL *url.URL) { - attrsToRewrite := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} - for i := range token.Attr { - attr := &token.Attr[i] - if attrsToRewrite[attr.Key] && strings.HasPrefix(attr.Val, "/") { - // Make URL absolute - attr.Val = "/https://" + baseURL.Host + attr.Val - } - } +func (r *HTMLResourceURLRewriter) Close() error { + r.tokenBuffer.Reset() + r.currentToken = html.Token{} + r.currentTokenIndex = 0 + r.currentTokenProcessed = false + return nil } func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { - if r.buffer.Len() != 0 { - return r.buffer.Read(p) - } - tokenizer := html.NewTokenizer(r.src) - for { - tokenType := tokenizer.Next() + if r.currentToken.Data == "" || r.currentTokenProcessed { + tokenType := r.tokenizer.Next() + + // done reading html, close out reader if tokenType == html.ErrorToken { - err := tokenizer.Err() - if err == io.EOF { - return 0, io.EOF // End of document + if r.tokenizer.Err() == io.EOF { + return 0, io.EOF } - return 0, err // Actual error + return 0, r.tokenizer.Err() } - token := tokenizer.Token() - if tokenType == html.StartTagToken || tokenType == html.SelfClosingTagToken { - rewriteToken(&token, r.proxyURL) - } - r.buffer.WriteString(token.String()) - if r.buffer.Len() > 0 { - break - } + // flush the current token into an internal buffer + // to handle fragmented tokens + r.currentToken = r.tokenizer.Token() + r.tokenBuffer.Reset() + r.tokenBuffer.WriteString(r.currentToken.String()) + r.currentTokenProcessed = false + r.currentTokenIndex = 0 } - return r.buffer.Read(p) + + n, err := r.tokenBuffer.Read(p) + + if err == io.EOF || r.tokenBuffer.Len() == 0 { + r.currentTokenProcessed = true + err = nil // Reset error to nil because EOF in this context is expected and not an actual error + } + return n, err + } // RewriteHTMLResourceURLs updates src/href attributes in HTML content to route through the proxy. func RewriteHTMLResourceURLs() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { + log.Println("rhru") ct := chain.Response.Header.Get("content-type") - if ct != "text/html" { + log.Println(ct) + if !strings.HasPrefix(ct, "text/html") { return nil } - // TODO: implement chaining rewriter chaining method - // so we can compose multiple body rewriters together + log.Println("rhru2") + // chain.Response.Body is an unread http.Response.Body + chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL) return nil } } + +func rewriteToken(token *html.Token, baseURL *url.URL) { + log.Println(token.String()) + attrsToRewrite := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} + for i := range token.Attr { + attr := &token.Attr[i] + if attrsToRewrite[attr.Key] { + attr.Val = "/" + attr.Val + } + /* + if attrsToRewrite[attr.Key] && strings.HasPrefix(attr.Val, "/") { + // Make URL absolute + attr.Val = "/https://" + baseURL.Host + attr.Val + } + */ + } +} From 5d46adc48657ee173d99814e892928b39505ecb9 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 20 Nov 2023 15:37:07 -0600 Subject: [PATCH 006/178] wip --- proxychain/cache/memcache.go | 0 proxychain/proxychain.go | 21 +-- proxychain/proxychain_cache.go | 19 -- .../rewrite_http_resource_urls.go | 162 +++++++++++++++--- proxychain/strategy/cloudflare.go | 8 - 5 files changed, 139 insertions(+), 71 deletions(-) delete mode 100644 proxychain/cache/memcache.go delete mode 100644 proxychain/proxychain_cache.go delete mode 100644 proxychain/strategy/cloudflare.go diff --git a/proxychain/cache/memcache.go b/proxychain/cache/memcache.go deleted file mode 100644 index e69de29b..00000000 diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index a6f59489..319213ba 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -22,7 +22,8 @@ applying request and response modifications along the way. request modifiers (ReqMods) and response modifiers (ResMods) before passing the upstream response back to the client. - - ProxyChains can be reused to avoid memory allocations. + - ProxyChains can be reused to avoid memory allocations. However, they are not concurrent-safe + so a ProxyChainPool should be used with mutexes to avoid memory errors. --- @@ -48,6 +49,7 @@ proxychain.NewProxyChain(). ). SetResultModifications( tx.BlockIncomingCookies(), + tx.RewriteHTMLResourceURLs() ). Execute() @@ -130,7 +132,6 @@ func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { } func (chain *ProxyChain) _initialize_request() (*http.Request, error) { - log.Println("ir 1") if chain.Context == nil { chain.abortErr = chain.abort(errors.New("no context set")) return nil, chain.abortErr @@ -140,7 +141,6 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { if err != nil { return nil, err } - log.Println("ir 2") chain.Request = req switch chain.Context.Method() { case "GET": @@ -157,7 +157,6 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { return nil, fmt.Errorf("unsupported request method from client: '%s'", chain.Context.Method()) } - log.Println("ir 3") /* // copy client request headers to upstream request headers forwardHeaders := func(key []byte, val []byte) { @@ -166,7 +165,6 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { clientHeaders := &chain.Context.Request().Header clientHeaders.VisitAll(forwardHeaders) */ - log.Println("ir 4") return req, nil } @@ -184,18 +182,14 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { if chain.Request.URL.Scheme == "" { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } - log.Println("A") // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { - log.Println("AA") - log.Println(applyRequestModificationsTo) err := applyRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } - log.Println("B") // Send Request Upstream resp, err := chain.Client.Do(chain.Request) @@ -203,7 +197,6 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { return nil, chain.abort(err) } chain.Response = resp - log.Println("C") //defer resp.Body.Close() @@ -220,7 +213,6 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { return nil, chain.abort(err) } } - log.Println("D") return chain.Response.Body, nil } @@ -231,15 +223,11 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { // be returned to the client func (chain *ProxyChain) Execute() error { defer chain._reset() - log.Println("1") body, err := chain._execute() - log.Println("2") if err != nil { log.Println(err) return err } - log.Println("3") - log.Println(chain) if chain.Context == nil { return errors.New("no context set") } @@ -281,13 +269,11 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { if err != nil { reqUrl = chain.Context.Params("*") // fallback } - fmt.Println(reqUrl) urlQuery, err := url.Parse(reqUrl) if err != nil { return nil, fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) } - fmt.Println(urlQuery) // Handle standard paths // eg: https://localhost:8080/https://realsite.com/images/foobar.jpg -> https://realsite.com/images/foobar.jpg @@ -327,6 +313,7 @@ func (chain *ProxyChain) SetFiberCtx(ctx *fiber.Ctx) *ProxyChain { chain.abortErr = chain.abort(err) } chain.Request.URL = url + fmt.Printf("extracted URL: %s\n", chain.Request.URL) return chain } diff --git a/proxychain/proxychain_cache.go b/proxychain/proxychain_cache.go deleted file mode 100644 index 44289af9..00000000 --- a/proxychain/proxychain_cache.go +++ /dev/null @@ -1,19 +0,0 @@ -package proxychain - -import "time" - -// Cache provides an interface for caching mechanisms. -// It supports operations to get, set, and invalidate cache entries. -// Implementations should ensure thread safety, efficiency -type Cache interface { - // Get Retrieves a cached value by its key. Returns the value and a boolean indicating - Get(key string) (value interface{}, found bool) - - // Set - Stores a value associated with a key in the cache for a specified time-to-live (ttl). - // If ttl is zero, the cache item has no expiration. - Set(key string, value interface{}, ttl time.Duration) - - // Invalidate - Removes a value from the cache by its key. If the key does not exist, - // it should perform a no-op or return a suitable error. - Invalidate(key string) error -} diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 1e051a23..cdc92b1e 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -2,6 +2,7 @@ package responsemodifers import ( "bytes" + "fmt" "io" "ladder/proxychain" "log" @@ -11,8 +12,37 @@ import ( "golang.org/x/net/html" ) +// Define list of HTML attributes to try to rewrite +var AttributesToRewrite map[string]bool + +func init() { + AttributesToRewrite = map[string]bool{ + "src": true, + "href": true, + /* + "action": true, + "srcset": true, + "poster": true, + "data": true, + "cite": true, + "formaction": true, + "background": true, + "usemap": true, + "longdesc": true, + "manifest": true, + "archive": true, + "codebase": true, + "icon": true, + "pluginspage": true, + */ + } +} + +// HTMLResourceURLRewriter is a struct that rewrites URLs within HTML resources to use a specified proxy URL. +// It uses an HTML tokenizer to process HTML content and rewrites URLs in src/href attributes. +// -> type HTMLResourceURLRewriter struct { - proxyURL *url.URL // proxyURL is the URL of the proxy, not the upstream URL; TODO: implement + baseURL string // eg: https://proxiedsite.com (note, no trailing '/') tokenizer *html.Tokenizer currentToken html.Token tokenBuffer *bytes.Buffer @@ -20,17 +50,19 @@ type HTMLResourceURLRewriter struct { currentTokenProcessed bool } -func NewHTMLResourceURLRewriter(src io.ReadCloser, proxyURL *url.URL) *HTMLResourceURLRewriter { - log.Println("tokenize") +// NewHTMLResourceURLRewriter creates a new instance of HTMLResourceURLRewriter. +// It initializes the tokenizer with the provided source and sets the proxy URL. +func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL string) *HTMLResourceURLRewriter { return &HTMLResourceURLRewriter{ tokenizer: html.NewTokenizer(src), currentToken: html.Token{}, currentTokenIndex: 0, tokenBuffer: new(bytes.Buffer), - proxyURL: proxyURL, + baseURL: baseURL, } } +// Close resets the internal state of HTMLResourceURLRewriter, clearing buffers and token data. func (r *HTMLResourceURLRewriter) Close() error { r.tokenBuffer.Reset() r.currentToken = html.Token{} @@ -39,6 +71,8 @@ func (r *HTMLResourceURLRewriter) Close() error { return nil } +// Read processes the HTML content, rewriting URLs and managing the state of tokens. +// It reads HTML content, token by token, rewriting URLs to route through the specified proxy. func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { if r.currentToken.Data == "" || r.currentTokenProcessed { @@ -55,6 +89,13 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { // flush the current token into an internal buffer // to handle fragmented tokens r.currentToken = r.tokenizer.Token() + + // patch tokens with URLs + isTokenWithAttribute := r.currentToken.Type == html.StartTagToken || r.currentToken.Type == html.SelfClosingTagToken + if isTokenWithAttribute { + patchResourceURL(&r.currentToken, r.baseURL) + } + r.tokenBuffer.Reset() r.tokenBuffer.WriteString(r.currentToken.String()) r.currentTokenProcessed = false @@ -62,44 +103,111 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { } n, err := r.tokenBuffer.Read(p) - if err == io.EOF || r.tokenBuffer.Len() == 0 { r.currentTokenProcessed = true - err = nil // Reset error to nil because EOF in this context is expected and not an actual error + err = nil // EOF in this context is expected and not an actual error } return n, err +} + +func patchResourceURL(token *html.Token, baseURL string) { + for i := range token.Attr { + attr := &token.Attr[i] + // dont touch attributes except for the ones we defined + _, exists := AttributesToRewrite[attr.Key] + if !exists { + continue + } + + isRelativePath := strings.HasPrefix(attr.Val, "/") + //log.Printf("PRE '%s'='%s'", attr.Key, attr.Val) + + // double check if attribute is valid http URL before modifying + if isRelativePath { + _, err := url.Parse(fmt.Sprintf("http://localhost%s", attr.Val)) + if err != nil { + return + } + } else { + u, err := url.Parse(attr.Val) + if err != nil { + return + } + if !(u.Scheme == "http" || u.Scheme == "https") { + return + } + } + + // patch relative paths + // -> + if isRelativePath { + log.Printf("BASEURL patch: %s\n", baseURL) + + attr.Val = fmt.Sprintf( + "/%s/%s", + baseURL, + //url.QueryEscape( + strings.TrimPrefix(attr.Val, "/"), + //), + ) + log.Printf("url rewritten-> '%s'='%s'", attr.Key, attr.Val) + continue + } + + // patch absolute paths to relative path pointing to ladder proxy + // -> + + //log.Printf("abolute patch: %s\n", attr.Val) + attr.Val = fmt.Sprintf( + "/%s", + //url.QueryEscape(attr.Val), + //url.QueryEscape( + strings.TrimPrefix(attr.Val, "/"), + //), + //attr.Val, + ) + log.Printf("url rewritten-> '%s'='%s'", attr.Key, attr.Val) + } } -// RewriteHTMLResourceURLs updates src/href attributes in HTML content to route through the proxy. +// RewriteHTMLResourceURLs modifies HTTP responses +// to rewrite URLs attributes in HTML content (such as src, href) +// - `` -> `` +// - This function is designed to allow the proxified page +// to still be browsible by routing all resource URLs through the proxy. +// +// --- +// +// - It works by replacing the io.ReadCloser of the http.Response.Body +// with another io.ReaderCloser (HTMLResourceRewriter) that wraps the first one. +// +// - This process can be done multiple times, so that the response will +// be streamed and modified through each pass without buffering the entire response in memory. +// +// - HTMLResourceRewriter reads the http.Response.Body stream, +// parsing each HTML token one at a time and replacing attribute tags. +// +// - When ProxyChain.Execute() is called, the response body will be read from the server +// and pulled through each ResponseModification which wraps the ProxyChain.Response.Body +// without ever buffering the entire HTTP response in memory. func RewriteHTMLResourceURLs() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - log.Println("rhru") + // return early if it's not HTML ct := chain.Response.Header.Get("content-type") - log.Println(ct) if !strings.HasPrefix(ct, "text/html") { return nil } - log.Println("rhru2") - // chain.Response.Body is an unread http.Response.Body - chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL) - return nil - } -} -func rewriteToken(token *html.Token, baseURL *url.URL) { - log.Println(token.String()) - attrsToRewrite := map[string]bool{"href": true, "src": true, "action": true, "srcset": true} - for i := range token.Attr { - attr := &token.Attr[i] - if attrsToRewrite[attr.Key] { - attr.Val = "/" + attr.Val - } + // should be site being requested to proxy + baseUrl := fmt.Sprintf("%s://%s", chain.Request.URL.Scheme, chain.Request.URL.Host) /* - if attrsToRewrite[attr.Key] && strings.HasPrefix(attr.Val, "/") { - // Make URL absolute - attr.Val = "/https://" + baseURL.Host + attr.Val - } + log.Println("--------------------") + log.Println(baseUrl) + log.Println("--------------------") */ + + chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, baseUrl) + return nil } } diff --git a/proxychain/strategy/cloudflare.go b/proxychain/strategy/cloudflare.go deleted file mode 100644 index 63877363..00000000 --- a/proxychain/strategy/cloudflare.go +++ /dev/null @@ -1,8 +0,0 @@ -package strategy - -/* -var Cloudflare = proxy.Strategy{ - tactic.NoCookie(), - // ... other tactics ... -} -*/ From 62224766841fd2319a8c4f3b67dd2eb7ce48305e Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 20 Nov 2023 15:49:39 -0600 Subject: [PATCH 007/178] forward content-type headers --- proxychain/proxychain.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 319213ba..00d84e4f 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -232,7 +232,7 @@ func (chain *ProxyChain) Execute() error { return errors.New("no context set") } // Return request back to client - chain.Context.Set("content-type", "text/html") + chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) return chain.Context.SendStream(body) //return chain.Context.SendStream(body) From 79a229f28c9e87b04ca923ac44d2871607566a4c Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 20 Nov 2023 23:42:50 -0600 Subject: [PATCH 008/178] handle srcset resource URL rewrites; monkey patch JS for URL rewrites --- handlers/proxy.go | 1 + .../masquerade_as_trusted_bot.go | 1 + .../monkey_patch_resource_urls.js | 62 ++++++ .../rewrite_http_resource_urls.go | 205 +++++++++++------- 4 files changed, 191 insertions(+), 78 deletions(-) create mode 100644 proxychain/responsemodifers/monkey_patch_resource_urls.js diff --git a/handlers/proxy.go b/handlers/proxy.go index 70e75778..8b377b4a 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -56,6 +56,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetDebugLogging(opts.Verbose). SetRequestModifications( rx.DeleteOutgoingCookies(), + //rx.RequestArchiveIs(), ). AddResponseModifications( tx.DeleteIncomingCookies(), diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index fcbdc62f..9b32c12b 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -26,6 +26,7 @@ func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModifi SpoofUserAgent(botUA), SpoofXForwardedFor(botIP), SpoofReferrer(""), + SpoofOrigin(""), ) return nil } diff --git a/proxychain/responsemodifers/monkey_patch_resource_urls.js b/proxychain/responsemodifers/monkey_patch_resource_urls.js new file mode 100644 index 00000000..dadeaa0e --- /dev/null +++ b/proxychain/responsemodifers/monkey_patch_resource_urls.js @@ -0,0 +1,62 @@ +// Overrides the global fetch and XMLHttpRequest open methods to modify the request URLs. +// Also overrides the attribute setter prototype to modify the request URLs +// fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") +(() => { + function rewriteURL(url) { + if (!url) return url + if (url.startsWith(window.location.origin)) return url + + if (url.startsWith("//")) { + url = `${window.location.origin}/${encodeURIComponent(url.substring(2))}`; + } else if (url.startsWith("/")) { + url = `${window.location.origin}/${encodeURIComponent(url.substring(1))}`; + } else if (url.startsWith("http://") || url.startsWith("https://")) { + url = `${window.location.origin}/${encodeURIComponent(url)}`; + } + return url; + }; + + // monkey patch fetch + const oldFetch = globalThis.fetch ; + globalThis.fetch = async (url, init) => { + return oldFetch(rewriteURL(url), init) + } + + // monkey patch xmlhttprequest + const oldOpen = XMLHttpRequest.prototype.open; + XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { + return oldOpen.call(this, method, rewriteURL(url), async, user, password); + }; + + + // Monkey patch setter methods + const elements = [ + { tag: 'a', attribute: 'href' }, + { tag: 'img', attribute: 'src' }, + { tag: 'script', attribute: 'src' }, + { tag: 'link', attribute: 'href' }, + { tag: 'iframe', attribute: 'src' }, + { tag: 'audio', attribute: 'src' }, + { tag: 'video', attribute: 'src' }, + { tag: 'source', attribute: 'src' }, + { tag: 'embed', attribute: 'src' }, + { tag: 'object', attribute: 'src' }, + { tag: 'input', attribute: 'src' }, + { tag: 'track', attribute: 'src' }, + { tag: 'form', attribute: 'action' }, + ]; + + elements.forEach(({ tag, attribute }) => { + const proto = document.createElement(tag).constructor.prototype; + const descriptor = Object.getOwnPropertyDescriptor(proto, attribute); + if (descriptor && descriptor.set) { + Object.defineProperty(proto, attribute, { + ...descriptor, + set(value) { + return descriptor.set.call(this, rewriteURL(value)); + } + }); + } + }); + +})(); \ No newline at end of file diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index cdc92b1e..90c8aaae 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -5,7 +5,6 @@ import ( "fmt" "io" "ladder/proxychain" - "log" "net/url" "strings" @@ -17,24 +16,22 @@ var AttributesToRewrite map[string]bool func init() { AttributesToRewrite = map[string]bool{ - "src": true, - "href": true, - /* - "action": true, - "srcset": true, - "poster": true, - "data": true, - "cite": true, - "formaction": true, - "background": true, - "usemap": true, - "longdesc": true, - "manifest": true, - "archive": true, - "codebase": true, - "icon": true, - "pluginspage": true, - */ + "src": true, + "href": true, + "action": true, + "srcset": true, // TODO: fix + "poster": true, + "data": true, + "cite": true, + "formaction": true, + "background": true, + "usemap": true, + "longdesc": true, + "manifest": true, + "archive": true, + "codebase": true, + "icon": true, + "pluginspage": true, } } @@ -42,7 +39,7 @@ func init() { // It uses an HTML tokenizer to process HTML content and rewrites URLs in src/href attributes. // -> type HTMLResourceURLRewriter struct { - baseURL string // eg: https://proxiedsite.com (note, no trailing '/') + baseURL *url.URL tokenizer *html.Tokenizer currentToken html.Token tokenBuffer *bytes.Buffer @@ -52,7 +49,7 @@ type HTMLResourceURLRewriter struct { // NewHTMLResourceURLRewriter creates a new instance of HTMLResourceURLRewriter. // It initializes the tokenizer with the provided source and sets the proxy URL. -func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL string) *HTMLResourceURLRewriter { +func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL) *HTMLResourceURLRewriter { return &HTMLResourceURLRewriter{ tokenizer: html.NewTokenizer(src), currentToken: html.Token{}, @@ -110,64 +107,124 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { return n, err } -func patchResourceURL(token *html.Token, baseURL string) { - for i := range token.Attr { - attr := &token.Attr[i] - // dont touch attributes except for the ones we defined - _, exists := AttributesToRewrite[attr.Key] - if !exists { - continue - } +// Root-relative URLs: These are relative to the root path and start with a "/". +func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { + // doublecheck this is a valid relative URL + _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) + if err != nil { + return + } - isRelativePath := strings.HasPrefix(attr.Val, "/") - //log.Printf("PRE '%s'='%s'", attr.Key, attr.Val) + //log.Printf("BASEURL patch: %s\n", baseURL) - // double check if attribute is valid http URL before modifying - if isRelativePath { - _, err := url.Parse(fmt.Sprintf("http://localhost%s", attr.Val)) - if err != nil { - return - } - } else { - u, err := url.Parse(attr.Val) - if err != nil { - return + attr.Val = fmt.Sprintf( + "/%s://%s/%s", + baseURL.Scheme, + baseURL.Host, + strings.TrimPrefix(attr.Val, "/"), + ) + attr.Val = url.QueryEscape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + + //log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Document-relative URLs: These are relative to the current document's path and don't start with a "/". +func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { + attr.Val = fmt.Sprintf( + "%s://%s/%s%s", + baseURL.Scheme, + strings.Trim(baseURL.Host, "/"), + strings.Trim(baseURL.RawPath, "/"), + strings.Trim(attr.Val, "/"), + ) + attr.Val = url.QueryEscape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + //log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. +func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { + attr.Val = strings.TrimPrefix(attr.Val, "/") + handleRootRelativePath(attr, baseURL) + //log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { + // check if valid URL + u, err := url.Parse(attr.Val) + if err != nil { + return + } + if !(u.Scheme == "http" || u.Scheme == "https") { + return + } + attr.Val = fmt.Sprintf( + "/%s", + url.QueryEscape( + strings.TrimPrefix(attr.Val, "/"), + ), + ) + //log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { + for i, src := range strings.Split(attr.Val, ",") { + src = strings.Trim(src, " ") + for j, s := range strings.Split(src, " ") { + s = strings.Trim(s, " ") + if j == 0 { + f := &html.Attribute{Val: s, Key: attr.Key} + switch { + case strings.HasPrefix(s, "//"): + handleProtocolRelativePath(f, baseURL) + case strings.HasPrefix(s, "/"): + handleRootRelativePath(f, baseURL) + case strings.HasPrefix(s, "https://") || strings.HasPrefix(s, "http://"): + handleAbsolutePath(f, baseURL) + default: + handleDocumentRelativePath(f, baseURL) + } + s = f.Val } - if !(u.Scheme == "http" || u.Scheme == "https") { - return + if i == 0 && j == 0 { + attr.Val = s + continue } + attr.Val = fmt.Sprintf("%s %s", attr.Val, s) } + attr.Val = fmt.Sprintf("%s,", attr.Val) + } + attr.Val = strings.TrimSuffix(attr.Val, ",") +} - // patch relative paths - // -> - if isRelativePath { - log.Printf("BASEURL patch: %s\n", baseURL) - - attr.Val = fmt.Sprintf( - "/%s/%s", - baseURL, - //url.QueryEscape( - strings.TrimPrefix(attr.Val, "/"), - //), - ) +// TODO: figure out how to handle these +// srcset +func patchResourceURL(token *html.Token, baseURL *url.URL) { + for i := range token.Attr { + attr := &token.Attr[i] - log.Printf("url rewritten-> '%s'='%s'", attr.Key, attr.Val) + switch { + // dont touch attributes except for the ones we defined + case !AttributesToRewrite[attr.Key]: + continue + case attr.Key == "srcset": + handleSrcSet(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "//"): + handleProtocolRelativePath(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "/"): + handleRootRelativePath(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "https://") || strings.HasPrefix(attr.Val, "http://"): + handleAbsolutePath(attr, baseURL) + continue + default: + handleDocumentRelativePath(attr, baseURL) continue } - // patch absolute paths to relative path pointing to ladder proxy - // -> - - //log.Printf("abolute patch: %s\n", attr.Val) - attr.Val = fmt.Sprintf( - "/%s", - //url.QueryEscape(attr.Val), - //url.QueryEscape( - strings.TrimPrefix(attr.Val, "/"), - //), - //attr.Val, - ) - log.Printf("url rewritten-> '%s'='%s'", attr.Key, attr.Val) } } @@ -199,15 +256,7 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { return nil } - // should be site being requested to proxy - baseUrl := fmt.Sprintf("%s://%s", chain.Request.URL.Scheme, chain.Request.URL.Host) - /* - log.Println("--------------------") - log.Println(baseUrl) - log.Println("--------------------") - */ - - chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, baseUrl) + chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL) return nil } } From 543192afbe1bbf0175dc82e50cacfd0dcfc70376 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 10:45:29 -0600 Subject: [PATCH 009/178] support js URL rewriting; support post req --- cmd/main.go | 3 +- .../rewrite_http_resource_urls.go | 51 ++++++++++++++----- ...ce_urls.js => rewrite_js_resource_urls.js} | 24 +++++++-- 3 files changed, 60 insertions(+), 18 deletions(-) rename proxychain/responsemodifers/{monkey_patch_resource_urls.js => rewrite_js_resource_urls.js} (67%) diff --git a/cmd/main.go b/cmd/main.go index 96710121..24c4895e 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -87,7 +87,7 @@ func main() { app := fiber.New( fiber.Config{ Prefork: *prefork, - GETOnly: true, + GETOnly: false, }, ) @@ -138,5 +138,6 @@ func main() { } app.Get("/*", handlers.NewProxySiteHandler(proxyOpts)) + app.Post("/*", handlers.NewProxySiteHandler(proxyOpts)) log.Fatal(app.Listen(":" + *port)) } diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 90c8aaae..5596a27c 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -2,9 +2,11 @@ package responsemodifers import ( "bytes" + _ "embed" "fmt" "io" "ladder/proxychain" + "log" "net/url" "strings" @@ -19,7 +21,7 @@ func init() { "src": true, "href": true, "action": true, - "srcset": true, // TODO: fix + "srcset": true, "poster": true, "data": true, "cite": true, @@ -45,17 +47,19 @@ type HTMLResourceURLRewriter struct { tokenBuffer *bytes.Buffer currentTokenIndex int currentTokenProcessed bool + proxyURL string // ladder URL, not proxied site URL } // NewHTMLResourceURLRewriter creates a new instance of HTMLResourceURLRewriter. // It initializes the tokenizer with the provided source and sets the proxy URL. -func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL) *HTMLResourceURLRewriter { +func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL, proxyURL string) *HTMLResourceURLRewriter { return &HTMLResourceURLRewriter{ tokenizer: html.NewTokenizer(src), currentToken: html.Token{}, currentTokenIndex: 0, tokenBuffer: new(bytes.Buffer), baseURL: baseURL, + proxyURL: proxyURL, } } @@ -90,11 +94,18 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { // patch tokens with URLs isTokenWithAttribute := r.currentToken.Type == html.StartTagToken || r.currentToken.Type == html.SelfClosingTagToken if isTokenWithAttribute { - patchResourceURL(&r.currentToken, r.baseURL) + patchResourceURL(&r.currentToken, r.baseURL, r.proxyURL) } r.tokenBuffer.Reset() r.tokenBuffer.WriteString(r.currentToken.String()) + + // inject \n", script), + ) +} + // Root-relative URLs: These are relative to the root path and start with a "/". func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { // doublecheck this is a valid relative URL @@ -126,7 +148,7 @@ func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { attr.Val = url.QueryEscape(attr.Val) attr.Val = fmt.Sprintf("/%s", attr.Val) - //log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) + log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } // Document-relative URLs: These are relative to the current document's path and don't start with a "/". @@ -140,14 +162,14 @@ func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { ) attr.Val = url.QueryEscape(attr.Val) attr.Val = fmt.Sprintf("/%s", attr.Val) - //log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) + log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } // Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { attr.Val = strings.TrimPrefix(attr.Val, "/") handleRootRelativePath(attr, baseURL) - //log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) + log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { @@ -165,7 +187,7 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { strings.TrimPrefix(attr.Val, "/"), ), ) - //log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) + log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) } func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { @@ -196,18 +218,21 @@ func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { attr.Val = fmt.Sprintf("%s,", attr.Val) } attr.Val = strings.TrimSuffix(attr.Val, ",") + + log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) } -// TODO: figure out how to handle these -// srcset -func patchResourceURL(token *html.Token, baseURL *url.URL) { +func patchResourceURL(token *html.Token, baseURL *url.URL, proxyURL string) { for i := range token.Attr { attr := &token.Attr[i] switch { - // dont touch attributes except for the ones we defined + // don't touch attributes except for the ones we defined case !AttributesToRewrite[attr.Key]: continue + // don't double-overwrite the url + case strings.HasPrefix(attr.Val, proxyURL): + continue case attr.Key == "srcset": handleSrcSet(attr, baseURL) continue @@ -255,8 +280,10 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { if !strings.HasPrefix(ct, "text/html") { return nil } + originalURI := chain.Context.Request().URI() + proxyURL := fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()) - chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL) + chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL, proxyURL) return nil } } diff --git a/proxychain/responsemodifers/monkey_patch_resource_urls.js b/proxychain/responsemodifers/rewrite_js_resource_urls.js similarity index 67% rename from proxychain/responsemodifers/monkey_patch_resource_urls.js rename to proxychain/responsemodifers/rewrite_js_resource_urls.js index dadeaa0e..1d31ca45 100644 --- a/proxychain/responsemodifers/monkey_patch_resource_urls.js +++ b/proxychain/responsemodifers/rewrite_js_resource_urls.js @@ -3,21 +3,26 @@ // fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") (() => { function rewriteURL(url) { + oldUrl = url if (!url) return url - if (url.startsWith(window.location.origin)) return url + proxyOrigin = globalThis.window.location.origin + if (url.startsWith(proxyOrigin)) return url + + const origin = (new URL(decodeURI(globalThis.window.location.pathname.substring(1)))).origin if (url.startsWith("//")) { - url = `${window.location.origin}/${encodeURIComponent(url.substring(2))}`; + url = `/${origin}/${encodeURIComponent(url.substring(2))}`; } else if (url.startsWith("/")) { - url = `${window.location.origin}/${encodeURIComponent(url.substring(1))}`; + url = `/${origin}/${encodeURIComponent(url.substring(1))}`; } else if (url.startsWith("http://") || url.startsWith("https://")) { - url = `${window.location.origin}/${encodeURIComponent(url)}`; + url = `/${origin}/${encodeURIComponent(url)}`; } + console.log(`rewrite JS URL: ${oldUrl} -> ${url}`) return url; }; // monkey patch fetch - const oldFetch = globalThis.fetch ; + const oldFetch = globalThis.fetch; globalThis.fetch = async (url, init) => { return oldFetch(rewriteURL(url), init) } @@ -27,7 +32,16 @@ XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { return oldOpen.call(this, method, rewriteURL(url), async, user, password); }; + const oldSend = XMLHttpRequest.prototype.send; + XMLHttpRequest.prototype.send = function(method, url) { + return oldSend.call(this, method, rewriteURL(url)); + }; + // monkey patch service worker registration + const oldRegister = ServiceWorkerContainer.prototype.register; + ServiceWorkerContainer.prototype.register = function(scriptURL, options) { + return oldRegister.call(this, rewriteURL(scriptURL), options) + } // Monkey patch setter methods const elements = [ From dab77d786fc9335f077ec58e2cb82e808465c2e2 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 14:10:37 -0600 Subject: [PATCH 010/178] url rewriter tweaks --- handlers/proxy.go | 8 +- proxychain/proxychain.go | 19 +++- .../resolve_with_google_doh.go | 2 +- .../requestmodifers/spoof_x_forwarded_for.go | 2 +- .../rewrite_http_resource_urls.go | 63 ++++++++++- .../rewrite_js_resource_urls.js | 107 ++++++++++++++++-- 6 files changed, 178 insertions(+), 23 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 8b377b4a..c0aac7ef 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -53,16 +53,18 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { return func(c *fiber.Ctx) error { proxychain := proxychain. NewProxyChain(). + SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( rx.DeleteOutgoingCookies(), - //rx.RequestArchiveIs(), ). AddResponseModifications( tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), - ) - return proxychain.SetFiberCtx(c).Execute() + ). + Execute() + + return proxychain } } diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 00d84e4f..b7f88838 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -251,7 +251,7 @@ func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer, relativeUrl) } - log.Printf("'%s' -> '%s'\n", relativeUrl.String(), realUrl.String()) + log.Printf("rewrite relative URL using referer: '%s' -> '%s'\n", relativeUrl.String(), realUrl.String()) return &url.URL{ Scheme: referer.Scheme, @@ -264,10 +264,19 @@ func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL // extractUrl extracts a URL from the request ctx. If the URL in the request // is a relative path, it reconstructs the full URL using the referer header. func (chain *ProxyChain) extractUrl() (*url.URL, error) { - // try to extract url-encoded - reqUrl, err := url.QueryUnescape(chain.Context.Params("*")) - if err != nil { - reqUrl = chain.Context.Params("*") // fallback + reqUrl := chain.Context.Params("*") + + // sometimes client requests doubleroot '//' + // there is a bug somewhere else, but this is a workaround until we find it + if strings.HasPrefix(reqUrl, "/") || strings.HasPrefix(reqUrl, `%2F`) { + reqUrl = strings.TrimPrefix(reqUrl, "/") + reqUrl = strings.TrimPrefix(reqUrl, `%2F`) + } + + // unescape url query + uReqUrl, err := url.QueryUnescape(reqUrl) + if err == nil { + reqUrl = uReqUrl } urlQuery, err := url.Parse(reqUrl) diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index f236d544..9f626e58 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -36,7 +36,7 @@ func resolveWithGoogleDoH(host string) (string, error) { return "", fmt.Errorf("no DoH DNS record found for %s", host) } -// ResolveWithGoogleDoH modifies a ProxyChain's client to make the request but resolve the URL +// ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL // using Google's DNS over HTTPs service func ResolveWithGoogleDoH() proxychain.RequestModification { return func(px *proxychain.ProxyChain) error { diff --git a/proxychain/requestmodifers/spoof_x_forwarded_for.go b/proxychain/requestmodifers/spoof_x_forwarded_for.go index 45a9dffe..33d77e73 100644 --- a/proxychain/requestmodifers/spoof_x_forwarded_for.go +++ b/proxychain/requestmodifers/spoof_x_forwarded_for.go @@ -11,4 +11,4 @@ func SpoofXForwardedFor(ip string) proxychain.RequestModification { px.Request.Header.Set("X-FORWARDED-FOR", ip) return nil } -} +} \ No newline at end of file diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 5596a27c..4ad52a0c 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -13,11 +13,12 @@ import ( "golang.org/x/net/html" ) -// Define list of HTML attributes to try to rewrite -var AttributesToRewrite map[string]bool +var attributesToRewrite map[string]bool +var schemeBlacklist map[string]bool func init() { - AttributesToRewrite = map[string]bool{ + // Define list of HTML attributes to try to rewrite + attributesToRewrite = map[string]bool{ "src": true, "href": true, "action": true, @@ -35,6 +36,23 @@ func init() { "icon": true, "pluginspage": true, } + + + // define URIs to NOT rewrite + // for example: don't overwrite " + schemeBlacklist = map[string]bool { + "data": true, + "tel": true, + "mailto": true, + "file": true, + "blob": true, + "javascript": true, + "about": true, + "magnet": true, + "ws": true, + "wss": true, + "ftp": true, + } } // HTMLResourceURLRewriter is a struct that rewrites URLs within HTML resources to use a specified proxy URL. @@ -222,17 +240,54 @@ func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) } +func isBlackedlistedScheme(url string) bool { + spl := strings.Split(url, ":") + if len(spl) == 0 { + return false + } + scheme := spl[0] + return schemeBlacklist[scheme] +} + func patchResourceURL(token *html.Token, baseURL *url.URL, proxyURL string) { for i := range token.Attr { attr := &token.Attr[i] switch { // don't touch attributes except for the ones we defined - case !AttributesToRewrite[attr.Key]: + case !attributesToRewrite[attr.Key]: + continue + // don't rewrite special URIs that don't make network requests + case isBlackedlistedScheme(attr.Val): continue // don't double-overwrite the url case strings.HasPrefix(attr.Val, proxyURL): continue + // don't overwrite special URIs + case strings.HasPrefix(attr.Val, "data:"): + continue + case strings.HasPrefix(attr.Val, "ftp:"): + continue + case strings.HasPrefix(attr.Val, "tel:"): + continue + case strings.HasPrefix(attr.Val, "javascript:"): + continue + case strings.HasPrefix(attr.Val, "file:"): + continue + case strings.HasPrefix(attr.Val, "ftp:"): + continue + case strings.HasPrefix(attr.Val, "mailto:"): + continue + case strings.HasPrefix(attr.Val, "blob:"): + continue + case strings.HasPrefix(attr.Val, "about:"): + continue + case strings.HasPrefix(attr.Val, "magnet:"): + continue + case strings.HasPrefix(attr.Val, "ws:"): + continue + case strings.HasPrefix(attr.Val, "wss:"): + continue case attr.Key == "srcset": handleSrcSet(attr, baseURL) continue diff --git a/proxychain/responsemodifers/rewrite_js_resource_urls.js b/proxychain/responsemodifers/rewrite_js_resource_urls.js index 1d31ca45..d48725fd 100644 --- a/proxychain/responsemodifers/rewrite_js_resource_urls.js +++ b/proxychain/responsemodifers/rewrite_js_resource_urls.js @@ -2,22 +2,47 @@ // Also overrides the attribute setter prototype to modify the request URLs // fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") (() => { + const blacklistedSchemes = [ + "ftp:", + "mailto:", + "tel:", + "file:", + "blob:", + "javascript:", + "about:", + "magnet:", + "ws:", + "wss:", + ]; + function rewriteURL(url) { - oldUrl = url + const oldUrl = url if (!url) return url + // don't rewrite invalid URIs + try { new URL(url) } catch { return url } + + // don't rewrite special URIs + if (blacklistedSchemes.includes(url)) return url; + + // don't double rewrite + const proxyOrigin = globalThis.window.location.origin; + if (url.startsWith(proxyOrigin)) return url; + if (url.startsWith(`/${proxyOrigin}`)) return url; + if (url.startsWith(`/${origin}`)) return url; - proxyOrigin = globalThis.window.location.origin - if (url.startsWith(proxyOrigin)) return url + const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) - const origin = (new URL(decodeURI(globalThis.window.location.pathname.substring(1)))).origin if (url.startsWith("//")) { url = `/${origin}/${encodeURIComponent(url.substring(2))}`; } else if (url.startsWith("/")) { url = `/${origin}/${encodeURIComponent(url.substring(1))}`; + } else if (url.startsWith(origin)) { + url = `/${encodeURIComponent(url)}` } else if (url.startsWith("http://") || url.startsWith("https://")) { - url = `/${origin}/${encodeURIComponent(url)}`; + url = `/${proxyOrigin}/${encodeURIComponent(url)}`; } - console.log(`rewrite JS URL: ${oldUrl} -> ${url}`) + console.log(`proxychain: rewrite JS URL: ${oldUrl} -> ${url}`) return url; }; @@ -43,21 +68,62 @@ return oldRegister.call(this, rewriteURL(scriptURL), options) } - // Monkey patch setter methods + // monkey patch URL.toString() method + const oldToString = URL.prototype.toString + URL.prototype.toString = function() { + let originalURL = oldToString.call(this) + return rewriteURL(originalURL) + } + + // monkey patch URL.toJSON() method + const oldToJson = URL.prototype.toString + URL.prototype.toString = function() { + let originalURL = oldToJson.call(this) + return rewriteURL(originalURL) + } + + // Monkey patch URL.href getter and setter + const originalHrefDescriptor = Object.getOwnPropertyDescriptor(URL.prototype, 'href'); + Object.defineProperty(URL.prototype, 'href', { + get: function() { + let originalHref = originalHrefDescriptor.get.call(this); + return rewriteURL(originalHref) + }, + set: function(newValue) { + originalHrefDescriptor.set.call(this, rewriteURL(newValue)); + } + }); + + // Monkey patch setter const elements = [ { tag: 'a', attribute: 'href' }, { tag: 'img', attribute: 'src' }, + // { tag: 'img', attribute: 'srcset' }, // TODO: handle srcset { tag: 'script', attribute: 'src' }, { tag: 'link', attribute: 'href' }, + { tag: 'link', attribute: 'icon' }, { tag: 'iframe', attribute: 'src' }, { tag: 'audio', attribute: 'src' }, { tag: 'video', attribute: 'src' }, { tag: 'source', attribute: 'src' }, + // { tag: 'source', attribute: 'srcset' }, // TODO: handle srcset { tag: 'embed', attribute: 'src' }, + { tag: 'embed', attribute: 'pluginspage' }, + { tag: 'html', attribute: 'manifest' }, { tag: 'object', attribute: 'src' }, { tag: 'input', attribute: 'src' }, { tag: 'track', attribute: 'src' }, { tag: 'form', attribute: 'action' }, + { tag: 'area', attribute: 'href' }, + { tag: 'base', attribute: 'href' }, + { tag: 'blockquote', attribute: 'cite' }, + { tag: 'del', attribute: 'cite' }, + { tag: 'ins', attribute: 'cite' }, + { tag: 'q', attribute: 'cite' }, + { tag: 'button', attribute: 'formaction' }, + { tag: 'input', attribute: 'formaction' }, + { tag: 'meta', attribute: 'content' }, + { tag: 'object', attribute: 'data' }, ]; elements.forEach(({ tag, attribute }) => { @@ -67,10 +133,33 @@ Object.defineProperty(proto, attribute, { ...descriptor, set(value) { - return descriptor.set.call(this, rewriteURL(value)); + // calling rewriteURL will end up calling a setter for href, + // leading to a recusive loop and a Maximum call stack size exceeded + // error, so we guard against this with a local semaphore flag + const isRewritingSetKey = Symbol.for('isRewritingSet'); + if (!this[isRewritingSetKey]) { + this[isRewritingSetKey] = true; + descriptor.set.call(this, rewriteURL(value)); + //descriptor.set.call(this, value); + this[isRewritingSetKey] = false; + } else { + // Directly set the value without rewriting + descriptor.set.call(this, value); + } + }, + get() { + const isRewritingGetKey = Symbol.for('isRewritingGet'); + if (!this[isRewritingGetKey]) { + this[isRewritingGetKey] = true; + let oldURL = descriptor.get.call(this); + let newURL = rewriteURL(oldURL); + this[isRewritingGetKey] = false; + return newURL + } else { + return descriptor.get.call(this); + } } }); } }); - })(); \ No newline at end of file From 0fc09420959677f88a37fc8c2cd8b72c4b0d5503 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 15:09:24 -0600 Subject: [PATCH 011/178] encorporate url encoding issue fix from https://github.com/everywall/ladder/commit/ddba232a3194272c76b70b8c02bfe5fd251ecf8f --- .../rewrite_http_resource_urls.go | 68 +++++++++++++------ .../rewrite_js_resource_urls.js | 2 + 2 files changed, 51 insertions(+), 19 deletions(-) diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 4ad52a0c..01db42eb 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -37,21 +37,20 @@ func init() { "pluginspage": true, } - // define URIs to NOT rewrite // for example: don't overwrite " - schemeBlacklist = map[string]bool { - "data": true, - "tel": true, - "mailto": true, - "file": true, - "blob": true, + schemeBlacklist = map[string]bool{ + "data": true, + "tel": true, + "mailto": true, + "file": true, + "blob": true, "javascript": true, - "about": true, - "magnet": true, - "ws": true, - "wss": true, - "ftp": true, + "about": true, + "magnet": true, + "ws": true, + "wss": true, + "ftp": true, } } @@ -63,6 +62,8 @@ type HTMLResourceURLRewriter struct { tokenizer *html.Tokenizer currentToken html.Token tokenBuffer *bytes.Buffer + scriptContentBuffer *bytes.Buffer + insideScript bool currentTokenIndex int currentTokenProcessed bool proxyURL string // ladder URL, not proxied site URL @@ -72,12 +73,14 @@ type HTMLResourceURLRewriter struct { // It initializes the tokenizer with the provided source and sets the proxy URL. func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL, proxyURL string) *HTMLResourceURLRewriter { return &HTMLResourceURLRewriter{ - tokenizer: html.NewTokenizer(src), - currentToken: html.Token{}, - currentTokenIndex: 0, - tokenBuffer: new(bytes.Buffer), - baseURL: baseURL, - proxyURL: proxyURL, + tokenizer: html.NewTokenizer(src), + currentToken: html.Token{}, + currentTokenIndex: 0, + tokenBuffer: new(bytes.Buffer), + scriptContentBuffer: new(bytes.Buffer), + insideScript: false, + baseURL: baseURL, + proxyURL: proxyURL, } } @@ -116,7 +119,29 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { } r.tokenBuffer.Reset() - r.tokenBuffer.WriteString(r.currentToken.String()) + + // unescape script contents, not sure why tokenizer will escape things + switch tokenType { + case html.StartTagToken: + if r.currentToken.Data == "script" { + r.insideScript = true + r.scriptContentBuffer.Reset() // Reset buffer for new script contents + } + r.tokenBuffer.WriteString(r.currentToken.String()) // Write the start tag + case html.EndTagToken: + if r.currentToken.Data == "script" { + r.insideScript = false + modScript := modifyInlineScript(r.scriptContentBuffer) + r.tokenBuffer.WriteString(modScript) + } + r.tokenBuffer.WriteString(r.currentToken.String()) + default: + if r.insideScript { + r.scriptContentBuffer.WriteString(r.currentToken.String()) + } else { + r.tokenBuffer.WriteString(r.currentToken.String()) + } + } // inject \n", script), - ) -} - -// possible ad-blocking / bypassing opportunity here -func modifyInlineScript(scriptContentBuffer *bytes.Buffer) string { - return html.UnescapeString(scriptContentBuffer.String()) -} - -// Root-relative URLs: These are relative to the root path and start with a "/". -func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { - // doublecheck this is a valid relative URL - _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) - if err != nil { - return - } - - //log.Printf("BASEURL patch: %s\n", baseURL) - - attr.Val = fmt.Sprintf( - "/%s://%s/%s", - baseURL.Scheme, - baseURL.Host, - strings.TrimPrefix(attr.Val, "/"), - ) - attr.Val = url.QueryEscape(attr.Val) - attr.Val = fmt.Sprintf("/%s", attr.Val) - - log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -// Document-relative URLs: These are relative to the current document's path and don't start with a "/". -func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { - attr.Val = fmt.Sprintf( - "%s://%s/%s%s", - baseURL.Scheme, - strings.Trim(baseURL.Host, "/"), - strings.Trim(baseURL.RawPath, "/"), - strings.Trim(attr.Val, "/"), - ) - attr.Val = url.QueryEscape(attr.Val) - attr.Val = fmt.Sprintf("/%s", attr.Val) - log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -// Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. -func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { - attr.Val = strings.TrimPrefix(attr.Val, "/") - handleRootRelativePath(attr, baseURL) - log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { - // check if valid URL - u, err := url.Parse(attr.Val) - if err != nil { - return - } - if !(u.Scheme == "http" || u.Scheme == "https") { - return - } - attr.Val = fmt.Sprintf( - "/%s", - url.QueryEscape( - strings.TrimPrefix(attr.Val, "/"), - ), - ) - log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { - for i, src := range strings.Split(attr.Val, ",") { - src = strings.Trim(src, " ") - for j, s := range strings.Split(src, " ") { - s = strings.Trim(s, " ") - if j == 0 { - f := &html.Attribute{Val: s, Key: attr.Key} - switch { - case strings.HasPrefix(s, "//"): - handleProtocolRelativePath(f, baseURL) - case strings.HasPrefix(s, "/"): - handleRootRelativePath(f, baseURL) - case strings.HasPrefix(s, "https://") || strings.HasPrefix(s, "http://"): - handleAbsolutePath(f, baseURL) - default: - handleDocumentRelativePath(f, baseURL) - } - s = f.Val - } - if i == 0 && j == 0 { - attr.Val = s - continue - } - attr.Val = fmt.Sprintf("%s %s", attr.Val, s) - } - attr.Val = fmt.Sprintf("%s,", attr.Val) - } - attr.Val = strings.TrimSuffix(attr.Val, ",") - - log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -func isBlackedlistedScheme(url string) bool { - spl := strings.Split(url, ":") - if len(spl) == 0 { - return false - } - scheme := spl[0] - return schemeBlacklist[scheme] -} - -func patchResourceURL(token *html.Token, baseURL *url.URL, proxyURL string) { - for i := range token.Attr { - attr := &token.Attr[i] - - switch { - // don't touch attributes except for the ones we defined - case !attributesToRewrite[attr.Key]: - continue - // don't rewrite special URIs that don't make network requests - case isBlackedlistedScheme(attr.Val): - continue - // don't double-overwrite the url - case strings.HasPrefix(attr.Val, proxyURL): - continue - // don't overwrite special URIs - case strings.HasPrefix(attr.Val, "data:"): - continue - case strings.HasPrefix(attr.Val, "ftp:"): - continue - case strings.HasPrefix(attr.Val, "tel:"): - continue - case strings.HasPrefix(attr.Val, "javascript:"): - continue - case strings.HasPrefix(attr.Val, "file:"): - continue - case strings.HasPrefix(attr.Val, "ftp:"): - continue - case strings.HasPrefix(attr.Val, "mailto:"): - continue - case strings.HasPrefix(attr.Val, "blob:"): - continue - case strings.HasPrefix(attr.Val, "about:"): - continue - case strings.HasPrefix(attr.Val, "magnet:"): - continue - case strings.HasPrefix(attr.Val, "ws:"): - continue - case strings.HasPrefix(attr.Val, "wss:"): - continue - case attr.Key == "srcset": - handleSrcSet(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "//"): - handleProtocolRelativePath(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "/"): - handleRootRelativePath(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "https://") || strings.HasPrefix(attr.Val, "http://"): - handleAbsolutePath(attr, baseURL) - continue - default: - handleDocumentRelativePath(attr, baseURL) - continue - } - - } -} - // RewriteHTMLResourceURLs modifies HTTP responses // to rewrite URLs attributes in HTML content (such as src, href) // - `` -> `` @@ -365,10 +35,18 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { if !strings.HasPrefix(ct, "text/html") { return nil } + + // proxyURL is the URL of the ladder: http://localhost:8080 (ladder) originalURI := chain.Context.Request().URI() proxyURL := fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()) - chain.Response.Body = NewHTMLResourceURLRewriter(chain.Response.Body, chain.Request.URL, proxyURL) + chain.Response.Body = rewriters. + NewHTMLResourceURLRewriter( + chain.Response.Body, + chain.Request.URL, + proxyURL, + ) + return nil } } diff --git a/proxychain/responsemodifers/rewriters/css_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/css_resource_url_rewriter.go new file mode 100644 index 00000000..950101f0 --- /dev/null +++ b/proxychain/responsemodifers/rewriters/css_resource_url_rewriter.go @@ -0,0 +1,3 @@ +package rewriters + +// todo: implement diff --git a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go new file mode 100644 index 00000000..4c4dccde --- /dev/null +++ b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go @@ -0,0 +1,313 @@ +package rewriters + +import ( + "bytes" + _ "embed" + "fmt" + "io" + "log" + "net/url" + "strings" + + "golang.org/x/net/html" +) + +var attributesToRewrite map[string]bool +var schemeBlacklist map[string]bool + +func init() { + // Define list of HTML attributes to try to rewrite + attributesToRewrite = map[string]bool{ + "src": true, + "href": true, + "action": true, + "srcset": true, + "poster": true, + "data": true, + "cite": true, + "formaction": true, + "background": true, + "usemap": true, + "longdesc": true, + "manifest": true, + "archive": true, + "codebase": true, + "icon": true, + "pluginspage": true, + } + + // define URIs to NOT rewrite + // for example: don't overwrite " + schemeBlacklist = map[string]bool{ + "data": true, + "tel": true, + "mailto": true, + "file": true, + "blob": true, + "javascript": true, + "about": true, + "magnet": true, + "ws": true, + "wss": true, + "ftp": true, + } +} + +// HTMLResourceURLRewriter is a struct that rewrites URLs within HTML resources to use a specified proxy URL. +// It uses an HTML tokenizer to process HTML content and rewrites URLs in src/href attributes. +// -> +type HTMLResourceURLRewriter struct { + baseURL *url.URL + tokenizer *html.Tokenizer + currentToken html.Token + tokenBuffer *bytes.Buffer + scriptContentBuffer *bytes.Buffer + insideScript bool + currentTokenIndex int + currentTokenProcessed bool + proxyURL string // ladder URL, not proxied site URL +} + +// NewHTMLResourceURLRewriter creates a new instance of HTMLResourceURLRewriter. +// It initializes the tokenizer with the provided source and sets the proxy URL. +func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL, proxyURL string) *HTMLResourceURLRewriter { + return &HTMLResourceURLRewriter{ + tokenizer: html.NewTokenizer(src), + currentToken: html.Token{}, + currentTokenIndex: 0, + tokenBuffer: new(bytes.Buffer), + scriptContentBuffer: new(bytes.Buffer), + insideScript: false, + baseURL: baseURL, + proxyURL: proxyURL, + } +} + +// Close resets the internal state of HTMLResourceURLRewriter, clearing buffers and token data. +func (r *HTMLResourceURLRewriter) Close() error { + r.tokenBuffer.Reset() + r.currentToken = html.Token{} + r.currentTokenIndex = 0 + r.currentTokenProcessed = false + return nil +} + +// Read processes the HTML content, rewriting URLs and managing the state of tokens. +// It reads HTML content, token by token, rewriting URLs to route through the specified proxy. +func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { + + if r.currentToken.Data == "" || r.currentTokenProcessed { + tokenType := r.tokenizer.Next() + + // done reading html, close out reader + if tokenType == html.ErrorToken { + if r.tokenizer.Err() == io.EOF { + return 0, io.EOF + } + return 0, r.tokenizer.Err() + } + + // flush the current token into an internal buffer + // to handle fragmented tokens + r.currentToken = r.tokenizer.Token() + + // patch tokens with URLs + isTokenWithAttribute := r.currentToken.Type == html.StartTagToken || r.currentToken.Type == html.SelfClosingTagToken + if isTokenWithAttribute { + patchResourceURL(&r.currentToken, r.baseURL, r.proxyURL) + } + + r.tokenBuffer.Reset() + + // unescape script contents, not sure why tokenizer will escape things + switch tokenType { + case html.StartTagToken: + if r.currentToken.Data == "script" { + r.insideScript = true + r.scriptContentBuffer.Reset() // Reset buffer for new script contents + } + r.tokenBuffer.WriteString(r.currentToken.String()) // Write the start tag + case html.EndTagToken: + if r.currentToken.Data == "script" { + r.insideScript = false + modScript := modifyInlineScript(r.scriptContentBuffer) + r.tokenBuffer.WriteString(modScript) + } + r.tokenBuffer.WriteString(r.currentToken.String()) + default: + if r.insideScript { + r.scriptContentBuffer.WriteString(r.currentToken.String()) + } else { + r.tokenBuffer.WriteString(r.currentToken.String()) + } + } + + // inject \n", script), + ) +} + +// possible ad-blocking / bypassing opportunity here +func modifyInlineScript(scriptContentBuffer *bytes.Buffer) string { + return html.UnescapeString(scriptContentBuffer.String()) +} + +// Root-relative URLs: These are relative to the root path and start with a "/". +func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { + // doublecheck this is a valid relative URL + _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) + if err != nil { + return + } + + //log.Printf("BASEURL patch: %s\n", baseURL) + + attr.Val = fmt.Sprintf( + "/%s://%s/%s", + baseURL.Scheme, + baseURL.Host, + strings.TrimPrefix(attr.Val, "/"), + ) + attr.Val = url.QueryEscape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + + log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Document-relative URLs: These are relative to the current document's path and don't start with a "/". +func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { + attr.Val = fmt.Sprintf( + "%s://%s/%s%s", + baseURL.Scheme, + strings.Trim(baseURL.Host, "/"), + strings.Trim(baseURL.RawPath, "/"), + strings.Trim(attr.Val, "/"), + ) + attr.Val = url.QueryEscape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. +func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { + attr.Val = strings.TrimPrefix(attr.Val, "/") + handleRootRelativePath(attr, baseURL) + log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { + // check if valid URL + u, err := url.Parse(attr.Val) + if err != nil { + return + } + if !(u.Scheme == "http" || u.Scheme == "https") { + return + } + attr.Val = fmt.Sprintf( + "/%s", + url.QueryEscape( + strings.TrimPrefix(attr.Val, "/"), + ), + ) + log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { + for i, src := range strings.Split(attr.Val, ",") { + src = strings.Trim(src, " ") + for j, s := range strings.Split(src, " ") { + s = strings.Trim(s, " ") + if j == 0 { + f := &html.Attribute{Val: s, Key: attr.Key} + switch { + case strings.HasPrefix(s, "//"): + handleProtocolRelativePath(f, baseURL) + case strings.HasPrefix(s, "/"): + handleRootRelativePath(f, baseURL) + case strings.HasPrefix(s, "https://") || strings.HasPrefix(s, "http://"): + handleAbsolutePath(f, baseURL) + default: + handleDocumentRelativePath(f, baseURL) + } + s = f.Val + } + if i == 0 && j == 0 { + attr.Val = s + continue + } + attr.Val = fmt.Sprintf("%s %s", attr.Val, s) + } + attr.Val = fmt.Sprintf("%s,", attr.Val) + } + attr.Val = strings.TrimSuffix(attr.Val, ",") + + log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func isBlackedlistedScheme(url string) bool { + spl := strings.Split(url, ":") + if len(spl) == 0 { + return false + } + scheme := spl[0] + return schemeBlacklist[scheme] +} + +func patchResourceURL(token *html.Token, baseURL *url.URL, proxyURL string) { + for i := range token.Attr { + attr := &token.Attr[i] + + switch { + // don't touch attributes except for the ones we defined + case !attributesToRewrite[attr.Key]: + continue + // don't rewrite special URIs that don't make network requests + case isBlackedlistedScheme(attr.Val): + continue + // don't double-overwrite the url + case strings.HasPrefix(attr.Val, proxyURL): + continue + case attr.Key == "srcset": + handleSrcSet(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "//"): + handleProtocolRelativePath(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "/"): + handleRootRelativePath(attr, baseURL) + continue + case strings.HasPrefix(attr.Val, "https://") || strings.HasPrefix(attr.Val, "http://"): + handleAbsolutePath(attr, baseURL) + continue + default: + handleDocumentRelativePath(attr, baseURL) + continue + } + + } +} diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js new file mode 100644 index 00000000..d73e690c --- /dev/null +++ b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js @@ -0,0 +1,167 @@ +// Overrides the global fetch and XMLHttpRequest open methods to modify the request URLs. +// Also overrides the attribute setter prototype to modify the request URLs +// fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") +(() => { + const blacklistedSchemes = [ + "ftp:", + "mailto:", + "tel:", + "file:", + "blob:", + "javascript:", + "about:", + "magnet:", + "ws:", + "wss:", + ]; + + function rewriteURL(url) { + const oldUrl = url + if (!url) return url + let isStr = (typeof url.startsWith === 'function') + if (!isStr) return url + // don't rewrite invalid URIs + try { new URL(url) } catch { return url } + + // don't rewrite special URIs + if (blacklistedSchemes.includes(url)) return url; + + // don't double rewrite + const proxyOrigin = globalThis.window.location.origin; + if (url.startsWith(proxyOrigin)) return url; + if (url.startsWith(`/${proxyOrigin}`)) return url; + if (url.startsWith(`/${origin}`)) return url; + + const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) + + if (url.startsWith("//")) { + url = `/${origin}/${encodeURIComponent(url.substring(2))}`; + } else if (url.startsWith("/")) { + url = `/${origin}/${encodeURIComponent(url.substring(1))}`; + } else if (url.startsWith(origin)) { + url = `/${encodeURIComponent(url)}` + } else if (url.startsWith("http://") || url.startsWith("https://")) { + url = `/${proxyOrigin}/${encodeURIComponent(url)}`; + } + console.log(`proxychain: rewrite JS URL: ${oldUrl} -> ${url}`) + return url; + }; + + // monkey patch fetch + const oldFetch = globalThis.fetch; + globalThis.fetch = async (url, init) => { + return oldFetch(rewriteURL(url), init) + } + + // monkey patch xmlhttprequest + const oldOpen = XMLHttpRequest.prototype.open; + XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { + return oldOpen.call(this, method, rewriteURL(url), async, user, password); + }; + const oldSend = XMLHttpRequest.prototype.send; + XMLHttpRequest.prototype.send = function(method, url) { + return oldSend.call(this, method, rewriteURL(url)); + }; + + // monkey patch service worker registration + const oldRegister = ServiceWorkerContainer.prototype.register; + ServiceWorkerContainer.prototype.register = function(scriptURL, options) { + return oldRegister.call(this, rewriteURL(scriptURL), options) + } + + // monkey patch URL.toString() method + const oldToString = URL.prototype.toString + URL.prototype.toString = function() { + let originalURL = oldToString.call(this) + return rewriteURL(originalURL) + } + + // monkey patch URL.toJSON() method + const oldToJson = URL.prototype.toString + URL.prototype.toString = function() { + let originalURL = oldToJson.call(this) + return rewriteURL(originalURL) + } + + // Monkey patch URL.href getter and setter + const originalHrefDescriptor = Object.getOwnPropertyDescriptor(URL.prototype, 'href'); + Object.defineProperty(URL.prototype, 'href', { + get: function() { + let originalHref = originalHrefDescriptor.get.call(this); + return rewriteURL(originalHref) + }, + set: function(newValue) { + originalHrefDescriptor.set.call(this, rewriteURL(newValue)); + } + }); + + // Monkey patch setter + const elements = [ + { tag: 'a', attribute: 'href' }, + { tag: 'img', attribute: 'src' }, + // { tag: 'img', attribute: 'srcset' }, // TODO: handle srcset + { tag: 'script', attribute: 'src' }, + { tag: 'link', attribute: 'href' }, + { tag: 'link', attribute: 'icon' }, + { tag: 'iframe', attribute: 'src' }, + { tag: 'audio', attribute: 'src' }, + { tag: 'video', attribute: 'src' }, + { tag: 'source', attribute: 'src' }, + // { tag: 'source', attribute: 'srcset' }, // TODO: handle srcset + { tag: 'embed', attribute: 'src' }, + { tag: 'embed', attribute: 'pluginspage' }, + { tag: 'html', attribute: 'manifest' }, + { tag: 'object', attribute: 'src' }, + { tag: 'input', attribute: 'src' }, + { tag: 'track', attribute: 'src' }, + { tag: 'form', attribute: 'action' }, + { tag: 'area', attribute: 'href' }, + { tag: 'base', attribute: 'href' }, + { tag: 'blockquote', attribute: 'cite' }, + { tag: 'del', attribute: 'cite' }, + { tag: 'ins', attribute: 'cite' }, + { tag: 'q', attribute: 'cite' }, + { tag: 'button', attribute: 'formaction' }, + { tag: 'input', attribute: 'formaction' }, + { tag: 'meta', attribute: 'content' }, + { tag: 'object', attribute: 'data' }, + ]; + + elements.forEach(({ tag, attribute }) => { + const proto = document.createElement(tag).constructor.prototype; + const descriptor = Object.getOwnPropertyDescriptor(proto, attribute); + if (descriptor && descriptor.set) { + Object.defineProperty(proto, attribute, { + ...descriptor, + set(value) { + // calling rewriteURL will end up calling a setter for href, + // leading to a recusive loop and a Maximum call stack size exceeded + // error, so we guard against this with a local semaphore flag + const isRewritingSetKey = Symbol.for('isRewritingSet'); + if (!this[isRewritingSetKey]) { + this[isRewritingSetKey] = true; + descriptor.set.call(this, rewriteURL(value)); + //descriptor.set.call(this, value); + this[isRewritingSetKey] = false; + } else { + // Directly set the value without rewriting + descriptor.set.call(this, value); + } + }, + get() { + const isRewritingGetKey = Symbol.for('isRewritingGet'); + if (!this[isRewritingGetKey]) { + this[isRewritingGetKey] = true; + let oldURL = descriptor.get.call(this); + let newURL = rewriteURL(oldURL); + this[isRewritingGetKey] = false; + return newURL + } else { + return descriptor.get.call(this); + } + } + }); + } + }); +})(); From a4e016b36c31c83bbb03533be7c3976ce0662fce Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 20:33:52 -0600 Subject: [PATCH 013/178] add common referrer options --- .../spoof_referrer_from_baidu_post.go | 44 +++++++++++++++++++ .../spoof_referrer_from_bing_search.go | 19 ++++++++ .../spoof_referrer_from_google_search.go | 19 ++++++++ .../spoof_referrer_from_linkedin_post.go | 21 +++++++++ .../spoof_referrer_from_naver_post.go | 24 ++++++++++ .../spoof_referrer_from_pinterest_post.go | 19 ++++++++ .../spoof_referrer_from_qq_post.go | 19 ++++++++ .../spoof_referrer_from_reddit_post.go | 19 ++++++++ .../spoof_referrer_from_tumblr_post.go | 19 ++++++++ .../spoof_referrer_from_twitter_post.go | 19 ++++++++ .../spoof_referrer_from_vkontake_post.go | 19 ++++++++ .../spoof_referrer_from_weibo_post.go | 22 ++++++++++ 12 files changed, 263 insertions(+) create mode 100644 proxychain/requestmodifers/spoof_referrer_from_baidu_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_bing_search.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_google_search.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_naver_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_qq_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_reddit_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_twitter_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go create mode 100644 proxychain/requestmodifers/spoof_referrer_from_weibo_post.go diff --git a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go new file mode 100644 index 00000000..b3100628 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go @@ -0,0 +1,44 @@ +package requestmodifers + +import ( + "fmt" + "ladder/proxychain" + "math/rand" + "strings" + "time" +) + +// SpoofReferrerFromBaiduSearch modifies the referrer header +// pretending to be from a BaiduSearch +func SpoofReferrerFromBaiduSearch(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + // https://www.baidu.com/link?url=5biIeDvUIihawf3Zbbysach2Xn4H3w3FzO6LZKgSs-B5Yt4M4RUFikokOk5zetf2&wd=&eqid=9da80d8208009b8480000706655d5ed6 + referrer := fmt.Sprintf("https://baidu.com/link?url=%s", generateRandomBaiduURL()) + chain.AddRequestModifications( + SpoofReferrer(referrer), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} + +// utility functions ================== + +func generateRandomString(charset string, length int) string { + var seededRand *rand.Rand = rand.New(rand.NewSource(time.Now().UnixNano())) + var stringBuilder strings.Builder + for i := 0; i < length; i++ { + stringBuilder.WriteByte(charset[seededRand.Intn(len(charset))]) + } + return stringBuilder.String() +} + +func generateRandomBaiduURL() string { + const alphanumericCharset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + const hexCharset = "0123456789abcdef" + randomAlphanumeric := generateRandomString(alphanumericCharset, 30) // Length before "-" + randomHex := generateRandomString(hexCharset, 16) // Length of eqid + return randomAlphanumeric + "-" + "&wd=&eqid=" + randomHex +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go new file mode 100644 index 00000000..563ce0ee --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromBingSearch modifies the referrer header +// pretending to be from a bing search site +func SpoofReferrerFromBingSearch(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.bing.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_google_search.go b/proxychain/requestmodifers/spoof_referrer_from_google_search.go new file mode 100644 index 00000000..0c68dfec --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_google_search.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromGoogleSearch modifies the referrer header +// pretending to be from a google search site +func SpoofReferrerFromGoogleSearch(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.google.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go new file mode 100644 index 00000000..30c26c88 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go @@ -0,0 +1,21 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromLinkedInPost modifies the referrer header +// pretending to be from a linkedin post +func SpoofReferrerFromLinkedInPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.linkedin.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ModifyQueryParams("utm_campaign", "post"), + ModifyQueryParams("utm_medium", "web"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go new file mode 100644 index 00000000..9bc32d66 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go @@ -0,0 +1,24 @@ +package requestmodifers + +import ( + "fmt" + "ladder/proxychain" +) + +// SpoofReferrerFromNaverSearch modifies the referrer header +// pretending to be from a Naver search (popular in South Korea) +func SpoofReferrerFromNaverSearch(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + referrer := fmt.Sprintf( + "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%s", + chain.Request.URL.Host, + ) + chain.AddRequestModifications( + SpoofReferrer(referrer), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go new file mode 100644 index 00000000..8a3b55b0 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromPinterestPost modifies the referrer header +// pretending to be from a pinterest post +func SpoofReferrerFromPinterestPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.pinterest.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go new file mode 100644 index 00000000..ce078b19 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromQQPost modifies the referrer header +// pretending to be from a QQ post (popular social media in China) +func SpoofReferrerFromQQPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://new.qq.com/'"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go new file mode 100644 index 00000000..b30bf2f2 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromRedditPost modifies the referrer header +// pretending to be from a reddit post +func SpoofReferrerFromRedditPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.reddit.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go new file mode 100644 index 00000000..ebe131e4 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromTumblrPost modifies the referrer header +// pretending to be from a tumblr post +func SpoofReferrerFromTumblrPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://www.tumblr.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go new file mode 100644 index 00000000..e5fcb21f --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromTwitterPost modifies the referrer header +// pretending to be from a twitter post +func SpoofReferrerFromTwitterPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://t.co/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go new file mode 100644 index 00000000..6079b305 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go @@ -0,0 +1,19 @@ +package requestmodifers + +import ( + "ladder/proxychain" +) + +// SpoofReferrerFromVkontaktePost modifies the referrer header +// pretending to be from a vkontakte post (popular in Russia) +func SpoofReferrerFromVkontaktePost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddRequestModifications( + SpoofReferrer("https://away.vk.com/"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go new file mode 100644 index 00000000..0b1904d3 --- /dev/null +++ b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go @@ -0,0 +1,22 @@ +package requestmodifers + +import ( + "fmt" + "ladder/proxychain" + "math/rand" +) + +// SpoofReferrerFromWeiboPost modifies the referrer header +// pretending to be from a Weibo post (popular in China) +func SpoofReferrerFromWeiboPost(url string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + referrer := fmt.Sprintf("http://weibo.com/u/%d", rand.Intn(90001)) + chain.AddRequestModifications( + SpoofReferrer(referrer), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ) + return nil + } +} From 854dafbcfa9c647b7d175527611603e3520789e8 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 20:54:09 -0600 Subject: [PATCH 014/178] improve js rewriting functionality by not relying on js to get proxy and proxified URLs; direct injection from golang --- handlers/proxy.go | 3 +- .../spoof_referrer_from_baidu_post.go | 2 +- .../spoof_referrer_from_bing_search.go | 3 +- .../spoof_referrer_from_google_search.go | 3 +- .../spoof_referrer_from_linkedin_post.go | 2 +- .../spoof_referrer_from_naver_post.go | 2 +- .../spoof_referrer_from_pinterest_post.go | 2 +- .../spoof_referrer_from_qq_post.go | 2 +- .../spoof_referrer_from_reddit_post.go | 2 +- .../spoof_referrer_from_tumblr_post.go | 2 +- .../spoof_referrer_from_twitter_post.go | 2 +- .../spoof_referrer_from_vkontake_post.go | 2 +- .../spoof_referrer_from_weibo_post.go | 2 +- .../rewrite_js_resource_urls.js | 167 ------------------ .../rewriters/html_resource_url_rewriter.go | 19 +- .../rewriters/js_resource_url_rewriter.js | 6 +- 16 files changed, 38 insertions(+), 183 deletions(-) delete mode 100644 proxychain/responsemodifers/rewrite_js_resource_urls.js diff --git a/handlers/proxy.go b/handlers/proxy.go index c0aac7ef..866cdb25 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -57,13 +57,14 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetDebugLogging(opts.Verbose). SetRequestModifications( rx.DeleteOutgoingCookies(), + rx.SpoofReferrerFromTwitterPost(), ). AddResponseModifications( tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), ). Execute() - + return proxychain } diff --git a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go index b3100628..1f6708f5 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go @@ -10,7 +10,7 @@ import ( // SpoofReferrerFromBaiduSearch modifies the referrer header // pretending to be from a BaiduSearch -func SpoofReferrerFromBaiduSearch(url string) proxychain.RequestModification { +func SpoofReferrerFromBaiduSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { // https://www.baidu.com/link?url=5biIeDvUIihawf3Zbbysach2Xn4H3w3FzO6LZKgSs-B5Yt4M4RUFikokOk5zetf2&wd=&eqid=9da80d8208009b8480000706655d5ed6 referrer := fmt.Sprintf("https://baidu.com/link?url=%s", generateRandomBaiduURL()) diff --git a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go index 563ce0ee..8b7fb9f5 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go +++ b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go @@ -6,13 +6,14 @@ import ( // SpoofReferrerFromBingSearch modifies the referrer header // pretending to be from a bing search site -func SpoofReferrerFromBingSearch(url string) proxychain.RequestModification { +func SpoofReferrerFromBingSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.bing.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), SetRequestHeader("sec-fetch-mode", "navigate"), + ModifyQueryParams("utm_source", "bing"), ) return nil } diff --git a/proxychain/requestmodifers/spoof_referrer_from_google_search.go b/proxychain/requestmodifers/spoof_referrer_from_google_search.go index 0c68dfec..7afb2462 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_google_search.go +++ b/proxychain/requestmodifers/spoof_referrer_from_google_search.go @@ -6,13 +6,14 @@ import ( // SpoofReferrerFromGoogleSearch modifies the referrer header // pretending to be from a google search site -func SpoofReferrerFromGoogleSearch(url string) proxychain.RequestModification { +func SpoofReferrerFromGoogleSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.google.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), SetRequestHeader("sec-fetch-mode", "navigate"), + ModifyQueryParams("utm_source", "google"), ) return nil } diff --git a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go index 30c26c88..147beb46 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromLinkedInPost modifies the referrer header // pretending to be from a linkedin post -func SpoofReferrerFromLinkedInPost(url string) proxychain.RequestModification { +func SpoofReferrerFromLinkedInPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.linkedin.com/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go index 9bc32d66..1c3e082c 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go @@ -7,7 +7,7 @@ import ( // SpoofReferrerFromNaverSearch modifies the referrer header // pretending to be from a Naver search (popular in South Korea) -func SpoofReferrerFromNaverSearch(url string) proxychain.RequestModification { +func SpoofReferrerFromNaverSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { referrer := fmt.Sprintf( "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%s", diff --git a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go index 8a3b55b0..dedf9c57 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromPinterestPost modifies the referrer header // pretending to be from a pinterest post -func SpoofReferrerFromPinterestPost(url string) proxychain.RequestModification { +func SpoofReferrerFromPinterestPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.pinterest.com/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go index ce078b19..9f90cd26 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromQQPost modifies the referrer header // pretending to be from a QQ post (popular social media in China) -func SpoofReferrerFromQQPost(url string) proxychain.RequestModification { +func SpoofReferrerFromQQPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://new.qq.com/'"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go index b30bf2f2..519858a9 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromRedditPost modifies the referrer header // pretending to be from a reddit post -func SpoofReferrerFromRedditPost(url string) proxychain.RequestModification { +func SpoofReferrerFromRedditPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.reddit.com/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go index ebe131e4..5c47e042 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromTumblrPost modifies the referrer header // pretending to be from a tumblr post -func SpoofReferrerFromTumblrPost(url string) proxychain.RequestModification { +func SpoofReferrerFromTumblrPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://www.tumblr.com/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go index e5fcb21f..c3ae34c1 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromTwitterPost modifies the referrer header // pretending to be from a twitter post -func SpoofReferrerFromTwitterPost(url string) proxychain.RequestModification { +func SpoofReferrerFromTwitterPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://t.co/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go index 6079b305..e05be731 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go @@ -6,7 +6,7 @@ import ( // SpoofReferrerFromVkontaktePost modifies the referrer header // pretending to be from a vkontakte post (popular in Russia) -func SpoofReferrerFromVkontaktePost(url string) proxychain.RequestModification { +func SpoofReferrerFromVkontaktePost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddRequestModifications( SpoofReferrer("https://away.vk.com/"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go index 0b1904d3..7c7e0363 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go @@ -8,7 +8,7 @@ import ( // SpoofReferrerFromWeiboPost modifies the referrer header // pretending to be from a Weibo post (popular in China) -func SpoofReferrerFromWeiboPost(url string) proxychain.RequestModification { +func SpoofReferrerFromWeiboPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { referrer := fmt.Sprintf("http://weibo.com/u/%d", rand.Intn(90001)) chain.AddRequestModifications( diff --git a/proxychain/responsemodifers/rewrite_js_resource_urls.js b/proxychain/responsemodifers/rewrite_js_resource_urls.js deleted file mode 100644 index 900be6f4..00000000 --- a/proxychain/responsemodifers/rewrite_js_resource_urls.js +++ /dev/null @@ -1,167 +0,0 @@ -// Overrides the global fetch and XMLHttpRequest open methods to modify the request URLs. -// Also overrides the attribute setter prototype to modify the request URLs -// fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") -(() => { - const blacklistedSchemes = [ - "ftp:", - "mailto:", - "tel:", - "file:", - "blob:", - "javascript:", - "about:", - "magnet:", - "ws:", - "wss:", - ]; - - function rewriteURL(url) { - const oldUrl = url - if (!url) return url - let isStr = (typeof url.startsWith === 'function') - if (!isStr) return url - // don't rewrite invalid URIs - try { new URL(url) } catch { return url } - - // don't rewrite special URIs - if (blacklistedSchemes.includes(url)) return url; - - // don't double rewrite - const proxyOrigin = globalThis.window.location.origin; - if (url.startsWith(proxyOrigin)) return url; - if (url.startsWith(`/${proxyOrigin}`)) return url; - if (url.startsWith(`/${origin}`)) return url; - - const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin - //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) - - if (url.startsWith("//")) { - url = `/${origin}/${encodeURIComponent(url.substring(2))}`; - } else if (url.startsWith("/")) { - url = `/${origin}/${encodeURIComponent(url.substring(1))}`; - } else if (url.startsWith(origin)) { - url = `/${encodeURIComponent(url)}` - } else if (url.startsWith("http://") || url.startsWith("https://")) { - url = `/${proxyOrigin}/${encodeURIComponent(url)}`; - } - console.log(`proxychain: rewrite JS URL: ${oldUrl} -> ${url}`) - return url; - }; - - // monkey patch fetch - const oldFetch = globalThis.fetch; - globalThis.fetch = async (url, init) => { - return oldFetch(rewriteURL(url), init) - } - - // monkey patch xmlhttprequest - const oldOpen = XMLHttpRequest.prototype.open; - XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { - return oldOpen.call(this, method, rewriteURL(url), async, user, password); - }; - const oldSend = XMLHttpRequest.prototype.send; - XMLHttpRequest.prototype.send = function(method, url) { - return oldSend.call(this, method, rewriteURL(url)); - }; - - // monkey patch service worker registration - const oldRegister = ServiceWorkerContainer.prototype.register; - ServiceWorkerContainer.prototype.register = function(scriptURL, options) { - return oldRegister.call(this, rewriteURL(scriptURL), options) - } - - // monkey patch URL.toString() method - const oldToString = URL.prototype.toString - URL.prototype.toString = function() { - let originalURL = oldToString.call(this) - return rewriteURL(originalURL) - } - - // monkey patch URL.toJSON() method - const oldToJson = URL.prototype.toString - URL.prototype.toString = function() { - let originalURL = oldToJson.call(this) - return rewriteURL(originalURL) - } - - // Monkey patch URL.href getter and setter - const originalHrefDescriptor = Object.getOwnPropertyDescriptor(URL.prototype, 'href'); - Object.defineProperty(URL.prototype, 'href', { - get: function() { - let originalHref = originalHrefDescriptor.get.call(this); - return rewriteURL(originalHref) - }, - set: function(newValue) { - originalHrefDescriptor.set.call(this, rewriteURL(newValue)); - } - }); - - // Monkey patch setter - const elements = [ - { tag: 'a', attribute: 'href' }, - { tag: 'img', attribute: 'src' }, - // { tag: 'img', attribute: 'srcset' }, // TODO: handle srcset - { tag: 'script', attribute: 'src' }, - { tag: 'link', attribute: 'href' }, - { tag: 'link', attribute: 'icon' }, - { tag: 'iframe', attribute: 'src' }, - { tag: 'audio', attribute: 'src' }, - { tag: 'video', attribute: 'src' }, - { tag: 'source', attribute: 'src' }, - // { tag: 'source', attribute: 'srcset' }, // TODO: handle srcset - { tag: 'embed', attribute: 'src' }, - { tag: 'embed', attribute: 'pluginspage' }, - { tag: 'html', attribute: 'manifest' }, - { tag: 'object', attribute: 'src' }, - { tag: 'input', attribute: 'src' }, - { tag: 'track', attribute: 'src' }, - { tag: 'form', attribute: 'action' }, - { tag: 'area', attribute: 'href' }, - { tag: 'base', attribute: 'href' }, - { tag: 'blockquote', attribute: 'cite' }, - { tag: 'del', attribute: 'cite' }, - { tag: 'ins', attribute: 'cite' }, - { tag: 'q', attribute: 'cite' }, - { tag: 'button', attribute: 'formaction' }, - { tag: 'input', attribute: 'formaction' }, - { tag: 'meta', attribute: 'content' }, - { tag: 'object', attribute: 'data' }, - ]; - - elements.forEach(({ tag, attribute }) => { - const proto = document.createElement(tag).constructor.prototype; - const descriptor = Object.getOwnPropertyDescriptor(proto, attribute); - if (descriptor && descriptor.set) { - Object.defineProperty(proto, attribute, { - ...descriptor, - set(value) { - // calling rewriteURL will end up calling a setter for href, - // leading to a recusive loop and a Maximum call stack size exceeded - // error, so we guard against this with a local semaphore flag - const isRewritingSetKey = Symbol.for('isRewritingSet'); - if (!this[isRewritingSetKey]) { - this[isRewritingSetKey] = true; - descriptor.set.call(this, rewriteURL(value)); - //descriptor.set.call(this, value); - this[isRewritingSetKey] = false; - } else { - // Directly set the value without rewriting - descriptor.set.call(this, value); - } - }, - get() { - const isRewritingGetKey = Symbol.for('isRewritingGet'); - if (!this[isRewritingGetKey]) { - this[isRewritingGetKey] = true; - let oldURL = descriptor.get.call(this); - let newURL = rewriteURL(oldURL); - this[isRewritingGetKey] = false; - return newURL - } else { - return descriptor.get.call(this); - } - } - }); - } - }); -})(); \ No newline at end of file diff --git a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go index 4c4dccde..31e8ffba 100644 --- a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go @@ -145,7 +145,11 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { // inject \n", script), + ) +} + // possible ad-blocking / bypassing opportunity here func modifyInlineScript(scriptContentBuffer *bytes.Buffer) string { return html.UnescapeString(scriptContentBuffer.String()) diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js index d73e690c..0562ba0a 100644 --- a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js +++ b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js @@ -27,12 +27,14 @@ if (blacklistedSchemes.includes(url)) return url; // don't double rewrite - const proxyOrigin = globalThis.window.location.origin; + //const proxyOrigin = globalThis.window.location.origin; + const proxyOrigin = `${PROXY_ORIGIN_INJECT_FROM_GOLANG}`; if (url.startsWith(proxyOrigin)) return url; if (url.startsWith(`/${proxyOrigin}`)) return url; if (url.startsWith(`/${origin}`)) return url; - const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + const origin = `${ORIGIN_INJECT_FROM_GOLANG}`; //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) if (url.startsWith("//")) { From efa43a6f3633da54f6fc43a0bc975945a12deb6a Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 20:58:16 -0600 Subject: [PATCH 015/178] minor fix with parameterization --- .../rewriters/html_resource_url_rewriter.go | 6 +----- .../responsemodifers/rewriters/js_resource_url_rewriter.js | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go index 31e8ffba..7579602d 100644 --- a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go @@ -177,11 +177,7 @@ func injectScript(tokenBuffer *bytes.Buffer, script string) { func injectScriptWithParams(tokenBuffer *bytes.Buffer, script string, params map[string]string) { for old, new := range params { - script = strings.ReplaceAll( - script, - fmt.Sprintf("`${%s}`", old), - fmt.Sprintf("`${%s}`", new), - ) + script = strings.ReplaceAll(script, old, new) } tokenBuffer.WriteString( fmt.Sprintf("\n\n", script), diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js index 0562ba0a..880e7ac3 100644 --- a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js +++ b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js @@ -28,13 +28,13 @@ // don't double rewrite //const proxyOrigin = globalThis.window.location.origin; - const proxyOrigin = `${PROXY_ORIGIN_INJECT_FROM_GOLANG}`; + const proxyOrigin = `PROXY_ORIGIN_INJECT_FROM_GOLANG`; if (url.startsWith(proxyOrigin)) return url; if (url.startsWith(`/${proxyOrigin}`)) return url; if (url.startsWith(`/${origin}`)) return url; //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin - const origin = `${ORIGIN_INJECT_FROM_GOLANG}`; + const origin = `ORIGIN_INJECT_FROM_GOLANG`; //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) if (url.startsWith("//")) { From bfd647e526b48b5fbcc005658765ec572c5a8312 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 21 Nov 2023 23:25:34 -0600 Subject: [PATCH 016/178] url rewrite improvements --- handlers/proxy.go | 3 +- proxychain/proxychain.go | 2 +- .../rewriters/html_resource_url_rewriter.go | 72 ++++++---- .../rewriters/js_resource_url_rewriter.js | 136 ++++++++++++++++-- 4 files changed, 175 insertions(+), 38 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 866cdb25..54718ad4 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -57,7 +57,8 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetDebugLogging(opts.Verbose). SetRequestModifications( rx.DeleteOutgoingCookies(), - rx.SpoofReferrerFromTwitterPost(), + //rx.RequestArchiveIs(), + rx.MasqueradeAsGoogleBot(), ). AddResponseModifications( tx.DeleteIncomingCookies(), diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index b7f88838..2c71a4e1 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -248,7 +248,7 @@ func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL } if realUrl.Scheme == "" || realUrl.Host == "" { - return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer, relativeUrl) + return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer.String(), relativeUrl.String()) } log.Printf("rewrite relative URL using referer: '%s' -> '%s'\n", relativeUrl.String(), realUrl.String()) diff --git a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go index 7579602d..1997f677 100644 --- a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go @@ -146,8 +146,8 @@ func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { isHeadToken := (r.currentToken.Type == html.StartTagToken || r.currentToken.Type == html.SelfClosingTagToken) && r.currentToken.Data == "head" if isHeadToken { params := map[string]string{ - "PROXY_ORIGIN_INJECT_FROM_GOLANG": r.proxyURL, - "ORIGIN_INJECT_FROM_GOLANG": fmt.Sprintf("%s://%s", r.baseURL.Scheme, r.baseURL.Host), + "R_PROXYURL": r.proxyURL, + "R_BASEURL": fmt.Sprintf("%s://%s", r.baseURL.Scheme, r.baseURL.Host), } injectScriptWithParams(r.tokenBuffer, rewriteJSResourceUrlsScript, params) } @@ -192,8 +192,10 @@ func modifyInlineScript(scriptContentBuffer *bytes.Buffer) string { // Root-relative URLs: These are relative to the root path and start with a "/". func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { // doublecheck this is a valid relative URL + log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) if err != nil { + log.Println(err) return } @@ -251,37 +253,53 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { } func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { - for i, src := range strings.Split(attr.Val, ",") { - src = strings.Trim(src, " ") - for j, s := range strings.Split(src, " ") { - s = strings.Trim(s, " ") - if j == 0 { - f := &html.Attribute{Val: s, Key: attr.Key} - switch { - case strings.HasPrefix(s, "//"): - handleProtocolRelativePath(f, baseURL) - case strings.HasPrefix(s, "/"): - handleRootRelativePath(f, baseURL) - case strings.HasPrefix(s, "https://") || strings.HasPrefix(s, "http://"): - handleAbsolutePath(f, baseURL) - default: - handleDocumentRelativePath(f, baseURL) - } - s = f.Val - } - if i == 0 && j == 0 { - attr.Val = s - continue - } - attr.Val = fmt.Sprintf("%s %s", attr.Val, s) + var srcSetBuilder strings.Builder + srcSetItems := strings.Split(attr.Val, ",") + + for i, srcItem := range srcSetItems { + srcParts := strings.Fields(srcItem) // Fields splits around whitespace, trimming them + + if len(srcParts) == 0 { + continue // skip empty items + } + + // Process URL part + urlPart := processURLPart(srcParts[0], baseURL) + + // First srcset item without a descriptor + if i == 0 && (len(srcParts) == 1 || !strings.HasSuffix(srcParts[1], "x")) { + srcSetBuilder.WriteString(urlPart) + } else { + srcSetBuilder.WriteString(fmt.Sprintf("%s %s", urlPart, srcParts[1])) + } + + if i < len(srcSetItems)-1 { + srcSetBuilder.WriteString(",") // Add comma for all but last item } - attr.Val = fmt.Sprintf("%s,", attr.Val) } - attr.Val = strings.TrimSuffix(attr.Val, ",") + attr.Val = srcSetBuilder.String() log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) } +// only for srcset +func processURLPart(urlPart string, baseURL *url.URL) string { + f := &html.Attribute{Val: urlPart, Key: "src"} + + switch { + case strings.HasPrefix(urlPart, "//"): + handleProtocolRelativePath(f, baseURL) + case strings.HasPrefix(urlPart, "/"): + handleRootRelativePath(f, baseURL) + case strings.HasPrefix(urlPart, "https://"), strings.HasPrefix(urlPart, "http://"): + handleAbsolutePath(f, baseURL) + default: + handleDocumentRelativePath(f, baseURL) + } + + return f.Val +} + func isBlackedlistedScheme(url string) bool { spl := strings.Split(url, ":") if len(spl) == 0 { diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js index 880e7ac3..9c042819 100644 --- a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js +++ b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js @@ -20,21 +20,28 @@ if (!url) return url let isStr = (typeof url.startsWith === 'function') if (!isStr) return url - // don't rewrite invalid URIs - try { new URL(url) } catch { return url } // don't rewrite special URIs if (blacklistedSchemes.includes(url)) return url; - // don't double rewrite //const proxyOrigin = globalThis.window.location.origin; - const proxyOrigin = `PROXY_ORIGIN_INJECT_FROM_GOLANG`; + const proxyOrigin = "R_PROXYURL"; + //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + const origin = "R_BASEURL"; + + // don't rewrite invalid URIs + try { new URL(url, origin) } catch { return url } + + // don't double rewrite if (url.startsWith(proxyOrigin)) return url; if (url.startsWith(`/${proxyOrigin}`)) return url; if (url.startsWith(`/${origin}`)) return url; + if (url.startsWith(`/http://`)) return url; + if (url.startsWith(`/https://`)) return url; + if (url.startsWith(`/http%3A%2F%2F`)) return url; + if (url.startsWith(`/https%3A%2F%2F`)) return url; + if (url.startsWith(`/%2Fhttp`)) return url; - //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin - const origin = `ORIGIN_INJECT_FROM_GOLANG`; //console.log(`proxychain: origin: ${origin} // proxyOrigin: ${proxyOrigin} // original: ${oldUrl}`) if (url.startsWith("//")) { @@ -50,27 +57,62 @@ return url; }; + // sometimes anti-bot protections like cloudflare or akamai bot manager check if JS is hooked + function hideMonkeyPatch(objectOrName, method, originalToString) { + let obj; + let isGlobalFunction = false; + + if (typeof objectOrName === 'string') { + obj = globalThis[objectOrName]; + isGlobalFunction = (typeof obj === 'function') && (method === objectOrName); + } else { + obj = objectOrName; + } + + if (isGlobalFunction) { + const originalFunction = obj; + globalThis[objectOrName] = function(...args) { + return originalFunction.apply(this, args); + }; + globalThis[objectOrName].toString = () => originalToString; + } else if (obj && typeof obj[method] === 'function') { + const originalMethod = obj[method]; + obj[method] = function(...args) { + return originalMethod.apply(this, args); + }; + obj[method].toString = () => originalToString; + } else { + console.warn(`proxychain: cannot hide monkey patch: ${method} is not a function on the provided object.`); + } + } + // monkey patch fetch - const oldFetch = globalThis.fetch; - globalThis.fetch = async (url, init) => { + const oldFetch = fetch; + fetch = async (url, init) => { return oldFetch(rewriteURL(url), init) } + hideMonkeyPatch('fetch', 'fetch', 'function fetch() { [native code] }') // monkey patch xmlhttprequest const oldOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { return oldOpen.call(this, method, rewriteURL(url), async, user, password); }; + hideMonkeyPatch(XMLHttpRequest.prototype, 'open', 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}'); + const oldSend = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function(method, url) { return oldSend.call(this, method, rewriteURL(url)); }; + hideMonkeyPatch(XMLHttpRequest.prototype, 'send', 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}'); + // monkey patch service worker registration const oldRegister = ServiceWorkerContainer.prototype.register; ServiceWorkerContainer.prototype.register = function(scriptURL, options) { return oldRegister.call(this, rewriteURL(scriptURL), options) } + hideMonkeyPatch(ServiceWorkerContainer.prototype, 'register', 'function register() { [native code] }') // monkey patch URL.toString() method const oldToString = URL.prototype.toString @@ -78,6 +120,7 @@ let originalURL = oldToString.call(this) return rewriteURL(originalURL) } + hideMonkeyPatch(URL.prototype, 'toString', 'function toString() { [native code] }') // monkey patch URL.toJSON() method const oldToJson = URL.prototype.toString @@ -85,6 +128,7 @@ let originalURL = oldToJson.call(this) return rewriteURL(originalURL) } + hideMonkeyPatch(URL.prototype, 'toString', 'function toJSON() { [native code] }') // Monkey patch URL.href getter and setter const originalHrefDescriptor = Object.getOwnPropertyDescriptor(URL.prototype, 'href'); @@ -98,6 +142,9 @@ } }); + // TODO: do one more pass of this by manually traversing the DOM + // AFTER all the JS and page has loaded just in case + // Monkey patch setter const elements = [ { tag: 'a', attribute: 'href' }, @@ -166,4 +213,75 @@ }); } }); -})(); + + + // sometimes, libraries will set the Element.innerHTML or Element.outerHTML directly with a string instead of setters. + // in this case, we intercept it, create a fake DOM, parse it and then rewrite all attributes that could + // contain a URL. Then we return the replacement innerHTML/outerHTML with redirected links. + function rewriteInnerHTML(html, elements) { + const isRewritingHTMLKey = Symbol.for('isRewritingHTML'); + + // Check if already processing + if (document[isRewritingHTMLKey]) { + return html; + } + + const tempContainer = document.createElement('div'); + document[isRewritingHTMLKey] = true; + + try { + tempContainer.innerHTML = html; + + // Create a map for quick lookup + const elementsMap = new Map(elements.map(e => [e.tag, e.attribute])); + + // Loop-based DOM traversal + const nodes = [...tempContainer.querySelectorAll('*')]; + for (const node of nodes) { + const attribute = elementsMap.get(node.tagName.toLowerCase()); + if (attribute && node.hasAttribute(attribute)) { + const originalUrl = node.getAttribute(attribute); + const rewrittenUrl = rewriteURL(originalUrl); + node.setAttribute(attribute, rewrittenUrl); + } + } + + return tempContainer.innerHTML; + } finally { + // Clear the flag + document[isRewritingHTMLKey] = false; + } + } + + + // Store original setters +const originalSetters = {}; + + ['innerHTML', 'outerHTML'].forEach(property => { + const descriptor = Object.getOwnPropertyDescriptor(Element.prototype, property); + if (descriptor && descriptor.set) { + originalSetters[property] = descriptor.set; + + Object.defineProperty(Element.prototype, property, { + ...descriptor, + set(value) { + const isRewritingHTMLKey = Symbol.for('isRewritingHTML'); + if (!this[isRewritingHTMLKey]) { + this[isRewritingHTMLKey] = true; + try { + // Use custom logic + descriptor.set.call(this, rewriteInnerHTML(value, elements)); + } finally { + this[isRewritingHTMLKey] = false; + } + } else { + // Use original setter in recursive call + originalSetters[property].call(this, value); + } + } + }); + } + }); + + +})(); \ No newline at end of file From 7668713b1a28b3e9c181b0f7ceea2ff285f1d7fc Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 22 Nov 2023 07:21:48 -0600 Subject: [PATCH 017/178] fix recursive proxy calls --- handlers/proxy.go | 6 ++++-- proxychain/proxychain.go | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 54718ad4..1df46f01 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -56,13 +56,15 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - rx.DeleteOutgoingCookies(), + //rx.DeleteOutgoingCookies(), //rx.RequestArchiveIs(), rx.MasqueradeAsGoogleBot(), ). AddResponseModifications( - tx.DeleteIncomingCookies(), + //tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), + tx.BypassCORS(), + tx.BypassContentSecurityPolicy(), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 2c71a4e1..7e30bff6 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -261,6 +261,22 @@ func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL }, nil } +// prevents calls like: http://localhost:8080/http://localhost:8080 +func preventRecursiveProxyRequest(urlQuery *url.URL, baseProxyURL string) *url.URL { + u := urlQuery.String() + isRecursive := strings.HasPrefix(u, baseProxyURL) || u == baseProxyURL + if !isRecursive { + return urlQuery + } + + fixedURL, err := url.Parse(strings.TrimPrefix(strings.TrimPrefix(urlQuery.String(), baseProxyURL), "/")) + if err != nil { + log.Printf("proxychain: failed to fix recursive request: '%s' -> '%s\n'", baseProxyURL, u) + return urlQuery + } + return preventRecursiveProxyRequest(fixedURL, baseProxyURL) +} + // extractUrl extracts a URL from the request ctx. If the URL in the request // is a relative path, it reconstructs the full URL using the referer header. func (chain *ProxyChain) extractUrl() (*url.URL, error) { @@ -284,6 +300,11 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { return nil, fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) } + // prevent recursive proxy requests + fullURL := chain.Context.Request().URI() + proxyURL := fmt.Sprintf("%s://%s", fullURL.Scheme(), fullURL.Host()) + urlQuery = preventRecursiveProxyRequest(urlQuery, proxyURL) + // Handle standard paths // eg: https://localhost:8080/https://realsite.com/images/foobar.jpg -> https://realsite.com/images/foobar.jpg isRelativePath := urlQuery.Scheme == "" From 5d55a2f3f0f9ba1da5395c728d3be7d8b4dafce9 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 22 Nov 2023 23:51:52 -0600 Subject: [PATCH 018/178] refactor rewriters to modify html in single pass with multiple rewriters; improve html rewriter edge case handling --- proxychain/proxychain.go | 162 +++++---- proxychain/responsemodifers/bypass_csp.go | 3 + proxychain/responsemodifers/inject_script.go | 27 ++ .../rewrite_http_resource_urls.go | 27 +- .../after_dom_idle_script_injector.js | 27 ++ ...source_url_rewriter.go => css_rewriter.go} | 0 .../rewriters/html_resource_url_rewriter.go | 344 ------------------ .../rewriters/html_rewriter.go | 131 +++++++ .../rewriters/html_token_url_rewriter.go | 263 +++++++++++++ .../rewriters/js_resource_url_rewriter.js | 30 ++ .../rewriters/script_injector_rewriter.go | 60 +++ 11 files changed, 639 insertions(+), 435 deletions(-) create mode 100644 proxychain/responsemodifers/inject_script.go create mode 100644 proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js rename proxychain/responsemodifers/rewriters/{css_resource_url_rewriter.go => css_rewriter.go} (100%) delete mode 100644 proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go create mode 100644 proxychain/responsemodifers/rewriters/html_rewriter.go create mode 100644 proxychain/responsemodifers/rewriters/html_token_url_rewriter.go create mode 100644 proxychain/responsemodifers/rewriters/script_injector_rewriter.go diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 7e30bff6..545e35fd 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -10,6 +10,7 @@ import ( "strings" "ladder/pkg/ruleset" + rr "ladder/proxychain/responsemodifers/rewriters" "github.com/gofiber/fiber/v2" ) @@ -35,6 +36,7 @@ import ( rx "ladder/pkg/proxychain/requestmodifers" tx "ladder/pkg/proxychain/responsemodifers" + "ladder/pkg/proxychain/responsemodifers/rewriters" "ladder/internal/proxychain" ) @@ -87,6 +89,7 @@ type ProxyChain struct { Response *http.Response requestModifications []RequestModification resultModifications []ResponseModification + htmlTokenRewriters []rr.IHTMLTokenRewriter Ruleset *ruleset.RuleSet debugMode bool abortErr error @@ -169,75 +172,6 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { return req, nil } -// _execute sends the request for the ProxyChain and returns the raw body only -// the caller is responsible for returning a response back to the requestor -// the caller is also responsible for calling chain._reset() when they are done with the body -func (chain *ProxyChain) _execute() (io.Reader, error) { - if chain.validateCtxIsSet() != nil || chain.abortErr != nil { - return nil, chain.abortErr - } - if chain.Request == nil { - return nil, errors.New("proxychain request not yet initialized") - } - if chain.Request.URL.Scheme == "" { - return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") - } - - // Apply requestModifications to proxychain - for _, applyRequestModificationsTo := range chain.requestModifications { - err := applyRequestModificationsTo(chain) - if err != nil { - return nil, chain.abort(err) - } - } - - // Send Request Upstream - resp, err := chain.Client.Do(chain.Request) - if err != nil { - return nil, chain.abort(err) - } - chain.Response = resp - - //defer resp.Body.Close() - - /* todo: move to rsm - for k, v := range resp.Header { - chain.Context.Set(k, resp.Header.Get(k)) - } - */ - - // Apply ResponseModifiers to proxychain - for _, applyResultModificationsTo := range chain.resultModifications { - err := applyResultModificationsTo(chain) - if err != nil { - return nil, chain.abort(err) - } - } - - return chain.Response.Body, nil -} - -// Execute sends the request for the ProxyChain and returns the request to the sender -// and resets the fields so that the ProxyChain can be reused. -// if any step in the ProxyChain fails, the request will abort and a 500 error will -// be returned to the client -func (chain *ProxyChain) Execute() error { - defer chain._reset() - body, err := chain._execute() - if err != nil { - log.Println(err) - return err - } - if chain.Context == nil { - return errors.New("no context set") - } - // Return request back to client - chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) - return chain.Context.SendStream(body) - - //return chain.Context.SendStream(body) -} - // reconstructUrlFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL, error) { @@ -322,6 +256,13 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { return reconstructUrlFromReferer(referer, relativePath) } +// AddBodyRewriter adds a HTMLTokenRewriter to the chain +// HTMLTokenRewriters modify the body response by parsing the HTML +func (chain *ProxyChain) AddHTMLTokenRewriter(rr rr.IHTMLTokenRewriter) *ProxyChain { + chain.htmlTokenRewriters = append(chain.htmlTokenRewriters, rr) + return chain +} + // SetFiberCtx takes the request ctx from the client // for the modifiers and execute function to use. // it must be set everytime a new request comes through @@ -398,3 +339,86 @@ func NewProxyChain() *ProxyChain { chain.Client = http.DefaultClient return chain } + +/// ======================================================================================================== + +// _execute sends the request for the ProxyChain and returns the raw body only +// the caller is responsible for returning a response back to the requestor +// the caller is also responsible for calling chain._reset() when they are done with the body +func (chain *ProxyChain) _execute() (io.Reader, error) { + if chain.validateCtxIsSet() != nil || chain.abortErr != nil { + return nil, chain.abortErr + } + if chain.Request == nil { + return nil, errors.New("proxychain request not yet initialized") + } + if chain.Request.URL.Scheme == "" { + return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") + } + + // Apply requestModifications to proxychain + for _, applyRequestModificationsTo := range chain.requestModifications { + err := applyRequestModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + + // Send Request Upstream + resp, err := chain.Client.Do(chain.Request) + if err != nil { + return nil, chain.abort(err) + } + chain.Response = resp + + /* todo: move to rsm + for k, v := range resp.Header { + chain.Context.Set(k, resp.Header.Get(k)) + } + */ + + // Apply ResponseModifiers to proxychain + for _, applyResultModificationsTo := range chain.resultModifications { + err := applyResultModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + + // stream request back to client, possibly rewriting the body + if len(chain.htmlTokenRewriters) == 0 { + return chain.Response.Body, nil + } + + ct := chain.Response.Header.Get("content-type") + switch { + case strings.HasPrefix(ct, "text/html"): + fmt.Println("fooox") + return rr.NewHTMLRewriter(chain.Response.Body, chain.htmlTokenRewriters), nil + default: + return chain.Response.Body, nil + } + +} + +// Execute sends the request for the ProxyChain and returns the request to the sender +// and resets the fields so that the ProxyChain can be reused. +// if any step in the ProxyChain fails, the request will abort and a 500 error will +// be returned to the client +func (chain *ProxyChain) Execute() error { + defer chain._reset() + body, err := chain._execute() + if err != nil { + log.Println(err) + return err + } + if chain.Context == nil { + return errors.New("no context set") + } + + // Return request back to client + chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) + return chain.Context.SendStream(body) + + //return chain.Context.SendStream(body) +} diff --git a/proxychain/responsemodifers/bypass_csp.go b/proxychain/responsemodifers/bypass_csp.go index 71d4d736..07912c86 100644 --- a/proxychain/responsemodifers/bypass_csp.go +++ b/proxychain/responsemodifers/bypass_csp.go @@ -4,6 +4,9 @@ import ( "ladder/proxychain" ) +// TODO: handle edge case where CSP is specified in meta tag: +// + // BypassContentSecurityPolicy modifies response headers to prevent the browser // from enforcing any CSP restrictions. This should run at the end of the chain. func BypassContentSecurityPolicy() proxychain.ResponseModification { diff --git a/proxychain/responsemodifers/inject_script.go b/proxychain/responsemodifers/inject_script.go new file mode 100644 index 00000000..1d8812d2 --- /dev/null +++ b/proxychain/responsemodifers/inject_script.go @@ -0,0 +1,27 @@ +package responsemodifers + +import ( + _ "embed" + "ladder/proxychain" + "ladder/proxychain/responsemodifers/rewriters" + "strings" +) + +// InjectScript modifies HTTP responses +// to execute javascript at a particular time. +func InjectScript(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + // don't add rewriter if it's not even html + ct := chain.Response.Header.Get("content-type") + if !strings.HasPrefix(ct, "text/html") { + return nil + } + + // the rewriting actually happens in chain.Execute() as the client is streaming the response body back + rr := rewriters.NewScriptInjectorRewriter(js, execTime) + // we just queue it up here + chain.AddHTMLTokenRewriter(rr) + + return nil + } +} diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 7d72c7d4..7cdbcc83 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -13,24 +13,9 @@ import ( // - `` -> `` // - This function is designed to allow the proxified page // to still be browsible by routing all resource URLs through the proxy. -// -// --- -// -// - It works by replacing the io.ReadCloser of the http.Response.Body -// with another io.ReaderCloser (HTMLResourceRewriter) that wraps the first one. -// -// - This process can be done multiple times, so that the response will -// be streamed and modified through each pass without buffering the entire response in memory. -// -// - HTMLResourceRewriter reads the http.Response.Body stream, -// parsing each HTML token one at a time and replacing attribute tags. -// -// - When ProxyChain.Execute() is called, the response body will be read from the server -// and pulled through each ResponseModification which wraps the ProxyChain.Response.Body -// without ever buffering the entire HTTP response in memory. func RewriteHTMLResourceURLs() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - // return early if it's not HTML + // don't add rewriter if it's not even html ct := chain.Response.Header.Get("content-type") if !strings.HasPrefix(ct, "text/html") { return nil @@ -40,12 +25,10 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { originalURI := chain.Context.Request().URI() proxyURL := fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()) - chain.Response.Body = rewriters. - NewHTMLResourceURLRewriter( - chain.Response.Body, - chain.Request.URL, - proxyURL, - ) + // the rewriting actually happens in chain.Execute() as the client is streaming the response body back + rr := rewriters.NewHTMLTokenURLRewriter(chain.Request.URL, proxyURL) + // we just queue it up here + chain.AddHTMLTokenRewriter(rr) return nil } diff --git a/proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js b/proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js new file mode 100644 index 00000000..47aa44f6 --- /dev/null +++ b/proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js @@ -0,0 +1,27 @@ +(() => { + document.addEventListener('DOMContentLoaded', (event) => { + initIdleMutationObserver(); + }); + + function initIdleMutationObserver() { + let debounceTimer; + const debounceDelay = 500; // adjust the delay as needed + + const observer = new MutationObserver((mutations) => { + // Clear the previous timer and set a new one + clearTimeout(debounceTimer); + debounceTimer = setTimeout(() => { + execute(); + observer.disconnect(); // Disconnect after first execution + }, debounceDelay); + }); + + const config = { attributes: false, childList: true, subtree: true }; + observer.observe(document.body, config); + } + + function execute() { + 'SCRIPT_CONTENT_PARAM' + //console.log('DOM is now idle. Executing...'); + } +})(); \ No newline at end of file diff --git a/proxychain/responsemodifers/rewriters/css_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/css_rewriter.go similarity index 100% rename from proxychain/responsemodifers/rewriters/css_resource_url_rewriter.go rename to proxychain/responsemodifers/rewriters/css_rewriter.go diff --git a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go deleted file mode 100644 index 1997f677..00000000 --- a/proxychain/responsemodifers/rewriters/html_resource_url_rewriter.go +++ /dev/null @@ -1,344 +0,0 @@ -package rewriters - -import ( - "bytes" - _ "embed" - "fmt" - "io" - "log" - "net/url" - "strings" - - "golang.org/x/net/html" -) - -var attributesToRewrite map[string]bool -var schemeBlacklist map[string]bool - -func init() { - // Define list of HTML attributes to try to rewrite - attributesToRewrite = map[string]bool{ - "src": true, - "href": true, - "action": true, - "srcset": true, - "poster": true, - "data": true, - "cite": true, - "formaction": true, - "background": true, - "usemap": true, - "longdesc": true, - "manifest": true, - "archive": true, - "codebase": true, - "icon": true, - "pluginspage": true, - } - - // define URIs to NOT rewrite - // for example: don't overwrite " - schemeBlacklist = map[string]bool{ - "data": true, - "tel": true, - "mailto": true, - "file": true, - "blob": true, - "javascript": true, - "about": true, - "magnet": true, - "ws": true, - "wss": true, - "ftp": true, - } -} - -// HTMLResourceURLRewriter is a struct that rewrites URLs within HTML resources to use a specified proxy URL. -// It uses an HTML tokenizer to process HTML content and rewrites URLs in src/href attributes. -// -> -type HTMLResourceURLRewriter struct { - baseURL *url.URL - tokenizer *html.Tokenizer - currentToken html.Token - tokenBuffer *bytes.Buffer - scriptContentBuffer *bytes.Buffer - insideScript bool - currentTokenIndex int - currentTokenProcessed bool - proxyURL string // ladder URL, not proxied site URL -} - -// NewHTMLResourceURLRewriter creates a new instance of HTMLResourceURLRewriter. -// It initializes the tokenizer with the provided source and sets the proxy URL. -func NewHTMLResourceURLRewriter(src io.ReadCloser, baseURL *url.URL, proxyURL string) *HTMLResourceURLRewriter { - return &HTMLResourceURLRewriter{ - tokenizer: html.NewTokenizer(src), - currentToken: html.Token{}, - currentTokenIndex: 0, - tokenBuffer: new(bytes.Buffer), - scriptContentBuffer: new(bytes.Buffer), - insideScript: false, - baseURL: baseURL, - proxyURL: proxyURL, - } -} - -// Close resets the internal state of HTMLResourceURLRewriter, clearing buffers and token data. -func (r *HTMLResourceURLRewriter) Close() error { - r.tokenBuffer.Reset() - r.currentToken = html.Token{} - r.currentTokenIndex = 0 - r.currentTokenProcessed = false - return nil -} - -// Read processes the HTML content, rewriting URLs and managing the state of tokens. -// It reads HTML content, token by token, rewriting URLs to route through the specified proxy. -func (r *HTMLResourceURLRewriter) Read(p []byte) (int, error) { - - if r.currentToken.Data == "" || r.currentTokenProcessed { - tokenType := r.tokenizer.Next() - - // done reading html, close out reader - if tokenType == html.ErrorToken { - if r.tokenizer.Err() == io.EOF { - return 0, io.EOF - } - return 0, r.tokenizer.Err() - } - - // flush the current token into an internal buffer - // to handle fragmented tokens - r.currentToken = r.tokenizer.Token() - - // patch tokens with URLs - isTokenWithAttribute := r.currentToken.Type == html.StartTagToken || r.currentToken.Type == html.SelfClosingTagToken - if isTokenWithAttribute { - patchResourceURL(&r.currentToken, r.baseURL, r.proxyURL) - } - - r.tokenBuffer.Reset() - - // unescape script contents, not sure why tokenizer will escape things - switch tokenType { - case html.StartTagToken: - if r.currentToken.Data == "script" { - r.insideScript = true - r.scriptContentBuffer.Reset() // Reset buffer for new script contents - } - r.tokenBuffer.WriteString(r.currentToken.String()) // Write the start tag - case html.EndTagToken: - if r.currentToken.Data == "script" { - r.insideScript = false - modScript := modifyInlineScript(r.scriptContentBuffer) - r.tokenBuffer.WriteString(modScript) - } - r.tokenBuffer.WriteString(r.currentToken.String()) - default: - if r.insideScript { - r.scriptContentBuffer.WriteString(r.currentToken.String()) - } else { - r.tokenBuffer.WriteString(r.currentToken.String()) - } - } - - // inject \n", script), - ) -} - -func injectScriptWithParams(tokenBuffer *bytes.Buffer, script string, params map[string]string) { - for old, new := range params { - script = strings.ReplaceAll(script, old, new) - } - tokenBuffer.WriteString( - fmt.Sprintf("\n\n", script), - ) -} - -// possible ad-blocking / bypassing opportunity here -func modifyInlineScript(scriptContentBuffer *bytes.Buffer) string { - return html.UnescapeString(scriptContentBuffer.String()) -} - -// Root-relative URLs: These are relative to the root path and start with a "/". -func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { - // doublecheck this is a valid relative URL - log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) - _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) - if err != nil { - log.Println(err) - return - } - - //log.Printf("BASEURL patch: %s\n", baseURL) - - attr.Val = fmt.Sprintf( - "/%s://%s/%s", - baseURL.Scheme, - baseURL.Host, - strings.TrimPrefix(attr.Val, "/"), - ) - attr.Val = url.QueryEscape(attr.Val) - attr.Val = fmt.Sprintf("/%s", attr.Val) - - log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -// Document-relative URLs: These are relative to the current document's path and don't start with a "/". -func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { - attr.Val = fmt.Sprintf( - "%s://%s/%s%s", - baseURL.Scheme, - strings.Trim(baseURL.Host, "/"), - strings.Trim(baseURL.RawPath, "/"), - strings.Trim(attr.Val, "/"), - ) - attr.Val = url.QueryEscape(attr.Val) - attr.Val = fmt.Sprintf("/%s", attr.Val) - log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -// Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. -func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { - attr.Val = strings.TrimPrefix(attr.Val, "/") - handleRootRelativePath(attr, baseURL) - log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { - // check if valid URL - u, err := url.Parse(attr.Val) - if err != nil { - return - } - if !(u.Scheme == "http" || u.Scheme == "https") { - return - } - attr.Val = fmt.Sprintf( - "/%s", - url.QueryEscape( - strings.TrimPrefix(attr.Val, "/"), - ), - ) - log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { - var srcSetBuilder strings.Builder - srcSetItems := strings.Split(attr.Val, ",") - - for i, srcItem := range srcSetItems { - srcParts := strings.Fields(srcItem) // Fields splits around whitespace, trimming them - - if len(srcParts) == 0 { - continue // skip empty items - } - - // Process URL part - urlPart := processURLPart(srcParts[0], baseURL) - - // First srcset item without a descriptor - if i == 0 && (len(srcParts) == 1 || !strings.HasSuffix(srcParts[1], "x")) { - srcSetBuilder.WriteString(urlPart) - } else { - srcSetBuilder.WriteString(fmt.Sprintf("%s %s", urlPart, srcParts[1])) - } - - if i < len(srcSetItems)-1 { - srcSetBuilder.WriteString(",") // Add comma for all but last item - } - } - - attr.Val = srcSetBuilder.String() - log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) -} - -// only for srcset -func processURLPart(urlPart string, baseURL *url.URL) string { - f := &html.Attribute{Val: urlPart, Key: "src"} - - switch { - case strings.HasPrefix(urlPart, "//"): - handleProtocolRelativePath(f, baseURL) - case strings.HasPrefix(urlPart, "/"): - handleRootRelativePath(f, baseURL) - case strings.HasPrefix(urlPart, "https://"), strings.HasPrefix(urlPart, "http://"): - handleAbsolutePath(f, baseURL) - default: - handleDocumentRelativePath(f, baseURL) - } - - return f.Val -} - -func isBlackedlistedScheme(url string) bool { - spl := strings.Split(url, ":") - if len(spl) == 0 { - return false - } - scheme := spl[0] - return schemeBlacklist[scheme] -} - -func patchResourceURL(token *html.Token, baseURL *url.URL, proxyURL string) { - for i := range token.Attr { - attr := &token.Attr[i] - - switch { - // don't touch attributes except for the ones we defined - case !attributesToRewrite[attr.Key]: - continue - // don't rewrite special URIs that don't make network requests - case isBlackedlistedScheme(attr.Val): - continue - // don't double-overwrite the url - case strings.HasPrefix(attr.Val, proxyURL): - continue - case attr.Key == "srcset": - handleSrcSet(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "//"): - handleProtocolRelativePath(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "/"): - handleRootRelativePath(attr, baseURL) - continue - case strings.HasPrefix(attr.Val, "https://") || strings.HasPrefix(attr.Val, "http://"): - handleAbsolutePath(attr, baseURL) - continue - default: - handleDocumentRelativePath(attr, baseURL) - continue - } - - } -} diff --git a/proxychain/responsemodifers/rewriters/html_rewriter.go b/proxychain/responsemodifers/rewriters/html_rewriter.go new file mode 100644 index 00000000..12767e29 --- /dev/null +++ b/proxychain/responsemodifers/rewriters/html_rewriter.go @@ -0,0 +1,131 @@ +package rewriters + +import ( + "bytes" + "io" + + "golang.org/x/net/html" +) + +// IHTMLTokenRewriter defines an interface for modifying HTML tokens. +type IHTMLTokenRewriter interface { + // ShouldModify determines whether a given HTML token requires modification. + ShouldModify(*html.Token) bool + + // ModifyToken applies modifications to a given HTML token. + // It returns strings representing content to be prepended and + // appended to the token. If no modifications are required or if an error occurs, + // it returns empty strings for both 'prepend' and 'append'. + // Note: The original token is not modified if an error occurs. + ModifyToken(*html.Token) (prepend, append string) +} + +// HTMLRewriter is a struct that can take multiple TokenHandlers and process all +// HTML tokens from http.Response.Body in a single pass, making changes and returning a new io.ReadCloser +// +// - HTMLRewriter reads the http.Response.Body stream, +// parsing each HTML token one at a time and making modifications (defined by implementations of IHTMLTokenRewriter) +// in a single pass of the tokenizer. +// +// - When ProxyChain.Execute() is called, the response body will be read from the server +// and pulled through each ResponseModification which wraps the ProxyChain.Response.Body +// without ever buffering the entire HTTP response in memory. +type HTMLRewriter struct { + tokenizer *html.Tokenizer + currentToken *html.Token + tokenBuffer *bytes.Buffer + currentTokenProcessed bool + rewriters []IHTMLTokenRewriter +} + +// NewHTMLRewriter creates a new HTMLRewriter instance. +// It processes HTML tokens from an io.ReadCloser source (typically http.Response.Body) +// using a series of HTMLTokenRewriters. Each HTMLTokenRewriter in the 'rewriters' slice +// applies its specific modifications to the HTML tokens. +// The HTMLRewriter reads from the provided 'src', applies the modifications, +// and returns the processed content as a new io.ReadCloser. +// This new io.ReadCloser can be used to stream the modified content back to the client. +// +// Parameters: +// - src: An io.ReadCloser representing the source of the HTML content, such as http.Response.Body. +// - rewriters: A slice of HTMLTokenRewriters that define the modifications to be applied to the HTML tokens. +// +// Returns: +// - A pointer to an HTMLRewriter, which implements io.ReadCloser, containing the modified HTML content. +func NewHTMLRewriter(src io.ReadCloser, rewriters []IHTMLTokenRewriter) *HTMLRewriter { + return &HTMLRewriter{ + tokenizer: html.NewTokenizer(src), + currentToken: nil, + tokenBuffer: new(bytes.Buffer), + currentTokenProcessed: false, + rewriters: rewriters, + } +} + +// Close resets the internal state of HTMLRewriter, clearing buffers and token data. +func (r *HTMLRewriter) Close() error { + r.tokenBuffer.Reset() + r.currentToken = nil + r.currentTokenProcessed = false + return nil +} + +// Read processes the HTML content, rewriting URLs and managing the state of tokens. +func (r *HTMLRewriter) Read(p []byte) (int, error) { + + if r.currentToken == nil || r.currentToken.Data == "" || r.currentTokenProcessed { + tokenType := r.tokenizer.Next() + + // done reading html, close out reader + if tokenType == html.ErrorToken { + if r.tokenizer.Err() == io.EOF { + return 0, io.EOF + } + return 0, r.tokenizer.Err() + } + + // get the next token; reset buffer + t := r.tokenizer.Token() + r.currentToken = &t + r.tokenBuffer.Reset() + + // buffer += " " + // process token through all registered rewriters + // rewriters will modify the token, and optionally + // return a or string token + appends := make([]string, 0, len(r.rewriters)) + for _, rewriter := range r.rewriters { + if !rewriter.ShouldModify(r.currentToken) { + continue + } + prepend, a := rewriter.ModifyToken(r.currentToken) + appends = append(appends, a) + // add to buffer + r.tokenBuffer.WriteString(prepend) + } + + // add to buffer + if tokenType == html.TextToken { + // don't unescape textTokens (such as inline scripts). + // Token.String() by default will escape the inputs, but + // we don't want to modify the original source + r.tokenBuffer.WriteString(r.currentToken.Data) + } else { + r.tokenBuffer.WriteString(r.currentToken.String()) + } + + // add to buffer + for _, a := range appends { + r.tokenBuffer.WriteString(a) + } + + r.currentTokenProcessed = false + } + + n, err := r.tokenBuffer.Read(p) + if err == io.EOF || r.tokenBuffer.Len() == 0 { + r.currentTokenProcessed = true + err = nil // EOF in this context is expected and not an actual error + } + return n, err +} diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go new file mode 100644 index 00000000..d2ebc048 --- /dev/null +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -0,0 +1,263 @@ +package rewriters + +import ( + _ "embed" + "fmt" + "log" + "net/url" + "regexp" + "strings" + + "golang.org/x/net/html" +) + +var rewriteAttrs map[string]map[string]bool +var specialRewriteAttrs map[string]map[string]bool +var schemeBlacklist map[string]bool + +func init() { + // define all tag/attributes which might contain URLs + // to attempt to rewrite to point to proxy instead + rewriteAttrs = map[string]map[string]bool{ + "img": {"src": true, "srcset": true, "longdesc": true, "usemap": true}, + "a": {"href": true}, + "form": {"action": true}, + "link": {"href": true, "manifest": true, "icon": true}, + "script": {"src": true}, + "video": {"src": true, "poster": true}, + "audio": {"src": true}, + "iframe": {"src": true, "longdesc": true}, + "embed": {"src": true}, + "object": {"data": true, "codebase": true}, + "source": {"src": true, "srcset": true}, + "track": {"src": true}, + "area": {"href": true}, + "base": {"href": true}, + "blockquote": {"cite": true}, + "del": {"cite": true}, + "ins": {"cite": true}, + "q": {"cite": true}, + "body": {"background": true}, + "button": {"formaction": true}, + "input": {"src": true, "formaction": true}, + "meta": {"content": true}, + } + + // might contain URL but requires special handling + specialRewriteAttrs = map[string]map[string]bool{ + "img": {"srcset": true}, + "source": {"srcset": true}, + "meta": {"content": true}, + } + + // define URIs to NOT rewrite + // for example: don't overwrite " + schemeBlacklist = map[string]bool{ + "data": true, + "tel": true, + "mailto": true, + "file": true, + "blob": true, + "javascript": true, + "about": true, + "magnet": true, + "ws": true, + "wss": true, + "ftp": true, + } + +} + +// HTMLTokenURLRewriter implements HTMLTokenRewriter +// it rewrites URLs within HTML resources to use a specified proxy URL. +// -> +type HTMLTokenURLRewriter struct { + baseURL *url.URL + proxyURL string // ladder URL, not proxied site URL +} + +// NewHTMLTokenURLRewriter creates a new instance of HTMLResourceURLRewriter. +// It initializes the tokenizer with the provided source and sets the proxy URL. +func NewHTMLTokenURLRewriter(baseURL *url.URL, proxyURL string) *HTMLTokenURLRewriter { + return &HTMLTokenURLRewriter{ + baseURL: baseURL, + proxyURL: proxyURL, + } +} + +func (r *HTMLTokenURLRewriter) ShouldModify(token *html.Token) bool { + attrLen := len(token.Attr) + if attrLen == 0 { + return false + } + if !(token.Type == html.StartTagToken || token.Type == html.SelfClosingTagToken) { + return false + } + return true +} + +func (r *HTMLTokenURLRewriter) ModifyToken(token *html.Token) (string, string) { + for i := range token.Attr { + attr := &token.Attr[i] + switch { + // don't touch tag/attributes that don't contain URIs + case !rewriteAttrs[token.Data][attr.Key]: + continue + // don't touch attributes with special URIs (like data:) + case schemeBlacklist[strings.Split(attr.Key, ":")[0]]: + continue + // don't double-overwrite the url + case strings.HasPrefix(attr.Val, r.proxyURL): + continue + case strings.HasPrefix(attr.Val, "/http://"): + continue + case strings.HasPrefix(attr.Val, "/https://"): + continue + // handle special rewrites + case specialRewriteAttrs[token.Data][attr.Key]: + r.handleSpecialAttr(token, attr, r.baseURL) + continue + default: + // rewrite url + handleURLPart(attr, r.baseURL) + } + } + return "", "" +} + +// dispatcher for ModifyURL based on URI type +func handleURLPart(attr *html.Attribute, baseURL *url.URL) { + switch { + case strings.HasPrefix(attr.Key, "//"): + handleProtocolRelativePath(attr, baseURL) + case strings.HasPrefix(attr.Key, "/"): + handleRootRelativePath(attr, baseURL) + case strings.HasPrefix(attr.Key, "https://"): + handleAbsolutePath(attr, baseURL) + case strings.HasPrefix(attr.Key, "http://"): + handleAbsolutePath(attr, baseURL) + default: + handleDocumentRelativePath(attr, baseURL) + } +} + +// Protocol-relative URLs: These start with "//" and will use the same protocol (http or https) as the current page. +func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { + attr.Val = strings.TrimPrefix(attr.Val, "/") + handleRootRelativePath(attr, baseURL) + log.Printf("proto rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Root-relative URLs: These are relative to the root path and start with a "/". +func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { + // doublecheck this is a valid relative URL + log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) + if err != nil { + log.Println(err) + return + } + + //log.Printf("BASEURL patch: %s\n", baseURL) + + attr.Val = fmt.Sprintf( + "/%s://%s/%s", + baseURL.Scheme, + baseURL.Host, + strings.TrimPrefix(attr.Val, "/"), + ) + attr.Val = escape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + + log.Printf("root rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// Document-relative URLs: These are relative to the current document's path and don't start with a "/". +func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { + log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + attr.Val = fmt.Sprintf( + "%s://%s/%s%s", + baseURL.Scheme, + strings.Trim(baseURL.Host, "/"), + strings.Trim(baseURL.RawPath, "/"), + strings.Trim(attr.Val, "/"), + ) + attr.Val = escape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) + log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// full URIs beginning with https?://proxiedsite.com +func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { + // check if valid URL + log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + u, err := url.Parse(attr.Val) + if err != nil { + return + } + if !(u.Scheme == "http" || u.Scheme == "https") { + return + } + attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) + log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +// handle edge cases for special attributes +func (r *HTMLTokenURLRewriter) handleSpecialAttr(token *html.Token, attr *html.Attribute, baseURL *url.URL) { + switch { + // srcset attribute doesn't contain a single URL but a comma-separated list of URLs, each potentially followed by a space and a descriptor (like a width, pixel density, or other conditions). + case token.Data == "img" && attr.Key == "srcset": + handleSrcSet(attr, baseURL) + case token.Data == "source" && attr.Key == "srcset": + handleSrcSet(attr, baseURL) + // meta with http-equiv="refresh": The content attribute of a meta tag, when used for a refresh directive, contains a time interval followed by a URL, like content="5;url=http://example.com/". + case token.Data == "meta" && attr.Key == "content" && regexp.MustCompile(`^\d+;url=`).MatchString(attr.Val): + handleMetaRefresh(attr, baseURL) + default: + break + } +} + +func handleMetaRefresh(attr *html.Attribute, baseURL *url.URL) { + sec := strings.Split(attr.Val, ";url=")[0] + url := strings.Split(attr.Val, ";url=")[1] + f := &html.Attribute{Val: url, Key: "src"} + handleURLPart(f, baseURL) + attr.Val = fmt.Sprintf("%s;url=%s", sec, url) +} + +func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { + var srcSetBuilder strings.Builder + srcSetItems := strings.Split(attr.Val, ",") + + for i, srcItem := range srcSetItems { + srcParts := strings.Fields(srcItem) // Fields splits around whitespace, trimming them + + if len(srcParts) == 0 { + continue // skip empty items + } + + // rewrite each URL part by passing in fake attribute + f := &html.Attribute{Val: srcParts[0], Key: "src"} + handleURLPart(f, baseURL) + urlPart := f.Key + + // First srcset item without a descriptor + if i == 0 && (len(srcParts) == 1 || !strings.HasSuffix(srcParts[1], "x")) { + srcSetBuilder.WriteString(urlPart) + } else { + srcSetBuilder.WriteString(fmt.Sprintf("%s %s", urlPart, srcParts[1])) + } + + if i < len(srcSetItems)-1 { + srcSetBuilder.WriteString(",") // Add comma for all but last item + } + } + + attr.Val = srcSetBuilder.String() + log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) +} + +func escape(str string) string { + return strings.ReplaceAll(url.PathEscape(str), "%2F", "/") +} diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js index 9c042819..a6f09e14 100644 --- a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js +++ b/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js @@ -284,4 +284,34 @@ const originalSetters = {}; }); +})(); + + + +(() => { + document.addEventListener('DOMContentLoaded', (event) => { + initIdleMutationObserver(); + }); + + function initIdleMutationObserver() { + let debounceTimer; + const debounceDelay = 500; // adjust the delay as needed + + const observer = new MutationObserver((mutations) => { + // Clear the previous timer and set a new one + clearTimeout(debounceTimer); + debounceTimer = setTimeout(() => { + execute(); + observer.disconnect(); // Disconnect after first execution + }, debounceDelay); + }); + + const config = { attributes: false, childList: true, subtree: true }; + observer.observe(document.body, config); + } + + function execute() { + console.log('DOM is now idle. Executing...'); + } + })(); \ No newline at end of file diff --git a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go new file mode 100644 index 00000000..b08498b3 --- /dev/null +++ b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go @@ -0,0 +1,60 @@ +package rewriters + +import ( + _ "embed" + "fmt" + "strings" + + "golang.org/x/net/html" + "golang.org/x/net/html/atom" +) + +// ScriptInjectorRewriter implements HTMLTokenRewriter +// ScriptInjectorRewriter is a struct that injects JS into the page +// It uses an HTML tokenizer to process HTML content and injects JS at a specified location +type ScriptInjectorRewriter struct { + execTime ScriptExecTime + script string +} + +type ScriptExecTime int + +const ( + BeforeDOMContentLoaded ScriptExecTime = iota + AfterDOMContentLoaded + AfterDOMIdle +) + +func (r *ScriptInjectorRewriter) ShouldModify(token *html.Token) bool { + // modify if token == + return token.DataAtom == atom.Head && token.Type == html.StartTagToken +} + +//go:embed after_dom_idle_script_injector.js +var afterDomIdleScriptInjector string + +func (r *ScriptInjectorRewriter) ModifyToken(token *html.Token) (string, string) { + switch { + case r.execTime == BeforeDOMContentLoaded: + return "", fmt.Sprintf("\n\n", r.script) + + case r.execTime == AfterDOMContentLoaded: + return "", fmt.Sprintf("\n", r.script) + + case r.execTime == AfterDOMIdle: + s := strings.Replace(afterDomIdleScriptInjector, `'SCRIPT_CONTENT_PARAM'`, r.script, 1) + return "", fmt.Sprintf("\n\n", s) + + default: + return "", "" + } +} + +// NewScriptInjectorRewriter implements a HtmlTokenRewriter +// and injects JS into the page for execution at a particular time +func NewScriptInjectorRewriter(script string, execTime ScriptExecTime) *ScriptInjectorRewriter { + return &ScriptInjectorRewriter{ + execTime: execTime, + script: script, + } +} From 6c54d310869f403ec4f5f4dfb01743674bd8157b Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Thu, 23 Nov 2023 08:14:52 -0600 Subject: [PATCH 019/178] add dynamic resource url patcher as standalone responsemodifier --- cmd/main.go | 5 +- handlers/proxy.go | 7 ++- proxychain/proxychain.go | 7 ++- .../patch_dynamic_resource_urls.go | 55 +++++++++++++++++++ ...iter.js => patch_dynamic_resource_urls.js} | 20 +++++-- .../rewriters/script_injector_rewriter.go | 31 +++++++++++ 6 files changed, 112 insertions(+), 13 deletions(-) create mode 100644 proxychain/responsemodifers/patch_dynamic_resource_urls.go rename proxychain/responsemodifers/{rewriters/js_resource_url_rewriter.js => patch_dynamic_resource_urls.js} (95%) diff --git a/cmd/main.go b/cmd/main.go index 24c4895e..6822c7d6 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -86,8 +86,9 @@ func main() { app := fiber.New( fiber.Config{ - Prefork: *prefork, - GETOnly: false, + Prefork: *prefork, + GETOnly: false, + ReadBufferSize: 4096 * 4, // increase max header size }, ) diff --git a/handlers/proxy.go b/handlers/proxy.go index 1df46f01..3d13f960 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -56,15 +56,16 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - //rx.DeleteOutgoingCookies(), + rx.DeleteOutgoingCookies(), //rx.RequestArchiveIs(), rx.MasqueradeAsGoogleBot(), ). AddResponseModifications( - //tx.DeleteIncomingCookies(), - tx.RewriteHTMLResourceURLs(), tx.BypassCORS(), tx.BypassContentSecurityPolicy(), + tx.DeleteIncomingCookies(), + tx.RewriteHTMLResourceURLs(), + tx.PatchDynamicResourceURLs(), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 545e35fd..5b71c915 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -256,8 +256,11 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { return reconstructUrlFromReferer(referer, relativePath) } -// AddBodyRewriter adds a HTMLTokenRewriter to the chain -// HTMLTokenRewriters modify the body response by parsing the HTML +// AddBodyRewriter adds a HTMLTokenRewriter to the chain. +// - HTMLTokenRewriters modify the body response by parsing the HTML +// and making changes to the DOM as it streams to the client +// - In most cases, you don't need to use this method. It's usually called by +// a ResponseModifier to batch queue changes for performance reasons. func (chain *ProxyChain) AddHTMLTokenRewriter(rr rr.IHTMLTokenRewriter) *ProxyChain { chain.htmlTokenRewriters = append(chain.htmlTokenRewriters, rr) return chain diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.go b/proxychain/responsemodifers/patch_dynamic_resource_urls.go new file mode 100644 index 00000000..51f86e60 --- /dev/null +++ b/proxychain/responsemodifers/patch_dynamic_resource_urls.go @@ -0,0 +1,55 @@ +package responsemodifers + +import ( + _ "embed" + "fmt" + "ladder/proxychain" + "ladder/proxychain/responsemodifers/rewriters" + "strings" +) + +//go:embed patch_dynamic_resource_urls.js +var patchDynamicResourceURLsScript string + +// PatchDynamicResourceURLs patches the javascript runtime to rewrite URLs client-side. +// - This function is designed to allow the proxified page +// to still be browsible by routing all resource URLs through the proxy. +// - Native APIs capable of network requests will be hooked +// and the URLs arguments modified to point to the proxy instead. +// - fetch('/relative_path') -> fetch('/https://proxiedsite.com/relative_path') +// - Element.setAttribute('src', "/assets/img.jpg") -> Element.setAttribute('src', "/https://proxiedsite.com/assets/img.jpg") -> fetch('/https://proxiedsite.com/relative_path') +func PatchDynamicResourceURLs() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + // don't add rewriter if it's not even html + ct := chain.Response.Header.Get("content-type") + if !strings.HasPrefix(ct, "text/html") { + return nil + } + + // this is the original URL sent by client: + // http://localhost:8080/http://proxiedsite.com/foo/bar + originalURI := chain.Context.Request().URI() + + // this is the extracted URL that the client requests to proxy + // http://proxiedsite.com/foo/bar + reqURL := chain.Request.URL + + params := map[string]string{ + // ie: http://localhost:8080 + "{{PROXY_ORIGIN}}": fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()), + // ie: http://proxiedsite.com + "{{ORIGIN}}": fmt.Sprintf("%s://%s", reqURL.Scheme, reqURL.Host), + } + + // the rewriting actually happens in chain.Execute() as the client is streaming the response body back + rr := rewriters.NewScriptInjectorRewriterWithParams( + patchDynamicResourceURLsScript, + rewriters.BeforeDOMContentLoaded, + params, + ) + // we just queue it up here + chain.AddHTMLTokenRewriter(rr) + + return nil + } +} diff --git a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js b/proxychain/responsemodifers/patch_dynamic_resource_urls.js similarity index 95% rename from proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js rename to proxychain/responsemodifers/patch_dynamic_resource_urls.js index a6f09e14..cc4b4d17 100644 --- a/proxychain/responsemodifers/rewriters/js_resource_url_rewriter.js +++ b/proxychain/responsemodifers/patch_dynamic_resource_urls.js @@ -2,6 +2,19 @@ // Also overrides the attribute setter prototype to modify the request URLs // fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") (() => { + + // ============== PARAMS =========================== + // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar + // proxyOrigin is http://localhost:8080 + const proxyOrigin = "{{PROXY_ORIGIN}}"; + //const proxyOrigin = globalThis.window.location.origin; + + // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar + // origin is http://proxiedsite.com + const origin = "{{ORIGIN}}"; + //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin + // ============== END PARAMS ====================== + const blacklistedSchemes = [ "ftp:", "mailto:", @@ -24,11 +37,6 @@ // don't rewrite special URIs if (blacklistedSchemes.includes(url)) return url; - //const proxyOrigin = globalThis.window.location.origin; - const proxyOrigin = "R_PROXYURL"; - //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin - const origin = "R_BASEURL"; - // don't rewrite invalid URIs try { new URL(url, origin) } catch { return url } @@ -314,4 +322,4 @@ const originalSetters = {}; console.log('DOM is now idle. Executing...'); } -})(); \ No newline at end of file +})(); diff --git a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go index b08498b3..a1a0d9e0 100644 --- a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go +++ b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go @@ -3,6 +3,7 @@ package rewriters import ( _ "embed" "fmt" + "sort" "strings" "golang.org/x/net/html" @@ -50,6 +51,22 @@ func (r *ScriptInjectorRewriter) ModifyToken(token *html.Token) (string, string) } } +// applies parameters by string replacement of the template script +func (r *ScriptInjectorRewriter) applyParams(params map[string]string) { + // Sort the keys by length in descending order + keys := make([]string, 0, len(params)) + for key := range params { + keys = append(keys, key) + } + sort.Slice(keys, func(i, j int) bool { + return len(keys[i]) > len(keys[j]) + }) + + for _, key := range keys { + r.script = strings.ReplaceAll(r.script, key, params[key]) + } +} + // NewScriptInjectorRewriter implements a HtmlTokenRewriter // and injects JS into the page for execution at a particular time func NewScriptInjectorRewriter(script string, execTime ScriptExecTime) *ScriptInjectorRewriter { @@ -58,3 +75,17 @@ func NewScriptInjectorRewriter(script string, execTime ScriptExecTime) *ScriptIn script: script, } } + +// NewScriptInjectorRewriterWith implements a HtmlTokenRewriter +// and injects JS into the page for execution at a particular time +// accepting arguments into the script, which will be added via a string replace +// the params map represents the key-value pair of the params. +// the key will be string replaced with the value +func NewScriptInjectorRewriterWithParams(script string, execTime ScriptExecTime, params map[string]string) *ScriptInjectorRewriter { + rr := &ScriptInjectorRewriter{ + execTime: execTime, + script: script, + } + rr.applyParams(params) + return rr +} From d71ebe51377500ad39aed6925037639df78e2526 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 16:44:04 -0600 Subject: [PATCH 020/178] test demo --- tests/package-lock.json | 91 +++++++++++++++++++++++ tests/package.json | 14 ++++ tests/playwright.config.ts | 77 +++++++++++++++++++ tests/tests/www-wellandtribune-ca.spec.ts | 18 +++++ 4 files changed, 200 insertions(+) create mode 100644 tests/package-lock.json create mode 100644 tests/package.json create mode 100644 tests/playwright.config.ts create mode 100644 tests/tests/www-wellandtribune-ca.spec.ts diff --git a/tests/package-lock.json b/tests/package-lock.json new file mode 100644 index 00000000..dc73f9a1 --- /dev/null +++ b/tests/package-lock.json @@ -0,0 +1,91 @@ +{ + "name": "tests", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tests", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@playwright/test": "^1.40.0", + "@types/node": "^20.10.0" + } + }, + "node_modules/@playwright/test": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.0.tgz", + "integrity": "sha512-PdW+kn4eV99iP5gxWNSDQCbhMaDVej+RXL5xr6t04nbKLCBwYtA046t7ofoczHOm8u6c+45hpDKQVZqtqwkeQg==", + "dev": true, + "dependencies": { + "playwright": "1.40.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@types/node": { + "version": "20.10.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", + "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.0.tgz", + "integrity": "sha512-gyHAgQjiDf1m34Xpwzaqb76KgfzYrhK7iih+2IzcOCoZWr/8ZqmdBw+t0RU85ZmfJMgtgAiNtBQ/KS2325INXw==", + "dev": true, + "dependencies": { + "playwright-core": "1.40.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.0.tgz", + "integrity": "sha512-fvKewVJpGeca8t0ipM56jkVSU6Eo0RmFvQ/MaCQNDYm+sdvKkMBBWTE1FdeMqIdumRaXXjZChWHvIzCGM/tA/Q==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + } + } +} diff --git a/tests/package.json b/tests/package.json new file mode 100644 index 00000000..51b2a6aa --- /dev/null +++ b/tests/package.json @@ -0,0 +1,14 @@ +{ + "name": "tests", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": {}, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@playwright/test": "^1.40.0", + "@types/node": "^20.10.0" + } +} diff --git a/tests/playwright.config.ts b/tests/playwright.config.ts new file mode 100644 index 00000000..7f975a6f --- /dev/null +++ b/tests/playwright.config.ts @@ -0,0 +1,77 @@ +import { defineConfig, devices } from "@playwright/test"; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: "./tests", + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: "html", + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: "on-first-retry", + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + /* + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + */ + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // url: 'http://127.0.0.1:3000', + // reuseExistingServer: !process.env.CI, + // }, +}); diff --git a/tests/tests/www-wellandtribune-ca.spec.ts b/tests/tests/www-wellandtribune-ca.spec.ts new file mode 100644 index 00000000..f83ee1f4 --- /dev/null +++ b/tests/tests/www-wellandtribune-ca.spec.ts @@ -0,0 +1,18 @@ +import { expect, test } from "@playwright/test"; + +const paywallText = "This article is exclusive to subscribers."; +const articleURL = + "https://www.wellandtribune.ca/news/niagara-region/niagara-transit-commission-rejects-council-request-to-reduce-its-budget-increase/article_e9fb424c-8df5-58ae-a6c3-3648e2a9df66.html"; + +const ladderURL = "http://localhost:8080"; +let domain = (new URL(articleURL)).host; + +test(`${domain} has paywall by default`, async ({ page }) => { + await page.goto(articleURL); + await expect(page.getByText(paywallText)).toBeVisible(); +}); + +test(`${domain} + Ladder doesn't have paywall`, async ({ page }) => { + await page.goto(`${ladderURL}/${articleURL}`); + await expect(page.getByText(paywallText)).toBeVisible(); +}); From cb409f96d43e3b3c0fb5cd762501cb5a9d11bcc0 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 17:48:11 -0600 Subject: [PATCH 021/178] add package.json --- tests/run_test.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 tests/run_test.sh diff --git a/tests/run_test.sh b/tests/run_test.sh new file mode 100644 index 00000000..04758590 --- /dev/null +++ b/tests/run_test.sh @@ -0,0 +1,2 @@ +npx playwright test +npx playwright show-report From 98d6b65057cab13cdb401518c40455da2146a762 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 22:51:00 -0600 Subject: [PATCH 022/178] simplify rewriters api usage --- handlers/api.go | 46 +------------------ handlers/raw.go | 14 +----- handlers/ruleset.go | 16 +------ proxychain/proxychain.go | 24 +--------- proxychain/responsemodifers/inject_script.go | 25 +++++++--- .../patch_dynamic_resource_urls.go | 6 +-- .../rewrite_http_resource_urls.go | 6 +-- .../rewriters/html_rewriter.go | 3 +- .../rewriters/html_token_url_rewriter.go | 15 +++--- 9 files changed, 38 insertions(+), 117 deletions(-) diff --git a/handlers/api.go b/handlers/api.go index 190c8fe8..96ff82a3 100644 --- a/handlers/api.go +++ b/handlers/api.go @@ -2,7 +2,6 @@ package handlers import ( _ "embed" - "log" "github.com/gofiber/fiber/v2" ) @@ -12,48 +11,5 @@ import ( var version string func Api(c *fiber.Ctx) error { - // Get the url from the URL - urlQuery := c.Params("*") - - queries := c.Queries() - body, req, resp, err := fetchSite(urlQuery, queries) - if err != nil { - log.Println("ERROR:", err) - c.SendStatus(500) - return c.SendString(err.Error()) - } - - response := Response{ - Version: version, - Body: body, - } - - response.Request.Headers = make([]any, 0, len(req.Header)) - for k, v := range req.Header { - response.Request.Headers = append(response.Request.Headers, map[string]string{ - "key": k, - "value": v[0], - }) - } - - response.Response.Headers = make([]any, 0, len(resp.Header)) - for k, v := range resp.Header { - response.Response.Headers = append(response.Response.Headers, map[string]string{ - "key": k, - "value": v[0], - }) - } - - return c.JSON(response) -} - -type Response struct { - Version string `json:"version"` - Body string `json:"body"` - Request struct { - Headers []interface{} `json:"headers"` - } `json:"request"` - Response struct { - Headers []interface{} `json:"headers"` - } `json:"response"` + return nil } diff --git a/handlers/raw.go b/handlers/raw.go index 7baa0e52..d192f0e7 100644 --- a/handlers/raw.go +++ b/handlers/raw.go @@ -1,21 +1,9 @@ package handlers import ( - "log" - "github.com/gofiber/fiber/v2" ) func Raw(c *fiber.Ctx) error { - // Get the url from the URL - urlQuery := c.Params("*") - - queries := c.Queries() - body, _, _, err := fetchSite(urlQuery, queries) - if err != nil { - log.Println("ERROR:", err) - c.SendStatus(500) - return c.SendString(err.Error()) - } - return c.SendString(body) + return nil } diff --git a/handlers/ruleset.go b/handlers/ruleset.go index 33dcf298..0239fffd 100644 --- a/handlers/ruleset.go +++ b/handlers/ruleset.go @@ -1,23 +1,9 @@ package handlers import ( - "os" - "github.com/gofiber/fiber/v2" - "gopkg.in/yaml.v3" ) func Ruleset(c *fiber.Ctx) error { - if os.Getenv("EXPOSE_RULESET") == "false" { - c.SendStatus(fiber.StatusForbidden) - return c.SendString("Rules Disabled") - } - - body, err := yaml.Marshal(rulesSet) - if err != nil { - c.SendStatus(fiber.StatusInternalServerError) - return c.SendString(err.Error()) - } - - return c.SendString(string(body)) + return nil } diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 5b71c915..0b362246 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -256,16 +256,6 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { return reconstructUrlFromReferer(referer, relativePath) } -// AddBodyRewriter adds a HTMLTokenRewriter to the chain. -// - HTMLTokenRewriters modify the body response by parsing the HTML -// and making changes to the DOM as it streams to the client -// - In most cases, you don't need to use this method. It's usually called by -// a ResponseModifier to batch queue changes for performance reasons. -func (chain *ProxyChain) AddHTMLTokenRewriter(rr rr.IHTMLTokenRewriter) *ProxyChain { - chain.htmlTokenRewriters = append(chain.htmlTokenRewriters, rr) - return chain -} - // SetFiberCtx takes the request ctx from the client // for the modifiers and execute function to use. // it must be set everytime a new request comes through @@ -388,19 +378,7 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } } - // stream request back to client, possibly rewriting the body - if len(chain.htmlTokenRewriters) == 0 { - return chain.Response.Body, nil - } - - ct := chain.Response.Header.Get("content-type") - switch { - case strings.HasPrefix(ct, "text/html"): - fmt.Println("fooox") - return rr.NewHTMLRewriter(chain.Response.Body, chain.htmlTokenRewriters), nil - default: - return chain.Response.Body, nil - } + return chain.Response.Body, nil } diff --git a/proxychain/responsemodifers/inject_script.go b/proxychain/responsemodifers/inject_script.go index 1d8812d2..12b2e5d9 100644 --- a/proxychain/responsemodifers/inject_script.go +++ b/proxychain/responsemodifers/inject_script.go @@ -7,9 +7,9 @@ import ( "strings" ) -// InjectScript modifies HTTP responses +// injectScript modifies HTTP responses // to execute javascript at a particular time. -func InjectScript(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { +func injectScript(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { // don't add rewriter if it's not even html ct := chain.Response.Header.Get("content-type") @@ -17,11 +17,24 @@ func InjectScript(js string, execTime rewriters.ScriptExecTime) proxychain.Respo return nil } - // the rewriting actually happens in chain.Execute() as the client is streaming the response body back rr := rewriters.NewScriptInjectorRewriter(js, execTime) - // we just queue it up here - chain.AddHTMLTokenRewriter(rr) - + htmlRewriter := rewriters.NewHTMLRewriter(chain.Response.Body, rr) + chain.Response.Body = htmlRewriter return nil } } + +// InjectScriptBeforeDOMContentLoaded modifies HTTP responses to inject a JS before DOM Content is loaded (script tag in head) +func InjectScriptBeforeDOMContentLoaded(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { + return injectScript(js, rewriters.BeforeDOMContentLoaded) +} + +// InjectScriptAfterDOMContentLoaded modifies HTTP responses to inject a JS after DOM Content is loaded (script tag in head) +func InjectScriptAfterDOMContentLoaded(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { + return injectScript(js, rewriters.AfterDOMContentLoaded) +} + +// InjectScriptAfterDOMIdle modifies HTTP responses to inject a JS after the DOM is idle (ie: js framework loaded) +func InjectScriptAfterDOMIdle(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { + return injectScript(js, rewriters.AfterDOMIdle) +} diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.go b/proxychain/responsemodifers/patch_dynamic_resource_urls.go index 51f86e60..6ab2e855 100644 --- a/proxychain/responsemodifers/patch_dynamic_resource_urls.go +++ b/proxychain/responsemodifers/patch_dynamic_resource_urls.go @@ -41,14 +41,14 @@ func PatchDynamicResourceURLs() proxychain.ResponseModification { "{{ORIGIN}}": fmt.Sprintf("%s://%s", reqURL.Scheme, reqURL.Host), } - // the rewriting actually happens in chain.Execute() as the client is streaming the response body back rr := rewriters.NewScriptInjectorRewriterWithParams( patchDynamicResourceURLsScript, rewriters.BeforeDOMContentLoaded, params, ) - // we just queue it up here - chain.AddHTMLTokenRewriter(rr) + + htmlRewriter := rewriters.NewHTMLRewriter(chain.Response.Body, rr) + chain.Response.Body = htmlRewriter return nil } diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index 7cdbcc83..bd3b92af 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -25,10 +25,10 @@ func RewriteHTMLResourceURLs() proxychain.ResponseModification { originalURI := chain.Context.Request().URI() proxyURL := fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()) - // the rewriting actually happens in chain.Execute() as the client is streaming the response body back + // replace http.Response.Body with a readcloser that wraps the original, modifying the html attributes rr := rewriters.NewHTMLTokenURLRewriter(chain.Request.URL, proxyURL) - // we just queue it up here - chain.AddHTMLTokenRewriter(rr) + htmlRewriter := rewriters.NewHTMLRewriter(chain.Response.Body, rr) + chain.Response.Body = htmlRewriter return nil } diff --git a/proxychain/responsemodifers/rewriters/html_rewriter.go b/proxychain/responsemodifers/rewriters/html_rewriter.go index 12767e29..e18a045d 100644 --- a/proxychain/responsemodifers/rewriters/html_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_rewriter.go @@ -25,7 +25,6 @@ type IHTMLTokenRewriter interface { // // - HTMLRewriter reads the http.Response.Body stream, // parsing each HTML token one at a time and making modifications (defined by implementations of IHTMLTokenRewriter) -// in a single pass of the tokenizer. // // - When ProxyChain.Execute() is called, the response body will be read from the server // and pulled through each ResponseModification which wraps the ProxyChain.Response.Body @@ -52,7 +51,7 @@ type HTMLRewriter struct { // // Returns: // - A pointer to an HTMLRewriter, which implements io.ReadCloser, containing the modified HTML content. -func NewHTMLRewriter(src io.ReadCloser, rewriters []IHTMLTokenRewriter) *HTMLRewriter { +func NewHTMLRewriter(src io.ReadCloser, rewriters ...IHTMLTokenRewriter) *HTMLRewriter { return &HTMLRewriter{ tokenizer: html.NewTokenizer(src), currentToken: nil, diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index d2ebc048..d7fca474 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -3,6 +3,7 @@ package rewriters import ( _ "embed" "fmt" + "golang.org/x/net/html/atom" "log" "net/url" "regexp" @@ -128,13 +129,13 @@ func (r *HTMLTokenURLRewriter) ModifyToken(token *html.Token) (string, string) { // dispatcher for ModifyURL based on URI type func handleURLPart(attr *html.Attribute, baseURL *url.URL) { switch { - case strings.HasPrefix(attr.Key, "//"): + case strings.HasPrefix(attr.Val, "//"): handleProtocolRelativePath(attr, baseURL) - case strings.HasPrefix(attr.Key, "/"): + case strings.HasPrefix(attr.Val, "/"): handleRootRelativePath(attr, baseURL) - case strings.HasPrefix(attr.Key, "https://"): + case strings.HasPrefix(attr.Val, "https://"): handleAbsolutePath(attr, baseURL) - case strings.HasPrefix(attr.Key, "http://"): + case strings.HasPrefix(attr.Val, "http://"): handleAbsolutePath(attr, baseURL) default: handleDocumentRelativePath(attr, baseURL) @@ -206,12 +207,12 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { func (r *HTMLTokenURLRewriter) handleSpecialAttr(token *html.Token, attr *html.Attribute, baseURL *url.URL) { switch { // srcset attribute doesn't contain a single URL but a comma-separated list of URLs, each potentially followed by a space and a descriptor (like a width, pixel density, or other conditions). - case token.Data == "img" && attr.Key == "srcset": + case token.DataAtom == atom.Img && attr.Key == "srcset": handleSrcSet(attr, baseURL) - case token.Data == "source" && attr.Key == "srcset": + case token.DataAtom == atom.Source && attr.Key == "srcset": handleSrcSet(attr, baseURL) // meta with http-equiv="refresh": The content attribute of a meta tag, when used for a refresh directive, contains a time interval followed by a URL, like content="5;url=http://example.com/". - case token.Data == "meta" && attr.Key == "content" && regexp.MustCompile(`^\d+;url=`).MatchString(attr.Val): + case token.DataAtom == atom.Meta && attr.Key == "content" && regexp.MustCompile(`^\d+;url=`).MatchString(attr.Val): handleMetaRefresh(attr, baseURL) default: break From 642736126d7eedff3959e39e560c6c8d39dd71aa Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 23:12:27 -0600 Subject: [PATCH 023/178] aider: Add public API to add a RequestModification to fire only once. # Aider chat conversation: USER: Modify proxychain.go such that there is a public API to add a RequestModification to fire only once. ASSISTANT: To make this change we need to modify `proxychain/proxychain.go` to: 1. Add a new field `onceRequestModifications` in the `ProxyChain` struct to store the request modifications that should only fire once. 2. Add a new method `AddOnceRequestModification` to add a request modification that should only fire once. 3. Update the `_execute` method to apply the `onceRequestModifications` and clear them after they have been applied. Here are the *SEARCH/REPLACE* blocks: proxychain/proxychain.go <<<<<<< SEARCH type ProxyChain struct { Context *fiber.Ctx Client *http.Client Request *http.Request Response *http.Response requestModifications []RequestModification resultModifications []ResponseModification htmlTokenRewriters []rr.IHTMLTokenRewriter Ruleset *ruleset.RuleSet debugMode bool abortErr error } ======= type ProxyChain struct { Context *fiber.Ctx Client *http.Client Request *http.Request Response *http.Response requestModifications []RequestModification onceRequestModifications []RequestModification resultModifications []ResponseModification htmlTokenRewriters []rr.IHTMLTokenRewriter Ruleset *ruleset.RuleSet debugMode bool abortErr error } >>>>>>> REPLACE proxychain/proxychain.go <<<<<<< SEARCH // AddRequestModifications sets the ProxyChain's request modifers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *ProxyChain { chain.requestModifications = append(chain.requestModifications, mods...) return chain } ======= // AddRequestModifications adds more request modifers to the ProxyChain // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *ProxyChain { chain.requestModifications = append(chain.requestModifications, mods...) return chain } // AddOnceRequestModification adds a request modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) *ProxyChain { chain.onceRequestModifications = append(chain.onceRequestModifications, mod...) return chain } >>>>>>> REPLACE proxychain/proxychain.go <<<<<<< SEARCH // _execute sends the request for the ProxyChain and returns the raw body only // the caller is responsible for returning a response back to the requestor // the caller is also responsible for calling chain._reset() when they are done with the body func (chain *ProxyChain) _execute() (io.Reader, error) { if chain.validateCtxIsSet() != nil || chain.abortErr != nil { return nil, chain.abortErr } if chain.Request == nil { return nil, errors.New("proxychain request not yet initialized") } if chain.Request.URL.Scheme == "" { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { err := applyRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } ======= // _execute sends the request for the ProxyChain and returns the raw body only // the caller is responsible for returning a response back to the requestor // the caller is also responsible for calling chain._reset() when they are done with the body func (chain *ProxyChain) _execute() (io.Reader, error) { if chain.validateCtxIsSet() != nil || chain.abortErr != nil { return nil, chain.abortErr } if chain.Request == nil { return nil, errors.New("proxychain request not yet initialized") } if chain.Request.URL.Scheme == "" { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { err := applyRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } // Apply onceRequestModifications to proxychain and clear them for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { err := applyOnceRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } chain.onceRequestModifications = nil >>>>>>> REPLACE --- proxychain/proxychain.go | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 0b362246..506f06a2 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -83,16 +83,17 @@ proxychain.NewProxyChain(). └─────────┘ └────────────────────────┘ └─────────┘ */ type ProxyChain struct { - Context *fiber.Ctx - Client *http.Client - Request *http.Request - Response *http.Response - requestModifications []RequestModification - resultModifications []ResponseModification - htmlTokenRewriters []rr.IHTMLTokenRewriter - Ruleset *ruleset.RuleSet - debugMode bool - abortErr error + Context *fiber.Ctx + Client *http.Client + Request *http.Request + Response *http.Response + requestModifications []RequestModification + onceRequestModifications []RequestModification + resultModifications []ResponseModification + htmlTokenRewriters []rr.IHTMLTokenRewriter + Ruleset *ruleset.RuleSet + debugMode bool + abortErr error } // a ProxyStrategy is a pre-built proxychain with purpose-built defaults @@ -113,13 +114,20 @@ func (chain *ProxyChain) SetRequestModifications(mods ...RequestModification) *P return chain } -// AddRequestModifications sets the ProxyChain's request modifers +// AddRequestModifications adds more request modifers to the ProxyChain // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *ProxyChain { chain.requestModifications = append(chain.requestModifications, mods...) return chain } +// AddOnceRequestModification adds a request modifier to the ProxyChain that should only fire once +// the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. +func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) *ProxyChain { + chain.onceRequestModifications = append(chain.onceRequestModifications, mod...) + return chain +} + // AddResponseModifications sets the ProxyChain's response modifers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) *ProxyChain { @@ -357,6 +365,15 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } } + // Apply onceRequestModifications to proxychain and clear them + for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { + err := applyOnceRequestModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + chain.onceRequestModifications = nil + // Send Request Upstream resp, err := chain.Client.Do(chain.Request) if err != nil { From a295f2a167da0b3220187ccceb242d5f24ca49e2 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 23:14:03 -0600 Subject: [PATCH 024/178] aider: Add public API to add a ResponseModification to fire only once. # Aider chat conversation: USER: Modify proxychain.go such that there is a public API to add a ResponseModification to fire only once. ASSISTANT: To make this change we need to modify `proxychain/proxychain.go` to: 1. Add a new field `onceResultModifications` in the `ProxyChain` struct to store the response modifications that should only fire once. 2. Add a new method `AddOnceResponseModification` to add a response modification that should only fire once. 3. Update the `_execute` method to apply the `onceResultModifications` and clear them after they have been applied. Here are the *SEARCH/REPLACE* blocks: proxychain/proxychain.go <<<<<<< SEARCH onceRequestModifications []RequestModification resultModifications []ResponseModification ======= onceRequestModifications []RequestModification onceResultModifications []ResponseModification resultModifications []ResponseModification >>>>>>> REPLACE proxychain/proxychain.go <<<<<<< SEARCH // AddOnceRequestModification adds a request modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) *ProxyChain { chain.onceRequestModifications = append(chain.onceRequestModifications, mod...) return chain } ======= // AddOnceRequestModification adds a request modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) *ProxyChain { chain.onceRequestModifications = append(chain.onceRequestModifications, mod...) return chain } // AddOnceResponseModification adds a response modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. func (chain *ProxyChain) AddOnceResponseModification(mod ...ResponseModification) *ProxyChain { chain.onceResultModifications = append(chain.onceResultModifications, mod...) return chain } >>>>>>> REPLACE proxychain/proxychain.go <<<<<<< SEARCH // Apply onceRequestModifications to proxychain and clear them for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { err := applyOnceRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } chain.onceRequestModifications = nil ======= // Apply onceRequestModifications and onceResultModifications to proxychain and clear them for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { err := applyOnceRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } chain.onceRequestModifications = nil for _, applyOnceResultModificationsTo := range chain.onceResultModifications { err := applyOnceResultModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } chain.onceResultModifications = nil >>>>>>> REPLACE --- proxychain/proxychain.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 506f06a2..f9acd054 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -89,6 +89,7 @@ type ProxyChain struct { Response *http.Response requestModifications []RequestModification onceRequestModifications []RequestModification + onceResultModifications []ResponseModification resultModifications []ResponseModification htmlTokenRewriters []rr.IHTMLTokenRewriter Ruleset *ruleset.RuleSet @@ -128,6 +129,13 @@ func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) return chain } +// AddOnceResponseModification adds a response modifier to the ProxyChain that should only fire once +// the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. +func (chain *ProxyChain) AddOnceResponseModification(mod ...ResponseModification) *ProxyChain { + chain.onceResultModifications = append(chain.onceResultModifications, mod...) + return chain +} + // AddResponseModifications sets the ProxyChain's response modifers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) *ProxyChain { @@ -365,7 +373,7 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } } - // Apply onceRequestModifications to proxychain and clear them + // Apply onceRequestModifications and onceResultModifications to proxychain and clear them for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { err := applyOnceRequestModificationsTo(chain) if err != nil { @@ -374,6 +382,14 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } chain.onceRequestModifications = nil + for _, applyOnceResultModificationsTo := range chain.onceResultModifications { + err := applyOnceResultModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + chain.onceResultModifications = nil + // Send Request Upstream resp, err := chain.Client.Do(chain.Request) if err != nil { From fb63dba8a085746733df512340bc6cac2054405d Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 26 Nov 2023 23:15:00 -0600 Subject: [PATCH 025/178] add response / request modifier API to only fire once --- .../masquerade_as_trusted_bot.go | 12 +++++------- .../requestmodifers/modify_query_params.go | 17 +++++++++++------ .../spoof_referrer_from_baidu_post.go | 10 ++++------ .../spoof_referrer_from_google_search.go | 12 +++++------- .../spoof_referrer_from_naver_post.go | 10 ++++------ .../spoof_referrer_from_pinterest_post.go | 10 ++++------ .../spoof_referrer_from_qq_post.go | 9 +++------ .../spoof_referrer_from_reddit_post.go | 10 ++++------ .../spoof_referrer_from_weibo_post.go | 10 ++++------ 9 files changed, 44 insertions(+), 56 deletions(-) diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index 9b32c12b..bb0e0f88 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -21,13 +21,11 @@ func MasqueradeAsBingBot() proxychain.RequestModification { } func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - px.AddRequestModifications( - SpoofUserAgent(botUA), - SpoofXForwardedFor(botIP), - SpoofReferrer(""), - SpoofOrigin(""), - ) + return func(chain *proxychain.ProxyChain) error { + chain.Request.Header.Set("user-agent", botUA) + chain.Request.Header.Set("x-forwarded-for", botIP) + chain.Request.Header.Del("referrer") + chain.Request.Header.Del("origin") return nil } } diff --git a/proxychain/requestmodifers/modify_query_params.go b/proxychain/requestmodifers/modify_query_params.go index 06d81228..7f42f65a 100644 --- a/proxychain/requestmodifers/modify_query_params.go +++ b/proxychain/requestmodifers/modify_query_params.go @@ -2,6 +2,7 @@ package requestmodifers import ( "ladder/proxychain" + "net/url" ) // ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. @@ -9,12 +10,16 @@ import ( func ModifyQueryParams(key string, value string) proxychain.RequestModification { return func(px *proxychain.ProxyChain) error { q := px.Request.URL.Query() - if value == "" { - q.Del(key) - return nil - } - q.Set(key, value) - px.Request.URL.RawQuery = q.Encode() + px.Request.URL.RawQuery = modifyQueryParams(key, value, q) return nil } } + +func modifyQueryParams(key string, value string, q url.Values) string { + if value == "" { + q.Del(key) + return q.Encode() + } + q.Set(key, value) + return q.Encode() +} diff --git a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go index 1f6708f5..40960eb7 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go @@ -14,12 +14,10 @@ func SpoofReferrerFromBaiduSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { // https://www.baidu.com/link?url=5biIeDvUIihawf3Zbbysach2Xn4H3w3FzO6LZKgSs-B5Yt4M4RUFikokOk5zetf2&wd=&eqid=9da80d8208009b8480000706655d5ed6 referrer := fmt.Sprintf("https://baidu.com/link?url=%s", generateRandomBaiduURL()) - chain.AddRequestModifications( - SpoofReferrer(referrer), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", referrer) + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_google_search.go b/proxychain/requestmodifers/spoof_referrer_from_google_search.go index 7afb2462..f5ff0b28 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_google_search.go +++ b/proxychain/requestmodifers/spoof_referrer_from_google_search.go @@ -8,13 +8,11 @@ import ( // pretending to be from a google search site func SpoofReferrerFromGoogleSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( - SpoofReferrer("https://www.google.com/"), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ModifyQueryParams("utm_source", "google"), - ) + chain.Request.Header.Set("referrer", "https://www.google.com/") + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") + ModifyQueryParams("utm_source", "google") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go index 1c3e082c..ae735884 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go @@ -13,12 +13,10 @@ func SpoofReferrerFromNaverSearch() proxychain.RequestModification { "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%s", chain.Request.URL.Host, ) - chain.AddRequestModifications( - SpoofReferrer(referrer), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", referrer) + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go index dedf9c57..9d98c7be 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go @@ -8,12 +8,10 @@ import ( // pretending to be from a pinterest post func SpoofReferrerFromPinterestPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( - SpoofReferrer("https://www.pinterest.com/"), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", "https://www.pinterest.com/") + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go index 9f90cd26..2eace11f 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_qq_post.go @@ -8,12 +8,9 @@ import ( // pretending to be from a QQ post (popular social media in China) func SpoofReferrerFromQQPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( - SpoofReferrer("https://new.qq.com/'"), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", "https://new.qq.com/") + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go index 519858a9..a580f692 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go @@ -8,12 +8,10 @@ import ( // pretending to be from a reddit post func SpoofReferrerFromRedditPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( - SpoofReferrer("https://www.reddit.com/"), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", "https://www.reddit.com/") + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go index 7c7e0363..11ca11a0 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go @@ -11,12 +11,10 @@ import ( func SpoofReferrerFromWeiboPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { referrer := fmt.Sprintf("http://weibo.com/u/%d", rand.Intn(90001)) - chain.AddRequestModifications( - SpoofReferrer(referrer), - SetRequestHeader("sec-fetch-site", "cross-site"), - SetRequestHeader("sec-fetch-dest", "document"), - SetRequestHeader("sec-fetch-mode", "navigate"), - ) + chain.Request.Header.Set("referrer", referrer) + chain.Request.Header.Set("sec-fetch-site", "cross-site") + chain.Request.Header.Set("sec-fetch-dest", "document") + chain.Request.Header.Set("sec-fetch-mode", "navigate") return nil } } From 59cf0317ecfb6f1c7dc3be14202eaf9f9378db31 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 12:00:12 -0600 Subject: [PATCH 026/178] improve ua modifier with client side spoofing --- .gitignore | 3 +- .gitmodules | 3 + handlers/proxy.go | 3 +- proxychain/proxychain.go | 109 +++--- .../masquerade_as_trusted_bot.go | 63 +++- .../modify_domain_with_regex.go | 3 +- .../modify_outgoing_cookies.go | 3 +- .../requestmodifers/modify_path_with_regex.go | 3 +- .../requestmodifers/modify_query_params.go | 9 +- .../requestmodifers/request_archive_is.go | 17 +- .../requestmodifers/request_google_cache.go | 3 +- .../request_wayback_machine.go | 3 +- .../resolve_with_google_doh.go | 3 +- proxychain/requestmodifers/spoof_referrer.go | 23 +- .../spoof_referrer_from_baidu_post.go | 3 +- .../spoof_referrer_from_bing_search.go | 2 +- .../spoof_referrer_from_google_search.go | 12 +- .../spoof_referrer_from_linkedin_post.go | 2 +- .../spoof_referrer_from_naver_post.go | 1 + .../spoof_referrer_from_tumblr_post.go | 2 +- .../spoof_referrer_from_twitter_post.go | 2 +- .../spoof_referrer_from_vkontake_post.go | 2 +- .../spoof_referrer_from_weibo_post.go | 3 +- .../requestmodifers/spoof_user_agent.go | 30 +- .../requestmodifers/spoof_user_agent.js | 100 ++++++ .../requestmodifers/spoof_x_forwarded_for.go | 2 +- .../requestmodifers/vendor/ua-parser-js | 1 + proxychain/responsemodifers/inject_script.go | 9 +- .../modify_incoming_cookies.go | 3 +- .../patch_dynamic_resource_urls.go | 3 +- .../patch_dynamic_resource_urls.js | 327 +++++++++--------- .../rewrite_http_resource_urls.go | 3 +- .../rewriters/html_rewriter.go | 1 - .../rewriters/html_token_url_rewriter.go | 20 +- 34 files changed, 496 insertions(+), 280 deletions(-) create mode 100644 .gitmodules create mode 100644 proxychain/requestmodifers/spoof_user_agent.js create mode 160000 proxychain/requestmodifers/vendor/ua-parser-js diff --git a/.gitignore b/.gitignore index 212e5021..7f057446 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ ladder VERSION -output.css \ No newline at end of file +output.css +.aider* diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..66e57b47 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "proxychain/requestmodifers/vendor/ua-parser-js"] + path = proxychain/requestmodifers/vendor/ua-parser-js + url = https://github.com/faisalman/ua-parser-js.git diff --git a/handlers/proxy.go b/handlers/proxy.go index 196353af..838cf932 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -31,8 +31,9 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( + rx.MasqueradeAsGoogleBot(), rx.DeleteOutgoingCookies(), - //rx.RequestArchiveIs(), + // rx.RequestArchiveIs(), rx.MasqueradeAsGoogleBot(), ). AddResponseModifications( diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index f9acd054..738aa009 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -83,18 +83,18 @@ proxychain.NewProxyChain(). └─────────┘ └────────────────────────┘ └─────────┘ */ type ProxyChain struct { - Context *fiber.Ctx - Client *http.Client - Request *http.Request - Response *http.Response - requestModifications []RequestModification - onceRequestModifications []RequestModification - onceResultModifications []ResponseModification - resultModifications []ResponseModification - htmlTokenRewriters []rr.IHTMLTokenRewriter - Ruleset *ruleset.RuleSet - debugMode bool - abortErr error + Context *fiber.Ctx + Client *http.Client + Request *http.Request + Response *http.Response + requestModifications []RequestModification + onceRequestModifications []RequestModification + onceResponseModifications []ResponseModification + resultModifications []ResponseModification + htmlTokenRewriters []rr.IHTMLTokenRewriter + Ruleset *ruleset.RuleSet + debugMode bool + abortErr error } // a ProxyStrategy is a pre-built proxychain with purpose-built defaults @@ -122,17 +122,17 @@ func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *P return chain } -// AddOnceRequestModification adds a request modifier to the ProxyChain that should only fire once +// AddOnceRequestModifications adds a request modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. -func (chain *ProxyChain) AddOnceRequestModification(mod ...RequestModification) *ProxyChain { - chain.onceRequestModifications = append(chain.onceRequestModifications, mod...) +func (chain *ProxyChain) AddOnceRequestModifications(mods ...RequestModification) *ProxyChain { + chain.onceRequestModifications = append(chain.onceRequestModifications, mods...) return chain } -// AddOnceResponseModification adds a response modifier to the ProxyChain that should only fire once +// AddOnceResponseModifications adds a response modifier to the ProxyChain that should only fire once // the modifier will not fire until ProxyChain.Execute() is run and will be removed after it has been applied. -func (chain *ProxyChain) AddOnceResponseModification(mod ...ResponseModification) *ProxyChain { - chain.onceResultModifications = append(chain.onceResultModifications, mod...) +func (chain *ProxyChain) AddOnceResponseModifications(mods ...ResponseModification) *ProxyChain { + chain.onceResponseModifications = append(chain.onceResponseModifications, mods...) return chain } @@ -188,26 +188,25 @@ func (chain *ProxyChain) _initialize_request() (*http.Request, error) { return req, nil } -// reconstructUrlFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries -func reconstructUrlFromReferer(referer *url.URL, relativeUrl *url.URL) (*url.URL, error) { - +// reconstructURLFromReferer reconstructs the URL using the referer's scheme, host, and the relative path / queries +func reconstructURLFromReferer(referer *url.URL, relativeURL *url.URL) (*url.URL, error) { // Extract the real url from referer path - realUrl, err := url.Parse(strings.TrimPrefix(referer.Path, "/")) + realURL, err := url.Parse(strings.TrimPrefix(referer.Path, "/")) if err != nil { return nil, fmt.Errorf("error parsing real URL from referer '%s': %v", referer.Path, err) } - if realUrl.Scheme == "" || realUrl.Host == "" { - return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer.String(), relativeUrl.String()) + if realURL.Scheme == "" || realURL.Host == "" { + return nil, fmt.Errorf("invalid referer URL: '%s' on request '%s", referer.String(), relativeURL.String()) } - log.Printf("rewrite relative URL using referer: '%s' -> '%s'\n", relativeUrl.String(), realUrl.String()) + log.Printf("rewrite relative URL using referer: '%s' -> '%s'\n", relativeURL.String(), realURL.String()) return &url.URL{ Scheme: referer.Scheme, Host: referer.Host, - Path: realUrl.Path, - RawQuery: realUrl.RawQuery, + Path: realURL.Path, + RawQuery: realURL.RawQuery, }, nil } @@ -227,27 +226,27 @@ func preventRecursiveProxyRequest(urlQuery *url.URL, baseProxyURL string) *url.U return preventRecursiveProxyRequest(fixedURL, baseProxyURL) } -// extractUrl extracts a URL from the request ctx. If the URL in the request +// extractURL extracts a URL from the request ctx. If the URL in the request // is a relative path, it reconstructs the full URL using the referer header. -func (chain *ProxyChain) extractUrl() (*url.URL, error) { - reqUrl := chain.Context.Params("*") +func (chain *ProxyChain) extractURL() (*url.URL, error) { + reqURL := chain.Context.Params("*") // sometimes client requests doubleroot '//' // there is a bug somewhere else, but this is a workaround until we find it - if strings.HasPrefix(reqUrl, "/") || strings.HasPrefix(reqUrl, `%2F`) { - reqUrl = strings.TrimPrefix(reqUrl, "/") - reqUrl = strings.TrimPrefix(reqUrl, `%2F`) + if strings.HasPrefix(reqURL, "/") || strings.HasPrefix(reqURL, `%2F`) { + reqURL = strings.TrimPrefix(reqURL, "/") + reqURL = strings.TrimPrefix(reqURL, `%2F`) } // unescape url query - uReqUrl, err := url.QueryUnescape(reqUrl) + uReqURL, err := url.QueryUnescape(reqURL) if err == nil { - reqUrl = uReqUrl + reqURL = uReqURL } - urlQuery, err := url.Parse(reqUrl) + urlQuery, err := url.Parse(reqURL) if err != nil { - return nil, fmt.Errorf("error parsing request URL '%s': %v", reqUrl, err) + return nil, fmt.Errorf("error parsing request URL '%s': %v", reqURL, err) } // prevent recursive proxy requests @@ -269,7 +268,7 @@ func (chain *ProxyChain) extractUrl() (*url.URL, error) { if err != nil { return nil, fmt.Errorf("error parsing referer URL from req: '%s': %v", relativePath, err) } - return reconstructUrlFromReferer(referer, relativePath) + return reconstructURLFromReferer(referer, relativePath) } // SetFiberCtx takes the request ctx from the client @@ -288,7 +287,7 @@ func (chain *ProxyChain) SetFiberCtx(ctx *fiber.Ctx) *ProxyChain { chain.Request = req // extract the URL for the request and add it to the new request - url, err := chain.extractUrl() + url, err := chain.extractURL() if err != nil { chain.abortErr = chain.abort(err) } @@ -307,9 +306,9 @@ func (chain *ProxyChain) validateCtxIsSet() error { return chain.abortErr } -// SetHttpClient sets a new upstream http client transport +// SetHTTPClient sets a new upstream http client transport // useful for modifying TLS -func (chain *ProxyChain) SetHttpClient(httpClient *http.Client) *ProxyChain { +func (chain *ProxyChain) SetHTTPClient(httpClient *http.Client) *ProxyChain { chain.Client = httpClient return chain } @@ -325,7 +324,7 @@ func (chain *ProxyChain) SetDebugLogging(isDebugMode bool) *ProxyChain { // this will prevent Execute from firing and reset the state // returns the initial error enriched with context func (chain *ProxyChain) abort(err error) error { - //defer chain._reset() + // defer chain._reset() chain.abortErr = err chain.Context.Response().SetStatusCode(500) e := fmt.Errorf("ProxyChain error for '%s': %s", chain.Request.URL.String(), err.Error()) @@ -338,7 +337,7 @@ func (chain *ProxyChain) abort(err error) error { func (chain *ProxyChain) _reset() { chain.abortErr = nil chain.Request = nil - //chain.Response = nil + // chain.Response = nil chain.Context = nil } @@ -373,22 +372,14 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } } - // Apply onceRequestModifications and onceResultModifications to proxychain and clear them + // Apply onceRequestModifications to proxychain and clear them for _, applyOnceRequestModificationsTo := range chain.onceRequestModifications { err := applyOnceRequestModificationsTo(chain) if err != nil { return nil, chain.abort(err) } } - chain.onceRequestModifications = nil - - for _, applyOnceResultModificationsTo := range chain.onceResultModifications { - err := applyOnceResultModificationsTo(chain) - if err != nil { - return nil, chain.abort(err) - } - } - chain.onceResultModifications = nil + chain.onceRequestModifications = []RequestModification{} // Send Request Upstream resp, err := chain.Client.Do(chain.Request) @@ -411,8 +402,16 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } } - return chain.Response.Body, nil + // Apply onceResponseModifications to proxychain and clear them + for _, applyOnceResponseModificationsTo := range chain.onceResponseModifications { + err := applyOnceResponseModificationsTo(chain) + if err != nil { + return nil, chain.abort(err) + } + } + chain.onceResponseModifications = []ResponseModification{} + return chain.Response.Body, nil } // Execute sends the request for the ProxyChain and returns the request to the sender @@ -434,5 +433,5 @@ func (chain *ProxyChain) Execute() error { chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) return chain.Context.SendStream(body) - //return chain.Context.SendStream(body) + // return chain.Context.SendStream(body) } diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index bb0e0f88..3ae51e12 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -20,12 +20,67 @@ func MasqueradeAsBingBot() proxychain.RequestModification { return masqueradeAsTrustedBot(botUA, botIP) } +// MasqueradeAsWaybackMachineBot modifies user agent and x-forwarded for +// to appear to be a archive.org (wayback machine) Bot +func MasqueradeAsWaybackMachineBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot)" + const botIP string = "207.241.235.164" + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsFacebookBot modifies user agent and x-forwarded for +// to appear to be a Facebook Bot (link previews?) +func MasqueradeAsFacebookBot() proxychain.RequestModification { + const botUA string = "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" + // 31.13.97.0/24, 31.13.99.0/24, 31.13.100.0/24, 66.220.144.0/20, 69.63.189.0/24, 69.63.190.0/24, 69.171.224.0/20, 69.171.240.0/21, 69.171.248.0/24, 173.252.73.0/24, 173.252.74.0/24, 173.252.77.0/24, 173.252.100.0/22, 173.252.104.0/21, 173.252.112.0/24, 2a03:2880:10::/48, 2a03:2880:10ff::/48, 2a03:2880:11::/48, 2a03:2880:11ff::/48, 2a03:2880:20::/48, 2a03:2880:20ff::/48, 2a03:2880:21ff::/48, 2a03:2880:30ff::/48, 2a03:2880:31ff::/48, 2a03:2880:1010::/48, 2a03:2880:1020::/48, 2a03:2880:2020::/48, 2a03:2880:2050::/48, 2a03:2880:2040::/48, 2a03:2880:2110::/48, 2a03:2880:2130::/48, 2a03:2880:3010::/48, 2a03:2880:3020::/48 + const botIP string = "31.13.99.8" + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsYandexBot modifies user agent and x-forwarded for +// to appear to be a Yandex Spider Bot +func MasqueradeAsYandexBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" + // 100.43.90.0/24, 37.9.115.0/24, 37.140.165.0/24, 77.88.22.0/25, 77.88.29.0/24, 77.88.31.0/24, 77.88.59.0/24, 84.201.146.0/24, 84.201.148.0/24, 84.201.149.0/24, 87.250.243.0/24, 87.250.253.0/24, 93.158.147.0/24, 93.158.148.0/24, 93.158.151.0/24, 93.158.153.0/32, 95.108.128.0/24, 95.108.138.0/24, 95.108.150.0/23, 95.108.158.0/24, 95.108.156.0/24, 95.108.188.128/25, 95.108.234.0/24, 95.108.248.0/24, 100.43.80.0/24, 130.193.62.0/24, 141.8.153.0/24, 178.154.165.0/24, 178.154.166.128/25, 178.154.173.29, 178.154.200.158, 178.154.202.0/24, 178.154.205.0/24, 178.154.239.0/24, 178.154.243.0/24, 37.9.84.253, 199.21.99.99, 178.154.162.29, 178.154.203.251, 178.154.211.250, 178.154.171.0/24, 178.154.200.0/24, 178.154.244.0/24, 178.154.246.0/24, 95.108.181.0/24, 95.108.246.252, 5.45.254.0/24, 5.255.253.0/24, 37.140.141.0/24, 37.140.188.0/24, 100.43.81.0/24, 100.43.85.0/24, 100.43.91.0/24, 199.21.99.0/24, 2a02:6b8:b000::/32, 2a02:6b8:b010::/32, 2a02:6b8:b011::/32, 2a02:6b8:c0e::/32 + const botIP string = "37.9.115.9" + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsBaiduBot modifies user agent and x-forwarded for +// to appear to be a Baidu Spider Bot +func MasqueradeAsBaiduBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" + // 180.76.15.0/24, 119.63.196.0/24, 115.239.212./24, 119.63.199.0/24, 122.81.208.0/22, 123.125.71.0/24, 180.76.4.0/24, 180.76.5.0/24, 180.76.6.0/24, 185.10.104.0/24, 220.181.108.0/24, 220.181.51.0/24, 111.13.102.0/24, 123.125.67.144/29, 123.125.67.152/31, 61.135.169.0/24, 123.125.68.68/30, 123.125.68.72/29, 123.125.68.80/28, 123.125.68.96/30, 202.46.48.0/20, 220.181.38.0/24, 123.125.68.80/30, 123.125.68.84/31, 123.125.68.0/24 + const botIP string = "180.76.15.7" + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsDuckDuckBot modifies user agent and x-forwarded for +// to appear to be a DuckDuckGo Bot +func MasqueradeAsDuckDuckBot() proxychain.RequestModification { + const botUA string = "DuckDuckBot/1.0; (+http://duckduckgo.com/duckduckbot.html)" + // 46.51.197.88, 46.51.197.89, 50.18.192.250, 50.18.192.251, 107.21.1.61, 176.34.131.233, 176.34.135.167, 184.72.106.52, 184.72.115.86 + const botIP string = "46.51.197.88" + return masqueradeAsTrustedBot(botUA, botIP) +} + +// MasqueradeAsYahooBot modifies user agent and x-forwarded for +// to appear to be a Yahoo Bot +func MasqueradeAsYahooBot() proxychain.RequestModification { + const botUA string = "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" + // 5.255.250.0/24, 37.9.87.0/24, 67.195.37.0/24, 67.195.50.0/24, 67.195.110.0/24, 67.195.111.0/24, 67.195.112.0/23, 67.195.114.0/24, 67.195.115.0/24, 68.180.224.0/21, 72.30.132.0/24, 72.30.142.0/24, 72.30.161.0/24, 72.30.196.0/24, 72.30.198.0/24, 74.6.254.0/24, 74.6.8.0/24, 74.6.13.0/24, 74.6.17.0/24, 74.6.18.0/24, 74.6.22.0/24, 74.6.27.0/24, 74.6.168.0/24, 77.88.5.0/24, 77.88.47.0/24, 93.158.161.0/24, 98.137.72.0/24, 98.137.206.0/24, 98.137.207.0/24, 98.139.168.0/24, 114.111.95.0/24, 124.83.159.0/24, 124.83.179.0/24, 124.83.223.0/24, 141.8.144.0/24, 183.79.63.0/24, 183.79.92.0/24, 203.216.255.0/24, 211.14.11.0/24 + const botIP string = "37.9.87.5" + return masqueradeAsTrustedBot(botUA, botIP) +} + func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.Request.Header.Set("user-agent", botUA) - chain.Request.Header.Set("x-forwarded-for", botIP) - chain.Request.Header.Del("referrer") - chain.Request.Header.Del("origin") + chain.AddOnceRequestModifications( + SpoofUserAgent(botUA), + SetRequestHeader("x-forwarded-for", botIP), + DeleteRequestHeader("referrer"), + DeleteRequestHeader("origin"), + ) return nil } } diff --git a/proxychain/requestmodifers/modify_domain_with_regex.go b/proxychain/requestmodifers/modify_domain_with_regex.go index 3352d549..d6d97e8d 100644 --- a/proxychain/requestmodifers/modify_domain_with_regex.go +++ b/proxychain/requestmodifers/modify_domain_with_regex.go @@ -1,8 +1,9 @@ package requestmodifers import ( - "ladder/proxychain" "regexp" + + "ladder/proxychain" ) func ModifyDomainWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index 86f8e35b..9c8be538 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -1,8 +1,9 @@ package requestmodifers import ( - "ladder/proxychain" "net/http" + + "ladder/proxychain" ) // SetOutgoingCookie modifes a specific cookie name diff --git a/proxychain/requestmodifers/modify_path_with_regex.go b/proxychain/requestmodifers/modify_path_with_regex.go index 97163ee6..109570aa 100644 --- a/proxychain/requestmodifers/modify_path_with_regex.go +++ b/proxychain/requestmodifers/modify_path_with_regex.go @@ -1,8 +1,9 @@ package requestmodifers import ( - "ladder/proxychain" "regexp" + + "ladder/proxychain" ) func ModifyPathWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { diff --git a/proxychain/requestmodifers/modify_query_params.go b/proxychain/requestmodifers/modify_query_params.go index 7f42f65a..0b8448ea 100644 --- a/proxychain/requestmodifers/modify_query_params.go +++ b/proxychain/requestmodifers/modify_query_params.go @@ -1,16 +1,17 @@ package requestmodifers import ( - "ladder/proxychain" "net/url" + + "ladder/proxychain" ) // ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. // If the query param key doesn't exist, it is created. func ModifyQueryParams(key string, value string) proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - q := px.Request.URL.Query() - px.Request.URL.RawQuery = modifyQueryParams(key, value, q) + return func(chain *proxychain.ProxyChain) error { + q := chain.Request.URL.Query() + chain.Request.URL.RawQuery = modifyQueryParams(key, value, q) return nil } } diff --git a/proxychain/requestmodifers/request_archive_is.go b/proxychain/requestmodifers/request_archive_is.go index 674a48af..c8253f5c 100644 --- a/proxychain/requestmodifers/request_archive_is.go +++ b/proxychain/requestmodifers/request_archive_is.go @@ -1,27 +1,28 @@ package requestmodifers import ( - "ladder/proxychain" + "fmt" "net/url" + + "ladder/proxychain" ) -const archivistUrl string = "https://archive.is/latest/" +const archivistUrl string = "https://archive.is/latest" // RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is func RequestArchiveIs() proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - px.Request.URL.RawQuery = "" - newURLString := archivistUrl + px.Request.URL.String() - newURL, err := url.Parse(newURLString) + return func(chain *proxychain.ProxyChain) error { + chain.Request.URL.RawQuery = "" + newURL, err := url.Parse(fmt.Sprintf("%s/%s", archivistUrl, chain.Request.URL.String())) if err != nil { return err } // archivist seems to sabotage requests from cloudflare's DNS // bypass this just in case - px.AddRequestModifications(ResolveWithGoogleDoH()) + chain.AddOnceRequestModifications(ResolveWithGoogleDoH()) - px.Request.URL = newURL + chain.Request.URL = newURL return nil } } diff --git a/proxychain/requestmodifers/request_google_cache.go b/proxychain/requestmodifers/request_google_cache.go index 1e967a03..a3abfaf6 100644 --- a/proxychain/requestmodifers/request_google_cache.go +++ b/proxychain/requestmodifers/request_google_cache.go @@ -1,8 +1,9 @@ package requestmodifers import ( - "ladder/proxychain" "net/url" + + "ladder/proxychain" ) const googleCacheUrl string = "https://webcache.googleusercontent.com/search?q=cache:" diff --git a/proxychain/requestmodifers/request_wayback_machine.go b/proxychain/requestmodifers/request_wayback_machine.go index 36363dc9..536cc09e 100644 --- a/proxychain/requestmodifers/request_wayback_machine.go +++ b/proxychain/requestmodifers/request_wayback_machine.go @@ -1,8 +1,9 @@ package requestmodifers import ( - "ladder/proxychain" "net/url" + + "ladder/proxychain" ) const waybackUrl string = "https://web.archive.org/web/" diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index 9f626e58..eeab810b 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -4,10 +4,11 @@ import ( "context" "encoding/json" "fmt" - "ladder/proxychain" "net" "net/http" "time" + + "ladder/proxychain" ) // resolveWithGoogleDoH resolves DNS using Google's DNS-over-HTTPS diff --git a/proxychain/requestmodifers/spoof_referrer.go b/proxychain/requestmodifers/spoof_referrer.go index b2e53014..1ab8cf02 100644 --- a/proxychain/requestmodifers/spoof_referrer.go +++ b/proxychain/requestmodifers/spoof_referrer.go @@ -1,20 +1,29 @@ package requestmodifers import ( + "fmt" "ladder/proxychain" + tx "ladder/proxychain/responsemodifers" ) -// SpoofReferrer modifies the referrer header -// useful if the page can be accessed from a search engine -// or social media site, but not by browsing the website itself -// if url is "", then the referrer header is removed +// SpoofReferrer modifies the referrer header. +// It is useful if the page can be accessed from a search engine +// or social media site, but not by browsing the website itself. +// if url is "", then the referrer header is removed. func SpoofReferrer(url string) proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { + return func(chain *proxychain.ProxyChain) error { + + // change refer on client side js + script := fmt.Sprintf(`document.referrer = "%s"`, url) + chain.AddOnceResponseModifications( + tx.InjectScriptBeforeDOMContentLoaded(script), + ) + if url == "" { - px.Request.Header.Del("referrer") + chain.Request.Header.Del("referrer") return nil } - px.Request.Header.Set("referrer", url) + chain.Request.Header.Set("referrer", url) return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go index 40960eb7..2e057c56 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go @@ -2,10 +2,11 @@ package requestmodifers import ( "fmt" - "ladder/proxychain" "math/rand" "strings" "time" + + "ladder/proxychain" ) // SpoofReferrerFromBaiduSearch modifies the referrer header diff --git a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go index 8b7fb9f5..c85b80a0 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go +++ b/proxychain/requestmodifers/spoof_referrer_from_bing_search.go @@ -8,7 +8,7 @@ import ( // pretending to be from a bing search site func SpoofReferrerFromBingSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( + chain.AddOnceRequestModifications( SpoofReferrer("https://www.bing.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_google_search.go b/proxychain/requestmodifers/spoof_referrer_from_google_search.go index f5ff0b28..91936395 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_google_search.go +++ b/proxychain/requestmodifers/spoof_referrer_from_google_search.go @@ -8,11 +8,13 @@ import ( // pretending to be from a google search site func SpoofReferrerFromGoogleSearch() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.Request.Header.Set("referrer", "https://www.google.com/") - chain.Request.Header.Set("sec-fetch-site", "cross-site") - chain.Request.Header.Set("sec-fetch-dest", "document") - chain.Request.Header.Set("sec-fetch-mode", "navigate") - ModifyQueryParams("utm_source", "google") + chain.AddOnceRequestModifications( + SpoofReferrer("https://www.google.com"), + SetRequestHeader("sec-fetch-site", "cross-site"), + SetRequestHeader("sec-fetch-dest", "document"), + SetRequestHeader("sec-fetch-mode", "navigate"), + ModifyQueryParams("utm_source", "google"), + ) return nil } } diff --git a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go index 147beb46..d2889314 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go @@ -8,7 +8,7 @@ import ( // pretending to be from a linkedin post func SpoofReferrerFromLinkedInPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( + chain.AddOnceRequestModifications( SpoofReferrer("https://www.linkedin.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go index ae735884..7a7852dc 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_naver_post.go @@ -2,6 +2,7 @@ package requestmodifers import ( "fmt" + "ladder/proxychain" ) diff --git a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go index 5c47e042..36799365 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go @@ -8,7 +8,7 @@ import ( // pretending to be from a tumblr post func SpoofReferrerFromTumblrPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( + chain.AddOnceRequestModifications( SpoofReferrer("https://www.tumblr.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go index c3ae34c1..348e4cff 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go @@ -8,7 +8,7 @@ import ( // pretending to be from a twitter post func SpoofReferrerFromTwitterPost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( + chain.AddOnceRequestModifications( SpoofReferrer("https://t.co/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go index e05be731..1bae3066 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go @@ -8,7 +8,7 @@ import ( // pretending to be from a vkontakte post (popular in Russia) func SpoofReferrerFromVkontaktePost() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - chain.AddRequestModifications( + chain.AddOnceRequestModifications( SpoofReferrer("https://away.vk.com/"), SetRequestHeader("sec-fetch-site", "cross-site"), SetRequestHeader("sec-fetch-dest", "document"), diff --git a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go index 11ca11a0..69e32fca 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go +++ b/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go @@ -2,8 +2,9 @@ package requestmodifers import ( "fmt" - "ladder/proxychain" "math/rand" + + "ladder/proxychain" ) // SpoofReferrerFromWeiboPost modifies the referrer header diff --git a/proxychain/requestmodifers/spoof_user_agent.go b/proxychain/requestmodifers/spoof_user_agent.go index 4c2083c7..cc706bc1 100644 --- a/proxychain/requestmodifers/spoof_user_agent.go +++ b/proxychain/requestmodifers/spoof_user_agent.go @@ -1,13 +1,39 @@ package requestmodifers import ( + _ "embed" "ladder/proxychain" + tx "ladder/proxychain/responsemodifers" + "strings" ) +// https://github.com/faisalman/ua-parser-js/tree/master +// update using: +// git submodule update --remote --merge +// +//go:embed vendor/ua-parser-js/dist/ua-parser.min.js +var UAParserJS string + +// note: spoof_user_agent.js has a dependency on ua-parser.min.js +// ua-parser.min.js should be loaded first. +// +//go:embed spoof_user_agent.js +var spoofUserAgentJS string + // SpoofUserAgent modifies the user agent func SpoofUserAgent(ua string) proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - px.Request.Header.Set("user-agent", ua) + return func(chain *proxychain.ProxyChain) error { + // modify ua headers + chain.AddOnceRequestModifications( + SetRequestHeader("user-agent", ua), + ) + + script := strings.ReplaceAll(spoofUserAgentJS, "{{USER_AGENT}}", ua) + chain.AddOnceResponseModifications( + tx.InjectScriptBeforeDOMContentLoaded(script), + tx.InjectScriptBeforeDOMContentLoaded(UAParserJS), + ) + return nil } } diff --git a/proxychain/requestmodifers/spoof_user_agent.js b/proxychain/requestmodifers/spoof_user_agent.js new file mode 100644 index 00000000..d37b93d3 --- /dev/null +++ b/proxychain/requestmodifers/spoof_user_agent.js @@ -0,0 +1,100 @@ +(() => { + const UA = "{{USER_AGENT}}"; + + // monkey-patch navigator.userAgent + { + const { get } = Object.getOwnPropertyDescriptor( + Navigator.prototype, + "userAgent", + ); + Object.defineProperty(Navigator.prototype, "userAgent", { + get: new Proxy(get, { + apply() { + return UA; + }, + }), + }); + } + + // monkey-patch navigator.appVersion + { + const { get } = Object.getOwnPropertyDescriptor( + Navigator.prototype, + "appVersion", + ); + Object.defineProperty(Navigator.prototype, "appVersion", { + get: new Proxy(get, { + apply() { + return UA.replace("Mozilla/", ""); + }, + }), + }); + } + + // monkey-patch navigator.UserAgentData + // Assuming UAParser is already loaded and available + function spoofUserAgentData(uaString) { + // Parse the user-agent string + const parser = new UAParser(uaString); + const parsedData = parser.getResult(); + + // Extracted data + const platform = parsedData.os.name; + const browserName = parsedData.browser.name; + const browserMajorVersion = parsedData.browser.major; + const isMobile = + /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( + uaString, + ); + + // Overwrite navigator.userAgentData + self.NavigatorUAData = self.NavigatorUAData || new class NavigatorUAData { + brands = [{ + brand: browserName, + version: browserMajorVersion, + }]; + mobile = isMobile; + platform = platform; + toJSON() { + return { + brands: this.brands, + mobile: this.mobile, + platform: this.platform, + }; + } + getHighEntropyValues(hints) { + const result = this.toJSON(); + // Add additional high entropy values based on hints + // Modify these as per your requirements + if (hints.includes("architecture")) { + result.architecture = "x86"; + } + if (hints.includes("bitness")) { + result.bitness = "64"; + } + if (hints.includes("model")) { + result.model = ""; + } + if (hints.includes("platformVersion")) { + result.platformVersion = "10.0.0"; // Example value + } + if (hints.includes("uaFullVersion")) { + result.uaFullVersion = browserMajorVersion; + } + if (hints.includes("fullVersionList")) { + result.fullVersionList = this.brands; + } + return Promise.resolve(result); + } + }(); + + // Apply the monkey patch + Object.defineProperty(navigator, "userAgentData", { + value: new self.NavigatorUAData(), + writable: false, + }); + } + + spoofUserAgentData(UA); + // TODO: use hideMonkeyPatch to hide overrides +})(); diff --git a/proxychain/requestmodifers/spoof_x_forwarded_for.go b/proxychain/requestmodifers/spoof_x_forwarded_for.go index 33d77e73..45a9dffe 100644 --- a/proxychain/requestmodifers/spoof_x_forwarded_for.go +++ b/proxychain/requestmodifers/spoof_x_forwarded_for.go @@ -11,4 +11,4 @@ func SpoofXForwardedFor(ip string) proxychain.RequestModification { px.Request.Header.Set("X-FORWARDED-FOR", ip) return nil } -} \ No newline at end of file +} diff --git a/proxychain/requestmodifers/vendor/ua-parser-js b/proxychain/requestmodifers/vendor/ua-parser-js new file mode 160000 index 00000000..5173a544 --- /dev/null +++ b/proxychain/requestmodifers/vendor/ua-parser-js @@ -0,0 +1 @@ +Subproject commit 5173a5442f4af04b4f9c51519587e7969de9fc15 diff --git a/proxychain/responsemodifers/inject_script.go b/proxychain/responsemodifers/inject_script.go index 12b2e5d9..5e5ef876 100644 --- a/proxychain/responsemodifers/inject_script.go +++ b/proxychain/responsemodifers/inject_script.go @@ -2,9 +2,10 @@ package responsemodifers import ( _ "embed" + "strings" + "ladder/proxychain" "ladder/proxychain/responsemodifers/rewriters" - "strings" ) // injectScript modifies HTTP responses @@ -25,16 +26,16 @@ func injectScript(js string, execTime rewriters.ScriptExecTime) proxychain.Respo } // InjectScriptBeforeDOMContentLoaded modifies HTTP responses to inject a JS before DOM Content is loaded (script tag in head) -func InjectScriptBeforeDOMContentLoaded(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { +func InjectScriptBeforeDOMContentLoaded(js string) proxychain.ResponseModification { return injectScript(js, rewriters.BeforeDOMContentLoaded) } // InjectScriptAfterDOMContentLoaded modifies HTTP responses to inject a JS after DOM Content is loaded (script tag in head) -func InjectScriptAfterDOMContentLoaded(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { +func InjectScriptAfterDOMContentLoaded(js string) proxychain.ResponseModification { return injectScript(js, rewriters.AfterDOMContentLoaded) } // InjectScriptAfterDOMIdle modifies HTTP responses to inject a JS after the DOM is idle (ie: js framework loaded) -func InjectScriptAfterDOMIdle(js string, execTime rewriters.ScriptExecTime) proxychain.ResponseModification { +func InjectScriptAfterDOMIdle(js string) proxychain.ResponseModification { return injectScript(js, rewriters.AfterDOMIdle) } diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifers/modify_incoming_cookies.go index df6aa535..494f9a71 100644 --- a/proxychain/responsemodifers/modify_incoming_cookies.go +++ b/proxychain/responsemodifers/modify_incoming_cookies.go @@ -2,8 +2,9 @@ package responsemodifers import ( "fmt" - "ladder/proxychain" "net/http" + + "ladder/proxychain" ) // DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.go b/proxychain/responsemodifers/patch_dynamic_resource_urls.go index 6ab2e855..21c3483d 100644 --- a/proxychain/responsemodifers/patch_dynamic_resource_urls.go +++ b/proxychain/responsemodifers/patch_dynamic_resource_urls.go @@ -3,9 +3,10 @@ package responsemodifers import ( _ "embed" "fmt" + "strings" + "ladder/proxychain" "ladder/proxychain/responsemodifers/rewriters" - "strings" ) //go:embed patch_dynamic_resource_urls.js diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.js b/proxychain/responsemodifers/patch_dynamic_resource_urls.js index cc4b4d17..337c9caf 100644 --- a/proxychain/responsemodifers/patch_dynamic_resource_urls.js +++ b/proxychain/responsemodifers/patch_dynamic_resource_urls.js @@ -2,43 +2,46 @@ // Also overrides the attribute setter prototype to modify the request URLs // fetch("/relative_script.js") -> fetch("http://localhost:8080/relative_script.js") (() => { - // ============== PARAMS =========================== - // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar - // proxyOrigin is http://localhost:8080 + // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar + // proxyOrigin is http://localhost:8080 const proxyOrigin = "{{PROXY_ORIGIN}}"; //const proxyOrigin = globalThis.window.location.origin; - // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar - // origin is http://proxiedsite.com + // if the original request was: http://localhost:8080/http://proxiedsite.com/foo/bar + // origin is http://proxiedsite.com const origin = "{{ORIGIN}}"; //const origin = (new URL(decodeURIComponent(globalThis.window.location.pathname.substring(1)))).origin // ============== END PARAMS ====================== - const blacklistedSchemes = [ - "ftp:", - "mailto:", - "tel:", - "file:", - "blob:", - "javascript:", - "about:", - "magnet:", - "ws:", - "wss:", - ]; + const blacklistedSchemes = [ + "ftp:", + "mailto:", + "tel:", + "file:", + "blob:", + "javascript:", + "about:", + "magnet:", + "ws:", + "wss:", + ]; - function rewriteURL(url) { - const oldUrl = url - if (!url) return url - let isStr = (typeof url.startsWith === 'function') - if (!isStr) return url + function rewriteURL(url) { + const oldUrl = url; + if (!url) return url; + let isStr = typeof url.startsWith === "function"; + if (!isStr) return url; // don't rewrite special URIs if (blacklistedSchemes.includes(url)) return url; // don't rewrite invalid URIs - try { new URL(url, origin) } catch { return url } + try { + new URL(url, origin); + } catch { + return url; + } // don't double rewrite if (url.startsWith(proxyOrigin)) return url; @@ -57,132 +60,163 @@ } else if (url.startsWith("/")) { url = `/${origin}/${encodeURIComponent(url.substring(1))}`; } else if (url.startsWith(origin)) { - url = `/${encodeURIComponent(url)}` + url = `/${encodeURIComponent(url)}`; } else if (url.startsWith("http://") || url.startsWith("https://")) { url = `/${proxyOrigin}/${encodeURIComponent(url)}`; } - console.log(`proxychain: rewrite JS URL: ${oldUrl} -> ${url}`) + console.log(`proxychain: rewrite JS URL: ${oldUrl} -> ${url}`); return url; - }; + } // sometimes anti-bot protections like cloudflare or akamai bot manager check if JS is hooked function hideMonkeyPatch(objectOrName, method, originalToString) { let obj; let isGlobalFunction = false; - - if (typeof objectOrName === 'string') { + + if (typeof objectOrName === "string") { obj = globalThis[objectOrName]; - isGlobalFunction = (typeof obj === 'function') && (method === objectOrName); + isGlobalFunction = (typeof obj === "function") && + (method === objectOrName); } else { obj = objectOrName; } - + if (isGlobalFunction) { const originalFunction = obj; globalThis[objectOrName] = function(...args) { return originalFunction.apply(this, args); }; globalThis[objectOrName].toString = () => originalToString; - } else if (obj && typeof obj[method] === 'function') { + } else if (obj && typeof obj[method] === "function") { const originalMethod = obj[method]; obj[method] = function(...args) { return originalMethod.apply(this, args); }; obj[method].toString = () => originalToString; } else { - console.warn(`proxychain: cannot hide monkey patch: ${method} is not a function on the provided object.`); + console.warn( + `proxychain: cannot hide monkey patch: ${method} is not a function on the provided object.`, + ); } } - // monkey patch fetch - const oldFetch = fetch; - fetch = async (url, init) => { - return oldFetch(rewriteURL(url), init) - } - hideMonkeyPatch('fetch', 'fetch', 'function fetch() { [native code] }') - - // monkey patch xmlhttprequest - const oldOpen = XMLHttpRequest.prototype.open; - XMLHttpRequest.prototype.open = function(method, url, async = true, user = null, password = null) { - return oldOpen.call(this, method, rewriteURL(url), async, user, password); - }; - hideMonkeyPatch(XMLHttpRequest.prototype, 'open', 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}'); - - const oldSend = XMLHttpRequest.prototype.send; - XMLHttpRequest.prototype.send = function(method, url) { - return oldSend.call(this, method, rewriteURL(url)); - }; - hideMonkeyPatch(XMLHttpRequest.prototype, 'send', 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}'); - - - // monkey patch service worker registration - const oldRegister = ServiceWorkerContainer.prototype.register; - ServiceWorkerContainer.prototype.register = function(scriptURL, options) { - return oldRegister.call(this, rewriteURL(scriptURL), options) - } - hideMonkeyPatch(ServiceWorkerContainer.prototype, 'register', 'function register() { [native code] }') - - // monkey patch URL.toString() method - const oldToString = URL.prototype.toString - URL.prototype.toString = function() { - let originalURL = oldToString.call(this) - return rewriteURL(originalURL) - } - hideMonkeyPatch(URL.prototype, 'toString', 'function toString() { [native code] }') - - // monkey patch URL.toJSON() method - const oldToJson = URL.prototype.toString - URL.prototype.toString = function() { - let originalURL = oldToJson.call(this) - return rewriteURL(originalURL) - } - hideMonkeyPatch(URL.prototype, 'toString', 'function toJSON() { [native code] }') - - // Monkey patch URL.href getter and setter - const originalHrefDescriptor = Object.getOwnPropertyDescriptor(URL.prototype, 'href'); - Object.defineProperty(URL.prototype, 'href', { + // monkey patch fetch + const oldFetch = fetch; + fetch = async (url, init) => { + return oldFetch(rewriteURL(url), init); + }; + hideMonkeyPatch("fetch", "fetch", "function fetch() { [native code] }"); + + // monkey patch xmlhttprequest + const oldOpen = XMLHttpRequest.prototype.open; + XMLHttpRequest.prototype.open = function( + method, + url, + async = true, + user = null, + password = null, + ) { + return oldOpen.call(this, method, rewriteURL(url), async, user, password); + }; + hideMonkeyPatch( + XMLHttpRequest.prototype, + "open", + 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}', + ); + + const oldSend = XMLHttpRequest.prototype.send; + XMLHttpRequest.prototype.send = function(method, url) { + return oldSend.call(this, method, rewriteURL(url)); + }; + hideMonkeyPatch( + XMLHttpRequest.prototype, + "send", + 'function(){if("function"==typeof eo)return eo.apply(this,arguments)}', + ); + + // monkey patch service worker registration + const oldRegister = ServiceWorkerContainer.prototype.register; + ServiceWorkerContainer.prototype.register = function(scriptURL, options) { + return oldRegister.call(this, rewriteURL(scriptURL), options); + }; + hideMonkeyPatch( + ServiceWorkerContainer.prototype, + "register", + "function register() { [native code] }", + ); + + // monkey patch URL.toString() method + const oldToString = URL.prototype.toString; + URL.prototype.toString = function() { + let originalURL = oldToString.call(this); + return rewriteURL(originalURL); + }; + hideMonkeyPatch( + URL.prototype, + "toString", + "function toString() { [native code] }", + ); + + // monkey patch URL.toJSON() method + const oldToJson = URL.prototype.toString; + URL.prototype.toString = function() { + let originalURL = oldToJson.call(this); + return rewriteURL(originalURL); + }; + hideMonkeyPatch( + URL.prototype, + "toString", + "function toJSON() { [native code] }", + ); + + // Monkey patch URL.href getter and setter + const originalHrefDescriptor = Object.getOwnPropertyDescriptor( + URL.prototype, + "href", + ); + Object.defineProperty(URL.prototype, "href", { get: function() { let originalHref = originalHrefDescriptor.get.call(this); - return rewriteURL(originalHref) + return rewriteURL(originalHref); }, set: function(newValue) { originalHrefDescriptor.set.call(this, rewriteURL(newValue)); - } + }, }); // TODO: do one more pass of this by manually traversing the DOM - // AFTER all the JS and page has loaded just in case + // AFTER all the JS and page has loaded just in case - // Monkey patch setter + // Monkey patch setter const elements = [ - { tag: 'a', attribute: 'href' }, - { tag: 'img', attribute: 'src' }, + { tag: "a", attribute: "href" }, + { tag: "img", attribute: "src" }, // { tag: 'img', attribute: 'srcset' }, // TODO: handle srcset - { tag: 'script', attribute: 'src' }, - { tag: 'link', attribute: 'href' }, - { tag: 'link', attribute: 'icon' }, - { tag: 'iframe', attribute: 'src' }, - { tag: 'audio', attribute: 'src' }, - { tag: 'video', attribute: 'src' }, - { tag: 'source', attribute: 'src' }, + { tag: "script", attribute: "src" }, + { tag: "link", attribute: "href" }, + { tag: "link", attribute: "icon" }, + { tag: "iframe", attribute: "src" }, + { tag: "audio", attribute: "src" }, + { tag: "video", attribute: "src" }, + { tag: "source", attribute: "src" }, // { tag: 'source', attribute: 'srcset' }, // TODO: handle srcset - { tag: 'embed', attribute: 'src' }, - { tag: 'embed', attribute: 'pluginspage' }, - { tag: 'html', attribute: 'manifest' }, - { tag: 'object', attribute: 'src' }, - { tag: 'input', attribute: 'src' }, - { tag: 'track', attribute: 'src' }, - { tag: 'form', attribute: 'action' }, - { tag: 'area', attribute: 'href' }, - { tag: 'base', attribute: 'href' }, - { tag: 'blockquote', attribute: 'cite' }, - { tag: 'del', attribute: 'cite' }, - { tag: 'ins', attribute: 'cite' }, - { tag: 'q', attribute: 'cite' }, - { tag: 'button', attribute: 'formaction' }, - { tag: 'input', attribute: 'formaction' }, - { tag: 'meta', attribute: 'content' }, - { tag: 'object', attribute: 'data' }, + { tag: "embed", attribute: "src" }, + { tag: "embed", attribute: "pluginspage" }, + { tag: "html", attribute: "manifest" }, + { tag: "object", attribute: "src" }, + { tag: "input", attribute: "src" }, + { tag: "track", attribute: "src" }, + { tag: "form", attribute: "action" }, + { tag: "area", attribute: "href" }, + { tag: "base", attribute: "href" }, + { tag: "blockquote", attribute: "cite" }, + { tag: "del", attribute: "cite" }, + { tag: "ins", attribute: "cite" }, + { tag: "q", attribute: "cite" }, + { tag: "button", attribute: "formaction" }, + { tag: "input", attribute: "formaction" }, + { tag: "meta", attribute: "content" }, + { tag: "object", attribute: "data" }, ]; elements.forEach(({ tag, attribute }) => { @@ -195,7 +229,7 @@ // calling rewriteURL will end up calling a setter for href, // leading to a recusive loop and a Maximum call stack size exceeded // error, so we guard against this with a local semaphore flag - const isRewritingSetKey = Symbol.for('isRewritingSet'); + const isRewritingSetKey = Symbol.for("isRewritingSet"); if (!this[isRewritingSetKey]) { this[isRewritingSetKey] = true; descriptor.set.call(this, rewriteURL(value)); @@ -207,44 +241,43 @@ } }, get() { - const isRewritingGetKey = Symbol.for('isRewritingGet'); + const isRewritingGetKey = Symbol.for("isRewritingGet"); if (!this[isRewritingGetKey]) { this[isRewritingGetKey] = true; let oldURL = descriptor.get.call(this); let newURL = rewriteURL(oldURL); this[isRewritingGetKey] = false; - return newURL + return newURL; } else { return descriptor.get.call(this); } - } + }, }); } }); - // sometimes, libraries will set the Element.innerHTML or Element.outerHTML directly with a string instead of setters. // in this case, we intercept it, create a fake DOM, parse it and then rewrite all attributes that could // contain a URL. Then we return the replacement innerHTML/outerHTML with redirected links. function rewriteInnerHTML(html, elements) { - const isRewritingHTMLKey = Symbol.for('isRewritingHTML'); - + const isRewritingHTMLKey = Symbol.for("isRewritingHTML"); + // Check if already processing if (document[isRewritingHTMLKey]) { return html; } - - const tempContainer = document.createElement('div'); + + const tempContainer = document.createElement("div"); document[isRewritingHTMLKey] = true; - + try { tempContainer.innerHTML = html; - + // Create a map for quick lookup - const elementsMap = new Map(elements.map(e => [e.tag, e.attribute])); - + const elementsMap = new Map(elements.map((e) => [e.tag, e.attribute])); + // Loop-based DOM traversal - const nodes = [...tempContainer.querySelectorAll('*')]; + const nodes = [...tempContainer.querySelectorAll("*")]; for (const node of nodes) { const attribute = elementsMap.get(node.tagName.toLowerCase()); if (attribute && node.hasAttribute(attribute)) { @@ -253,7 +286,7 @@ node.setAttribute(attribute, rewrittenUrl); } } - + return tempContainer.innerHTML; } finally { // Clear the flag @@ -261,19 +294,21 @@ } } - // Store original setters -const originalSetters = {}; + const originalSetters = {}; - ['innerHTML', 'outerHTML'].forEach(property => { - const descriptor = Object.getOwnPropertyDescriptor(Element.prototype, property); + ["innerHTML", "outerHTML"].forEach((property) => { + const descriptor = Object.getOwnPropertyDescriptor( + Element.prototype, + property, + ); if (descriptor && descriptor.set) { originalSetters[property] = descriptor.set; Object.defineProperty(Element.prototype, property, { ...descriptor, set(value) { - const isRewritingHTMLKey = Symbol.for('isRewritingHTML'); + const isRewritingHTMLKey = Symbol.for("isRewritingHTML"); if (!this[isRewritingHTMLKey]) { this[isRewritingHTMLKey] = true; try { @@ -286,40 +321,8 @@ const originalSetters = {}; // Use original setter in recursive call originalSetters[property].call(this, value); } - } + }, }); } }); - - -})(); - - - -(() => { - document.addEventListener('DOMContentLoaded', (event) => { - initIdleMutationObserver(); - }); - - function initIdleMutationObserver() { - let debounceTimer; - const debounceDelay = 500; // adjust the delay as needed - - const observer = new MutationObserver((mutations) => { - // Clear the previous timer and set a new one - clearTimeout(debounceTimer); - debounceTimer = setTimeout(() => { - execute(); - observer.disconnect(); // Disconnect after first execution - }, debounceDelay); - }); - - const config = { attributes: false, childList: true, subtree: true }; - observer.observe(document.body, config); - } - - function execute() { - console.log('DOM is now idle. Executing...'); - } - })(); diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifers/rewrite_http_resource_urls.go index bd3b92af..5320d130 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifers/rewrite_http_resource_urls.go @@ -3,9 +3,10 @@ package responsemodifers import ( _ "embed" "fmt" + "strings" + "ladder/proxychain" "ladder/proxychain/responsemodifers/rewriters" - "strings" ) // RewriteHTMLResourceURLs modifies HTTP responses diff --git a/proxychain/responsemodifers/rewriters/html_rewriter.go b/proxychain/responsemodifers/rewriters/html_rewriter.go index e18a045d..d14626ff 100644 --- a/proxychain/responsemodifers/rewriters/html_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_rewriter.go @@ -71,7 +71,6 @@ func (r *HTMLRewriter) Close() error { // Read processes the HTML content, rewriting URLs and managing the state of tokens. func (r *HTMLRewriter) Read(p []byte) (int, error) { - if r.currentToken == nil || r.currentToken.Data == "" || r.currentTokenProcessed { tokenType := r.tokenizer.Next() diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index d7fca474..bc112bdf 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -3,18 +3,21 @@ package rewriters import ( _ "embed" "fmt" - "golang.org/x/net/html/atom" "log" "net/url" "regexp" "strings" + "golang.org/x/net/html/atom" + "golang.org/x/net/html" ) -var rewriteAttrs map[string]map[string]bool -var specialRewriteAttrs map[string]map[string]bool -var schemeBlacklist map[string]bool +var ( + rewriteAttrs map[string]map[string]bool + specialRewriteAttrs map[string]map[string]bool + schemeBlacklist map[string]bool +) func init() { // define all tag/attributes which might contain URLs @@ -66,7 +69,6 @@ func init() { "wss": true, "ftp": true, } - } // HTMLTokenURLRewriter implements HTMLTokenRewriter @@ -159,10 +161,10 @@ func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { return } - //log.Printf("BASEURL patch: %s\n", baseURL) + // log.Printf("BASEURL patch: %s\n", baseURL) attr.Val = fmt.Sprintf( - "/%s://%s/%s", + "%s://%s/%s", baseURL.Scheme, baseURL.Host, strings.TrimPrefix(attr.Val, "/"), @@ -184,7 +186,7 @@ func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { strings.Trim(attr.Val, "/"), ) attr.Val = escape(attr.Val) - attr.Val = fmt.Sprintf("/%s", attr.Val) + attr.Val = fmt.Sprintf("%s://%s/%s", baseURL.Scheme, baseURL.Host, attr.Val) log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } @@ -199,7 +201,7 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { if !(u.Scheme == "http" || u.Scheme == "https") { return } - attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) + attr.Val = fmt.Sprintf("%s://%s/%s", baseURL.Scheme, baseURL.Host, escape(strings.TrimPrefix(attr.Val, "/"))) log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) } From 2dccc7ca3574bf26f93e63355df60f0b5cf65de7 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 12:45:23 -0600 Subject: [PATCH 027/178] add req/resp header forwarding modifiers --- proxychain/proxychain.go | 9 ++-- .../forward_request_headers.go | 43 ++++++++++++++++ .../forward_response_headers.go | 51 +++++++++++++++++++ 3 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 proxychain/requestmodifers/forward_request_headers.go create mode 100644 proxychain/responsemodifers/forward_response_headers.go diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 738aa009..98be1d0f 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -90,8 +90,7 @@ type ProxyChain struct { requestModifications []RequestModification onceRequestModifications []RequestModification onceResponseModifications []ResponseModification - resultModifications []ResponseModification - htmlTokenRewriters []rr.IHTMLTokenRewriter + responseModifications []ResponseModification Ruleset *ruleset.RuleSet debugMode bool abortErr error @@ -139,7 +138,7 @@ func (chain *ProxyChain) AddOnceResponseModifications(mods ...ResponseModificati // AddResponseModifications sets the ProxyChain's response modifers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) *ProxyChain { - chain.resultModifications = mods + chain.responseModifications = mods return chain } @@ -339,6 +338,8 @@ func (chain *ProxyChain) _reset() { chain.Request = nil // chain.Response = nil chain.Context = nil + chain.onceResponseModifications = []ResponseModification{} + chain.onceRequestModifications = []RequestModification{} } // NewProxyChain initializes a new ProxyChain @@ -395,7 +396,7 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { */ // Apply ResponseModifiers to proxychain - for _, applyResultModificationsTo := range chain.resultModifications { + for _, applyResultModificationsTo := range chain.responseModifications { err := applyResultModificationsTo(chain) if err != nil { return nil, chain.abort(err) diff --git a/proxychain/requestmodifers/forward_request_headers.go b/proxychain/requestmodifers/forward_request_headers.go new file mode 100644 index 00000000..08d1f9be --- /dev/null +++ b/proxychain/requestmodifers/forward_request_headers.go @@ -0,0 +1,43 @@ +package requestmodifers + +import ( + "ladder/proxychain" + "strings" +) + +var forwardBlacklist map[string]bool + +func init() { + forwardBlacklist = map[string]bool{ + "host": true, + "connection": true, + "keep-alive": true, + "content-length": true, + "content-encoding": true, + "transfer-encoding": true, + "referer": true, + "x-forwarded-for": true, + "x-real-ip": true, + "forwarded": true, + } +} + +// ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server +func ForwardRequestHeaders(ua string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + + forwardHeaders := func(key, value []byte) { + k := strings.ToLower(string(key)) + v := string(value) + if forwardBlacklist[k] { + return + } + chain.Request.Header.Set(k, v) + } + + chain.Context.Request(). + Header.VisitAll(forwardHeaders) + + return nil + } +} diff --git a/proxychain/responsemodifers/forward_response_headers.go b/proxychain/responsemodifers/forward_response_headers.go new file mode 100644 index 00000000..5e08a583 --- /dev/null +++ b/proxychain/responsemodifers/forward_response_headers.go @@ -0,0 +1,51 @@ +package responsemodifers + +import ( + "fmt" + "ladder/proxychain" + "net/url" + "strings" +) + +var forwardBlacklist map[string]bool + +func init() { + forwardBlacklist = map[string]bool{ + "content-length": true, + "content-encoding": true, + "transfer-encoding": true, + "strict-transport-security": true, + "connection": true, + "keep-alive": true, + } +} + +// ForwardResponseHeaders forwards the response headers from the upstream server to the client +func ForwardResponseHeaders() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + + for uname, headers := range chain.Response.Header { + name := strings.ToLower(uname) + if forwardBlacklist[name] { + continue + } + + // patch location header to forward to proxy instead + if name == "location" { + u, err := url.Parse(chain.Context.BaseURL()) + if err != nil { + return err + } + newLocation := fmt.Sprintf("%s://%s/%s", u.Scheme, u.Host, headers[0]) + chain.Context.Set("location", newLocation) + } + + // forward headers + for _, value := range headers { + chain.Context.Set(name, value) + } + } + + return nil + } +} From 7b3aecca7db14ebd1a8caa5a707d57bdb1b2d0c9 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 16:30:13 -0600 Subject: [PATCH 028/178] add TLS fingerprint (ja3) spoofer request modifier --- go.mod | 10 +- go.sum | 57 +-- handlers/proxy.go | 13 +- proxychain/proxychain.go | 53 +- .../masquerade_as_trusted_bot.go | 32 +- .../modify_outgoing_cookies.go | 3 +- .../resolve_with_google_doh.go | 3 +- .../requestmodifers/spoof_ja3_fingerprint.go | 451 ++++++++++++++++++ 8 files changed, 553 insertions(+), 69 deletions(-) create mode 100644 proxychain/requestmodifers/spoof_ja3_fingerprint.go diff --git a/go.mod b/go.mod index 9bab4b35..0a209340 100644 --- a/go.mod +++ b/go.mod @@ -3,16 +3,22 @@ module ladder go 1.21.1 require ( - github.com/PuerkitoBio/goquery v1.8.1 + github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6 + github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e github.com/akamensky/argparse v1.4.0 github.com/gofiber/fiber/v2 v2.50.0 github.com/stretchr/testify v1.8.4 gopkg.in/yaml.v3 v3.0.1 ) +require ( + github.com/dsnet/compress v0.0.1 // indirect + golang.org/x/crypto v0.15.0 // indirect + golang.org/x/text v0.14.0 // indirect +) + require ( github.com/andybalholm/brotli v1.0.6 // indirect - github.com/andybalholm/cascadia v1.3.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/google/uuid v1.4.0 // indirect github.com/klauspost/compress v1.17.2 // indirect diff --git a/go.sum b/go.sum index f171d696..dd9defbd 100644 --- a/go.sum +++ b/go.sum @@ -1,20 +1,25 @@ -github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= -github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= +github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6 h1:Wzbitazy0HugGNRACX7ZB1En21LT/TiVF6YbxoTTqN8= +github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6/go.mod h1:2IT2IFG+d+zzFuj3+ksGtVytcCBsF402zMNWHsWhD2U= +github.com/Danny-Dasilva/utls v0.0.0-20220418175931-f38e470e04f2/go.mod h1:A2g8gPTJWDD3Y4iCTNon2vG3VcjdTBcgWBlZtopfNxU= +github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e h1:tqiguW0yAcIwQBQtD+d2rjBnboqB7CwG1OZ12F8avX8= +github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e/go.mod h1:ssfbVNUfWJVRfW41RTpedOUlGXSq3J6aLmirUVkDgJk= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= -github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= -github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dsnet/compress v0.0.1 h1:PlZu0n3Tuv04TzpfPbrnI0HW/YwodEXDS+oPKahKF0Q= +github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo= +github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -29,58 +34,42 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M= github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= +golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/handlers/proxy.go b/handlers/proxy.go index 838cf932..c9e7a31a 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -31,17 +31,16 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - rx.MasqueradeAsGoogleBot(), + rx.MasqueradeAsFacebookBot(), rx.DeleteOutgoingCookies(), - // rx.RequestArchiveIs(), - rx.MasqueradeAsGoogleBot(), + // rx.RequestArchiveIs(), ). AddResponseModifications( tx.BypassCORS(), - tx.BypassContentSecurityPolicy(), - tx.DeleteIncomingCookies(), - tx.RewriteHTMLResourceURLs(), - tx.PatchDynamicResourceURLs(), + //tx.BypassContentSecurityPolicy(), + //tx.DeleteIncomingCookies(), + //tx.RewriteHTMLResourceURLs(), + //tx.PatchDynamicResourceURLs(), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 98be1d0f..748b84f5 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,14 +5,14 @@ import ( "fmt" "io" "log" - "net/http" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" + "net/url" "strings" - "ladder/pkg/ruleset" - rr "ladder/proxychain/responsemodifers/rewriters" - "github.com/gofiber/fiber/v2" + "ladder/pkg/ruleset" ) /* @@ -85,6 +85,7 @@ proxychain.NewProxyChain(). type ProxyChain struct { Context *fiber.Ctx Client *http.Client + onceClient *http.Client Request *http.Request Response *http.Response requestModifications []RequestModification @@ -312,6 +313,13 @@ func (chain *ProxyChain) SetHTTPClient(httpClient *http.Client) *ProxyChain { return chain } +// SetOnceHTTPClient sets a new upstream http client transport temporarily +// and clears it once it is used. +func (chain *ProxyChain) SetOnceHTTPClient(httpClient *http.Client) *ProxyChain { + chain.onceClient = httpClient + return chain +} + // SetVerbose changes the logging behavior to print // the modification steps and applied rulesets for debugging func (chain *ProxyChain) SetDebugLogging(isDebugMode bool) *ProxyChain { @@ -340,6 +348,7 @@ func (chain *ProxyChain) _reset() { chain.Context = nil chain.onceResponseModifications = []ResponseModification{} chain.onceRequestModifications = []RequestModification{} + //chain.onceClient = nil } // NewProxyChain initializes a new ProxyChain @@ -355,6 +364,7 @@ func NewProxyChain() *ProxyChain { // the caller is responsible for returning a response back to the requestor // the caller is also responsible for calling chain._reset() when they are done with the body func (chain *ProxyChain) _execute() (io.Reader, error) { + // ================== PREFLIGHT CHECKS ============================= if chain.validateCtxIsSet() != nil || chain.abortErr != nil { return nil, chain.abortErr } @@ -365,6 +375,7 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { return nil, errors.New("request url not set or invalid. Check ProxyChain ReqMods for issues") } + // ======== REQUEST MODIFICATIONS :: [client -> ladder] -> upstream -> ladder -> client ============================= // Apply requestModifications to proxychain for _, applyRequestModificationsTo := range chain.requestModifications { err := applyRequestModificationsTo(chain) @@ -382,19 +393,26 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } chain.onceRequestModifications = []RequestModification{} + // ======== SEND REQUEST UPSTREAM :: client -> [ladder -> upstream] -> ladder -> client ============================= // Send Request Upstream - resp, err := chain.Client.Do(chain.Request) - if err != nil { - return nil, chain.abort(err) - } - chain.Response = resp - - /* todo: move to rsm - for k, v := range resp.Header { - chain.Context.Set(k, resp.Header.Get(k)) + if chain.onceClient != nil { + // if chain.SetOnceClient() is used, use that client instead of the + // default http client temporarily. + resp, err := chain.onceClient.Do(chain.Request) + if err != nil { + return nil, chain.abort(err) + } + chain.Response = resp + //chain.onceClient = nil + } else { + resp, err := chain.Client.Do(chain.Request) + if err != nil { + return nil, chain.abort(err) + } + chain.Response = resp } - */ + // ======== APPLY RESPONSE MODIFIERS :: client -> ladder -> [upstream -> ladder] -> client ============================= // Apply ResponseModifiers to proxychain for _, applyResultModificationsTo := range chain.responseModifications { err := applyResultModificationsTo(chain) @@ -412,6 +430,7 @@ func (chain *ProxyChain) _execute() (io.Reader, error) { } chain.onceResponseModifications = []ResponseModification{} + // ======== RETURN BODY TO CLIENT :: client -> ladder -> upstream -> [ladder -> client] ============================= return chain.Response.Body, nil } @@ -430,8 +449,12 @@ func (chain *ProxyChain) Execute() error { return errors.New("no context set") } + // in case api user did not set or forward content-type, we do it for them + if chain.Context.Get("content-type") == "" { + chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) + } + // Return request back to client - chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) return chain.Context.SendStream(body) // return chain.Context.SendStream(body) diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index 3ae51e12..7a4f6878 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -9,7 +9,10 @@ import ( func MasqueradeAsGoogleBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; http://www.google.com/bot.html) Chrome/79.0.3945.120 Safari/537.36" const botIP string = "66.249.78.8" // TODO: create a random ip pool from https://developers.google.com/static/search/apis/ipranges/googlebot.json - return masqueradeAsTrustedBot(botUA, botIP) + // https://github.com/trisulnsm/trisul-scripts/blob/master/lua/frontend_scripts/reassembly/ja3/prints/ja3fingerprint.json + const ja3 string = "769,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" + + return masqueradeAsTrustedBot(botUA, botIP, ja3) } // MasqueradeAsBingBot modifies user agent and x-forwarded for @@ -17,7 +20,7 @@ func MasqueradeAsGoogleBot() proxychain.RequestModification { func MasqueradeAsBingBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/79.0.3945.120 Safari/537.36" const botIP string = "13.66.144.9" // https://www.bing.com/toolbox/bingbot.json - return masqueradeAsTrustedBot(botUA, botIP) + return masqueradeAsTrustedBot(botUA, botIP, "") } // MasqueradeAsWaybackMachineBot modifies user agent and x-forwarded for @@ -25,7 +28,7 @@ func MasqueradeAsBingBot() proxychain.RequestModification { func MasqueradeAsWaybackMachineBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot)" const botIP string = "207.241.235.164" - return masqueradeAsTrustedBot(botUA, botIP) + return masqueradeAsTrustedBot(botUA, botIP, "") } // MasqueradeAsFacebookBot modifies user agent and x-forwarded for @@ -34,7 +37,8 @@ func MasqueradeAsFacebookBot() proxychain.RequestModification { const botUA string = "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" // 31.13.97.0/24, 31.13.99.0/24, 31.13.100.0/24, 66.220.144.0/20, 69.63.189.0/24, 69.63.190.0/24, 69.171.224.0/20, 69.171.240.0/21, 69.171.248.0/24, 173.252.73.0/24, 173.252.74.0/24, 173.252.77.0/24, 173.252.100.0/22, 173.252.104.0/21, 173.252.112.0/24, 2a03:2880:10::/48, 2a03:2880:10ff::/48, 2a03:2880:11::/48, 2a03:2880:11ff::/48, 2a03:2880:20::/48, 2a03:2880:20ff::/48, 2a03:2880:21ff::/48, 2a03:2880:30ff::/48, 2a03:2880:31ff::/48, 2a03:2880:1010::/48, 2a03:2880:1020::/48, 2a03:2880:2020::/48, 2a03:2880:2050::/48, 2a03:2880:2040::/48, 2a03:2880:2110::/48, 2a03:2880:2130::/48, 2a03:2880:3010::/48, 2a03:2880:3020::/48 const botIP string = "31.13.99.8" - return masqueradeAsTrustedBot(botUA, botIP) + const ja3 string = "771,49199-49195-49171-49161-49200-49196-49172-49162-51-57-50-49169-49159-47-53-10-5-4-255,0-11-10-13-13172-16,23-25-28-27-24-26-22-14-13-11-12-9-10,0-1-2" + return masqueradeAsTrustedBot(botUA, botIP, ja3) } // MasqueradeAsYandexBot modifies user agent and x-forwarded for @@ -43,7 +47,8 @@ func MasqueradeAsYandexBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" // 100.43.90.0/24, 37.9.115.0/24, 37.140.165.0/24, 77.88.22.0/25, 77.88.29.0/24, 77.88.31.0/24, 77.88.59.0/24, 84.201.146.0/24, 84.201.148.0/24, 84.201.149.0/24, 87.250.243.0/24, 87.250.253.0/24, 93.158.147.0/24, 93.158.148.0/24, 93.158.151.0/24, 93.158.153.0/32, 95.108.128.0/24, 95.108.138.0/24, 95.108.150.0/23, 95.108.158.0/24, 95.108.156.0/24, 95.108.188.128/25, 95.108.234.0/24, 95.108.248.0/24, 100.43.80.0/24, 130.193.62.0/24, 141.8.153.0/24, 178.154.165.0/24, 178.154.166.128/25, 178.154.173.29, 178.154.200.158, 178.154.202.0/24, 178.154.205.0/24, 178.154.239.0/24, 178.154.243.0/24, 37.9.84.253, 199.21.99.99, 178.154.162.29, 178.154.203.251, 178.154.211.250, 178.154.171.0/24, 178.154.200.0/24, 178.154.244.0/24, 178.154.246.0/24, 95.108.181.0/24, 95.108.246.252, 5.45.254.0/24, 5.255.253.0/24, 37.140.141.0/24, 37.140.188.0/24, 100.43.81.0/24, 100.43.85.0/24, 100.43.91.0/24, 199.21.99.0/24, 2a02:6b8:b000::/32, 2a02:6b8:b010::/32, 2a02:6b8:b011::/32, 2a02:6b8:c0e::/32 const botIP string = "37.9.115.9" - return masqueradeAsTrustedBot(botUA, botIP) + const ja3 string = "769,49200-49196-49192-49188-49172-49162-165-163-161-159-107-106-105-104-57-56-55-54-136-135-134-133-49202-49198-49194-49190-49167-49157-157-61-53-132-49199-49195-49191-49187-49171-49161-164-162-160-158-103-64-63-62-51-50-49-48-154-153-152-151-69-68-67-66-49201-49197-49193-49189-49166-49156-156-60-47-150-65-7-49169-49159-49164-49154-5-4-49170-49160-22-19-16-13-49165-49155-10-255,0-11-10-35-13-15,23-25-28-27-24-26-22-14-13-11-12-9-10,0-1-2" + return masqueradeAsTrustedBot(botUA, botIP, ja3) } // MasqueradeAsBaiduBot modifies user agent and x-forwarded for @@ -52,7 +57,7 @@ func MasqueradeAsBaiduBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" // 180.76.15.0/24, 119.63.196.0/24, 115.239.212./24, 119.63.199.0/24, 122.81.208.0/22, 123.125.71.0/24, 180.76.4.0/24, 180.76.5.0/24, 180.76.6.0/24, 185.10.104.0/24, 220.181.108.0/24, 220.181.51.0/24, 111.13.102.0/24, 123.125.67.144/29, 123.125.67.152/31, 61.135.169.0/24, 123.125.68.68/30, 123.125.68.72/29, 123.125.68.80/28, 123.125.68.96/30, 202.46.48.0/20, 220.181.38.0/24, 123.125.68.80/30, 123.125.68.84/31, 123.125.68.0/24 const botIP string = "180.76.15.7" - return masqueradeAsTrustedBot(botUA, botIP) + return masqueradeAsTrustedBot(botUA, botIP, "") } // MasqueradeAsDuckDuckBot modifies user agent and x-forwarded for @@ -61,7 +66,7 @@ func MasqueradeAsDuckDuckBot() proxychain.RequestModification { const botUA string = "DuckDuckBot/1.0; (+http://duckduckgo.com/duckduckbot.html)" // 46.51.197.88, 46.51.197.89, 50.18.192.250, 50.18.192.251, 107.21.1.61, 176.34.131.233, 176.34.135.167, 184.72.106.52, 184.72.115.86 const botIP string = "46.51.197.88" - return masqueradeAsTrustedBot(botUA, botIP) + return masqueradeAsTrustedBot(botUA, botIP, "") } // MasqueradeAsYahooBot modifies user agent and x-forwarded for @@ -69,11 +74,12 @@ func MasqueradeAsDuckDuckBot() proxychain.RequestModification { func MasqueradeAsYahooBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" // 5.255.250.0/24, 37.9.87.0/24, 67.195.37.0/24, 67.195.50.0/24, 67.195.110.0/24, 67.195.111.0/24, 67.195.112.0/23, 67.195.114.0/24, 67.195.115.0/24, 68.180.224.0/21, 72.30.132.0/24, 72.30.142.0/24, 72.30.161.0/24, 72.30.196.0/24, 72.30.198.0/24, 74.6.254.0/24, 74.6.8.0/24, 74.6.13.0/24, 74.6.17.0/24, 74.6.18.0/24, 74.6.22.0/24, 74.6.27.0/24, 74.6.168.0/24, 77.88.5.0/24, 77.88.47.0/24, 93.158.161.0/24, 98.137.72.0/24, 98.137.206.0/24, 98.137.207.0/24, 98.139.168.0/24, 114.111.95.0/24, 124.83.159.0/24, 124.83.179.0/24, 124.83.223.0/24, 141.8.144.0/24, 183.79.63.0/24, 183.79.92.0/24, 203.216.255.0/24, 211.14.11.0/24 + const ja3 = "769,49200-49196-49192-49188-49172-49162-163-159-107-106-57-56-136-135-49202-49198-49194-49190-49167-49157-157-61-53-132-49199-49195-49191-49187-49171-49161-162-158-103-64-51-50-49170-49160-154-153-69-68-22-19-49201-49197-49193-49189-49166-49156-49165-49155-156-60-47-150-65-10-7-49169-49159-49164-49154-5-4-255,0-11-10-13-15,25-24-23,0-1-2" const botIP string = "37.9.87.5" - return masqueradeAsTrustedBot(botUA, botIP) + return masqueradeAsTrustedBot(botUA, botIP, ja3) } -func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModification { +func masqueradeAsTrustedBot(botUA string, botIP string, ja3 string) proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { chain.AddOnceRequestModifications( SpoofUserAgent(botUA), @@ -81,6 +87,14 @@ func masqueradeAsTrustedBot(botUA string, botIP string) proxychain.RequestModifi DeleteRequestHeader("referrer"), DeleteRequestHeader("origin"), ) + + if ja3 != "" { + chain.AddOnceRequestModifications( + //SpoofJA3fingerprint(ja3, botUA), + SpoofJA3fingerprint(ja3, ""), + ) + } + return nil } } diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index 9c8be538..b34d1ce7 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -1,7 +1,8 @@ package requestmodifers import ( - "net/http" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "ladder/proxychain" ) diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index eeab810b..6c4194ce 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -5,7 +5,8 @@ import ( "encoding/json" "fmt" "net" - "net/http" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "time" "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifers/spoof_ja3_fingerprint.go new file mode 100644 index 00000000..c38fd691 --- /dev/null +++ b/proxychain/requestmodifers/spoof_ja3_fingerprint.go @@ -0,0 +1,451 @@ +package requestmodifers + +import ( + "ladder/proxychain" + + "strconv" + + "crypto/sha256" + + // "crypto/tls" + "context" + "errors" + "fmt" + "net" + + "strings" + "sync" + + http "github.com/Danny-Dasilva/fhttp" + "github.com/Danny-Dasilva/fhttp/http2" + utls "github.com/Danny-Dasilva/utls" + "golang.org/x/net/proxy" +) + +// SpoofJA3fingerprint modifies the TLS client and user agent to spoof a particular JA3 fingerprint +// Some anti-bot WAFs such as cloudflare can fingerprint the fields of the TLS hello packet, and the order in which they appear +// https://web.archive.org/web/20231126224326/https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/ +// https://web.archive.org/web/20231119065253/https://developers.cloudflare.com/bots/concepts/ja3-fingerprint/ +func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { + //fmt.Println(ja3) + return func(chain *proxychain.ProxyChain) error { + spoofConfig := browser{ + UserAgent: userAgent, + JA3: ja3, + InsecureSkipVerify: false, + } + + // deep copy existing client while modifying http transport + ja3SpoofClient := &http.Client{ + //Transport: newJA3SpooferTransport(spoofConfig, proxy), + Transport: newJA3SpooferTransport(spoofConfig), + Timeout: chain.Client.Timeout, + CheckRedirect: chain.Client.CheckRedirect, + } + + chain.SetOnceHTTPClient(ja3SpoofClient) + return nil + } +} + +// SpoofJA3fingerprintWithProxy modifies the TLS client and user agent to spoof a particular JA3 fingerprint and use a proxy.ContextDialer from the "golang.org/x/net/proxy" +// Some anti-bot WAFs such as cloudflare can fingerprint the fields of the TLS hello packet, and the order in which they appear +// https://web.archive.org/web/20231126224326/https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/ +// https://web.archive.org/web/20231119065253/https://developers.cloudflare.com/bots/concepts/ja3-fingerprint/ +func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.ContextDialer) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + spoofConfig := browser{ + UserAgent: userAgent, + JA3: ja3, + InsecureSkipVerify: false, + } + + // deep copy existing client while modifying http transport + ja3SpoofClient := &http.Client{ + //Transport: newJA3SpooferTransport(spoofConfig, proxy), + Transport: newJA3SpooferTransport(spoofConfig, proxy), + Timeout: chain.Client.Timeout, + CheckRedirect: chain.Client.CheckRedirect, + } + + chain.SetOnceHTTPClient(ja3SpoofClient) + return nil + } +} + +// ============================================================================================== // +// The following code is adapated from https://github.com/Danny-Dasilva/CycleTLS with GPL3 license +// ============================================================================================== // +var errProtocolNegotiated = errors.New("protocol negotiated") + +type roundTripper struct { + sync.Mutex + // fix typing + JA3 string + UserAgent string + + InsecureSkipVerify bool + cachedConnections map[string]net.Conn + cachedTransports map[string]http.RoundTripper + + dialer proxy.ContextDialer +} + +func (rt *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + req.Header.Set("User-Agent", rt.UserAgent) + addr := rt.getDialTLSAddr(req) + if _, ok := rt.cachedTransports[addr]; !ok { + if err := rt.getTransport(req, addr); err != nil { + return nil, err + } + } + return rt.cachedTransports[addr].RoundTrip(req) +} + +func (rt *roundTripper) getTransport(req *http.Request, addr string) error { + switch strings.ToLower(req.URL.Scheme) { + case "http": + rt.cachedTransports[addr] = &http.Transport{DialContext: rt.dialer.DialContext, DisableKeepAlives: true} + return nil + case "https": + default: + return fmt.Errorf("invalid URL scheme: [%v]", req.URL.Scheme) + } + + _, err := rt.dialTLS(req.Context(), "tcp", addr) + switch err { + case errProtocolNegotiated: + case nil: + // Should never happen. + panic("dialTLS returned no error when determining cachedTransports") + default: + return err + } + + return nil +} + +func (rt *roundTripper) dialTLS(ctx context.Context, network, addr string) (net.Conn, error) { + rt.Lock() + defer rt.Unlock() + + // If we have the connection from when we determined the HTTPS + // cachedTransports to use, return that. + if conn := rt.cachedConnections[addr]; conn != nil { + return conn, nil + } + rawConn, err := rt.dialer.DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + + var host string + if host, _, err = net.SplitHostPort(addr); err != nil { + host = addr + } + ////////////////// + + spec, err := StringToSpec(rt.JA3, rt.UserAgent) + if err != nil { + return nil, err + } + + conn := utls.UClient(rawConn, &utls.Config{ServerName: host, InsecureSkipVerify: rt.InsecureSkipVerify}, // MinVersion: tls.VersionTLS10, + // MaxVersion: tls.VersionTLS13, + + utls.HelloCustom) + + if err := conn.ApplyPreset(spec); err != nil { + return nil, err + } + + if err = conn.Handshake(); err != nil { + _ = conn.Close() + + if err.Error() == "tls: CurvePreferences includes unsupported curve" { + //fix this + return nil, fmt.Errorf("conn.Handshake() error for tls 1.3 (please retry request): %+v", err) + } + return nil, fmt.Errorf("uTlsConn.Handshake() error: %+v", err) + } + + ////////// + if rt.cachedTransports[addr] != nil { + return conn, nil + } + + // No http.Transport constructed yet, create one based on the results + // of ALPN. + switch conn.ConnectionState().NegotiatedProtocol { + case http2.NextProtoTLS: + parsedUserAgent := parseUserAgent(rt.UserAgent).UserAgent + t2 := http2.Transport{DialTLS: rt.dialTLSHTTP2, + PushHandler: &http2.DefaultPushHandler{}, + Navigator: parsedUserAgent, + } + rt.cachedTransports[addr] = &t2 + default: + // Assume the remote peer is speaking HTTP 1.x + TLS. + rt.cachedTransports[addr] = &http.Transport{DialTLSContext: rt.dialTLS} + + } + + // Stash the connection just established for use servicing the + // actual request (should be near-immediate). + rt.cachedConnections[addr] = conn + + return nil, errProtocolNegotiated +} + +func (rt *roundTripper) dialTLSHTTP2(network, addr string, _ *utls.Config) (net.Conn, error) { + return rt.dialTLS(context.Background(), network, addr) +} + +func (rt *roundTripper) getDialTLSAddr(req *http.Request) string { + host, port, err := net.SplitHostPort(req.URL.Host) + if err == nil { + return net.JoinHostPort(host, port) + } + return net.JoinHostPort(req.URL.Host, "443") // we can assume port is 443 at this point +} + +func (rt *roundTripper) CloseIdleConnections() { + for addr, conn := range rt.cachedConnections { + _ = conn.Close() + delete(rt.cachedConnections, addr) + } +} + +func newJA3SpooferTransport(browser browser, dialer ...proxy.ContextDialer) http.RoundTripper { + if dialer != nil && len(dialer) > 0 { + return &roundTripper{ + dialer: dialer[0], + JA3: browser.JA3, + UserAgent: browser.UserAgent, + cachedTransports: make(map[string]http.RoundTripper), + cachedConnections: make(map[string]net.Conn), + InsecureSkipVerify: browser.InsecureSkipVerify, + } + } + + return &roundTripper{ + dialer: proxy.Direct, + + JA3: browser.JA3, + UserAgent: browser.UserAgent, + cachedTransports: make(map[string]http.RoundTripper), + cachedConnections: make(map[string]net.Conn), + InsecureSkipVerify: browser.InsecureSkipVerify, + } +} + +type browser struct { + // Return a greeting that embeds the name in a message. + JA3 string + UserAgent string + InsecureSkipVerify bool +} + +// adapted from +// https://github.com/Danny-Dasilva/CycleTLS/blob/963daacd92414dc84a0ec6930dd252381cb1247a/cycletls/utils.go#L27 +const ( + chrome = "chrome" //chrome User agent enum + firefox = "firefox" //firefox User agent enum +) + +type UserAgent struct { + UserAgent string + HeaderOrder []string +} + +// ParseUserAgent returns the pseudo header order and user agent string for chrome/firefox +func parseUserAgent(userAgent string) UserAgent { + switch { + case strings.Contains(strings.ToLower(userAgent), "chrome"): + return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}} + case strings.Contains(strings.ToLower(userAgent), "firefox"): + return UserAgent{firefox, []string{":method", ":path", ":authority", ":scheme"}} + default: + return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}} + } + +} + +// ============== + +// StringToSpec creates a ClientHelloSpec based on a JA3 string +func StringToSpec(ja3 string, userAgent string) (*utls.ClientHelloSpec, error) { + parsedUserAgent := parseUserAgent(userAgent).UserAgent + extMap := genMap() + tokens := strings.Split(ja3, ",") + + version := tokens[0] + ciphers := strings.Split(tokens[1], "-") + extensions := strings.Split(tokens[2], "-") + curves := strings.Split(tokens[3], "-") + if len(curves) == 1 && curves[0] == "" { + curves = []string{} + } + pointFormats := strings.Split(tokens[4], "-") + if len(pointFormats) == 1 && pointFormats[0] == "" { + pointFormats = []string{} + } + // parse curves + var targetCurves []utls.CurveID + targetCurves = append(targetCurves, utls.CurveID(utls.GREASE_PLACEHOLDER)) //append grease for Chrome browsers + for _, c := range curves { + cid, err := strconv.ParseUint(c, 10, 16) + if err != nil { + return nil, err + } + targetCurves = append(targetCurves, utls.CurveID(cid)) + // if cid != uint64(utls.CurveP521) { + // CurveP521 sometimes causes handshake errors + // } + } + extMap["10"] = &utls.SupportedCurvesExtension{Curves: targetCurves} + + // parse point formats + var targetPointFormats []byte + for _, p := range pointFormats { + pid, err := strconv.ParseUint(p, 10, 8) + if err != nil { + return nil, err + } + targetPointFormats = append(targetPointFormats, byte(pid)) + } + extMap["11"] = &utls.SupportedPointsExtension{SupportedPoints: targetPointFormats} + + // set extension 43 + vid64, err := strconv.ParseUint(version, 10, 16) + if err != nil { + return nil, err + } + vid := uint16(vid64) + // extMap["43"] = &utls.SupportedVersionsExtension{ + // Versions: []uint16{ + // utls.VersionTLS12, + // }, + // } + + // build extenions list + var exts []utls.TLSExtension + //Optionally Add Chrome Grease Extension + if parsedUserAgent == chrome { + exts = append(exts, &utls.UtlsGREASEExtension{}) + } + for _, e := range extensions { + te, ok := extMap[e] + if !ok { + return nil, errors.New("string2spec extension error") + } + // //Optionally add Chrome Grease Extension + if e == "21" && parsedUserAgent == chrome { + exts = append(exts, &utls.UtlsGREASEExtension{}) + } + exts = append(exts, te) + } + //Add this back in if user agent is chrome and no padding extension is given + // if parsedUserAgent == chrome { + // exts = append(exts, &utls.UtlsGREASEExtension{}) + // exts = append(exts, &utls.UtlsPaddingExtension{GetPaddingLen: utls.BoringPaddingStyle}) + // } + // build SSLVersion + // vid64, err := strconv.ParseUint(version, 10, 16) + // if err != nil { + // return nil, err + // } + + // build CipherSuites + var suites []uint16 + //Optionally Add Chrome Grease Extension + if parsedUserAgent == chrome { + suites = append(suites, utls.GREASE_PLACEHOLDER) + } + for _, c := range ciphers { + cid, err := strconv.ParseUint(c, 10, 16) + if err != nil { + return nil, err + } + suites = append(suites, uint16(cid)) + } + _ = vid + return &utls.ClientHelloSpec{ + // TLSVersMin: vid, + // TLSVersMax: vid, + CipherSuites: suites, + CompressionMethods: []byte{0}, + Extensions: exts, + GetSessionID: sha256.Sum256, + }, nil +} + +func genMap() (extMap map[string]utls.TLSExtension) { + extMap = map[string]utls.TLSExtension{ + "0": &utls.SNIExtension{}, + "5": &utls.StatusRequestExtension{}, + // These are applied later + // "10": &tls.SupportedCurvesExtension{...} + // "11": &tls.SupportedPointsExtension{...} + "13": &utls.SignatureAlgorithmsExtension{ + SupportedSignatureAlgorithms: []utls.SignatureScheme{ + utls.ECDSAWithP256AndSHA256, + utls.ECDSAWithP384AndSHA384, + utls.ECDSAWithP521AndSHA512, + utls.PSSWithSHA256, + utls.PSSWithSHA384, + utls.PSSWithSHA512, + utls.PKCS1WithSHA256, + utls.PKCS1WithSHA384, + utls.PKCS1WithSHA512, + utls.ECDSAWithSHA1, + utls.PKCS1WithSHA1, + }, + }, + "16": &utls.ALPNExtension{ + AlpnProtocols: []string{"h2", "http/1.1"}, + }, + "17": &utls.GenericExtension{Id: 17}, // status_request_v2 + "18": &utls.SCTExtension{}, + "21": &utls.UtlsPaddingExtension{GetPaddingLen: utls.BoringPaddingStyle}, + "22": &utls.GenericExtension{Id: 22}, // encrypt_then_mac + "23": &utls.UtlsExtendedMasterSecretExtension{}, + "27": &utls.CompressCertificateExtension{ + Algorithms: []utls.CertCompressionAlgo{utls.CertCompressionBrotli}, + }, + "28": &utls.FakeRecordSizeLimitExtension{}, //Limit: 0x4001 + "35": &utls.SessionTicketExtension{}, + "34": &utls.GenericExtension{Id: 34}, + "41": &utls.GenericExtension{Id: 41}, //FIXME pre_shared_key + "43": &utls.SupportedVersionsExtension{Versions: []uint16{ + utls.GREASE_PLACEHOLDER, + utls.VersionTLS13, + utls.VersionTLS12, + utls.VersionTLS11, + utls.VersionTLS10}}, + "44": &utls.CookieExtension{}, + "45": &utls.PSKKeyExchangeModesExtension{Modes: []uint8{ + utls.PskModeDHE, + }}, + "49": &utls.GenericExtension{Id: 49}, // post_handshake_auth + "50": &utls.GenericExtension{Id: 50}, // signature_algorithms_cert + "51": &utls.KeyShareExtension{KeyShares: []utls.KeyShare{ + {Group: utls.CurveID(utls.GREASE_PLACEHOLDER), Data: []byte{0}}, + {Group: utls.X25519}, + + // {Group: utls.CurveP384}, known bug missing correct extensions for handshake + }}, + "30032": &utls.GenericExtension{Id: 0x7550, Data: []byte{0}}, //FIXME + "13172": &utls.NPNExtension{}, + "17513": &utls.ApplicationSettingsExtension{ + SupportedALPNList: []string{ + "h2", + }, + }, + "65281": &utls.RenegotiationInfoExtension{ + Renegotiation: utls.RenegotiateOnceAsClient, + }, + "65037": &utls.GenericExtension{Id: 65037}, + } + return +} From 81cda1101c2087f13b448f85c80cf59059983c52 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 20:09:03 -0600 Subject: [PATCH 029/178] improve wayback/archist display / refactor cycletls transport with PR in ext lib --- go.mod | 20 +- go.sum | 404 ++++++++++++++++- .../requestmodifers/request_archive_is.go | 21 +- .../request_wayback_machine.go | 28 +- .../requestmodifers/spoof_ja3_fingerprint.go | 413 +----------------- 5 files changed, 453 insertions(+), 433 deletions(-) diff --git a/go.mod b/go.mod index 0a209340..3bce094b 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,8 @@ module ladder go 1.21.1 require ( - github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6 - github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e + github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744 + github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa github.com/akamensky/argparse v1.4.0 github.com/gofiber/fiber/v2 v2.50.0 github.com/stretchr/testify v1.8.4 @@ -12,8 +12,14 @@ require ( ) require ( + github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e // indirect + github.com/cloudflare/circl v1.3.6 // indirect github.com/dsnet/compress v0.0.1 // indirect - golang.org/x/crypto v0.15.0 // indirect + github.com/gaukas/godicttls v0.0.4 // indirect + github.com/gorilla/websocket v1.5.1 // indirect + github.com/quic-go/quic-go v0.40.0 // indirect + github.com/refraction-networking/utls v1.5.4 // indirect + golang.org/x/crypto v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect ) @@ -21,7 +27,7 @@ require ( github.com/andybalholm/brotli v1.0.6 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/google/uuid v1.4.0 // indirect - github.com/klauspost/compress v1.17.2 // indirect + github.com/klauspost/compress v1.17.3 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect @@ -30,7 +36,7 @@ require ( github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.50.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect - golang.org/x/net v0.18.0 - golang.org/x/sys v0.14.0 // indirect - golang.org/x/term v0.14.0 + golang.org/x/net v0.19.0 + golang.org/x/sys v0.15.0 // indirect + golang.org/x/term v0.15.0 ) diff --git a/go.sum b/go.sum index dd9defbd..b9cde015 100644 --- a/go.sum +++ b/go.sum @@ -1,25 +1,128 @@ -github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6 h1:Wzbitazy0HugGNRACX7ZB1En21LT/TiVF6YbxoTTqN8= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= +dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= +dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= +dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= +dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744 h1:k3rvW2jPAY5HWey6IuK7rMJhOqN7xOArYl8MjXaqjxA= +github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744/go.mod h1:rbto+nJHyL8g0cEO03d+BGlkFnrTQVQmnZboV9wFZKE= +github.com/Danny-Dasilva/fhttp v0.0.0-20220418170016-5ea1c560e6a8/go.mod h1:t534vrahRNn9ax1tRiYSUvwJSa9jWaYYgETlfodBPm4= github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6/go.mod h1:2IT2IFG+d+zzFuj3+ksGtVytcCBsF402zMNWHsWhD2U= +github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa h1:NTiEQqte2l3BrrE0WznNwxO2urBhkw2vztdhJq1XVg0= +github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa/go.mod h1:Hvab/V/YKCDXsEpKYKHjAXH5IFOmoq9FsfxjztEqvDc= +github.com/Danny-Dasilva/utls v0.0.0-20220418055514-7c61e0dbb504/go.mod h1:A2g8gPTJWDD3Y4iCTNon2vG3VcjdTBcgWBlZtopfNxU= github.com/Danny-Dasilva/utls v0.0.0-20220418175931-f38e470e04f2/go.mod h1:A2g8gPTJWDD3Y4iCTNon2vG3VcjdTBcgWBlZtopfNxU= github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e h1:tqiguW0yAcIwQBQtD+d2rjBnboqB7CwG1OZ12F8avX8= github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e/go.mod h1:ssfbVNUfWJVRfW41RTpedOUlGXSq3J6aLmirUVkDgJk= +github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= +github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.6 h1:/xbKIqSHbZXHwkhbrhrt2YOHIwYJlXH94E3tI/gDlUg= +github.com/cloudflare/circl v1.3.6/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dsnet/compress v0.0.1 h1:PlZu0n3Tuv04TzpfPbrnI0HW/YwodEXDS+oPKahKF0Q= github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo= github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk= +github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= -github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.3 h1:qkRjuerhUU1EmXLYGkSH6EZL+vPSxIrYjLNAK4slzwA= +github.com/klauspost/compress v1.17.3/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -27,13 +130,98 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= +github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= +github.com/onsi/ginkgo/v2 v2.2.0/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= +github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= +github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= +github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= +github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= +github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= +github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= +github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= +github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= +github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= +github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= +github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= +github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= +github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= +github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= +github.com/quic-go/quic-go v0.40.0 h1:GYd1iznlKm7dpHD7pOVpUvItgMPo/jrMgDWZhMCecqw= +github.com/quic-go/quic-go v0.40.0/go.mod h1:PeN7kuVJ4xZbxSv/4OX6S1USOX8MJvydwpTx31vx60c= +github.com/refraction-networking/utls v1.5.4 h1:9k6EO2b8TaOGsQ7Pl7p9w6PUhx18/ZCeT0WNTZ7Uw4o= +github.com/refraction-networking/utls v1.5.4/go.mod h1:SPuDbBmgLGp8s+HLNc83FuavwZCFoMmExj+ltUHiHUw= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= +github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= +github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= +github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= +github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= +github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= +github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= +github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= +github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= +github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= +github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= +github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= @@ -41,36 +229,228 @@ github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= +github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= +golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= -golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= +golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= -golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= -golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/proxychain/requestmodifers/request_archive_is.go b/proxychain/requestmodifers/request_archive_is.go index c8253f5c..db9d36f3 100644 --- a/proxychain/requestmodifers/request_archive_is.go +++ b/proxychain/requestmodifers/request_archive_is.go @@ -5,6 +5,8 @@ import ( "net/url" "ladder/proxychain" + tx "ladder/proxychain/responsemodifers" + "regexp" ) const archivistUrl string = "https://archive.is/latest" @@ -12,8 +14,9 @@ const archivistUrl string = "https://archive.is/latest" // RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is func RequestArchiveIs() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { + rURL := preventRecursiveArchivistURLs(chain.Request.URL.String()) chain.Request.URL.RawQuery = "" - newURL, err := url.Parse(fmt.Sprintf("%s/%s", archivistUrl, chain.Request.URL.String())) + newURL, err := url.Parse(fmt.Sprintf("%s/%s", archivistUrl, rURL)) if err != nil { return err } @@ -23,6 +26,22 @@ func RequestArchiveIs() proxychain.RequestModification { chain.AddOnceRequestModifications(ResolveWithGoogleDoH()) chain.Request.URL = newURL + + // cleanup archivst headers + script := `[...document.querySelector("body > center").childNodes].filter(e => e.id != "SOLID").forEach(e => e.remove())` + chain.AddResponseModifications( + tx.InjectScriptAfterDOMContentLoaded(script), + ) return nil } } + +// https://archive.is/20200421201055/https://rt.live/ -> http://rt.live/ +func preventRecursiveArchivistURLs(url string) string { + re := regexp.MustCompile(`https?:\/\/archive\.is\/\d+\/(https?:\/\/.*)`) + match := re.FindStringSubmatch(url) + if match != nil { + return match[1] + } + return url +} diff --git a/proxychain/requestmodifers/request_wayback_machine.go b/proxychain/requestmodifers/request_wayback_machine.go index 536cc09e..141beccf 100644 --- a/proxychain/requestmodifers/request_wayback_machine.go +++ b/proxychain/requestmodifers/request_wayback_machine.go @@ -4,20 +4,40 @@ import ( "net/url" "ladder/proxychain" + tx "ladder/proxychain/responsemodifers" + "regexp" ) const waybackUrl string = "https://web.archive.org/web/" // RequestWaybackMachine modifies a ProxyChain's URL to request the wayback machine (archive.org) version. func RequestWaybackMachine() proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - px.Request.URL.RawQuery = "" - newURLString := waybackUrl + px.Request.URL.String() + return func(chain *proxychain.ProxyChain) error { + chain.Request.URL.RawQuery = "" + rURL := preventRecursiveWaybackURLs(chain.Request.URL.String()) + newURLString := waybackUrl + rURL newURL, err := url.Parse(newURLString) if err != nil { return err } - px.Request.URL = newURL + chain.Request.URL = newURL + + // cleanup wayback headers + script := `["wm-ipp-print", "wm-ipp-base"].forEach(id => { try { document.getElementById(id).remove() } catch{ } })` + chain.AddOnceResponseModifications( + tx.InjectScriptAfterDOMContentLoaded(script), + ) + return nil } } + +func preventRecursiveWaybackURLs(url string) string { + re := regexp.MustCompile(`https:\/\/web\.archive\.org\/web\/\d+\/\*(https?:\/\/.*)`) + + match := re.FindStringSubmatch(url) + if match != nil { + return match[1] + } + return url +} diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifers/spoof_ja3_fingerprint.go index c38fd691..075dab99 100644 --- a/proxychain/requestmodifers/spoof_ja3_fingerprint.go +++ b/proxychain/requestmodifers/spoof_ja3_fingerprint.go @@ -1,25 +1,10 @@ package requestmodifers import ( - "ladder/proxychain" - - "strconv" - - "crypto/sha256" - - // "crypto/tls" - "context" - "errors" - "fmt" - "net" - - "strings" - "sync" - + "github.com/Danny-Dasilva/CycleTLS/cycletls" http "github.com/Danny-Dasilva/fhttp" - "github.com/Danny-Dasilva/fhttp/http2" - utls "github.com/Danny-Dasilva/utls" "golang.org/x/net/proxy" + "ladder/proxychain" ) // SpoofJA3fingerprint modifies the TLS client and user agent to spoof a particular JA3 fingerprint @@ -29,16 +14,9 @@ import ( func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { //fmt.Println(ja3) return func(chain *proxychain.ProxyChain) error { - spoofConfig := browser{ - UserAgent: userAgent, - JA3: ja3, - InsecureSkipVerify: false, - } - // deep copy existing client while modifying http transport ja3SpoofClient := &http.Client{ - //Transport: newJA3SpooferTransport(spoofConfig, proxy), - Transport: newJA3SpooferTransport(spoofConfig), + Transport: cycletls.NewTransport(ja3, userAgent), Timeout: chain.Client.Timeout, CheckRedirect: chain.Client.CheckRedirect, } @@ -54,16 +32,10 @@ func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModific // https://web.archive.org/web/20231119065253/https://developers.cloudflare.com/bots/concepts/ja3-fingerprint/ func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.ContextDialer) proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - spoofConfig := browser{ - UserAgent: userAgent, - JA3: ja3, - InsecureSkipVerify: false, - } // deep copy existing client while modifying http transport ja3SpoofClient := &http.Client{ - //Transport: newJA3SpooferTransport(spoofConfig, proxy), - Transport: newJA3SpooferTransport(spoofConfig, proxy), + Transport: cycletls.NewTransportWithProxy(ja3, userAgent, proxy), Timeout: chain.Client.Timeout, CheckRedirect: chain.Client.CheckRedirect, } @@ -72,380 +44,3 @@ func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.Cont return nil } } - -// ============================================================================================== // -// The following code is adapated from https://github.com/Danny-Dasilva/CycleTLS with GPL3 license -// ============================================================================================== // -var errProtocolNegotiated = errors.New("protocol negotiated") - -type roundTripper struct { - sync.Mutex - // fix typing - JA3 string - UserAgent string - - InsecureSkipVerify bool - cachedConnections map[string]net.Conn - cachedTransports map[string]http.RoundTripper - - dialer proxy.ContextDialer -} - -func (rt *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - req.Header.Set("User-Agent", rt.UserAgent) - addr := rt.getDialTLSAddr(req) - if _, ok := rt.cachedTransports[addr]; !ok { - if err := rt.getTransport(req, addr); err != nil { - return nil, err - } - } - return rt.cachedTransports[addr].RoundTrip(req) -} - -func (rt *roundTripper) getTransport(req *http.Request, addr string) error { - switch strings.ToLower(req.URL.Scheme) { - case "http": - rt.cachedTransports[addr] = &http.Transport{DialContext: rt.dialer.DialContext, DisableKeepAlives: true} - return nil - case "https": - default: - return fmt.Errorf("invalid URL scheme: [%v]", req.URL.Scheme) - } - - _, err := rt.dialTLS(req.Context(), "tcp", addr) - switch err { - case errProtocolNegotiated: - case nil: - // Should never happen. - panic("dialTLS returned no error when determining cachedTransports") - default: - return err - } - - return nil -} - -func (rt *roundTripper) dialTLS(ctx context.Context, network, addr string) (net.Conn, error) { - rt.Lock() - defer rt.Unlock() - - // If we have the connection from when we determined the HTTPS - // cachedTransports to use, return that. - if conn := rt.cachedConnections[addr]; conn != nil { - return conn, nil - } - rawConn, err := rt.dialer.DialContext(ctx, network, addr) - if err != nil { - return nil, err - } - - var host string - if host, _, err = net.SplitHostPort(addr); err != nil { - host = addr - } - ////////////////// - - spec, err := StringToSpec(rt.JA3, rt.UserAgent) - if err != nil { - return nil, err - } - - conn := utls.UClient(rawConn, &utls.Config{ServerName: host, InsecureSkipVerify: rt.InsecureSkipVerify}, // MinVersion: tls.VersionTLS10, - // MaxVersion: tls.VersionTLS13, - - utls.HelloCustom) - - if err := conn.ApplyPreset(spec); err != nil { - return nil, err - } - - if err = conn.Handshake(); err != nil { - _ = conn.Close() - - if err.Error() == "tls: CurvePreferences includes unsupported curve" { - //fix this - return nil, fmt.Errorf("conn.Handshake() error for tls 1.3 (please retry request): %+v", err) - } - return nil, fmt.Errorf("uTlsConn.Handshake() error: %+v", err) - } - - ////////// - if rt.cachedTransports[addr] != nil { - return conn, nil - } - - // No http.Transport constructed yet, create one based on the results - // of ALPN. - switch conn.ConnectionState().NegotiatedProtocol { - case http2.NextProtoTLS: - parsedUserAgent := parseUserAgent(rt.UserAgent).UserAgent - t2 := http2.Transport{DialTLS: rt.dialTLSHTTP2, - PushHandler: &http2.DefaultPushHandler{}, - Navigator: parsedUserAgent, - } - rt.cachedTransports[addr] = &t2 - default: - // Assume the remote peer is speaking HTTP 1.x + TLS. - rt.cachedTransports[addr] = &http.Transport{DialTLSContext: rt.dialTLS} - - } - - // Stash the connection just established for use servicing the - // actual request (should be near-immediate). - rt.cachedConnections[addr] = conn - - return nil, errProtocolNegotiated -} - -func (rt *roundTripper) dialTLSHTTP2(network, addr string, _ *utls.Config) (net.Conn, error) { - return rt.dialTLS(context.Background(), network, addr) -} - -func (rt *roundTripper) getDialTLSAddr(req *http.Request) string { - host, port, err := net.SplitHostPort(req.URL.Host) - if err == nil { - return net.JoinHostPort(host, port) - } - return net.JoinHostPort(req.URL.Host, "443") // we can assume port is 443 at this point -} - -func (rt *roundTripper) CloseIdleConnections() { - for addr, conn := range rt.cachedConnections { - _ = conn.Close() - delete(rt.cachedConnections, addr) - } -} - -func newJA3SpooferTransport(browser browser, dialer ...proxy.ContextDialer) http.RoundTripper { - if dialer != nil && len(dialer) > 0 { - return &roundTripper{ - dialer: dialer[0], - JA3: browser.JA3, - UserAgent: browser.UserAgent, - cachedTransports: make(map[string]http.RoundTripper), - cachedConnections: make(map[string]net.Conn), - InsecureSkipVerify: browser.InsecureSkipVerify, - } - } - - return &roundTripper{ - dialer: proxy.Direct, - - JA3: browser.JA3, - UserAgent: browser.UserAgent, - cachedTransports: make(map[string]http.RoundTripper), - cachedConnections: make(map[string]net.Conn), - InsecureSkipVerify: browser.InsecureSkipVerify, - } -} - -type browser struct { - // Return a greeting that embeds the name in a message. - JA3 string - UserAgent string - InsecureSkipVerify bool -} - -// adapted from -// https://github.com/Danny-Dasilva/CycleTLS/blob/963daacd92414dc84a0ec6930dd252381cb1247a/cycletls/utils.go#L27 -const ( - chrome = "chrome" //chrome User agent enum - firefox = "firefox" //firefox User agent enum -) - -type UserAgent struct { - UserAgent string - HeaderOrder []string -} - -// ParseUserAgent returns the pseudo header order and user agent string for chrome/firefox -func parseUserAgent(userAgent string) UserAgent { - switch { - case strings.Contains(strings.ToLower(userAgent), "chrome"): - return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}} - case strings.Contains(strings.ToLower(userAgent), "firefox"): - return UserAgent{firefox, []string{":method", ":path", ":authority", ":scheme"}} - default: - return UserAgent{chrome, []string{":method", ":authority", ":scheme", ":path"}} - } - -} - -// ============== - -// StringToSpec creates a ClientHelloSpec based on a JA3 string -func StringToSpec(ja3 string, userAgent string) (*utls.ClientHelloSpec, error) { - parsedUserAgent := parseUserAgent(userAgent).UserAgent - extMap := genMap() - tokens := strings.Split(ja3, ",") - - version := tokens[0] - ciphers := strings.Split(tokens[1], "-") - extensions := strings.Split(tokens[2], "-") - curves := strings.Split(tokens[3], "-") - if len(curves) == 1 && curves[0] == "" { - curves = []string{} - } - pointFormats := strings.Split(tokens[4], "-") - if len(pointFormats) == 1 && pointFormats[0] == "" { - pointFormats = []string{} - } - // parse curves - var targetCurves []utls.CurveID - targetCurves = append(targetCurves, utls.CurveID(utls.GREASE_PLACEHOLDER)) //append grease for Chrome browsers - for _, c := range curves { - cid, err := strconv.ParseUint(c, 10, 16) - if err != nil { - return nil, err - } - targetCurves = append(targetCurves, utls.CurveID(cid)) - // if cid != uint64(utls.CurveP521) { - // CurveP521 sometimes causes handshake errors - // } - } - extMap["10"] = &utls.SupportedCurvesExtension{Curves: targetCurves} - - // parse point formats - var targetPointFormats []byte - for _, p := range pointFormats { - pid, err := strconv.ParseUint(p, 10, 8) - if err != nil { - return nil, err - } - targetPointFormats = append(targetPointFormats, byte(pid)) - } - extMap["11"] = &utls.SupportedPointsExtension{SupportedPoints: targetPointFormats} - - // set extension 43 - vid64, err := strconv.ParseUint(version, 10, 16) - if err != nil { - return nil, err - } - vid := uint16(vid64) - // extMap["43"] = &utls.SupportedVersionsExtension{ - // Versions: []uint16{ - // utls.VersionTLS12, - // }, - // } - - // build extenions list - var exts []utls.TLSExtension - //Optionally Add Chrome Grease Extension - if parsedUserAgent == chrome { - exts = append(exts, &utls.UtlsGREASEExtension{}) - } - for _, e := range extensions { - te, ok := extMap[e] - if !ok { - return nil, errors.New("string2spec extension error") - } - // //Optionally add Chrome Grease Extension - if e == "21" && parsedUserAgent == chrome { - exts = append(exts, &utls.UtlsGREASEExtension{}) - } - exts = append(exts, te) - } - //Add this back in if user agent is chrome and no padding extension is given - // if parsedUserAgent == chrome { - // exts = append(exts, &utls.UtlsGREASEExtension{}) - // exts = append(exts, &utls.UtlsPaddingExtension{GetPaddingLen: utls.BoringPaddingStyle}) - // } - // build SSLVersion - // vid64, err := strconv.ParseUint(version, 10, 16) - // if err != nil { - // return nil, err - // } - - // build CipherSuites - var suites []uint16 - //Optionally Add Chrome Grease Extension - if parsedUserAgent == chrome { - suites = append(suites, utls.GREASE_PLACEHOLDER) - } - for _, c := range ciphers { - cid, err := strconv.ParseUint(c, 10, 16) - if err != nil { - return nil, err - } - suites = append(suites, uint16(cid)) - } - _ = vid - return &utls.ClientHelloSpec{ - // TLSVersMin: vid, - // TLSVersMax: vid, - CipherSuites: suites, - CompressionMethods: []byte{0}, - Extensions: exts, - GetSessionID: sha256.Sum256, - }, nil -} - -func genMap() (extMap map[string]utls.TLSExtension) { - extMap = map[string]utls.TLSExtension{ - "0": &utls.SNIExtension{}, - "5": &utls.StatusRequestExtension{}, - // These are applied later - // "10": &tls.SupportedCurvesExtension{...} - // "11": &tls.SupportedPointsExtension{...} - "13": &utls.SignatureAlgorithmsExtension{ - SupportedSignatureAlgorithms: []utls.SignatureScheme{ - utls.ECDSAWithP256AndSHA256, - utls.ECDSAWithP384AndSHA384, - utls.ECDSAWithP521AndSHA512, - utls.PSSWithSHA256, - utls.PSSWithSHA384, - utls.PSSWithSHA512, - utls.PKCS1WithSHA256, - utls.PKCS1WithSHA384, - utls.PKCS1WithSHA512, - utls.ECDSAWithSHA1, - utls.PKCS1WithSHA1, - }, - }, - "16": &utls.ALPNExtension{ - AlpnProtocols: []string{"h2", "http/1.1"}, - }, - "17": &utls.GenericExtension{Id: 17}, // status_request_v2 - "18": &utls.SCTExtension{}, - "21": &utls.UtlsPaddingExtension{GetPaddingLen: utls.BoringPaddingStyle}, - "22": &utls.GenericExtension{Id: 22}, // encrypt_then_mac - "23": &utls.UtlsExtendedMasterSecretExtension{}, - "27": &utls.CompressCertificateExtension{ - Algorithms: []utls.CertCompressionAlgo{utls.CertCompressionBrotli}, - }, - "28": &utls.FakeRecordSizeLimitExtension{}, //Limit: 0x4001 - "35": &utls.SessionTicketExtension{}, - "34": &utls.GenericExtension{Id: 34}, - "41": &utls.GenericExtension{Id: 41}, //FIXME pre_shared_key - "43": &utls.SupportedVersionsExtension{Versions: []uint16{ - utls.GREASE_PLACEHOLDER, - utls.VersionTLS13, - utls.VersionTLS12, - utls.VersionTLS11, - utls.VersionTLS10}}, - "44": &utls.CookieExtension{}, - "45": &utls.PSKKeyExchangeModesExtension{Modes: []uint8{ - utls.PskModeDHE, - }}, - "49": &utls.GenericExtension{Id: 49}, // post_handshake_auth - "50": &utls.GenericExtension{Id: 50}, // signature_algorithms_cert - "51": &utls.KeyShareExtension{KeyShares: []utls.KeyShare{ - {Group: utls.CurveID(utls.GREASE_PLACEHOLDER), Data: []byte{0}}, - {Group: utls.X25519}, - - // {Group: utls.CurveP384}, known bug missing correct extensions for handshake - }}, - "30032": &utls.GenericExtension{Id: 0x7550, Data: []byte{0}}, //FIXME - "13172": &utls.NPNExtension{}, - "17513": &utls.ApplicationSettingsExtension{ - SupportedALPNList: []string{ - "h2", - }, - }, - "65281": &utls.RenegotiationInfoExtension{ - Renegotiation: utls.RenegotiateOnceAsClient, - }, - "65037": &utls.GenericExtension{Id: 65037}, - } - return -} From 78e15d8342fa899543243eaca1756f6b7799cc32 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 20:29:03 -0600 Subject: [PATCH 030/178] fix archivist response modifier --- proxychain/requestmodifers/request_archive_is.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxychain/requestmodifers/request_archive_is.go b/proxychain/requestmodifers/request_archive_is.go index db9d36f3..b0f321a3 100644 --- a/proxychain/requestmodifers/request_archive_is.go +++ b/proxychain/requestmodifers/request_archive_is.go @@ -29,7 +29,7 @@ func RequestArchiveIs() proxychain.RequestModification { // cleanup archivst headers script := `[...document.querySelector("body > center").childNodes].filter(e => e.id != "SOLID").forEach(e => e.remove())` - chain.AddResponseModifications( + chain.AddOnceResponseModifications( tx.InjectScriptAfterDOMContentLoaded(script), ) return nil From 0fe02c397dd170317f720246f809e6347f8db85d Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 21:36:50 -0600 Subject: [PATCH 031/178] fix srcset handler in html rewriter --- handlers/proxy.go | 23 ++++++++--- proxychain/proxychain.go | 4 +- .../forward_request_headers.go | 4 +- .../modify_outgoing_cookies.go | 4 +- .../resolve_with_google_doh.go | 4 +- .../requestmodifers/spoof_ja3_fingerprint.go | 11 +++++ proxychain/responsemodifers/bypass_csp.go | 2 +- .../rewriters/html_token_url_rewriter.go | 40 ++++++++++--------- 8 files changed, 59 insertions(+), 33 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index c9e7a31a..ad8013e4 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -31,16 +31,27 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - rx.MasqueradeAsFacebookBot(), - rx.DeleteOutgoingCookies(), - // rx.RequestArchiveIs(), + //rx.MasqueradeAsFacebookBot(), + rx.MasqueradeAsGoogleBot(), + //rx.DeleteOutgoingCookies(), + rx.ForwardRequestHeaders(), + rx.SetOutgoingCookie("nyt-a", " "), + rx.SetOutgoingCookie("nyt-gdpr", "0"), + rx.SetOutgoingCookie("nyt-gdpr", "0"), + rx.SetOutgoingCookie("nyt-geo", "DE"), + rx.SetOutgoingCookie("nyt-privacy", "1"), + rx.SpoofReferrerFromGoogleSearch(), + //rx.RequestWaybackMachine(), + //rx.RequestArchiveIs(), ). AddResponseModifications( tx.BypassCORS(), - //tx.BypassContentSecurityPolicy(), + tx.BypassContentSecurityPolicy(), //tx.DeleteIncomingCookies(), - //tx.RewriteHTMLResourceURLs(), - //tx.PatchDynamicResourceURLs(), + tx.ForwardResponseHeaders(), + tx.RewriteHTMLResourceURLs(), + tx.PatchDynamicResourceURLs(), + //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 748b84f5..40778e88 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,8 +5,8 @@ import ( "fmt" "io" "log" - //"net/http" - http "github.com/Danny-Dasilva/fhttp" + "net/http" + //http "github.com/Danny-Dasilva/fhttp" "net/url" "strings" diff --git a/proxychain/requestmodifers/forward_request_headers.go b/proxychain/requestmodifers/forward_request_headers.go index 08d1f9be..d706123d 100644 --- a/proxychain/requestmodifers/forward_request_headers.go +++ b/proxychain/requestmodifers/forward_request_headers.go @@ -19,11 +19,12 @@ func init() { "x-forwarded-for": true, "x-real-ip": true, "forwarded": true, + "accept-encoding": true, } } // ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server -func ForwardRequestHeaders(ua string) proxychain.RequestModification { +func ForwardRequestHeaders() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { forwardHeaders := func(key, value []byte) { @@ -32,6 +33,7 @@ func ForwardRequestHeaders(ua string) proxychain.RequestModification { if forwardBlacklist[k] { return } + //fmt.Println(k, v) chain.Request.Header.Set(k, v) } diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index b34d1ce7..49101a3b 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -1,8 +1,8 @@ package requestmodifers import ( - //"net/http" - http "github.com/Danny-Dasilva/fhttp" + "net/http" + //http "github.com/Danny-Dasilva/fhttp" "ladder/proxychain" ) diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index 6c4194ce..5f9f305c 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -5,8 +5,8 @@ import ( "encoding/json" "fmt" "net" - //"net/http" - http "github.com/Danny-Dasilva/fhttp" + "net/http" + //http "github.com/Danny-Dasilva/fhttp" "time" "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifers/spoof_ja3_fingerprint.go index 075dab99..bbf893f2 100644 --- a/proxychain/requestmodifers/spoof_ja3_fingerprint.go +++ b/proxychain/requestmodifers/spoof_ja3_fingerprint.go @@ -1,5 +1,15 @@ package requestmodifers +import "ladder/proxychain" + +// TODO: fix +func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + return nil + } +} + +/* import ( "github.com/Danny-Dasilva/CycleTLS/cycletls" http "github.com/Danny-Dasilva/fhttp" @@ -44,3 +54,4 @@ func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.Cont return nil } } +*/ diff --git a/proxychain/responsemodifers/bypass_csp.go b/proxychain/responsemodifers/bypass_csp.go index 07912c86..22fcdbe8 100644 --- a/proxychain/responsemodifers/bypass_csp.go +++ b/proxychain/responsemodifers/bypass_csp.go @@ -11,7 +11,7 @@ import ( // from enforcing any CSP restrictions. This should run at the end of the chain. func BypassContentSecurityPolicy() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - chain.AddResponseModifications( + chain.AddOnceResponseModifications( DeleteResponseHeader("Content-Security-Policy"), DeleteResponseHeader("Content-Security-Policy-Report-Only"), DeleteResponseHeader("X-Content-Security-Policy"), diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index bc112bdf..ca71feeb 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -89,14 +89,20 @@ func NewHTMLTokenURLRewriter(baseURL *url.URL, proxyURL string) *HTMLTokenURLRew } func (r *HTMLTokenURLRewriter) ShouldModify(token *html.Token) bool { + //fmt.Printf("touch token: %s\n", token.String()) attrLen := len(token.Attr) if attrLen == 0 { return false } - if !(token.Type == html.StartTagToken || token.Type == html.SelfClosingTagToken) { - return false + + if token.Type == html.StartTagToken { + return true } - return true + + if token.Type == html.SelfClosingTagToken { + return true + } + return false } func (r *HTMLTokenURLRewriter) ModifyToken(token *html.Token) (string, string) { @@ -198,10 +204,10 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { if err != nil { return } - if !(u.Scheme == "http" || u.Scheme == "https") { + if u.Scheme != "http" || u.Scheme != "https" { return } - attr.Val = fmt.Sprintf("%s://%s/%s", baseURL.Scheme, baseURL.Host, escape(strings.TrimPrefix(attr.Val, "/"))) + attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) } @@ -234,31 +240,27 @@ func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { srcSetItems := strings.Split(attr.Val, ",") for i, srcItem := range srcSetItems { - srcParts := strings.Fields(srcItem) // Fields splits around whitespace, trimming them + srcParts := strings.Fields(srcItem) if len(srcParts) == 0 { - continue // skip empty items + continue } - // rewrite each URL part by passing in fake attribute - f := &html.Attribute{Val: srcParts[0], Key: "src"} - handleURLPart(f, baseURL) - urlPart := f.Key + fakeAttr := &html.Attribute{Val: srcParts[0], Key: "src"} + handleURLPart(fakeAttr, baseURL) - // First srcset item without a descriptor - if i == 0 && (len(srcParts) == 1 || !strings.HasSuffix(srcParts[1], "x")) { - srcSetBuilder.WriteString(urlPart) - } else { - srcSetBuilder.WriteString(fmt.Sprintf("%s %s", urlPart, srcParts[1])) + if i > 0 { + srcSetBuilder.WriteString(", ") } - if i < len(srcSetItems)-1 { - srcSetBuilder.WriteString(",") // Add comma for all but last item + srcSetBuilder.WriteString(fakeAttr.Val) + if len(srcParts) > 1 { + srcSetBuilder.WriteString(" ") + srcSetBuilder.WriteString(strings.Join(srcParts[1:], " ")) } } attr.Val = srcSetBuilder.String() - log.Printf("srcset url rewritten-> '%s'='%s'", attr.Key, attr.Val) } func escape(str string) string { From 9a8d4ac26134737221064fc6d56db4dd006d849b Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 27 Nov 2023 22:40:34 -0600 Subject: [PATCH 032/178] fix cycletls imports --- go.mod | 2 +- go.sum | 2 ++ proxychain/proxychain.go | 4 ++-- .../requestmodifers/masquerade_as_trusted_bot.go | 3 +-- proxychain/requestmodifers/modify_outgoing_cookies.go | 4 ++-- proxychain/requestmodifers/resolve_with_google_doh.go | 4 ++-- proxychain/requestmodifers/spoof_ja3_fingerprint.go | 11 ----------- .../responsemodifers/modify_incoming_cookies.go | 3 ++- 8 files changed, 12 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index 3bce094b..21085946 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module ladder go 1.21.1 require ( - github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744 + github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23 github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa github.com/akamensky/argparse v1.4.0 github.com/gofiber/fiber/v2 v2.50.0 diff --git a/go.sum b/go.sum index b9cde015..6b7f3a19 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGy github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744 h1:k3rvW2jPAY5HWey6IuK7rMJhOqN7xOArYl8MjXaqjxA= github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744/go.mod h1:rbto+nJHyL8g0cEO03d+BGlkFnrTQVQmnZboV9wFZKE= +github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23 h1:Vi9GW6VwXsJz3TMPD366eH51x6+1LSlAyIBu3mmOASA= +github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23/go.mod h1:8k2vgurMNmte+ce8U5VFPaqoTQfYnykQfFqVX4bNxnU= github.com/Danny-Dasilva/fhttp v0.0.0-20220418170016-5ea1c560e6a8/go.mod h1:t534vrahRNn9ax1tRiYSUvwJSa9jWaYYgETlfodBPm4= github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6/go.mod h1:2IT2IFG+d+zzFuj3+ksGtVytcCBsF402zMNWHsWhD2U= github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa h1:NTiEQqte2l3BrrE0WznNwxO2urBhkw2vztdhJq1XVg0= diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 40778e88..748b84f5 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,8 +5,8 @@ import ( "fmt" "io" "log" - "net/http" - //http "github.com/Danny-Dasilva/fhttp" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "net/url" "strings" diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index 7a4f6878..c17238da 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -90,8 +90,7 @@ func masqueradeAsTrustedBot(botUA string, botIP string, ja3 string) proxychain.R if ja3 != "" { chain.AddOnceRequestModifications( - //SpoofJA3fingerprint(ja3, botUA), - SpoofJA3fingerprint(ja3, ""), + SpoofJA3fingerprint(ja3, botUA), ) } diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index 49101a3b..b34d1ce7 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -1,8 +1,8 @@ package requestmodifers import ( - "net/http" - //http "github.com/Danny-Dasilva/fhttp" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "ladder/proxychain" ) diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index 5f9f305c..6c4194ce 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -5,8 +5,8 @@ import ( "encoding/json" "fmt" "net" - "net/http" - //http "github.com/Danny-Dasilva/fhttp" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "time" "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifers/spoof_ja3_fingerprint.go index bbf893f2..075dab99 100644 --- a/proxychain/requestmodifers/spoof_ja3_fingerprint.go +++ b/proxychain/requestmodifers/spoof_ja3_fingerprint.go @@ -1,15 +1,5 @@ package requestmodifers -import "ladder/proxychain" - -// TODO: fix -func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { - return func(chain *proxychain.ProxyChain) error { - return nil - } -} - -/* import ( "github.com/Danny-Dasilva/CycleTLS/cycletls" http "github.com/Danny-Dasilva/fhttp" @@ -54,4 +44,3 @@ func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.Cont return nil } } -*/ diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifers/modify_incoming_cookies.go index 494f9a71..ab8fcb66 100644 --- a/proxychain/responsemodifers/modify_incoming_cookies.go +++ b/proxychain/responsemodifers/modify_incoming_cookies.go @@ -2,7 +2,8 @@ package responsemodifers import ( "fmt" - "net/http" + //"net/http" + http "github.com/Danny-Dasilva/fhttp" "ladder/proxychain" ) From 214790f9059346c172fa2634aae7eca15cc0434d Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 28 Nov 2023 00:06:41 -0600 Subject: [PATCH 033/178] fix fwd response headers --- handlers/proxy.go | 8 +++---- proxychain/proxychain.go | 3 ++- .../forward_request_headers.go | 1 + .../forward_response_headers.go | 2 ++ .../rewriters/html_token_url_rewriter.go | 24 +++++++++++-------- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index ad8013e4..8e3d5c5c 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -32,7 +32,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetDebugLogging(opts.Verbose). SetRequestModifications( //rx.MasqueradeAsFacebookBot(), - rx.MasqueradeAsGoogleBot(), + //rx.MasqueradeAsGoogleBot(), //rx.DeleteOutgoingCookies(), rx.ForwardRequestHeaders(), rx.SetOutgoingCookie("nyt-a", " "), @@ -45,10 +45,10 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { //rx.RequestArchiveIs(), ). AddResponseModifications( - tx.BypassCORS(), - tx.BypassContentSecurityPolicy(), - //tx.DeleteIncomingCookies(), tx.ForwardResponseHeaders(), + //tx.BypassCORS(), + //tx.BypassContentSecurityPolicy(), + //tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), tx.PatchDynamicResourceURLs(), //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 748b84f5..d73fd9dc 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -354,7 +354,8 @@ func (chain *ProxyChain) _reset() { // NewProxyChain initializes a new ProxyChain func NewProxyChain() *ProxyChain { chain := new(ProxyChain) - chain.Client = http.DefaultClient + //chain.Client = http.DefaultClient + chain.Client = &http.Client{} return chain } diff --git a/proxychain/requestmodifers/forward_request_headers.go b/proxychain/requestmodifers/forward_request_headers.go index d706123d..40cc5c1e 100644 --- a/proxychain/requestmodifers/forward_request_headers.go +++ b/proxychain/requestmodifers/forward_request_headers.go @@ -1,6 +1,7 @@ package requestmodifers import ( + //"fmt" "ladder/proxychain" "strings" ) diff --git a/proxychain/responsemodifers/forward_response_headers.go b/proxychain/responsemodifers/forward_response_headers.go index 5e08a583..763c7a9f 100644 --- a/proxychain/responsemodifers/forward_response_headers.go +++ b/proxychain/responsemodifers/forward_response_headers.go @@ -24,6 +24,7 @@ func init() { func ForwardResponseHeaders() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { + //fmt.Println(chain.Response.Header) for uname, headers := range chain.Response.Header { name := strings.ToLower(uname) if forwardBlacklist[name] { @@ -42,6 +43,7 @@ func ForwardResponseHeaders() proxychain.ResponseModification { // forward headers for _, value := range headers { + fmt.Println(name, value) chain.Context.Set(name, value) } } diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index ca71feeb..f52569b5 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "net/url" + "path" "regexp" "strings" @@ -113,7 +114,7 @@ func (r *HTMLTokenURLRewriter) ModifyToken(token *html.Token) (string, string) { case !rewriteAttrs[token.Data][attr.Key]: continue // don't touch attributes with special URIs (like data:) - case schemeBlacklist[strings.Split(attr.Key, ":")[0]]: + case schemeBlacklist[strings.Split(attr.Val, ":")[0]]: continue // don't double-overwrite the url case strings.HasPrefix(attr.Val, r.proxyURL): @@ -184,15 +185,17 @@ func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { // Document-relative URLs: These are relative to the current document's path and don't start with a "/". func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + if strings.HasPrefix(attr.Val, "#") { + return + } + relativePath := path.Join(strings.Trim(baseURL.RawPath, "/"), strings.Trim(attr.Val, "/")) attr.Val = fmt.Sprintf( - "%s://%s/%s%s", + "%s://%s/%s", baseURL.Scheme, strings.Trim(baseURL.Host, "/"), - strings.Trim(baseURL.RawPath, "/"), - strings.Trim(attr.Val, "/"), + relativePath, ) attr.Val = escape(attr.Val) - attr.Val = fmt.Sprintf("%s://%s/%s", baseURL.Scheme, baseURL.Host, attr.Val) log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } @@ -204,7 +207,7 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { if err != nil { return } - if u.Scheme != "http" || u.Scheme != "https" { + if !(u.Scheme == "http" || u.Scheme == "https") { return } attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) @@ -232,7 +235,7 @@ func handleMetaRefresh(attr *html.Attribute, baseURL *url.URL) { url := strings.Split(attr.Val, ";url=")[1] f := &html.Attribute{Val: url, Key: "src"} handleURLPart(f, baseURL) - attr.Val = fmt.Sprintf("%s;url=%s", sec, url) + attr.Val = fmt.Sprintf("%s;url=%s", sec, f.Val) } func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { @@ -246,14 +249,14 @@ func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { continue } - fakeAttr := &html.Attribute{Val: srcParts[0], Key: "src"} - handleURLPart(fakeAttr, baseURL) + f := &html.Attribute{Val: srcParts[0], Key: "src"} + handleURLPart(f, baseURL) if i > 0 { srcSetBuilder.WriteString(", ") } - srcSetBuilder.WriteString(fakeAttr.Val) + srcSetBuilder.WriteString(f.Val) if len(srcParts) > 1 { srcSetBuilder.WriteString(" ") srcSetBuilder.WriteString(strings.Join(srcParts[1:], " ")) @@ -264,5 +267,6 @@ func handleSrcSet(attr *html.Attribute, baseURL *url.URL) { } func escape(str string) string { + //return str return strings.ReplaceAll(url.PathEscape(str), "%2F", "/") } From 9d31f7eb5987f4776eb263054f846c1f1c335746 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 28 Nov 2023 07:37:28 -0600 Subject: [PATCH 034/178] improve token rewriting --- handlers/proxy.go | 14 ++++++++++---- .../rewriters/html_token_url_rewriter.go | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 8e3d5c5c..4f60ef00 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -24,6 +24,10 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ + const botUA string = "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" + // 5.255.250.0/24, 37.9.87.0/24, 67.195.37.0/24, 67.195.50.0/24, 67.195.110.0/24, 67.195.111.0/24, 67.195.112.0/23, 67.195.114.0/24, 67.195.115.0/24, 68.180.224.0/21, 72.30.132.0/24, 72.30.142.0/24, 72.30.161.0/24, 72.30.196.0/24, 72.30.198.0/24, 74.6.254.0/24, 74.6.8.0/24, 74.6.13.0/24, 74.6.17.0/24, 74.6.18.0/24, 74.6.22.0/24, 74.6.27.0/24, 74.6.168.0/24, 77.88.5.0/24, 77.88.47.0/24, 93.158.161.0/24, 98.137.72.0/24, 98.137.206.0/24, 98.137.207.0/24, 98.139.168.0/24, 114.111.95.0/24, 124.83.159.0/24, 124.83.179.0/24, 124.83.223.0/24, 141.8.144.0/24, 183.79.63.0/24, 183.79.92.0/24, 203.216.255.0/24, 211.14.11.0/24 + //const ja3 string = "769,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" + const ja3 string = "771,49199-49195-49171-49161-49200-49196-49172-49162-51-57-50-49169-49159-47-53-10-5-4-255,0-11-10-13-13172-16,23-25-28-27-24-26-22-14-13-11-12-9-10,0-1-2" return func(c *fiber.Ctx) error { proxychain := proxychain. @@ -31,6 +35,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( + rx.SpoofJA3fingerprint(ja3, botUA), //rx.MasqueradeAsFacebookBot(), //rx.MasqueradeAsGoogleBot(), //rx.DeleteOutgoingCookies(), @@ -45,13 +50,14 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { //rx.RequestArchiveIs(), ). AddResponseModifications( - tx.ForwardResponseHeaders(), - //tx.BypassCORS(), - //tx.BypassContentSecurityPolicy(), + + //tx.ForwardResponseHeaders(), + tx.BypassCORS(), + tx.BypassContentSecurityPolicy(), //tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), tx.PatchDynamicResourceURLs(), - //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), + //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ). Execute() diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index f52569b5..8d748b44 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -196,6 +196,7 @@ func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { relativePath, ) attr.Val = escape(attr.Val) + attr.Val = fmt.Sprintf("/%s", attr.Val) log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } From 31200cf9e2529b3a6eb58fa5ae017d6077e7c609 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 28 Nov 2023 12:33:53 -0600 Subject: [PATCH 035/178] replace cycletls with bogdanfinn/tls-client for better tls fingerprint spoofing reliability --- go.mod | 11 +- go.sum | 400 +----------------- handlers/proxy.go | 3 +- proxychain/proxychain.go | 52 ++- .../masquerade_as_trusted_bot.go | 3 +- .../modify_outgoing_cookies.go | 3 +- .../resolve_with_google_doh.go | 76 ++-- .../requestmodifers/spoof_ja3_fingerprint.go | 40 +- .../modify_incoming_cookies.go | 3 +- .../rewriters/html_token_url_rewriter.go | 9 + 10 files changed, 148 insertions(+), 452 deletions(-) diff --git a/go.mod b/go.mod index 21085946..8b69d33f 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,6 @@ module ladder go 1.21.1 require ( - github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23 - github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa github.com/akamensky/argparse v1.4.0 github.com/gofiber/fiber/v2 v2.50.0 github.com/stretchr/testify v1.8.4 @@ -12,13 +10,14 @@ require ( ) require ( - github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e // indirect + github.com/bogdanfinn/fhttp v0.5.24 // indirect + github.com/bogdanfinn/tls-client v1.6.1 // indirect + github.com/bogdanfinn/utls v1.5.16 // indirect github.com/cloudflare/circl v1.3.6 // indirect - github.com/dsnet/compress v0.0.1 // indirect github.com/gaukas/godicttls v0.0.4 // indirect - github.com/gorilla/websocket v1.5.1 // indirect + github.com/kr/pretty v0.1.0 // indirect github.com/quic-go/quic-go v0.40.0 // indirect - github.com/refraction-networking/utls v1.5.4 // indirect + github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 // indirect golang.org/x/crypto v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect ) diff --git a/go.sum b/go.sum index 6b7f3a19..6223d2a5 100644 --- a/go.sum +++ b/go.sum @@ -1,130 +1,46 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.37.0/go.mod h1:TS1dMSSfndXH133OKGwekG838Om/cQT0BUHV3HcBgoo= -dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= -dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU= -dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4= -dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU= -git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744 h1:k3rvW2jPAY5HWey6IuK7rMJhOqN7xOArYl8MjXaqjxA= -github.com/Danny-Dasilva/CycleTLS/cycletls v0.0.0-20231128002513-4df48e6bd744/go.mod h1:rbto+nJHyL8g0cEO03d+BGlkFnrTQVQmnZboV9wFZKE= -github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23 h1:Vi9GW6VwXsJz3TMPD366eH51x6+1LSlAyIBu3mmOASA= -github.com/Danny-Dasilva/CycleTLS/cycletls v1.0.23/go.mod h1:8k2vgurMNmte+ce8U5VFPaqoTQfYnykQfFqVX4bNxnU= -github.com/Danny-Dasilva/fhttp v0.0.0-20220418170016-5ea1c560e6a8/go.mod h1:t534vrahRNn9ax1tRiYSUvwJSa9jWaYYgETlfodBPm4= -github.com/Danny-Dasilva/fhttp v0.0.0-20220524230104-f801520157d6/go.mod h1:2IT2IFG+d+zzFuj3+ksGtVytcCBsF402zMNWHsWhD2U= -github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa h1:NTiEQqte2l3BrrE0WznNwxO2urBhkw2vztdhJq1XVg0= -github.com/Danny-Dasilva/fhttp v0.0.0-20231127034941-9494939f30fa/go.mod h1:Hvab/V/YKCDXsEpKYKHjAXH5IFOmoq9FsfxjztEqvDc= -github.com/Danny-Dasilva/utls v0.0.0-20220418055514-7c61e0dbb504/go.mod h1:A2g8gPTJWDD3Y4iCTNon2vG3VcjdTBcgWBlZtopfNxU= -github.com/Danny-Dasilva/utls v0.0.0-20220418175931-f38e470e04f2/go.mod h1:A2g8gPTJWDD3Y4iCTNon2vG3VcjdTBcgWBlZtopfNxU= -github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e h1:tqiguW0yAcIwQBQtD+d2rjBnboqB7CwG1OZ12F8avX8= -github.com/Danny-Dasilva/utls v0.0.0-20220604023528-30cb107b834e/go.mod h1:ssfbVNUfWJVRfW41RTpedOUlGXSq3J6aLmirUVkDgJk= -github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= -github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= -github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/bogdanfinn/fhttp v0.5.24 h1:OlyBKjvJp6a3TotN3wuj4mQHHRbfK7QUMrzCPOZGhRc= +github.com/bogdanfinn/fhttp v0.5.24/go.mod h1:brqi5woc5eSCVHdKYBV8aZLbO7HGqpwyDLeXW+fT18I= +github.com/bogdanfinn/fhttp v0.5.25-0.20231126232510-b5ab2425c56f h1:mmyiFfcYbiAyJhMQ0R9XjLfa7Xmd5dmpPswe6Rn/MJQ= +github.com/bogdanfinn/fhttp v0.5.25-0.20231126232510-b5ab2425c56f/go.mod h1:brqi5woc5eSCVHdKYBV8aZLbO7HGqpwyDLeXW+fT18I= +github.com/bogdanfinn/fhttp v0.6.0-beta h1:EmRFT7L39EWtdhd/4n/84hduTjR3F8g6ME3Gsgf/OYQ= +github.com/bogdanfinn/fhttp v0.6.0-beta/go.mod h1:5Y+1PZFdQ1fZST6AYm4f1lEDc91Qa4rqPXH9+lKQxp0= +github.com/bogdanfinn/tls-client v1.6.1 h1:GTIqQssFoIvLaDf4btoYRzDhUzudLqYD4axvfUCXl3I= +github.com/bogdanfinn/tls-client v1.6.1/go.mod h1:FtwQ3DndVZ0xAOO704v4iNAgbHOcEc5kPk9tjICTNQ0= +github.com/bogdanfinn/tls-client v1.6.2-0.20231126231757-ac864669c643 h1:ZqHtnRfVg8r95y1PuIC3AzHzQc+ezgRMOveX1um14/s= +github.com/bogdanfinn/tls-client v1.6.2-0.20231126231757-ac864669c643/go.mod h1:FtwQ3DndVZ0xAOO704v4iNAgbHOcEc5kPk9tjICTNQ0= +github.com/bogdanfinn/utls v1.5.16 h1:NhhWkegEcYETBMj9nvgO4lwvc6NcLH+znrXzO3gnw4M= +github.com/bogdanfinn/utls v1.5.16/go.mod h1:mHeRCi69cUiEyVBkKONB1cAbLjRcZnlJbGzttmiuK4o= +github.com/bogdanfinn/utls v1.6.0-beta-2 h1:f/u3WICv2/GD44JofwajjMGhqgyCPMpc9Ou1HYVMjnA= +github.com/bogdanfinn/utls v1.6.0-beta-2/go.mod h1:VQBQ4r9Ks905rxLidZpdRWO1bFk4SyILUVPEyC7zBIY= github.com/cloudflare/circl v1.3.6 h1:/xbKIqSHbZXHwkhbrhrt2YOHIwYJlXH94E3tI/gDlUg= github.com/cloudflare/circl v1.3.6/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= -github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dsnet/compress v0.0.1 h1:PlZu0n3Tuv04TzpfPbrnI0HW/YwodEXDS+oPKahKF0Q= -github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo= -github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk= github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= -github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= -github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/compress v1.17.3 h1:qkRjuerhUU1EmXLYGkSH6EZL+vPSxIrYjLNAK4slzwA= github.com/klauspost/compress v1.17.3/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= -github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -132,327 +48,43 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= -github.com/onsi/ginkgo/v2 v2.2.0/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= -github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= -github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.5.0/go.mod h1:Luc4sArBICYCS8THh8v3i3i5CuSZO+RaQRaJoeNwomw= -github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo= -github.com/onsi/ginkgo/v2 v2.8.1/go.mod h1:N1/NbDngAFcSLdyZ+/aYTYGSlq9qMCS/cNKGJjy+csc= -github.com/onsi/ginkgo/v2 v2.9.0/go.mod h1:4xkjoL/tZv4SMWeww56BU5kAt19mVB47gTWxmrTcxyk= -github.com/onsi/ginkgo/v2 v2.9.1/go.mod h1:FEcmzVcCHl+4o9bQZVab+4dC9+j+91t2FHSzmGAPfuo= -github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= -github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= -github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= -github.com/onsi/gomega v1.27.1/go.mod h1:aHX5xOykVYzWOV4WqQy0sy8BQptgukenXpCXfadcIAw= -github.com/onsi/gomega v1.27.3/go.mod h1:5vG284IBtfDAmDyrK+eGyZmUgUlmi+Wngqo557cZ6Gw= -github.com/onsi/gomega v1.27.4/go.mod h1:riYq/GJKh8hhoM01HN6Vmuy93AarCXCBGpvFDK3q3fQ= github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= -github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= -github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -github.com/quic-go/quic-go v0.37.4/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU= github.com/quic-go/quic-go v0.40.0 h1:GYd1iznlKm7dpHD7pOVpUvItgMPo/jrMgDWZhMCecqw= github.com/quic-go/quic-go v0.40.0/go.mod h1:PeN7kuVJ4xZbxSv/4OX6S1USOX8MJvydwpTx31vx60c= -github.com/refraction-networking/utls v1.5.4 h1:9k6EO2b8TaOGsQ7Pl7p9w6PUhx18/ZCeT0WNTZ7Uw4o= -github.com/refraction-networking/utls v1.5.4/go.mod h1:SPuDbBmgLGp8s+HLNc83FuavwZCFoMmExj+ltUHiHUw= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4/go.mod h1:XhFIlyj5a1fBNx5aJTbKoIq0mNaPvOagO+HjB3EtxrY= -github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48/go.mod h1:5u70Mqkb5O5cxEA8nxTsgrgLehJeAw6Oc4Ab1c/P1HM= -github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470/go.mod h1:2dOwnU2uBioM+SGy2aZoq1f/Sd1l9OkAeAUvjSyvgU0= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d/go.mod h1:05UtEgK5zq39gLST6uB0cf3NEHjETfB4Fgr3Gx5R9Vw= -github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c/go.mod h1:8d3azKNyqcHP1GaQE/c6dDgjkgSx2BZ4IoEi4F1reUI= -github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= -github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= -github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9/go.mod h1:+rgNQw2P9ARFAs37qieuu7ohDNQ3gds9msbT2yn85sg= -github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50/go.mod h1:zPn1wHpTIePGnXSHpsVPWEktKXHr6+SS6x/IKRb7cpw= -github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc/go.mod h1:aYMfkZ6DWSJPJ6c4Wwz3QtW22G7mf/PEgaB9k/ik5+Y= -github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9/go.mod h1:919LwcH0M7/W4fcZ0/jy0qGght1GIhqyS/EgWGH2j5Q= -github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191/go.mod h1:e2qWDig5bLteJ4fwvDAc2NHzqFEthkqn7aOZAOpj+PQ= -github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241/go.mod h1:NPpHK2TI7iSaM0buivtFUc9offApnI0Alt/K8hcHy0I= -github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122/go.mod h1:b5uSkrEVM1jQUspwbixRBhaIjIzL2xazXp6kntxYle0= -github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= -github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82/go.mod h1:TCR1lToEk4d2s07G3XGfz2QrgHXg4RJBvjrOozvoWfk= -github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYEDaXHZDBsXlPCDqdhQuJkuw4NOtaxYe3xii4= -github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= -github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= -github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 h1:YqAladjX7xpA6BM04leXMWAEjS0mTZ5kUU9KRBriQJc= +github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5/go.mod h1:2JjD2zLQYH5HO74y5+aE3remJQvl6q4Sn6aWA2wD1Ng= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M= github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU= -github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= -go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= -go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= -golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= -golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190316082340-a2f829d7f35f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030000716-a0a13e073c7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= -google.golang.org/genproto v0.0.0-20190306203927-b5d61aea6440/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= diff --git a/handlers/proxy.go b/handlers/proxy.go index 4f60ef00..06246184 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -35,7 +35,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - rx.SpoofJA3fingerprint(ja3, botUA), + rx.SpoofJA3fingerprint(ja3, "Googlebot"), //rx.MasqueradeAsFacebookBot(), //rx.MasqueradeAsGoogleBot(), //rx.DeleteOutgoingCookies(), @@ -50,7 +50,6 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { //rx.RequestArchiveIs(), ). AddResponseModifications( - //tx.ForwardResponseHeaders(), tx.BypassCORS(), tx.BypassContentSecurityPolicy(), diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index d73fd9dc..cf91f81e 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,14 +5,21 @@ import ( "fmt" "io" "log" + //"time" + //"net/http" - http "github.com/Danny-Dasilva/fhttp" + //"github.com/Danny-Dasilva/CycleTLS/cycletls" + //http "github.com/Danny-Dasilva/fhttp" + http "github.com/bogdanfinn/fhttp" + tls_client "github.com/bogdanfinn/tls-client" + //"github.com/bogdanfinn/tls-client/profiles" "net/url" "strings" - "github.com/gofiber/fiber/v2" "ladder/pkg/ruleset" + + "github.com/gofiber/fiber/v2" ) /* @@ -84,8 +91,8 @@ proxychain.NewProxyChain(). */ type ProxyChain struct { Context *fiber.Ctx - Client *http.Client - onceClient *http.Client + Client HTTPClient + onceClient HTTPClient Request *http.Request Response *http.Response requestModifications []RequestModification @@ -108,6 +115,23 @@ type RequestModification func(*ProxyChain) error // ProxyChain Res (http result) & Body (buffered http response body) field type ResponseModification func(*ProxyChain) error +// abstraction over HTTPClient +type HTTPClient interface { + GetCookies(u *url.URL) []*http.Cookie + SetCookies(u *url.URL, cookies []*http.Cookie) + SetCookieJar(jar http.CookieJar) + GetCookieJar() http.CookieJar + SetProxy(proxyUrl string) error + GetProxy() string + SetFollowRedirect(followRedirect bool) + GetFollowRedirect() bool + CloseIdleConnections() + Do(req *http.Request) (*http.Response, error) + Get(url string) (resp *http.Response, err error) + Head(url string) (resp *http.Response, err error) + Post(url, contentType string, body io.Reader) (resp *http.Response, err error) +} + // SetRequestModifications sets the ProxyChain's request modifers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) SetRequestModifications(mods ...RequestModification) *ProxyChain { @@ -308,14 +332,14 @@ func (chain *ProxyChain) validateCtxIsSet() error { // SetHTTPClient sets a new upstream http client transport // useful for modifying TLS -func (chain *ProxyChain) SetHTTPClient(httpClient *http.Client) *ProxyChain { +func (chain *ProxyChain) SetHTTPClient(httpClient HTTPClient) *ProxyChain { chain.Client = httpClient return chain } // SetOnceHTTPClient sets a new upstream http client transport temporarily // and clears it once it is used. -func (chain *ProxyChain) SetOnceHTTPClient(httpClient *http.Client) *ProxyChain { +func (chain *ProxyChain) SetOnceHTTPClient(httpClient HTTPClient) *ProxyChain { chain.onceClient = httpClient return chain } @@ -354,8 +378,20 @@ func (chain *ProxyChain) _reset() { // NewProxyChain initializes a new ProxyChain func NewProxyChain() *ProxyChain { chain := new(ProxyChain) - //chain.Client = http.DefaultClient - chain.Client = &http.Client{} + + options := []tls_client.HttpClientOption{ + tls_client.WithTimeoutSeconds(20), + tls_client.WithRandomTLSExtensionOrder(), + //tls_client.WithClientProfile(profiles.Chrome_117), + //tls_client.WithNotFollowRedirects(), + //tls_client.WithCookieJar(jar), // create cookieJar instance and pass it as argument + } + client, err := tls_client.NewHttpClient(tls_client.NewNoopLogger(), options...) + if err != nil { + panic(err) + } + chain.Client = client + return chain } diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index c17238da..7ef0e2fa 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -10,7 +10,8 @@ func MasqueradeAsGoogleBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; http://www.google.com/bot.html) Chrome/79.0.3945.120 Safari/537.36" const botIP string = "66.249.78.8" // TODO: create a random ip pool from https://developers.google.com/static/search/apis/ipranges/googlebot.json // https://github.com/trisulnsm/trisul-scripts/blob/master/lua/frontend_scripts/reassembly/ja3/prints/ja3fingerprint.json - const ja3 string = "769,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" + const ja3 string = "769,49195-49199-49196-49200-52393-52392-52244-52243-49161-49171-49162-49172-156-157-47-53-10,65281-0-23-35-13-5-18-16-11-10-21,29-23-24,0" + // "741,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" return masqueradeAsTrustedBot(botUA, botIP, ja3) } diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifers/modify_outgoing_cookies.go index b34d1ce7..88405cbc 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifers/modify_outgoing_cookies.go @@ -2,7 +2,8 @@ package requestmodifers import ( //"net/http" - http "github.com/Danny-Dasilva/fhttp" + //http "github.com/Danny-Dasilva/fhttp" + http "github.com/bogdanfinn/fhttp" "ladder/proxychain" ) diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index 6c4194ce..554e3ac5 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -4,9 +4,13 @@ import ( "context" "encoding/json" "fmt" + http "github.com/bogdanfinn/fhttp" "net" - //"net/http" - http "github.com/Danny-Dasilva/fhttp" + /* + tls_client "github.com/bogdanfinn/tls-client" + //"net/http" + */ + "time" "ladder/proxychain" @@ -38,45 +42,53 @@ func resolveWithGoogleDoH(host string) (string, error) { return "", fmt.Errorf("no DoH DNS record found for %s", host) } +type CustomDialer struct { + *net.Dialer +} + +func NewCustomDialer(timeout, keepAlive time.Duration) *CustomDialer { + return &CustomDialer{ + Dialer: &net.Dialer{ + Timeout: timeout, + KeepAlive: keepAlive, + }, + } +} + +func (cd *CustomDialer) DialContext(ctx context.Context, network, addr string) (net.Conn, error) { + host, port, err := net.SplitHostPort(addr) + if err != nil { + port = "443" + } + + resolvedHost, err := resolveWithGoogleDoH(host) + if err != nil { + return nil, err + } + return cd.Dialer.DialContext(ctx, network, net.JoinHostPort(resolvedHost, port)) +} + // ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL // using Google's DNS over HTTPs service func ResolveWithGoogleDoH() proxychain.RequestModification { - return func(px *proxychain.ProxyChain) error { - client := &http.Client{ - Timeout: px.Client.Timeout, - } - dialer := &net.Dialer{ - Timeout: 5 * time.Second, - KeepAlive: 5 * time.Second, - } - - customDialContext := func(ctx context.Context, network, addr string) (net.Conn, error) { - host, port, err := net.SplitHostPort(addr) - if err != nil { - // If the addr doesn't include a port, determine it based on the URL scheme - if px.Request.URL.Scheme == "https" { - port = "443" - } else { - port = "80" - } - host = addr // assume the entire addr is the host + ///customDialer := NewCustomDialer(10*time.Second, 10*time.Second) + return func(chain *proxychain.ProxyChain) error { + /* + options := []tls_client.HttpClientOption{ + tls_client.WithTimeoutSeconds(30), + tls_client.WithRandomTLSExtensionOrder(), + tls_client.WithDialer(*customDialer.Dialer), + //tls_client.WithClientProfile(profiles.Chrome_105), } - resolvedHost, err := resolveWithGoogleDoH(host) + client, err := tls_client.NewHttpClient(tls_client.NewNoopLogger(), options...) if err != nil { - return nil, err + return err } - return dialer.DialContext(ctx, network, net.JoinHostPort(resolvedHost, port)) - } - - patchedTransportWithDoH := &http.Transport{ - DialContext: customDialContext, - } - - client.Transport = patchedTransportWithDoH - px.Client = client // Assign the modified client to the ProxyChain + chain.SetOnceHTTPClient(client) + */ return nil } } diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifers/spoof_ja3_fingerprint.go index 075dab99..d746024c 100644 --- a/proxychain/requestmodifers/spoof_ja3_fingerprint.go +++ b/proxychain/requestmodifers/spoof_ja3_fingerprint.go @@ -1,8 +1,13 @@ package requestmodifers +// removed due to using a different TLS spoofing technique + +/* import ( - "github.com/Danny-Dasilva/CycleTLS/cycletls" - http "github.com/Danny-Dasilva/fhttp" + //"github.com/Danny-Dasilva/CycleTLS/cycletls" + //http "github.com/Danny-Dasilva/fhttp" + //http "github.com/bogdanfinn/fhttp" + "golang.org/x/net/proxy" "ladder/proxychain" ) @@ -14,14 +19,14 @@ import ( func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { //fmt.Println(ja3) return func(chain *proxychain.ProxyChain) error { - // deep copy existing client while modifying http transport - ja3SpoofClient := &http.Client{ - Transport: cycletls.NewTransport(ja3, userAgent), - Timeout: chain.Client.Timeout, - CheckRedirect: chain.Client.CheckRedirect, - } - - chain.SetOnceHTTPClient(ja3SpoofClient) + // deep copy existing client while modifying http transport + ja3SpoofClient := &http.Client{ + Transport: cycletls.NewTransport(ja3, userAgent), + Timeout: chain.Client.Timeout, + CheckRedirect: chain.Client.CheckRedirect, + } + + chain.SetOnceHTTPClient(ja3SpoofClient) return nil } } @@ -33,14 +38,15 @@ func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModific func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.ContextDialer) proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - // deep copy existing client while modifying http transport - ja3SpoofClient := &http.Client{ - Transport: cycletls.NewTransportWithProxy(ja3, userAgent, proxy), - Timeout: chain.Client.Timeout, - CheckRedirect: chain.Client.CheckRedirect, - } + // deep copy existing client while modifying http transport + ja3SpoofClient := &http.Client{ + Transport: cycletls.NewTransportWithProxy(ja3, userAgent, proxy), + Timeout: chain.Client.Timeout, + CheckRedirect: chain.Client.CheckRedirect, + } - chain.SetOnceHTTPClient(ja3SpoofClient) + chain.SetOnceHTTPClient(ja3SpoofClient) return nil } } +*/ diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifers/modify_incoming_cookies.go index ab8fcb66..e317124c 100644 --- a/proxychain/responsemodifers/modify_incoming_cookies.go +++ b/proxychain/responsemodifers/modify_incoming_cookies.go @@ -2,8 +2,9 @@ package responsemodifers import ( "fmt" + http "github.com/bogdanfinn/fhttp" //"net/http" - http "github.com/Danny-Dasilva/fhttp" + //http "github.com/Danny-Dasilva/fhttp" "ladder/proxychain" ) diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index 8d748b44..8f0e3284 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -82,6 +82,8 @@ type HTMLTokenURLRewriter struct { // NewHTMLTokenURLRewriter creates a new instance of HTMLResourceURLRewriter. // It initializes the tokenizer with the provided source and sets the proxy URL. +// baseURL might be https://medium.com/foobar +// proxyURL is http://localhost:8080 func NewHTMLTokenURLRewriter(baseURL *url.URL, proxyURL string) *HTMLTokenURLRewriter { return &HTMLTokenURLRewriter{ baseURL: baseURL, @@ -160,6 +162,11 @@ func handleProtocolRelativePath(attr *html.Attribute, baseURL *url.URL) { // Root-relative URLs: These are relative to the root path and start with a "/". func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { + // Skip processing if it's already in the correct format + if strings.HasPrefix(attr.Val, "/http://") || strings.HasPrefix(attr.Val, "/https://") { + return + } + // doublecheck this is a valid relative URL log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) _, err := url.Parse(fmt.Sprintf("http://localhost.com%s", attr.Val)) @@ -212,6 +219,8 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { return } attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) + //attr.Val = fmt.Sprintf("/%s", escape(attr.Val)) + log.Printf("abs url rewritten-> '%s'='%s'", attr.Key, attr.Val) } From b7a012d75bdc9f77ba52e7049e13ebf434cc0671 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 28 Nov 2023 20:32:36 -0600 Subject: [PATCH 036/178] add outline test --- proxychain/responsemodifers/outline.go | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 proxychain/responsemodifers/outline.go diff --git a/proxychain/responsemodifers/outline.go b/proxychain/responsemodifers/outline.go new file mode 100644 index 00000000..a37c6d7c --- /dev/null +++ b/proxychain/responsemodifers/outline.go @@ -0,0 +1,35 @@ +package responsemodifers + +import ( + "github.com/go-shiori/dom" + "github.com/markusmobius/go-trafilatura" + "io" + "ladder/proxychain" + "strings" +) + +// Outline creates an JSON representation of the article +func Outline() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + // Use readability + opts := trafilatura.Options{ + IncludeImages: true, + IncludeLinks: true, + //FavorPrecision: true, + FallbackCandidates: nil, // TODO: https://github.com/markusmobius/go-trafilatura/blob/main/examples/chained/main.go + // implement fallbacks from "github.com/markusmobius/go-domdistiller" and "github.com/go-shiori/go-readability" + OriginalURL: chain.Request.URL, + } + + result, err := trafilatura.Extract(chain.Response.Body, opts) + if err != nil { + return err + } + + doc := trafilatura.CreateReadableDocument(result) + reader := io.NopCloser(strings.NewReader(dom.OuterHTML(doc))) + chain.Response.Body = reader + return nil + } + +} From e5bd5df2c009f74c552a435547a2b97f300a9413 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 29 Nov 2023 00:33:46 -0600 Subject: [PATCH 037/178] structured article json first draft --- .../masquerade_as_trusted_bot.go | 12 +- proxychain/responsemodifers/bypass_cors.go | 2 +- proxychain/responsemodifers/outline.go | 149 +++++++++++++++++- 3 files changed, 153 insertions(+), 10 deletions(-) diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index 7ef0e2fa..4f1c75a7 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -89,11 +89,13 @@ func masqueradeAsTrustedBot(botUA string, botIP string, ja3 string) proxychain.R DeleteRequestHeader("origin"), ) - if ja3 != "" { - chain.AddOnceRequestModifications( - SpoofJA3fingerprint(ja3, botUA), - ) - } + /* + if ja3 != "" { + chain.AddOnceRequestModifications( + SpoofJA3fingerprint(ja3, botUA), + ) + } + */ return nil } diff --git a/proxychain/responsemodifers/bypass_cors.go b/proxychain/responsemodifers/bypass_cors.go index 23dad060..46c0e04d 100644 --- a/proxychain/responsemodifers/bypass_cors.go +++ b/proxychain/responsemodifers/bypass_cors.go @@ -8,7 +8,7 @@ import ( // from enforcing any CORS restrictions. This should run at the end of the chain. func BypassCORS() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - chain.AddResponseModifications( + chain.AddOnceResponseModifications( SetResponseHeader("Access-Control-Allow-Origin", "*"), SetResponseHeader("Access-Control-Expose-Headers", "*"), SetResponseHeader("Access-Control-Allow-Credentials", "true"), diff --git a/proxychain/responsemodifers/outline.go b/proxychain/responsemodifers/outline.go index a37c6d7c..43fb91c4 100644 --- a/proxychain/responsemodifers/outline.go +++ b/proxychain/responsemodifers/outline.go @@ -1,11 +1,14 @@ package responsemodifers import ( + "bytes" + "encoding/json" "github.com/go-shiori/dom" "github.com/markusmobius/go-trafilatura" + "golang.org/x/net/html" "io" "ladder/proxychain" - "strings" + //"strings" ) // Outline creates an JSON representation of the article @@ -26,10 +29,148 @@ func Outline() proxychain.ResponseModification { return err } - doc := trafilatura.CreateReadableDocument(result) - reader := io.NopCloser(strings.NewReader(dom.OuterHTML(doc))) - chain.Response.Body = reader + doc := createJSONDocument(result) + jsonData, err := json.MarshalIndent(doc, "", " ") + if err != nil { + return err + } + buf := bytes.NewBuffer(jsonData) + //doc := trafilatura.CreateReadableDocument(result) + //reader := io.NopCloser(strings.NewReader(dom.OuterHTML(doc))) + chain.Response.Body = io.NopCloser(buf) return nil } } + +// ======================================================================================= +// credit @joncrangle https://github.com/everywall/ladder/issues/38#issuecomment-1831252934 + +type ImageContent struct { + Type string `json:"type"` + URL string `json:"url"` + Alt string `json:"alt"` + Caption string `json:"caption"` +} + +type LinkContent struct { + Type string `json:"type"` + Href string `json:"href"` + Data string `json:"data"` +} + +type TextContent struct { + Type string `json:"type"` + Data string `json:"data"` +} + +type JSONDocument struct { + Success bool `json:"success"` + Error struct { + Message string `json:"message"` + Type string `json:"type"` + Cause string `json:"cause"` + } `json:"error"` + Metadata struct { + Title string `json:"title"` + Author string `json:"author"` + URL string `json:"url"` + Hostname string `json:"hostname"` + Description string `json:"description"` + Sitename string `json:"sitename"` + Date string `json:"date"` + Categories []string `json:"categories"` + Tags []string `json:"tags"` + License string `json:"license"` + } `json:"metadata"` + Content []interface{} `json:"content"` + Comments string `json:"comments"` +} + +func createJSONDocument(extract *trafilatura.ExtractResult) *JSONDocument { + jsonDoc := &JSONDocument{} + + // Populate success + jsonDoc.Success = true + + // Populate metadata + jsonDoc.Metadata.Title = extract.Metadata.Title + jsonDoc.Metadata.Author = extract.Metadata.Author + jsonDoc.Metadata.URL = extract.Metadata.URL + jsonDoc.Metadata.Hostname = extract.Metadata.Hostname + jsonDoc.Metadata.Description = extract.Metadata.Description + jsonDoc.Metadata.Sitename = extract.Metadata.Sitename + jsonDoc.Metadata.Date = extract.Metadata.Date.Format("2006-01-02") + jsonDoc.Metadata.Categories = extract.Metadata.Categories + jsonDoc.Metadata.Tags = extract.Metadata.Tags + jsonDoc.Metadata.License = extract.Metadata.License + + // Populate content + if extract.ContentNode != nil { + jsonDoc.Content = parseContent(extract.ContentNode) + } + + // Populate comments + if extract.CommentsNode != nil { + jsonDoc.Comments = dom.OuterHTML(extract.CommentsNode) + } + + return jsonDoc +} + +func parseContent(node *html.Node) []interface{} { + var content []interface{} + + for child := node.FirstChild; child != nil; child = child.NextSibling { + switch child.Data { + case "img": + image := ImageContent{ + Type: "img", + URL: dom.GetAttribute(child, "src"), + Alt: dom.GetAttribute(child, "alt"), + Caption: dom.GetAttribute(child, "caption"), + } + content = append(content, image) + + case "a": + link := LinkContent{ + Type: "a", + Href: dom.GetAttribute(child, "href"), + Data: dom.InnerText(child), + } + content = append(content, link) + + case "h1": + text := TextContent{ + Type: "h1", + Data: dom.InnerText(child), + } + content = append(content, text) + + case "h2": + text := TextContent{ + Type: "h2", + Data: dom.InnerText(child), + } + content = append(content, text) + + case "h3": + text := TextContent{ + Type: "h3", + Data: dom.InnerText(child), + } + content = append(content, text) + + // continue with other tags + + default: + text := TextContent{ + Type: "p", + Data: dom.InnerText(child), + } + content = append(content, text) + } + } + + return content +} From 909d29230fa2d93084134d10786d14c9e1c2f125 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 29 Nov 2023 09:50:02 -0600 Subject: [PATCH 038/178] improve outline api with error handling and proper content-type response --- go.mod | 29 +++- go.sum | 132 ++++++++++---- handlers/proxy.go | 7 +- proxychain/proxychain.go | 8 +- proxychain/responsemodifers/api/error_api.go | 55 ++++++ .../responsemodifers/api/outline_api.go | 135 +++++++++++++++ proxychain/responsemodifers/outline.go | 162 ++---------------- proxychain/responsemodifers/outline_test.go | 68 ++++++++ 8 files changed, 405 insertions(+), 191 deletions(-) create mode 100644 proxychain/responsemodifers/api/error_api.go create mode 100644 proxychain/responsemodifers/api/outline_api.go create mode 100644 proxychain/responsemodifers/outline_test.go diff --git a/go.mod b/go.mod index 8b69d33f..d751fb8e 100644 --- a/go.mod +++ b/go.mod @@ -4,21 +4,38 @@ go 1.21.1 require ( github.com/akamensky/argparse v1.4.0 + github.com/bogdanfinn/fhttp v0.5.24 + github.com/bogdanfinn/tls-client v1.6.1 + github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c github.com/gofiber/fiber/v2 v2.50.0 + github.com/markusmobius/go-trafilatura v1.5.1 github.com/stretchr/testify v1.8.4 gopkg.in/yaml.v3 v3.0.1 ) require ( - github.com/bogdanfinn/fhttp v0.5.24 // indirect - github.com/bogdanfinn/tls-client v1.6.1 // indirect + github.com/abadojack/whatlanggo v1.0.1 // indirect + github.com/andybalholm/cascadia v1.3.2 // indirect github.com/bogdanfinn/utls v1.5.16 // indirect - github.com/cloudflare/circl v1.3.6 // indirect - github.com/gaukas/godicttls v0.0.4 // indirect - github.com/kr/pretty v0.1.0 // indirect - github.com/quic-go/quic-go v0.40.0 // indirect + github.com/elliotchance/pie/v2 v2.8.0 // indirect + github.com/forPelevin/gomoji v1.1.8 // indirect + github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789 // indirect + github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect + github.com/hablullah/go-hijri v1.0.2 // indirect + github.com/hablullah/go-juliandays v1.0.0 // indirect + github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958 // indirect + github.com/magefile/mage v1.15.0 // indirect + github.com/markusmobius/go-dateparser v1.2.1 // indirect + github.com/markusmobius/go-domdistiller v0.0.0-20230515154422-71af71939ff3 // indirect + github.com/markusmobius/go-htmldate v1.2.2 // indirect + github.com/rs/zerolog v1.31.0 // indirect + github.com/sirupsen/logrus v1.9.3 // indirect github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 // indirect + github.com/tetratelabs/wazero v1.5.0 // indirect + github.com/wasilibs/go-re2 v1.4.1 // indirect + github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4 // indirect golang.org/x/crypto v0.16.0 // indirect + golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect golang.org/x/text v0.14.0 // indirect ) diff --git a/go.sum b/go.sum index 6223d2a5..72701cf1 100644 --- a/go.sum +++ b/go.sum @@ -1,90 +1,152 @@ +github.com/abadojack/whatlanggo v1.0.1 h1:19N6YogDnf71CTHm3Mp2qhYfkRdyvbgwWdd2EPxJRG4= +github.com/abadojack/whatlanggo v1.0.1/go.mod h1:66WiQbSbJBIlOZMsvbKe5m6pzQovxCH9B/K8tQB2uoc= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= +github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/bogdanfinn/fhttp v0.5.24 h1:OlyBKjvJp6a3TotN3wuj4mQHHRbfK7QUMrzCPOZGhRc= github.com/bogdanfinn/fhttp v0.5.24/go.mod h1:brqi5woc5eSCVHdKYBV8aZLbO7HGqpwyDLeXW+fT18I= -github.com/bogdanfinn/fhttp v0.5.25-0.20231126232510-b5ab2425c56f h1:mmyiFfcYbiAyJhMQ0R9XjLfa7Xmd5dmpPswe6Rn/MJQ= -github.com/bogdanfinn/fhttp v0.5.25-0.20231126232510-b5ab2425c56f/go.mod h1:brqi5woc5eSCVHdKYBV8aZLbO7HGqpwyDLeXW+fT18I= -github.com/bogdanfinn/fhttp v0.6.0-beta h1:EmRFT7L39EWtdhd/4n/84hduTjR3F8g6ME3Gsgf/OYQ= -github.com/bogdanfinn/fhttp v0.6.0-beta/go.mod h1:5Y+1PZFdQ1fZST6AYm4f1lEDc91Qa4rqPXH9+lKQxp0= github.com/bogdanfinn/tls-client v1.6.1 h1:GTIqQssFoIvLaDf4btoYRzDhUzudLqYD4axvfUCXl3I= github.com/bogdanfinn/tls-client v1.6.1/go.mod h1:FtwQ3DndVZ0xAOO704v4iNAgbHOcEc5kPk9tjICTNQ0= -github.com/bogdanfinn/tls-client v1.6.2-0.20231126231757-ac864669c643 h1:ZqHtnRfVg8r95y1PuIC3AzHzQc+ezgRMOveX1um14/s= -github.com/bogdanfinn/tls-client v1.6.2-0.20231126231757-ac864669c643/go.mod h1:FtwQ3DndVZ0xAOO704v4iNAgbHOcEc5kPk9tjICTNQ0= github.com/bogdanfinn/utls v1.5.16 h1:NhhWkegEcYETBMj9nvgO4lwvc6NcLH+znrXzO3gnw4M= github.com/bogdanfinn/utls v1.5.16/go.mod h1:mHeRCi69cUiEyVBkKONB1cAbLjRcZnlJbGzttmiuK4o= -github.com/bogdanfinn/utls v1.6.0-beta-2 h1:f/u3WICv2/GD44JofwajjMGhqgyCPMpc9Ou1HYVMjnA= -github.com/bogdanfinn/utls v1.6.0-beta-2/go.mod h1:VQBQ4r9Ks905rxLidZpdRWO1bFk4SyILUVPEyC7zBIY= -github.com/cloudflare/circl v1.3.6 h1:/xbKIqSHbZXHwkhbrhrt2YOHIwYJlXH94E3tI/gDlUg= -github.com/cloudflare/circl v1.3.6/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk= -github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/elliotchance/pie/v2 v2.8.0 h1://QS43W8sEha8XV/fjngO5iMudN3XARJV5cpBayAcVY= +github.com/elliotchance/pie/v2 v2.8.0/go.mod h1:18t0dgGFH006g4eVdDtWfgFZPQEgl10IoEO8YWEq3Og= +github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= +github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= +github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c h1:wpkoddUomPfHiOziHZixGO5ZBS73cKqVzZipfrLmO1w= +github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c/go.mod h1:oVDCh3qjJMLVUSILBRwrm+Bc6RNXGZYtoh9xdvf1ffM= +github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789 h1:G6wSuUyCoLB9jrUokipsmFuRi8aJozt3phw/g9Sl4Xs= +github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789/go.mod h1:2DpZlTJO/ycxp/vsc/C11oUyveStOgIXB88SYV1lncI= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs= +github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hablullah/go-hijri v1.0.2 h1:drT/MZpSZJQXo7jftf5fthArShcaMtsal0Zf/dnmp6k= +github.com/hablullah/go-hijri v1.0.2/go.mod h1:OS5qyYLDjORXzK4O1adFw9Q5WfhOcMdAKglDkcTxgWQ= +github.com/hablullah/go-juliandays v1.0.0 h1:A8YM7wIj16SzlKT0SRJc9CD29iiaUzpBLzh5hr0/5p0= +github.com/hablullah/go-juliandays v1.0.0/go.mod h1:0JOYq4oFOuDja+oospuc61YoX+uNEn7Z6uHYTbBzdGc= +github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958 h1:qxLoi6CAcXVzjfvu+KXIXJOAsQB62LXjsfbOaErsVzE= +github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958/go.mod h1:Wqfu7mjUHj9WDzSSPI5KfBclTTEnLveRUFr/ujWnTgE= github.com/klauspost/compress v1.17.3 h1:qkRjuerhUU1EmXLYGkSH6EZL+vPSxIrYjLNAK4slzwA= github.com/klauspost/compress v1.17.3/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= +github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= +github.com/markusmobius/go-dateparser v1.2.1 h1:mYRRdu3TzpAeE6fSl2Gn3arfxEtoTRvFOKlumlVsUtg= +github.com/markusmobius/go-dateparser v1.2.1/go.mod h1:5xYsZ1h7iB3sE1BSu8bkjYpbFST7EU1/AFxcyO3mgYg= +github.com/markusmobius/go-domdistiller v0.0.0-20230515154422-71af71939ff3 h1:D83RvMz1lQ0ilKlJt6DWc65+Q77CXGRFmfihR0bfQvc= +github.com/markusmobius/go-domdistiller v0.0.0-20230515154422-71af71939ff3/go.mod h1:n1AYw0wiJDT3YXnIsElJPiDR63YGXT2yv3uq0CboGmU= +github.com/markusmobius/go-htmldate v1.2.2 h1:tp1IxhefCYpEoL9CM1LiU6l+2YayTpuTjkkdnik6hXE= +github.com/markusmobius/go-htmldate v1.2.2/go.mod h1:26VRz16sCosuiv42MNRW9iPBGnGLo+q/Z6TWitt8uzs= +github.com/markusmobius/go-trafilatura v1.5.1 h1:EXhZY2AVRyepUlLZHeuZUme3v7Ms9G8lDOLl4u+Jp5M= +github.com/markusmobius/go-trafilatura v1.5.1/go.mod h1:FhuBBPZ9ph4ufpGBKAkuq5oQwEhg0KKnIOUlv5h7EHg= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= -github.com/onsi/ginkgo/v2 v2.9.5/go.mod h1:tvAoo1QUJwNEU2ITftXTpR7R1RbCzoZUOs3RonqW57k= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/quic-go/quic-go v0.40.0 h1:GYd1iznlKm7dpHD7pOVpUvItgMPo/jrMgDWZhMCecqw= -github.com/quic-go/quic-go v0.40.0/go.mod h1:PeN7kuVJ4xZbxSv/4OX6S1USOX8MJvydwpTx31vx60c= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= +github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 h1:YqAladjX7xpA6BM04leXMWAEjS0mTZ5kUU9KRBriQJc= github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5/go.mod h1:2JjD2zLQYH5HO74y5+aE3remJQvl6q4Sn6aWA2wD1Ng= +github.com/tetratelabs/wazero v1.5.0 h1:Yz3fZHivfDiZFUXnWMPUoiW7s8tC1sjdBtlJn08qYa0= +github.com/tetratelabs/wazero v1.5.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M= github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/wasilibs/go-re2 v1.4.1 h1:E5+9O1M8UoGeqLB2A9omeoaWImqpuYDs9cKwvTJq/Oo= +github.com/wasilibs/go-re2 v1.4.1/go.mod h1:ynB8eCwd9JsqUnsk8WlPDk6cEeme8BguZmnqOSURE4Y= +github.com/wasilibs/nottinygc v0.4.0 h1:h1TJMihMC4neN6Zq+WKpLxgd9xCFMw7O9ETLwY2exJQ= +github.com/wasilibs/nottinygc v0.4.0/go.mod h1:oDcIotskuYNMpqMF23l7Z8uzD4TC0WXHK8jetlB3HIo= +github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4 h1:0sw0nJM544SpsihWx1bkXdYLQDlzRflMgFJQ4Yih9ts= +github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4/go.mod h1:+ccdNT0xMY1dtc5XBxumbYfOUhmduiGudqaDgD2rVRE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/exp v0.0.0-20231127185646-65229373498e h1:Gvh4YaCaXNs6dKTlfgismwWZKyjVZXwOPfIyUaqU3No= +golang.org/x/exp v0.0.0-20231127185646-65229373498e/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= -golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/handlers/proxy.go b/handlers/proxy.go index 06246184..42c47b4e 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -35,9 +35,9 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - rx.SpoofJA3fingerprint(ja3, "Googlebot"), + //rx.SpoofJA3fingerprint(ja3, "Googlebot"), //rx.MasqueradeAsFacebookBot(), - //rx.MasqueradeAsGoogleBot(), + rx.MasqueradeAsGoogleBot(), //rx.DeleteOutgoingCookies(), rx.ForwardRequestHeaders(), rx.SetOutgoingCookie("nyt-a", " "), @@ -55,7 +55,8 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { tx.BypassContentSecurityPolicy(), //tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), - tx.PatchDynamicResourceURLs(), + //tx.PatchDynamicResourceURLs(), + tx.APIOutline(), //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index cf91f81e..151334e2 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -487,9 +487,11 @@ func (chain *ProxyChain) Execute() error { } // in case api user did not set or forward content-type, we do it for them - if chain.Context.Get("content-type") == "" { - chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) - } + /* + if chain.Context.Get("content-type") == "" { + chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) + } + */ // Return request back to client return chain.Context.SendStream(body) diff --git a/proxychain/responsemodifers/api/error_api.go b/proxychain/responsemodifers/api/error_api.go new file mode 100644 index 00000000..1a5e71ae --- /dev/null +++ b/proxychain/responsemodifers/api/error_api.go @@ -0,0 +1,55 @@ +package api + +import ( + "bytes" + "encoding/json" + "errors" + "io" + "reflect" +) + +type APIError struct { + Success bool `json:"success"` + Error ErrorDetails `json:"error"` +} + +type ErrorDetails struct { + Message string `json:"message"` + Type string `json:"type"` + Cause string `json:"cause"` +} + +func CreateAPIErrReader(err error) io.ReadCloser { + if err == nil { + return io.NopCloser(bytes.NewBufferString(`{"success":false, "error": "No error provided"}`)) + } + + baseErr := getBaseError(err) + apiErr := APIError{ + Success: false, + Error: ErrorDetails{ + Message: err.Error(), + Type: reflect.TypeOf(err).String(), + Cause: baseErr.Error(), + }, + } + + // Serialize the APIError into JSON + jsonData, jsonErr := json.Marshal(apiErr) + if jsonErr != nil { + return io.NopCloser(bytes.NewBufferString(`{"success":false, "error": "Failed to serialize error"}`)) + } + + // Return the JSON data as an io.ReadCloser + return io.NopCloser(bytes.NewBuffer(jsonData)) +} + +func getBaseError(err error) error { + for { + unwrapped := errors.Unwrap(err) + if unwrapped == nil { + return err + } + err = unwrapped + } +} diff --git a/proxychain/responsemodifers/api/outline_api.go b/proxychain/responsemodifers/api/outline_api.go new file mode 100644 index 00000000..d96b05fe --- /dev/null +++ b/proxychain/responsemodifers/api/outline_api.go @@ -0,0 +1,135 @@ +package api + +import ( + "github.com/go-shiori/dom" + "github.com/markusmobius/go-trafilatura" + "golang.org/x/net/html" +) + +// ======================================================================================= +// credit @joncrangle https://github.com/everywall/ladder/issues/38#issuecomment-1831252934 + +type ImageContent struct { + Type string `json:"type"` + URL string `json:"url"` + Alt string `json:"alt"` + Caption string `json:"caption"` +} + +type LinkContent struct { + Type string `json:"type"` + Href string `json:"href"` + Data string `json:"data"` +} + +type TextContent struct { + Type string `json:"type"` + Data string `json:"data"` +} + +type JSONDocument struct { + Success bool `json:"success"` + Error ErrorDetails `json:"error"` + Metadata struct { + Title string `json:"title"` + Author string `json:"author"` + URL string `json:"url"` + Hostname string `json:"hostname"` + Description string `json:"description"` + Sitename string `json:"sitename"` + Date string `json:"date"` + Categories []string `json:"categories"` + Tags []string `json:"tags"` + License string `json:"license"` + } `json:"metadata"` + Content []interface{} `json:"content"` + Comments string `json:"comments"` +} + +func ExtractResultToAPIResponse(extract *trafilatura.ExtractResult) *JSONDocument { + jsonDoc := &JSONDocument{} + + // Populate success + jsonDoc.Success = true + + // Populate metadata + jsonDoc.Metadata.Title = extract.Metadata.Title + jsonDoc.Metadata.Author = extract.Metadata.Author + jsonDoc.Metadata.URL = extract.Metadata.URL + jsonDoc.Metadata.Hostname = extract.Metadata.Hostname + jsonDoc.Metadata.Description = extract.Metadata.Description + jsonDoc.Metadata.Sitename = extract.Metadata.Sitename + jsonDoc.Metadata.Date = extract.Metadata.Date.Format("2006-01-02") + jsonDoc.Metadata.Categories = extract.Metadata.Categories + jsonDoc.Metadata.Tags = extract.Metadata.Tags + jsonDoc.Metadata.License = extract.Metadata.License + + // Populate content + if extract.ContentNode != nil { + jsonDoc.Content = parseContent(extract.ContentNode) + } + + // Populate comments + if extract.CommentsNode != nil { + jsonDoc.Comments = dom.OuterHTML(extract.CommentsNode) + } + + return jsonDoc +} + +func parseContent(node *html.Node) []interface{} { + var content []interface{} + + for child := node.FirstChild; child != nil; child = child.NextSibling { + switch child.Data { + case "img": + image := ImageContent{ + Type: "img", + URL: dom.GetAttribute(child, "src"), + Alt: dom.GetAttribute(child, "alt"), + Caption: dom.GetAttribute(child, "caption"), + } + content = append(content, image) + + case "a": + link := LinkContent{ + Type: "a", + Href: dom.GetAttribute(child, "href"), + Data: dom.InnerText(child), + } + content = append(content, link) + + case "h1": + text := TextContent{ + Type: "h1", + Data: dom.InnerText(child), + } + content = append(content, text) + + case "h2": + text := TextContent{ + Type: "h2", + Data: dom.InnerText(child), + } + content = append(content, text) + + case "h3": + text := TextContent{ + Type: "h3", + Data: dom.InnerText(child), + } + content = append(content, text) + + // continue with other tags + + default: + text := TextContent{ + Type: "p", + Data: dom.InnerText(child), + } + content = append(content, text) + } + } + + return content +} diff --git a/proxychain/responsemodifers/outline.go b/proxychain/responsemodifers/outline.go index 43fb91c4..13f60bb6 100644 --- a/proxychain/responsemodifers/outline.go +++ b/proxychain/responsemodifers/outline.go @@ -3,18 +3,23 @@ package responsemodifers import ( "bytes" "encoding/json" - "github.com/go-shiori/dom" + //"github.com/go-shiori/dom" "github.com/markusmobius/go-trafilatura" - "golang.org/x/net/html" + //"golang.org/x/net/html" "io" "ladder/proxychain" - //"strings" + "ladder/proxychain/responsemodifers/api" ) -// Outline creates an JSON representation of the article -func Outline() proxychain.ResponseModification { +// APIOutline creates an JSON representation of the article and returns it as an API response. +func APIOutline() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - // Use readability + // we set content-type twice here, in case another response modifier + // tries to forward over the original headers + chain.Context.Set("content-type", "application/json") + chain.Response.Header.Set("content-type", "application/json") + + // extract dom contents opts := trafilatura.Options{ IncludeImages: true, IncludeLinks: true, @@ -26,151 +31,20 @@ func Outline() proxychain.ResponseModification { result, err := trafilatura.Extract(chain.Response.Body, opts) if err != nil { - return err + chain.Response.Body = api.CreateAPIErrReader(err) + return nil } - doc := createJSONDocument(result) - jsonData, err := json.MarshalIndent(doc, "", " ") + doc := api.ExtractResultToAPIResponse(result) + jsonData, err := json.MarshalIndent(doc, "", "\t") if err != nil { - return err + chain.Response.Body = api.CreateAPIErrReader(err) + return nil } + buf := bytes.NewBuffer(jsonData) - //doc := trafilatura.CreateReadableDocument(result) - //reader := io.NopCloser(strings.NewReader(dom.OuterHTML(doc))) chain.Response.Body = io.NopCloser(buf) return nil } } - -// ======================================================================================= -// credit @joncrangle https://github.com/everywall/ladder/issues/38#issuecomment-1831252934 - -type ImageContent struct { - Type string `json:"type"` - URL string `json:"url"` - Alt string `json:"alt"` - Caption string `json:"caption"` -} - -type LinkContent struct { - Type string `json:"type"` - Href string `json:"href"` - Data string `json:"data"` -} - -type TextContent struct { - Type string `json:"type"` - Data string `json:"data"` -} - -type JSONDocument struct { - Success bool `json:"success"` - Error struct { - Message string `json:"message"` - Type string `json:"type"` - Cause string `json:"cause"` - } `json:"error"` - Metadata struct { - Title string `json:"title"` - Author string `json:"author"` - URL string `json:"url"` - Hostname string `json:"hostname"` - Description string `json:"description"` - Sitename string `json:"sitename"` - Date string `json:"date"` - Categories []string `json:"categories"` - Tags []string `json:"tags"` - License string `json:"license"` - } `json:"metadata"` - Content []interface{} `json:"content"` - Comments string `json:"comments"` -} - -func createJSONDocument(extract *trafilatura.ExtractResult) *JSONDocument { - jsonDoc := &JSONDocument{} - - // Populate success - jsonDoc.Success = true - - // Populate metadata - jsonDoc.Metadata.Title = extract.Metadata.Title - jsonDoc.Metadata.Author = extract.Metadata.Author - jsonDoc.Metadata.URL = extract.Metadata.URL - jsonDoc.Metadata.Hostname = extract.Metadata.Hostname - jsonDoc.Metadata.Description = extract.Metadata.Description - jsonDoc.Metadata.Sitename = extract.Metadata.Sitename - jsonDoc.Metadata.Date = extract.Metadata.Date.Format("2006-01-02") - jsonDoc.Metadata.Categories = extract.Metadata.Categories - jsonDoc.Metadata.Tags = extract.Metadata.Tags - jsonDoc.Metadata.License = extract.Metadata.License - - // Populate content - if extract.ContentNode != nil { - jsonDoc.Content = parseContent(extract.ContentNode) - } - - // Populate comments - if extract.CommentsNode != nil { - jsonDoc.Comments = dom.OuterHTML(extract.CommentsNode) - } - - return jsonDoc -} - -func parseContent(node *html.Node) []interface{} { - var content []interface{} - - for child := node.FirstChild; child != nil; child = child.NextSibling { - switch child.Data { - case "img": - image := ImageContent{ - Type: "img", - URL: dom.GetAttribute(child, "src"), - Alt: dom.GetAttribute(child, "alt"), - Caption: dom.GetAttribute(child, "caption"), - } - content = append(content, image) - - case "a": - link := LinkContent{ - Type: "a", - Href: dom.GetAttribute(child, "href"), - Data: dom.InnerText(child), - } - content = append(content, link) - - case "h1": - text := TextContent{ - Type: "h1", - Data: dom.InnerText(child), - } - content = append(content, text) - - case "h2": - text := TextContent{ - Type: "h2", - Data: dom.InnerText(child), - } - content = append(content, text) - - case "h3": - text := TextContent{ - Type: "h3", - Data: dom.InnerText(child), - } - content = append(content, text) - - // continue with other tags - - default: - text := TextContent{ - Type: "p", - Data: dom.InnerText(child), - } - content = append(content, text) - } - } - - return content -} diff --git a/proxychain/responsemodifers/outline_test.go b/proxychain/responsemodifers/outline_test.go new file mode 100644 index 00000000..aadf9f14 --- /dev/null +++ b/proxychain/responsemodifers/outline_test.go @@ -0,0 +1,68 @@ +package responsemodifers + +import ( + "encoding/json" + "fmt" + "io" + "net/url" + "testing" +) + +func TestCreateAPIErrReader(t *testing.T) { + _, baseErr := url.Parse("://this is an invalid url") + wrappedErr := fmt.Errorf("wrapped error: %w", baseErr) + + readCloser := CreateAPIErrReader(wrappedErr) + defer readCloser.Close() + + // Read and unmarshal the JSON output + data, err := io.ReadAll(readCloser) + if err != nil { + t.Fatalf("Failed to read from ReadCloser: %v", err) + } + fmt.Println(string(data)) + + var apiErr APIError + err = json.Unmarshal(data, &apiErr) + if err != nil { + t.Fatalf("Failed to unmarshal JSON: %v", err) + } + + // Verify the structure of the APIError + if apiErr.Success { + t.Errorf("Expected Success to be false, got true") + } + + if apiErr.Error.Message != wrappedErr.Error() { + t.Errorf("Expected error message to be '%v', got '%v'", wrappedErr.Error(), apiErr.Error.Message) + } +} + +func TestCreateAPIErrReader2(t *testing.T) { + _, baseErr := url.Parse("://this is an invalid url") + + readCloser := CreateAPIErrReader(baseErr) + defer readCloser.Close() + + // Read and unmarshal the JSON output + data, err := io.ReadAll(readCloser) + if err != nil { + t.Fatalf("Failed to read from ReadCloser: %v", err) + } + fmt.Println(string(data)) + + var apiErr APIError + err = json.Unmarshal(data, &apiErr) + if err != nil { + t.Fatalf("Failed to unmarshal JSON: %v", err) + } + + // Verify the structure of the APIError + if apiErr.Success { + t.Errorf("Expected Success to be false, got true") + } + + if apiErr.Error.Message != baseErr.Error() { + t.Errorf("Expected error message to be '%v', got '%v'", baseErr.Error(), apiErr.Error.Message) + } +} From 53ce3ff297b0d945e8d49d6b0f1e851af93dcd27 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 29 Nov 2023 11:38:28 -0600 Subject: [PATCH 039/178] add /api/outline path --- cmd/main.go | 3 ++- handlers/api_outline.go | 44 ++++++++++++++++++++++++++++++++++++++++ handlers/proxy.go | 16 +++------------ proxychain/proxychain.go | 17 ++++++++++++++++ 4 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 handlers/api_outline.go diff --git a/cmd/main.go b/cmd/main.go index 21067131..554353a6 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -147,13 +147,14 @@ func main() { app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) - app.Get("api/*", handlers.Api) proxyOpts := &handlers.ProxyOptions{ Verbose: *verbose, RulesetPath: *ruleset, } + app.Get("api/outline/*", handlers.NewAPIOutlineHandler("api/outline/*", proxyOpts)) + app.Get("/*", handlers.NewProxySiteHandler(proxyOpts)) app.Post("/*", handlers.NewProxySiteHandler(proxyOpts)) diff --git a/handlers/api_outline.go b/handlers/api_outline.go new file mode 100644 index 00000000..f14fe5a3 --- /dev/null +++ b/handlers/api_outline.go @@ -0,0 +1,44 @@ +package handlers + +import ( + "ladder/proxychain" + rx "ladder/proxychain/requestmodifers" + tx "ladder/proxychain/responsemodifers" + + "github.com/gofiber/fiber/v2" +) + +func NewAPIOutlineHandler(path string, opts *ProxyOptions) fiber.Handler { + // TODO: implement ruleset logic + /* + var rs ruleset.RuleSet + if opts.RulesetPath != "" { + r, err := ruleset.NewRuleset(opts.RulesetPath) + if err != nil { + panic(err) + } + rs = r + } + */ + + return func(c *fiber.Ctx) error { + proxychain := proxychain. + NewProxyChain(). + WithAPIPath(path). + SetDebugLogging(opts.Verbose). + SetRequestModifications( + rx.MasqueradeAsGoogleBot(), + rx.ForwardRequestHeaders(), + rx.SpoofReferrerFromGoogleSearch(), + ). + AddResponseModifications( + tx.DeleteIncomingCookies(), + tx.RewriteHTMLResourceURLs(), + tx.APIOutline(), + ). + SetFiberCtx(c). + Execute() + + return proxychain + } +} diff --git a/handlers/proxy.go b/handlers/proxy.go index 42c47b4e..86824191 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -24,10 +24,6 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ - const botUA string = "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" - // 5.255.250.0/24, 37.9.87.0/24, 67.195.37.0/24, 67.195.50.0/24, 67.195.110.0/24, 67.195.111.0/24, 67.195.112.0/23, 67.195.114.0/24, 67.195.115.0/24, 68.180.224.0/21, 72.30.132.0/24, 72.30.142.0/24, 72.30.161.0/24, 72.30.196.0/24, 72.30.198.0/24, 74.6.254.0/24, 74.6.8.0/24, 74.6.13.0/24, 74.6.17.0/24, 74.6.18.0/24, 74.6.22.0/24, 74.6.27.0/24, 74.6.168.0/24, 77.88.5.0/24, 77.88.47.0/24, 93.158.161.0/24, 98.137.72.0/24, 98.137.206.0/24, 98.137.207.0/24, 98.139.168.0/24, 114.111.95.0/24, 124.83.159.0/24, 124.83.179.0/24, 124.83.223.0/24, 141.8.144.0/24, 183.79.63.0/24, 183.79.92.0/24, 203.216.255.0/24, 211.14.11.0/24 - //const ja3 string = "769,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" - const ja3 string = "771,49199-49195-49171-49161-49200-49196-49172-49162-51-57-50-49169-49159-47-53-10-5-4-255,0-11-10-13-13172-16,23-25-28-27-24-26-22-14-13-11-12-9-10,0-1-2" return func(c *fiber.Ctx) error { proxychain := proxychain. @@ -38,25 +34,19 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { //rx.SpoofJA3fingerprint(ja3, "Googlebot"), //rx.MasqueradeAsFacebookBot(), rx.MasqueradeAsGoogleBot(), - //rx.DeleteOutgoingCookies(), + rx.DeleteOutgoingCookies(), rx.ForwardRequestHeaders(), - rx.SetOutgoingCookie("nyt-a", " "), - rx.SetOutgoingCookie("nyt-gdpr", "0"), - rx.SetOutgoingCookie("nyt-gdpr", "0"), - rx.SetOutgoingCookie("nyt-geo", "DE"), - rx.SetOutgoingCookie("nyt-privacy", "1"), rx.SpoofReferrerFromGoogleSearch(), //rx.RequestWaybackMachine(), //rx.RequestArchiveIs(), ). AddResponseModifications( - //tx.ForwardResponseHeaders(), + tx.ForwardResponseHeaders(), tx.BypassCORS(), tx.BypassContentSecurityPolicy(), //tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), - //tx.PatchDynamicResourceURLs(), - tx.APIOutline(), + tx.PatchDynamicResourceURLs(), //tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ). Execute() diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 151334e2..ad5da598 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -102,6 +102,7 @@ type ProxyChain struct { Ruleset *ruleset.RuleSet debugMode bool abortErr error + _apiPrefix string } // a ProxyStrategy is a pre-built proxychain with purpose-built defaults @@ -167,6 +168,15 @@ func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) return chain } +// WithAPIPath trims the path during URL extraction. +// example: using path = "api/outline/", a path like "http://localhost:8080/api/outline/https://example.com" becomes "https://example.com" +func (chain *ProxyChain) WithAPIPath(path string) *ProxyChain { + fmt.Println("===================") + fmt.Printf("set path %s\n", path) + chain._apiPrefix = path + return chain +} + // Adds a ruleset to ProxyChain func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { chain.Ruleset = rs @@ -254,6 +264,10 @@ func preventRecursiveProxyRequest(urlQuery *url.URL, baseProxyURL string) *url.U // is a relative path, it reconstructs the full URL using the referer header. func (chain *ProxyChain) extractURL() (*url.URL, error) { reqURL := chain.Context.Params("*") + fmt.Println("XXXXXXXXXXXXXXXX") + fmt.Println(reqURL) + fmt.Println(chain._apiPrefix) + reqURL = strings.TrimPrefix(reqURL, chain._apiPrefix) // sometimes client requests doubleroot '//' // there is a bug somewhere else, but this is a workaround until we find it @@ -347,6 +361,9 @@ func (chain *ProxyChain) SetOnceHTTPClient(httpClient HTTPClient) *ProxyChain { // SetVerbose changes the logging behavior to print // the modification steps and applied rulesets for debugging func (chain *ProxyChain) SetDebugLogging(isDebugMode bool) *ProxyChain { + if isDebugMode { + log.Println("DEBUG MODE ENABLED") + } chain.debugMode = isDebugMode return chain } From 3fdbf3524d2eec1e8e5702c92811af39f5e22f1c Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 15:00:35 -0600 Subject: [PATCH 040/178] rename `proxychain.ProxyChainPool` to `proxychain.Pool` --- proxychain/proxychain_pool.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proxychain/proxychain_pool.go b/proxychain/proxychain_pool.go index 005bd281..ac5aa0ff 100644 --- a/proxychain/proxychain_pool.go +++ b/proxychain/proxychain_pool.go @@ -4,8 +4,8 @@ import ( "net/url" ) -type ProxyChainPool map[url.URL]ProxyChain +type Pool map[url.URL]ProxyChain -func NewProxyChainPool() ProxyChainPool { +func NewPool() Pool { return map[url.URL]ProxyChain{} } From dc558b38facb69c9c8ce4a1d2d99081d05cbd141 Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 15:02:05 -0600 Subject: [PATCH 041/178] fix import orders --- proxychain/requestmodifers/forward_request_headers.go | 3 +-- proxychain/requestmodifers/request_archive_is.go | 2 +- proxychain/requestmodifers/request_wayback_machine.go | 2 +- proxychain/requestmodifers/resolve_with_google_doh.go | 8 ++++---- proxychain/requestmodifers/spoof_referrer.go | 2 +- proxychain/requestmodifers/spoof_user_agent.go | 3 ++- proxychain/responsemodifers/forward_response_headers.go | 4 ++-- proxychain/responsemodifers/outline.go | 5 +++-- proxychain/responsemodifers/rewriters/html_rewriter.go | 4 ++++ 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/proxychain/requestmodifers/forward_request_headers.go b/proxychain/requestmodifers/forward_request_headers.go index 40cc5c1e..c3295648 100644 --- a/proxychain/requestmodifers/forward_request_headers.go +++ b/proxychain/requestmodifers/forward_request_headers.go @@ -1,9 +1,9 @@ package requestmodifers import ( + "strings" //"fmt" "ladder/proxychain" - "strings" ) var forwardBlacklist map[string]bool @@ -27,7 +27,6 @@ func init() { // ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server func ForwardRequestHeaders() proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - forwardHeaders := func(key, value []byte) { k := strings.ToLower(string(key)) v := string(value) diff --git a/proxychain/requestmodifers/request_archive_is.go b/proxychain/requestmodifers/request_archive_is.go index b0f321a3..d3ebc7da 100644 --- a/proxychain/requestmodifers/request_archive_is.go +++ b/proxychain/requestmodifers/request_archive_is.go @@ -3,10 +3,10 @@ package requestmodifers import ( "fmt" "net/url" + "regexp" "ladder/proxychain" tx "ladder/proxychain/responsemodifers" - "regexp" ) const archivistUrl string = "https://archive.is/latest" diff --git a/proxychain/requestmodifers/request_wayback_machine.go b/proxychain/requestmodifers/request_wayback_machine.go index 141beccf..ecc42702 100644 --- a/proxychain/requestmodifers/request_wayback_machine.go +++ b/proxychain/requestmodifers/request_wayback_machine.go @@ -2,10 +2,10 @@ package requestmodifers import ( "net/url" + "regexp" "ladder/proxychain" tx "ladder/proxychain/responsemodifers" - "regexp" ) const waybackUrl string = "https://web.archive.org/web/" diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifers/resolve_with_google_doh.go index 554e3ac5..19560b7e 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifers/resolve_with_google_doh.go @@ -4,15 +4,16 @@ import ( "context" "encoding/json" "fmt" - http "github.com/bogdanfinn/fhttp" "net" + "time" + + http "github.com/bogdanfinn/fhttp" + /* tls_client "github.com/bogdanfinn/tls-client" //"net/http" */ - "time" - "ladder/proxychain" ) @@ -71,7 +72,6 @@ func (cd *CustomDialer) DialContext(ctx context.Context, network, addr string) ( // ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL // using Google's DNS over HTTPs service func ResolveWithGoogleDoH() proxychain.RequestModification { - ///customDialer := NewCustomDialer(10*time.Second, 10*time.Second) return func(chain *proxychain.ProxyChain) error { /* diff --git a/proxychain/requestmodifers/spoof_referrer.go b/proxychain/requestmodifers/spoof_referrer.go index 1ab8cf02..cc408015 100644 --- a/proxychain/requestmodifers/spoof_referrer.go +++ b/proxychain/requestmodifers/spoof_referrer.go @@ -2,6 +2,7 @@ package requestmodifers import ( "fmt" + "ladder/proxychain" tx "ladder/proxychain/responsemodifers" ) @@ -12,7 +13,6 @@ import ( // if url is "", then the referrer header is removed. func SpoofReferrer(url string) proxychain.RequestModification { return func(chain *proxychain.ProxyChain) error { - // change refer on client side js script := fmt.Sprintf(`document.referrer = "%s"`, url) chain.AddOnceResponseModifications( diff --git a/proxychain/requestmodifers/spoof_user_agent.go b/proxychain/requestmodifers/spoof_user_agent.go index cc706bc1..8e2b3a77 100644 --- a/proxychain/requestmodifers/spoof_user_agent.go +++ b/proxychain/requestmodifers/spoof_user_agent.go @@ -2,9 +2,10 @@ package requestmodifers import ( _ "embed" + "strings" + "ladder/proxychain" tx "ladder/proxychain/responsemodifers" - "strings" ) // https://github.com/faisalman/ua-parser-js/tree/master diff --git a/proxychain/responsemodifers/forward_response_headers.go b/proxychain/responsemodifers/forward_response_headers.go index 763c7a9f..a143d396 100644 --- a/proxychain/responsemodifers/forward_response_headers.go +++ b/proxychain/responsemodifers/forward_response_headers.go @@ -2,9 +2,10 @@ package responsemodifers import ( "fmt" - "ladder/proxychain" "net/url" "strings" + + "ladder/proxychain" ) var forwardBlacklist map[string]bool @@ -23,7 +24,6 @@ func init() { // ForwardResponseHeaders forwards the response headers from the upstream server to the client func ForwardResponseHeaders() proxychain.ResponseModification { return func(chain *proxychain.ProxyChain) error { - //fmt.Println(chain.Response.Header) for uname, headers := range chain.Response.Header { name := strings.ToLower(uname) diff --git a/proxychain/responsemodifers/outline.go b/proxychain/responsemodifers/outline.go index 13f60bb6..be1f6cbd 100644 --- a/proxychain/responsemodifers/outline.go +++ b/proxychain/responsemodifers/outline.go @@ -3,10 +3,12 @@ package responsemodifers import ( "bytes" "encoding/json" + "io" + //"github.com/go-shiori/dom" "github.com/markusmobius/go-trafilatura" //"golang.org/x/net/html" - "io" + "ladder/proxychain" "ladder/proxychain/responsemodifers/api" ) @@ -46,5 +48,4 @@ func APIOutline() proxychain.ResponseModification { chain.Response.Body = io.NopCloser(buf) return nil } - } diff --git a/proxychain/responsemodifers/rewriters/html_rewriter.go b/proxychain/responsemodifers/rewriters/html_rewriter.go index d14626ff..aaa074ab 100644 --- a/proxychain/responsemodifers/rewriters/html_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_rewriter.go @@ -66,6 +66,7 @@ func (r *HTMLRewriter) Close() error { r.tokenBuffer.Reset() r.currentToken = nil r.currentTokenProcessed = false + return nil } @@ -79,6 +80,7 @@ func (r *HTMLRewriter) Read(p []byte) (int, error) { if r.tokenizer.Err() == io.EOF { return 0, io.EOF } + return 0, r.tokenizer.Err() } @@ -96,6 +98,7 @@ func (r *HTMLRewriter) Read(p []byte) (int, error) { if !rewriter.ShouldModify(r.currentToken) { continue } + prepend, a := rewriter.ModifyToken(r.currentToken) appends = append(appends, a) // add to buffer @@ -125,5 +128,6 @@ func (r *HTMLRewriter) Read(p []byte) (int, error) { r.currentTokenProcessed = true err = nil // EOF in this context is expected and not an actual error } + return n, err } From 382d5f37447974838128cfc2e439ac09d8ffeb63 Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 15:03:30 -0600 Subject: [PATCH 042/178] ignore unused params --- proxychain/proxychain.go | 15 +++++++++------ .../responsemodifers/modify_incoming_cookies.go | 4 +++- .../rewriters/html_token_url_rewriter.go | 8 +++++++- .../rewriters/script_injector_rewriter.go | 3 ++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index ad5da598..afc2e53d 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,6 +5,9 @@ import ( "fmt" "io" "log" + "net/url" + "strings" + //"time" //"net/http" @@ -12,10 +15,8 @@ import ( //http "github.com/Danny-Dasilva/fhttp" http "github.com/bogdanfinn/fhttp" tls_client "github.com/bogdanfinn/tls-client" - //"github.com/bogdanfinn/tls-client/profiles" - "net/url" - "strings" + //"github.com/bogdanfinn/tls-client/profiles" "ladder/pkg/ruleset" @@ -122,7 +123,7 @@ type HTTPClient interface { SetCookies(u *url.URL, cookies []*http.Cookie) SetCookieJar(jar http.CookieJar) GetCookieJar() http.CookieJar - SetProxy(proxyUrl string) error + SetProxy(proxyURL string) error GetProxy() string SetFollowRedirect(followRedirect bool) GetFollowRedirect() bool @@ -184,7 +185,7 @@ func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { return chain } -func (chain *ProxyChain) _initialize_request() (*http.Request, error) { +func (chain *ProxyChain) _initializeRequest() (*http.Request, error) { if chain.Context == nil { chain.abortErr = chain.abort(errors.New("no context set")) return nil, chain.abortErr @@ -264,9 +265,11 @@ func preventRecursiveProxyRequest(urlQuery *url.URL, baseProxyURL string) *url.U // is a relative path, it reconstructs the full URL using the referer header. func (chain *ProxyChain) extractURL() (*url.URL, error) { reqURL := chain.Context.Params("*") + fmt.Println("XXXXXXXXXXXXXXXX") fmt.Println(reqURL) fmt.Println(chain._apiPrefix) + reqURL = strings.TrimPrefix(reqURL, chain._apiPrefix) // sometimes client requests doubleroot '//' @@ -318,7 +321,7 @@ func (chain *ProxyChain) SetFiberCtx(ctx *fiber.Ctx) *ProxyChain { chain.Context = ctx // initialize the request and prepare it for modification - req, err := chain._initialize_request() + req, err := chain._initializeRequest() if err != nil { chain.abortErr = chain.abort(err) } diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifers/modify_incoming_cookies.go index e317124c..5a838305 100644 --- a/proxychain/responsemodifers/modify_incoming_cookies.go +++ b/proxychain/responsemodifers/modify_incoming_cookies.go @@ -2,6 +2,7 @@ package responsemodifers import ( "fmt" + http "github.com/bogdanfinn/fhttp" //"net/http" //http "github.com/Danny-Dasilva/fhttp" @@ -11,7 +12,7 @@ import ( // DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server // back down to the client. -func DeleteIncomingCookies(whitelist ...string) proxychain.ResponseModification { +func DeleteIncomingCookies(_ ...string) proxychain.ResponseModification { return func(px *proxychain.ProxyChain) error { px.Response.Header.Del("Set-Cookie") return nil @@ -37,6 +38,7 @@ func DeleteIncomingCookiesExcept(whitelist ...string) proxychain.ResponseModific filteredCookies := []string{} for _, cookieStr := range px.Response.Header["Set-Cookie"] { cookie := parseCookie(cookieStr) + if _, found := whitelistMap[cookie.Name]; found { filteredCookies = append(filteredCookies, cookieStr) } diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go index 8f0e3284..5489a786 100644 --- a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go +++ b/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go @@ -111,6 +111,7 @@ func (r *HTMLTokenURLRewriter) ShouldModify(token *html.Token) bool { func (r *HTMLTokenURLRewriter) ModifyToken(token *html.Token) (string, string) { for i := range token.Attr { attr := &token.Attr[i] + switch { // don't touch tag/attributes that don't contain URIs case !rewriteAttrs[token.Data][attr.Key]: @@ -192,9 +193,11 @@ func handleRootRelativePath(attr *html.Attribute, baseURL *url.URL) { // Document-relative URLs: These are relative to the current document's path and don't start with a "/". func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + if strings.HasPrefix(attr.Val, "#") { return } + relativePath := path.Join(strings.Trim(baseURL.RawPath, "/"), strings.Trim(attr.Val, "/")) attr.Val = fmt.Sprintf( "%s://%s/%s", @@ -204,13 +207,15 @@ func handleDocumentRelativePath(attr *html.Attribute, baseURL *url.URL) { ) attr.Val = escape(attr.Val) attr.Val = fmt.Sprintf("/%s", attr.Val) + log.Printf("doc rel url rewritten-> '%s'='%s'", attr.Key, attr.Val) } // full URIs beginning with https?://proxiedsite.com -func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { +func handleAbsolutePath(attr *html.Attribute, _ *url.URL) { // check if valid URL log.Printf("PROCESSING: key: %s val: %s\n", attr.Key, attr.Val) + u, err := url.Parse(attr.Val) if err != nil { return @@ -218,6 +223,7 @@ func handleAbsolutePath(attr *html.Attribute, baseURL *url.URL) { if !(u.Scheme == "http" || u.Scheme == "https") { return } + attr.Val = fmt.Sprintf("/%s", escape(strings.TrimPrefix(attr.Val, "/"))) //attr.Val = fmt.Sprintf("/%s", escape(attr.Val)) diff --git a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go index 0ff0d7ef..d6e63b59 100644 --- a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go +++ b/proxychain/responsemodifers/rewriters/script_injector_rewriter.go @@ -34,7 +34,7 @@ func (r *ScriptInjectorRewriter) ShouldModify(token *html.Token) bool { //go:embed after_dom_idle_script_injector.js var afterDomIdleScriptInjector string -func (r *ScriptInjectorRewriter) ModifyToken(token *html.Token) (string, string) { +func (r *ScriptInjectorRewriter) ModifyToken(_ *html.Token) (string, string) { switch { case r.execTime == BeforeDOMContentLoaded: return "", fmt.Sprintf("\n\n", r.script) @@ -58,6 +58,7 @@ func (r *ScriptInjectorRewriter) applyParams(params map[string]string) { for key := range params { keys = append(keys, key) } + sort.Slice(keys, func(i, j int) bool { return len(keys[i]) > len(keys[j]) }) From 439ec61de900c28a58e858cfde65451550ecd694 Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 15:03:44 -0600 Subject: [PATCH 043/178] rename `api.ApiError` to `api.Error` --- proxychain/responsemodifers/api/error_api.go | 5 +++-- proxychain/responsemodifers/outline_test.go | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/proxychain/responsemodifers/api/error_api.go b/proxychain/responsemodifers/api/error_api.go index 1a5e71ae..333564fb 100644 --- a/proxychain/responsemodifers/api/error_api.go +++ b/proxychain/responsemodifers/api/error_api.go @@ -8,7 +8,7 @@ import ( "reflect" ) -type APIError struct { +type Error struct { Success bool `json:"success"` Error ErrorDetails `json:"error"` } @@ -25,7 +25,7 @@ func CreateAPIErrReader(err error) io.ReadCloser { } baseErr := getBaseError(err) - apiErr := APIError{ + apiErr := Error{ Success: false, Error: ErrorDetails{ Message: err.Error(), @@ -50,6 +50,7 @@ func getBaseError(err error) error { if unwrapped == nil { return err } + err = unwrapped } } diff --git a/proxychain/responsemodifers/outline_test.go b/proxychain/responsemodifers/outline_test.go index aadf9f14..edc96ac5 100644 --- a/proxychain/responsemodifers/outline_test.go +++ b/proxychain/responsemodifers/outline_test.go @@ -6,13 +6,15 @@ import ( "io" "net/url" "testing" + + "ladder/proxychain/responsemodifers/api" ) func TestCreateAPIErrReader(t *testing.T) { _, baseErr := url.Parse("://this is an invalid url") wrappedErr := fmt.Errorf("wrapped error: %w", baseErr) - readCloser := CreateAPIErrReader(wrappedErr) + readCloser := api.CreateAPIErrReader(wrappedErr) defer readCloser.Close() // Read and unmarshal the JSON output @@ -22,7 +24,7 @@ func TestCreateAPIErrReader(t *testing.T) { } fmt.Println(string(data)) - var apiErr APIError + var apiErr api.Error err = json.Unmarshal(data, &apiErr) if err != nil { t.Fatalf("Failed to unmarshal JSON: %v", err) @@ -41,7 +43,7 @@ func TestCreateAPIErrReader(t *testing.T) { func TestCreateAPIErrReader2(t *testing.T) { _, baseErr := url.Parse("://this is an invalid url") - readCloser := CreateAPIErrReader(baseErr) + readCloser := api.CreateAPIErrReader(baseErr) defer readCloser.Close() // Read and unmarshal the JSON output @@ -51,7 +53,7 @@ func TestCreateAPIErrReader2(t *testing.T) { } fmt.Println(string(data)) - var apiErr APIError + var apiErr api.Error err = json.Unmarshal(data, &apiErr) if err != nil { t.Fatalf("Failed to unmarshal JSON: %v", err) From 97afbaa64d88a4c6846918fb926ab87fa80db312 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 29 Nov 2023 16:41:24 -0600 Subject: [PATCH 044/178] add ascii art --- README.md | 3 ++- cmd/main.go | 11 ++++++++--- internal/cli/art.go | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 internal/cli/art.go diff --git a/README.md b/README.md index be1b96fd..539f4536 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,8 @@ There is a basic ruleset available in a separate repository [ruleset.yaml](https To run a development server at http://localhost:8080: ```bash -echo "dev" > handlers/VERSION +echo "dev " > handlers/VERSION +echo "dev " > cmd/VERSION RULESET="./ruleset.yaml" go run cmd/main.go ``` diff --git a/cmd/main.go b/cmd/main.go index 554353a6..ab9d8bf0 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -22,6 +22,9 @@ var faviconData string //go:embed styles.css var cssData embed.FS +//go:embed VERSION +var version string + func main() { parser := argparse.NewParser("ladder", "Every Wall needs a Ladder") @@ -100,9 +103,10 @@ func main() { app := fiber.New( fiber.Config{ - Prefork: *prefork, - GETOnly: false, - ReadBufferSize: 4096 * 4, // increase max header size + Prefork: *prefork, + GETOnly: false, + ReadBufferSize: 4096 * 4, // increase max header size + DisableStartupMessage: true, }, ) @@ -158,5 +162,6 @@ func main() { app.Get("/*", handlers.NewProxySiteHandler(proxyOpts)) app.Post("/*", handlers.NewProxySiteHandler(proxyOpts)) + fmt.Println(cli.StartupMessage("1.0.1", *port, *ruleset)) log.Fatal(app.Listen(":" + *port)) } diff --git a/internal/cli/art.go b/internal/cli/art.go new file mode 100644 index 00000000..f3eeb297 --- /dev/null +++ b/internal/cli/art.go @@ -0,0 +1,40 @@ +package cli + +import "fmt" + +var art string = ` + _____╬═╬____________________________________________ + |_|__╬═╬___|___|___|___| EVERYWALL |___|___|___|___| + |___|╬═╬|___▄▄▌ ▄▄▄· ·▄▄▄▄ ·▄▄▄▄ ▄▄▄ .▄▄▄ __|_| + |_|__╬═╬___|██• ▐█ ▀█ ██▪ ██ ██▪ ██ ▀▄.▀·▀▄ █·|___| + |___|╬═╬|___██▪ ▄█▀▀█ ▐█· ▐█▌▐█· ▐█▌▐▀▀▪▄▐▀▀▄ __|_| + |_|__╬═╬___|▐█▌▐▌▐█ ▪▐▌██. ██ ██. ██ ▐█▄▄▌▐█•█▌|___| + |___|╬═╬|___.▀▀▀ ▀ ▀ ▀▀▀▀▀• ▀▀▀▀▀• ▀▀▀ .▀ ▀__|_| + |_|__╬═╬___|___|___|__ VERSION %s __|___|___|___| + |___|╬═╬|____|___|___|___|___|___|___|___|___|___|_| + ` + +func StartupMessage(version string, port string, ruleset string) string { + buf := fmt.Sprintf(art, version) + buf += fmt.Sprintf("\n > listening on http://localhost:%s\n", port) + if ruleset == "" { + buf += " ! no ruleset specified.\n > for better performance, use a ruleset using --ruleset\n" + } else { + buf += fmt.Sprintf(" > using ruleset: %s\n", ruleset) + } + return colorizeNonASCII(buf) +} + +func colorizeNonASCII(input string) string { + result := "" + for _, r := range input { + if r > 127 { + // If the character is non-ASCII, color it blue + result += fmt.Sprintf("\033[94m%c\033[0m", r) + } else { + // ASCII characters remain unchanged + result += string(r) + } + } + return result +} From 0122b2f1cf0cb6e679a157affdfc35f0ebecff9b Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 23:24:32 -0600 Subject: [PATCH 045/178] add option to use random ip from googlebot pool --- cmd/main.go | 16 +++- handlers/api.go | 2 +- internal/helpers/googlebot.go | 84 +++++++++++++++++++ .../masquerade_as_trusted_bot.go | 4 +- 4 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 internal/helpers/googlebot.go diff --git a/cmd/main.go b/cmd/main.go index ab9d8bf0..40891606 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,6 +9,7 @@ import ( "ladder/handlers" "ladder/internal/cli" + "ladder/internal/helpers" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" @@ -22,7 +23,6 @@ var faviconData string //go:embed styles.css var cssData embed.FS -//go:embed VERSION var version string func main() { @@ -49,6 +49,11 @@ func main() { Help: "Adds verbose logging", }) + randomGooglebot := parser.Flag("", "random-googlebot", &argparse.Options{ + Required: false, + Help: "Uses a random trusted Googlebot IP for each masqueraded request", + }) + // TODO: add version flag that reads from handers/VERSION ruleset := parser.String("r", "ruleset", &argparse.Options{ @@ -76,6 +81,15 @@ func main() { fmt.Print(parser.Usage(err)) } + if *randomGooglebot { + err := helpers.UpdateGooglebotIPs() + + if err != nil { + fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error()) + fmt.Println("defaulting to known trusted Googlebot identity") + } + } + // utility cli flag to compile ruleset directory into single ruleset.yaml if *mergeRulesets || *mergeRulesetsGzip { output := os.Stdout diff --git a/handlers/api.go b/handlers/api.go index 96ff82a3..1a348641 100644 --- a/handlers/api.go +++ b/handlers/api.go @@ -7,7 +7,7 @@ import ( ) //nolint:all -//go:embed VERSION + var version string func Api(c *fiber.Ctx) error { diff --git a/internal/helpers/googlebot.go b/internal/helpers/googlebot.go new file mode 100644 index 00000000..58b09a24 --- /dev/null +++ b/internal/helpers/googlebot.go @@ -0,0 +1,84 @@ +package helpers + +import ( + "encoding/json" + "errors" + "io" + "math/rand" + "net/http" + "strings" + "time" +) + +type googlebotResp struct { + Timestamp time.Time + IPs []string +} + +var GooglebotIPs = googlebotResp{ + IPs: []string{"34.165.18.176"}, +} + +const timeFormat string = "2006-01-02T15:04:05.999999" + +func UpdateGooglebotIPs() error { + resp, err := http.Get("https://developers.google.com/static/search/apis/ipranges/googlebot.json") + if err != nil { + return err + } + + if resp.StatusCode != http.StatusOK { + return errors.New("non-200 status code recieved") + } + + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + j := map[string]any{} + json.Unmarshal(body, &j) + + timestamp, err := time.Parse(timeFormat, j["creationTime"].(string)) + if err != nil { + return err + } + + prefixes := j["prefixes"].([]any) + + ips := make([]string, 0, 127) + + for _, prefix := range prefixes { + p := prefix.(map[string]any) + + if val, exists := p["ipv4Prefix"]; exists { + v := val.(string) + + v = strings.ReplaceAll(v, "/27", "") + v = strings.ReplaceAll(v, "/28", "") + + ips = append(ips, v) + } + + } + + GooglebotIPs = googlebotResp{ + Timestamp: timestamp, + IPs: ips, + } + + return nil +} + +func RandomGooglebotIP() string { + count := len(GooglebotIPs.IPs) + idx := 0 + + if count != 1 { + idx = rand.Intn(count) + } + + return GooglebotIPs.IPs[idx] +} diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifers/masquerade_as_trusted_bot.go index 4f1c75a7..4d4d81a0 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifers/masquerade_as_trusted_bot.go @@ -1,6 +1,7 @@ package requestmodifers import ( + "ladder/internal/helpers" "ladder/proxychain" ) @@ -8,7 +9,8 @@ import ( // to appear to be a Google Bot func MasqueradeAsGoogleBot() proxychain.RequestModification { const botUA string = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; http://www.google.com/bot.html) Chrome/79.0.3945.120 Safari/537.36" - const botIP string = "66.249.78.8" // TODO: create a random ip pool from https://developers.google.com/static/search/apis/ipranges/googlebot.json + var botIP string = helpers.RandomGooglebotIP() + // https://github.com/trisulnsm/trisul-scripts/blob/master/lua/frontend_scripts/reassembly/ja3/prints/ja3fingerprint.json const ja3 string = "769,49195-49199-49196-49200-52393-52392-52244-52243-49161-49171-49162-49172-156-157-47-53-10,65281-0-23-35-13-5-18-16-11-10-21,29-23-24,0" // "741,49195-49199-49200-49161-49171-49162-49172-156-157-47-10-53-51-57,65281-0-23-35-13-13172-11-10,29-23-24,0" From dbaf1029c5c7b62c9f3ec182b86f324e85a54c1d Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Wed, 29 Nov 2023 23:30:18 -0600 Subject: [PATCH 046/178] woops --- cmd/main.go | 1 + handlers/api.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/main.go b/cmd/main.go index 40891606..30e1432b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -23,6 +23,7 @@ var faviconData string //go:embed styles.css var cssData embed.FS +//go:embed VERSION var version string func main() { diff --git a/handlers/api.go b/handlers/api.go index 1a348641..96ff82a3 100644 --- a/handlers/api.go +++ b/handlers/api.go @@ -7,7 +7,7 @@ import ( ) //nolint:all - +//go:embed VERSION var version string func Api(c *fiber.Ctx) error { From 6749f76b0bdf88d79a5d8af090de331879213e3b Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:57:32 -0500 Subject: [PATCH 047/178] Begin work on outline page and route --- cmd/main.go | 27 ++ cmd/script.js | 269 +++++++++++++++++ cmd/styles.css | 2 +- go.mod | 4 + go.sum | 13 + handlers/outline.go | 55 ++++ handlers/outline.html | 387 +++++++++++++++++++++++++ proxychain/proxychain.go | 29 ++ proxychain/responsemodifers/outline.go | 17 +- styles/input.css | 77 ++++- 10 files changed, 867 insertions(+), 13 deletions(-) create mode 100644 cmd/script.js create mode 100644 handlers/outline.go create mode 100644 handlers/outline.html diff --git a/cmd/main.go b/cmd/main.go index ab9d8bf0..926fd970 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -3,6 +3,7 @@ package main import ( "embed" "fmt" + "html/template" "log" "os" "strings" @@ -14,6 +15,7 @@ import ( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/basicauth" "github.com/gofiber/fiber/v2/middleware/favicon" + "github.com/gofiber/template/html/v2" ) //go:embed favicon.ico @@ -22,6 +24,9 @@ var faviconData string //go:embed styles.css var cssData embed.FS +//go:embed script.js +var scriptData embed.FS + //go:embed VERSION var version string @@ -101,12 +106,21 @@ func main() { *prefork = true } + engine := html.New("./handlers", ".html") + engine.AddFunc( + // add unescape function + "unescape", func(s string) template.HTML { + return template.HTML(s) + }, + ) + app := fiber.New( fiber.Config{ Prefork: *prefork, GETOnly: false, ReadBufferSize: 4096 * 4, // increase max header size DisableStartupMessage: true, + Views: engine, }, ) @@ -149,6 +163,18 @@ func main() { return c.Send(cssData) }) + // TODO: move to handlers/script.go + app.Get("/script.js", func(c *fiber.Ctx) error { + scriptData, err := scriptData.ReadFile("script.js") + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + + c.Set("Content-Type", "text/javascript") + + return c.Send(scriptData) + }) + app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) @@ -158,6 +184,7 @@ func main() { } app.Get("api/outline/*", handlers.NewAPIOutlineHandler("api/outline/*", proxyOpts)) + app.Get("outline/*", handlers.Outline("outline/*", proxyOpts)) app.Get("/*", handlers.NewProxySiteHandler(proxyOpts)) app.Post("/*", handlers.NewProxySiteHandler(proxyOpts)) diff --git a/cmd/script.js b/cmd/script.js new file mode 100644 index 00000000..ce87a469 --- /dev/null +++ b/cmd/script.js @@ -0,0 +1,269 @@ +const labels = document.querySelectorAll("label"); +const inputs = document.querySelectorAll('input[type="radio"]'); +const mainElement = document.querySelector("main"); + +const handleDOMContentLoaded = () => { + handleFontChange(); + handleFontSizeChange(); + inputs.forEach((input) => { + const storedValue = localStorage.getItem(input.name); + if (storedValue === input.value) { + input.checked = true; + } + }); + window.removeEventListener("DOMContentLoaded", handleDOMContentLoaded); +}; + +function focusable_children(node) { + const nodes = Array.from( + node.querySelectorAll( + 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])' + ) + ).filter((s) => s.offsetParent !== null); + const index = nodes.indexOf(document.activeElement); + const update = (d) => { + let i = index + d; + i += nodes.length; + i %= nodes.length; + nodes[i].focus(); + }; + return { + next: (selector) => { + const reordered = [ + ...nodes.slice(index + 1), + ...nodes.slice(0, index + 1), + ]; + for (let i = 0; i < reordered.length; i += 1) { + if (!selector || reordered[i].matches(selector)) { + reordered[i].focus(); + return; + } + } + }, + prev: (selector) => { + const reordered = [ + ...nodes.slice(index + 1), + ...nodes.slice(0, index + 1), + ]; + for (let i = reordered.length - 2; i >= 0; i -= 1) { + if (!selector || reordered[i].matches(selector)) { + reordered[i].focus(); + return; + } + } + }, + update, + }; +} + +function trap(node) { + const handle_keydown = (e) => { + if (e.key === "Tab") { + e.preventDefault(); + const group = focusable_children(node); + if (e.shiftKey) { + group.prev(); + } else { + group.next(); + } + } + }; + node.addEventListener("keydown", handle_keydown); + return { + destroy: () => { + node.removeEventListener("keydown", handle_keydown); + }, + }; +} + +const toggleDropdown = () => { + const dropdown = document.getElementById("dropdown"); + const dropdown_panel = document.getElementById("dropdown_panel"); + const focusTrap = trap(dropdown); + + const closeDropdown = () => { + dropdown_panel.classList.add("hidden"); + focusTrap.destroy(); + dropdown.removeEventListener("keydown", handleEscapeKey); + document.removeEventListener("click", handleClickOutside); + inputs.forEach((input) => { + input.removeEventListener("change", handleInputChange); + }); + labels.forEach((label) => { + label.removeEventListener("click", handleLabelSelection); + }); + }; + + const handleClickOutside = (e) => { + if (!dropdown.contains(e.target)) { + closeDropdown(); + } + }; + + const handleEscapeKey = (e) => { + if (e.key === "Escape") { + dropdown_panel.classList.add("hidden"); + closeDropdown(); + } + }; + + const handleInputChange = (e) => { + if (e.target.checked) { + localStorage.setItem(e.target.name, e.target.value); + switch (e.target.name) { + case "theme": { + handleThemeChange(); + break; + } + case "font": { + handleFontChange(); + break; + } + case "fontsize": { + handleFontSizeChange(); + break; + } + default: { + console.error("Unknown event"); + break; + } + } + } + }; + + const handleLabelSelection = (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + const input = document.getElementById(e.target.getAttribute("for")); + input.checked = true; + input.dispatchEvent(new Event("change", { bubbles: true })); + } + }; + + if (dropdown_panel.classList.contains("hidden")) { + dropdown_panel.classList.remove("hidden"); + dropdown.addEventListener("keydown", handleEscapeKey); + inputs.forEach((input) => { + input.addEventListener("change", handleInputChange); + }); + labels.forEach((label) => { + label.addEventListener("keydown", handleLabelSelection); + }); + document.addEventListener("click", handleClickOutside); + } else { + closeDropdown(); + } +}; + +const handleFontChange = () => { + if (mainElement === null) { + return; + } + const font = localStorage.getItem("font"); + if (font === "sans-serif") { + mainElement.classList.add("font-sans"); + mainElement.classList.remove("font-serif"); + } else { + mainElement.classList.add("font-serif"); + mainElement.classList.remove("font-sans"); + } +}; + +const changeFontSize = (node, classes) => { + const sizes = [ + "text-xs", + "text-sm", + "text-base", + "text-lg", + "text-xl", + "text-2xl", + "text-3xl", + "text-4xl", + "sm:text-3xl", + "sm:text-4xl", + "sm:text-5xl", + ]; + const currentClasses = sizes.filter((size) => node.classList.contains(size)); + node.classList.remove(...currentClasses); + node.classList.add(...classes); +}; + +const handleFontSizeChange = () => { + if (mainElement === null) { + return; + } + const fontSize = localStorage.getItem("fontsize"); + const nodes = document.querySelectorAll( + "h1, h2, h3, h4, code, pre, kbd, table" + ); + if (fontSize === "text-sm") { + changeFontSize(mainElement, ["text-sm"]); + } else if (fontSize === "text-lg") { + changeFontSize(mainElement, ["text-lg"]); + } else { + changeFontSize(mainElement, ["text-base"]); + } + nodes.forEach((node) => { + let classes = ""; + switch (node.tagName) { + case "H1": { + if (fontSize === "text-sm") { + classes = ["text-2xl", "sm:text-3xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-4xl", "sm:text-5xl"]; + } else { + classes = ["text-3xl", "sm:text-4xl"]; + } + } + case "H2": { + if (fontSize === "text-sm") { + classes = ["text-2xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-4xl"]; + } else { + classes = ["text-3xl"]; + } + break; + } + case "H3": { + if (fontSize === "text-sm") { + classes = ["text-xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-3xl"]; + } else { + classes = ["text-2xl"]; + } + break; + } + case "H4": { + if (fontSize === "text-sm") { + classes = ["text-lg"]; + } else if (fontSize === "text-lg") { + classes = ["text-2xl"]; + } else { + classes = ["text-xl"]; + } + break; + } + case "CODE": + case "PRE": + case "KBD": + case "TABLE": { + if (fontSize === "text-sm") { + classes = ["text-xs"]; + } else if (fontSize === "text-lg") { + classes = ["text-base"]; + } else { + classes = ["text-sm"]; + } + break; + } + default: { + break; + } + } + changeFontSize(node, classes); + }); +}; + +window.addEventListener("DOMContentLoaded", handleDOMContentLoaded); diff --git a/cmd/styles.css b/cmd/styles.css index 33803d81..2d9be531 100644 --- a/cmd/styles.css +++ b/cmd/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-10{margin-top:2.5rem}.block{display:block}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.max-w-3xl{max-width:48rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.gap-4{gap:1rem}.rounded-md{border-radius:.375rem}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-extrabold{font-weight:800}.leading-6{line-height:1.5rem}.tracking-tight{letter-spacing:-.025em}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}@media (prefers-color-scheme:dark){.dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\:hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.hover\:dark\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}@media (prefers-color-scheme:dark){a{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h1{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}@media (prefers-color-scheme:dark){h2{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h3{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h4,h5,h6{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){p{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}@media (prefers-color-scheme:dark){code,kbd{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){ul{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){ol{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){dl{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){li{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}@media (prefers-color-scheme:dark){tfoot{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){tr{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}tr:hover{background-color:rgb(51 65 85 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){th{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){caption{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){img{--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){figcaption{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){hr{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.mr-1{margin-right:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){.dark\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.dark\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\:hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.dark\:hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.hover\:dark\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}.peer:checked~.dark\:peer-checked\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}} diff --git a/go.mod b/go.mod index d751fb8e..2e8eb23b 100644 --- a/go.mod +++ b/go.mod @@ -20,6 +20,8 @@ require ( github.com/elliotchance/pie/v2 v2.8.0 // indirect github.com/forPelevin/gomoji v1.1.8 // indirect github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789 // indirect + github.com/gofiber/template v1.8.2 // indirect + github.com/gofiber/utils v1.1.0 // indirect github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect github.com/hablullah/go-hijri v1.0.2 // indirect github.com/hablullah/go-juliandays v1.0.0 // indirect @@ -40,8 +42,10 @@ require ( ) require ( + github.com/PuerkitoBio/goquery v1.8.1 github.com/andybalholm/brotli v1.0.6 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/gofiber/template/html/v2 v2.0.5 github.com/google/uuid v1.4.0 // indirect github.com/klauspost/compress v1.17.3 // indirect github.com/mattn/go-colorable v0.1.13 // indirect diff --git a/go.sum b/go.sum index 72701cf1..01208f76 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,12 @@ +github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= +github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= github.com/abadojack/whatlanggo v1.0.1 h1:19N6YogDnf71CTHm3Mp2qhYfkRdyvbgwWdd2EPxJRG4= github.com/abadojack/whatlanggo v1.0.1/go.mod h1:66WiQbSbJBIlOZMsvbKe5m6pzQovxCH9B/K8tQB2uoc= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/bogdanfinn/fhttp v0.5.24 h1:OlyBKjvJp6a3TotN3wuj4mQHHRbfK7QUMrzCPOZGhRc= @@ -27,6 +30,12 @@ github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789/go.mod h1 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= +github.com/gofiber/template v1.8.2 h1:PIv9s/7Uq6m+Fm2MDNd20pAFFKt5wWs7ZBd8iV9pWwk= +github.com/gofiber/template v1.8.2/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8= +github.com/gofiber/template/html/v2 v2.0.5 h1:BKLJ6Qr940NjntbGmpO3zVa4nFNGDCi/IfUiDB9OC20= +github.com/gofiber/template/html/v2 v2.0.5/go.mod h1:RCF14eLeQDCSUPp0IGc2wbSSDv6yt+V54XB/+Unz+LM= +github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM= +github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14= github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= @@ -105,8 +114,10 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= @@ -115,6 +126,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -134,6 +146,7 @@ golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= diff --git a/handlers/outline.go b/handlers/outline.go new file mode 100644 index 00000000..ccf6a97a --- /dev/null +++ b/handlers/outline.go @@ -0,0 +1,55 @@ +package handlers + +import ( + "ladder/proxychain" + rx "ladder/proxychain/requestmodifers" + tx "ladder/proxychain/responsemodifers" + "log" + + "github.com/gofiber/fiber/v2" +) + +func Outline(path string, opts *ProxyOptions) fiber.Handler { + + // TODO: implement ruleset logic + /* + var rs ruleset.RuleSet + if opts.RulesetPath != "" { + r, err := ruleset.NewRuleset(opts.RulesetPath) + if err != nil { + panic(err) + } + rs = r + } + */ + + return func(c *fiber.Ctx) error { + result, err := proxychain. + NewProxyChain(). + WithAPIPath(path). + SetDebugLogging(opts.Verbose). + SetRequestModifications( + rx.MasqueradeAsGoogleBot(), + rx.ForwardRequestHeaders(), + rx.SpoofReferrerFromGoogleSearch(), + ). + AddResponseModifications( + tx.DeleteIncomingCookies(), + tx.RewriteHTMLResourceURLs(), + tx.APIOutline(), + ). + SetFiberCtx(c). + ExecuteForAPI() + + if err != nil { + log.Fatal(err) + } + + return c.Render("outline", fiber.Map{ + "Success": true, + "Params": c.Params("*"), + "Title": "Outline", + "Body": result, + }) + } +} diff --git a/handlers/outline.html b/handlers/outline.html new file mode 100644 index 00000000..85c7665c --- /dev/null +++ b/handlers/outline.html @@ -0,0 +1,387 @@ + + + + + + + + ladder | {{ .Title }} + + + +
+
+ + +
+ +
+
+ +
+ {{ if not .Success}} +

+ Error +

+

+ There was a problem querying + {{ .Params }} +

+ + {{ .Type }}: {{ .Message }} +
Cause:
+ {{ .Cause }} +
+ {{else}} +
+
+ + {{.Url}} + +
+

+ {{.Title}} +

+ {{ if ne .Date "" }} + {{.date}} + {{ end }} {{ if ne .Author "" }} + {{.Author}} + {{ end }} +
+ +
+
{{ .Params }}
+
{{ unescape .Body }}
+ {{ end }} + + +
+ +
+ +
+
+ + + + diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index afc2e53d..0657f01a 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -518,3 +518,32 @@ func (chain *ProxyChain) Execute() error { // return chain.Context.SendStream(body) } + +func (chain *ProxyChain) ExecuteForAPI() (string, error) { + defer chain._reset() + body, err := chain._execute() + if err != nil { + log.Println(err) + return "", err + } + if chain.Context == nil { + return "", errors.New("no context set") + } + + // in case api user did not set or forward content-type, we do it for them + /* + if chain.Context.Get("content-type") == "" { + chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) + } + */ + + // Capture the HTML content in a variable + htmlContent, err := io.ReadAll(body) + if err != nil { + log.Println(err) + return "", err + } + + // Return the HTML content to the client + return string(htmlContent), nil +} diff --git a/proxychain/responsemodifers/outline.go b/proxychain/responsemodifers/outline.go index be1f6cbd..b2392292 100644 --- a/proxychain/responsemodifers/outline.go +++ b/proxychain/responsemodifers/outline.go @@ -1,12 +1,13 @@ package responsemodifers import ( - "bytes" - "encoding/json" "io" + "strings" //"github.com/go-shiori/dom" + "github.com/go-shiori/dom" "github.com/markusmobius/go-trafilatura" + //"golang.org/x/net/html" "ladder/proxychain" @@ -37,15 +38,9 @@ func APIOutline() proxychain.ResponseModification { return nil } - doc := api.ExtractResultToAPIResponse(result) - jsonData, err := json.MarshalIndent(doc, "", "\t") - if err != nil { - chain.Response.Body = api.CreateAPIErrReader(err) - return nil - } - - buf := bytes.NewBuffer(jsonData) - chain.Response.Body = io.NopCloser(buf) + doc := trafilatura.CreateReadableDocument(result) + reader := io.NopCloser(strings.NewReader(dom.OuterHTML(doc))) + chain.Response.Body = reader return nil } } diff --git a/styles/input.css b/styles/input.css index bd6213e1..6c8deed5 100644 --- a/styles/input.css +++ b/styles/input.css @@ -1,3 +1,78 @@ @tailwind base; @tailwind components; -@tailwind utilities; \ No newline at end of file +@tailwind utilities; + +@layer components { + a { + @apply text-slate-600 dark:text-slate-400 hover:text-blue-500 hover:underline underline-offset-2 transition-colors duration-300; + } + h1 { + @apply text-3xl sm:text-4xl font-extrabold tracking-tight text-slate-900 dark:text-slate-200; + } + h2 { + @apply scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0 text-slate-900 dark:text-slate-200; + } + h3 { + @apply scroll-m-20 text-2xl font-semibold tracking-tight text-slate-900 dark:text-slate-200; + } + h4, + h5, + h6 { + @apply scroll-m-20 text-xl font-semibold tracking-tight text-slate-900 dark:text-slate-200; + } + p { + @apply leading-7 [&:not(:first-child)]:mt-6 text-slate-900 dark:text-slate-200; + } + kbd, + code { + @apply relative rounded bg-slate-200 dark:bg-slate-800 px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold; + } + blockquote { + @apply mt-6 border-l-2 pl-6 italic; + } + ul { + @apply my-6 ml-6 list-disc [&>li]:mt-2 text-slate-900 dark:text-slate-200; + } + ol { + @apply my-6 ml-6 list-decimal [&>li]:mt-2 text-slate-900 dark:text-slate-200; + } + dl { + @apply my-6 text-slate-900 dark:text-slate-200 font-bold [&>dd]:font-normal [&>dd]:ml-6 [&>dt]:mt-3; + } + li { + @apply text-slate-900 dark:text-slate-200; + } + table { + @apply w-full caption-bottom text-sm; + } + thead { + @apply [&_tr]:border-b; + } + tbody { + @apply [&_tr:last-child]:border-0; + } + tfoot { + @apply border-t border-slate-400 dark:border-slate-700 bg-slate-700/50 dark:bg-slate-200/50 font-medium [&>tr]:last:border-b-0; + } + tr { + @apply border-b border-slate-400 dark:border-slate-700 transition-colors hover:bg-slate-200/50 dark:hover:bg-slate-700/50 data-[state=selected]:bg-slate-700 dark:data-[state=selected]:bg-slate-200; + } + th { + @apply h-12 px-4 text-left align-middle font-medium text-slate-600 dark:text-slate-200 [&:has([role=checkbox])]:pr-0; + } + td { + @apply p-4 align-middle [&:has([role=checkbox])]:pr-0; + } + caption { + @apply mt-4 text-sm text-slate-600 dark:text-slate-200; + } + img { + @apply h-auto w-auto object-cover max-w-full mx-auto rounded-md shadow-md dark:shadow-slate-700; + } + figcaption { + @apply mt-2 text-sm text-slate-600 dark:text-slate-400; + } + hr { + @apply shrink-0 bg-slate-200 dark:bg-slate-700 h-[1px] w-full; + } +} From bc01028d2b2a52b64d84de0b8e40aeef9e3516b6 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:12:38 -0500 Subject: [PATCH 048/178] Add dark mode --- cmd/styles.css | 2 +- tailwind.config.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cmd/styles.css b/cmd/styles.css index 2d9be531..74328f7d 100644 --- a/cmd/styles.css +++ b/cmd/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}@media (prefers-color-scheme:dark){a{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h1{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}@media (prefers-color-scheme:dark){h2{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h3{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){h4,h5,h6{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){p{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}@media (prefers-color-scheme:dark){code,kbd{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){ul{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){ol{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){dl{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){li{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}@media (prefers-color-scheme:dark){tfoot{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){tr{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}tr:hover{background-color:rgb(51 65 85 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){th{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){caption{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-color-scheme:dark){img{--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}@media (prefers-color-scheme:dark){figcaption{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){hr{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.mr-1{margin-right:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}@media (prefers-color-scheme:dark){.dark\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.dark\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.dark\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.dark\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.dark\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.dark\:hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.dark\:hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.hover\:dark\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}.peer:checked~.dark\:peer-checked\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.mr-1{margin-right:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\[0\.3rem\]{padding-left:.3rem;padding-right:.3rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-\[0\.2rem\]{padding-top:.2rem;padding-bottom:.2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem} diff --git a/tailwind.config.js b/tailwind.config.js index fea75a72..99a01a19 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,9 +1,9 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - content: ["./handlers/**/*.html"], - theme: { - extend: {}, - }, - plugins: [], - } - \ No newline at end of file + content: ["./handlers/**/*.html"], + darkMode: "class", + theme: { + extend: {}, + }, + plugins: [], +}; From 2beeeca89fa7dc107851e0b4cc9ef74bbb34ef5d Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:13:27 -0500 Subject: [PATCH 049/178] Rename ExecuteForAPI to ExecuteForOutline --- handlers/outline.go | 2 +- proxychain/proxychain.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/handlers/outline.go b/handlers/outline.go index ccf6a97a..6f66c097 100644 --- a/handlers/outline.go +++ b/handlers/outline.go @@ -39,7 +39,7 @@ func Outline(path string, opts *ProxyOptions) fiber.Handler { tx.APIOutline(), ). SetFiberCtx(c). - ExecuteForAPI() + ExecuteForOutline() if err != nil { log.Fatal(err) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 0657f01a..1b2053b7 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -519,7 +519,7 @@ func (chain *ProxyChain) Execute() error { // return chain.Context.SendStream(body) } -func (chain *ProxyChain) ExecuteForAPI() (string, error) { +func (chain *ProxyChain) ExecuteForOutline() (string, error) { defer chain._reset() body, err := chain._execute() if err != nil { From c89ba910f37662e2bf944f87f2a6d9f60fbfb8b4 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:13:38 -0500 Subject: [PATCH 050/178] Tidy --- go.mod | 1 - go.sum | 7 ------- 2 files changed, 8 deletions(-) diff --git a/go.mod b/go.mod index 2e8eb23b..61613f7a 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,6 @@ require ( ) require ( - github.com/PuerkitoBio/goquery v1.8.1 github.com/andybalholm/brotli v1.0.6 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/gofiber/template/html/v2 v2.0.5 diff --git a/go.sum b/go.sum index 01208f76..c973ed8d 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,9 @@ -github.com/PuerkitoBio/goquery v1.8.1 h1:uQxhNlArOIdbrH1tr0UXwdVFgDcZDrZVdcpygAcwmWM= -github.com/PuerkitoBio/goquery v1.8.1/go.mod h1:Q8ICL1kNUJ2sXGoAhPGUdYDJvgQgHzJsnnd3H7Ho5jQ= github.com/abadojack/whatlanggo v1.0.1 h1:19N6YogDnf71CTHm3Mp2qhYfkRdyvbgwWdd2EPxJRG4= github.com/abadojack/whatlanggo v1.0.1/go.mod h1:66WiQbSbJBIlOZMsvbKe5m6pzQovxCH9B/K8tQB2uoc= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= github.com/akamensky/argparse v1.4.0/go.mod h1:S5kwC7IuDcEr5VeXtGPRVZ5o/FdhcMlQz4IZQuw64xA= github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI= github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss= github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU= github.com/bogdanfinn/fhttp v0.5.24 h1:OlyBKjvJp6a3TotN3wuj4mQHHRbfK7QUMrzCPOZGhRc= @@ -114,10 +111,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= @@ -126,7 +121,6 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -146,7 +140,6 @@ golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= From a66f922f396c20a2697cba3dbe993a9ff94e0aa2 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:17:16 -0500 Subject: [PATCH 051/178] Update form --- cmd/styles.css | 2 +- handlers/form.html | 394 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 330 insertions(+), 66 deletions(-) diff --git a/cmd/styles.css b/cmd/styles.css index 74328f7d..a62bfe21 100644 --- a/cmd/styles.css +++ b/cmd/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.mr-1{margin-right:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\[0\.3rem\]{padding-left:.3rem;padding-right:.3rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-\[0\.2rem\]{padding-top:.2rem;padding-bottom:.2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[0\.3rem\]{padding-left:.3rem;padding-right:.3rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-\[0\.2rem\]{padding-top:.2rem;padding-bottom:.2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem} diff --git a/handlers/form.html b/handlers/form.html index 2174b731..ca001932 100644 --- a/handlers/form.html +++ b/handlers/form.html @@ -1,79 +1,343 @@ - - - - + + + + ladder - - + + - -
- - - - -
-

ladddddddder

-
-
-
- - + +
+
+ +
+ +
+ + + + +
+ +
+

+ ladddddddder +

+
+ +
+
+ + +
+

+

+ + +
+
+ +
- - + } + }); - \ No newline at end of file + inputField.addEventListener("keydown", (event) => { + if (event.code === "Escape") { + clearInput(); + } + }); + + clearButton.addEventListener("click", () => { + clearInput(); + }); + } + + + + From 4acb5f615a6c20cf8f77d23c18d476fcd1669f32 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:26:42 -0500 Subject: [PATCH 052/178] Fix error message styling --- cmd/styles.css | 2 +- handlers/form.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/styles.css b/cmd/styles.css index a62bfe21..94ccfa67 100644 --- a/cmd/styles.css +++ b/cmd/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[0\.3rem\]{padding-left:.3rem;padding-right:.3rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-\[0\.2rem\]{padding-top:.2rem;padding-bottom:.2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}h1{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:640px){h1{font-size:2.25rem;line-height:2.5rem}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd{position:relative;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-left:.3rem;padding-right:.3rem;padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.m-auto{margin:auto}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-full{width:100%}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[0\.3rem\]{padding-left:.3rem;padding-right:.3rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-\[0\.2rem\]{padding-top:.2rem;padding-bottom:.2rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}}.\[\&\:not\(\:first-child\)\]\:mt-0:not(:first-child){margin-top:0}.\[\&\:not\(\:first-child\)\]\:mt-6:not(:first-child){margin-top:1.5rem} diff --git a/handlers/form.html b/handlers/form.html index ca001932..ee11cb30 100644 --- a/handlers/form.html +++ b/handlers/form.html @@ -231,7 +231,7 @@

+

-

-

+ +
From 6c0721dcb811d0794d71b1951f370d92f0f176fe Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 3 Dec 2023 17:04:30 -0600 Subject: [PATCH 092/178] fix "modifer" -> "modifier" typo everywhere --- .air.toml | 2 +- .gitmodules | 10 +++++----- cmd/main.go | 2 +- go.mod | 1 - go.sum | 3 --- handlers/api_content.go | 4 ++-- handlers/outline.go | 4 ++-- handlers/proxy.go | 4 ++-- proxychain/proxychain.go | 12 ++++++------ .../{requestmodifers => requestmodifiers}/bot/bot.go | 0 .../bot/bot_test.go | 0 .../forward_request_headers.go | 2 +- .../masquerade_as_trusted_bot.go | 4 ++-- .../modify_domain_with_regex.go | 2 +- .../modify_outgoing_cookies.go | 2 +- .../modify_path_with_regex.go | 2 +- .../modify_query_params.go | 2 +- .../modify_request_headers.go | 2 +- .../request_archive_is.go | 4 ++-- .../request_google_cache.go | 2 +- .../request_wayback_machine.go | 4 ++-- .../resolve_with_google_doh.go | 2 +- .../spoof_ja3_fingerprint.go | 2 +- .../spoof_origin.go | 2 +- .../spoof_referrer.go | 4 ++-- .../spoof_referrer_from_baidu_post.go | 2 +- .../spoof_referrer_from_bing_search.go | 2 +- .../spoof_referrer_from_google_search.go | 2 +- .../spoof_referrer_from_linkedin_post.go | 2 +- .../spoof_referrer_from_naver_post.go | 2 +- .../spoof_referrer_from_pinterest_post.go | 2 +- .../spoof_referrer_from_qq_post.go | 2 +- .../spoof_referrer_from_reddit_post.go | 2 +- .../spoof_referrer_from_tumblr_post.go | 2 +- .../spoof_referrer_from_twitter_post.go | 2 +- .../spoof_referrer_from_vkontake_post.go | 2 +- .../spoof_referrer_from_weibo_post.go | 2 +- .../spoof_user_agent.go | 4 ++-- .../spoof_user_agent.js | 0 .../spoof_x_forwarded_for.go | 2 +- .../vendor/ua-parser-js | 0 .../api/error_api.go | 0 .../api/outline_api.go | 0 .../api_content.go | 4 ++-- .../api_content_test.go | 4 ++-- .../block_element_removal.go | 4 ++-- .../block_element_removal.js | 0 .../bypass_cors.go | 2 +- .../bypass_csp.go | 2 +- .../forward_response_headers.go | 2 +- .../generate_readable_outline.go | 2 +- .../generate_readable_outline.html | 0 .../inject_script.go | 4 ++-- .../modify_incoming_cookies.go | 2 +- .../modify_response_header.go | 2 +- .../patch_dynamic_resource_urls.go | 4 ++-- .../patch_dynamic_resource_urls.js | 0 .../patch_google_analytics.go | 2 +- .../patch_google_analytics.js | 0 .../patch_tracker_scripts.go | 4 ++-- .../rewrite_http_resource_urls.go | 4 ++-- .../rewriters/after_dom_idle_script_injector.js | 0 .../rewriters/css_rewriter.go | 0 .../rewriters/html_rewriter.go | 0 .../rewriters/html_token_url_rewriter.go | 0 .../rewriters/script_injector_rewriter.go | 0 .../vendor/ddg-tracker-surrogates | 0 67 files changed, 73 insertions(+), 77 deletions(-) rename proxychain/{requestmodifers => requestmodifiers}/bot/bot.go (100%) rename proxychain/{requestmodifers => requestmodifiers}/bot/bot_test.go (100%) rename proxychain/{requestmodifers => requestmodifiers}/forward_request_headers.go (97%) rename proxychain/{requestmodifers => requestmodifiers}/masquerade_as_trusted_bot.go (99%) rename proxychain/{requestmodifers => requestmodifiers}/modify_domain_with_regex.go (92%) rename proxychain/{requestmodifers => requestmodifiers}/modify_outgoing_cookies.go (99%) rename proxychain/{requestmodifers => requestmodifiers}/modify_path_with_regex.go (92%) rename proxychain/{requestmodifers => requestmodifiers}/modify_query_params.go (96%) rename proxychain/{requestmodifers => requestmodifiers}/modify_request_headers.go (96%) rename proxychain/{requestmodifers => requestmodifiers}/request_archive_is.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/request_google_cache.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/request_wayback_machine.go (94%) rename proxychain/{requestmodifers => requestmodifiers}/resolve_with_google_doh.go (98%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_ja3_fingerprint.go (98%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_origin.go (96%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer.go (93%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_baidu_post.go (98%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_bing_search.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_google_search.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_linkedin_post.go (96%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_naver_post.go (96%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_pinterest_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_qq_post.go (94%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_reddit_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_tumblr_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_twitter_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_vkontake_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_referrer_from_weibo_post.go (95%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_user_agent.go (93%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_user_agent.js (100%) rename proxychain/{requestmodifers => requestmodifiers}/spoof_x_forwarded_for.go (93%) rename proxychain/{requestmodifers => requestmodifiers}/vendor/ua-parser-js (100%) rename proxychain/{responsemodifers => responsemodifiers}/api/error_api.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/api/outline_api.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/api_content.go (95%) rename proxychain/{responsemodifers => responsemodifiers}/api_content_test.go (95%) rename proxychain/{responsemodifers => responsemodifiers}/block_element_removal.go (93%) rename proxychain/{responsemodifers => responsemodifiers}/block_element_removal.js (100%) rename proxychain/{responsemodifers => responsemodifiers}/bypass_cors.go (96%) rename proxychain/{responsemodifers => responsemodifiers}/bypass_csp.go (97%) rename proxychain/{responsemodifers => responsemodifiers}/forward_response_headers.go (97%) rename proxychain/{responsemodifers => responsemodifiers}/generate_readable_outline.go (99%) rename proxychain/{responsemodifers => responsemodifiers}/generate_readable_outline.html (100%) rename proxychain/{responsemodifers => responsemodifiers}/inject_script.go (94%) rename proxychain/{responsemodifers => responsemodifiers}/modify_incoming_cookies.go (99%) rename proxychain/{responsemodifers => responsemodifiers}/modify_response_header.go (95%) rename proxychain/{responsemodifers => responsemodifiers}/patch_dynamic_resource_urls.go (96%) rename proxychain/{responsemodifers => responsemodifiers}/patch_dynamic_resource_urls.js (100%) rename proxychain/{responsemodifers => responsemodifiers}/patch_google_analytics.go (97%) rename proxychain/{responsemodifers => responsemodifiers}/patch_google_analytics.js (100%) rename proxychain/{responsemodifers => responsemodifiers}/patch_tracker_scripts.go (95%) rename proxychain/{responsemodifers => responsemodifiers}/rewrite_http_resource_urls.go (94%) rename proxychain/{responsemodifers => responsemodifiers}/rewriters/after_dom_idle_script_injector.js (100%) rename proxychain/{responsemodifers => responsemodifiers}/rewriters/css_rewriter.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/rewriters/html_rewriter.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/rewriters/html_token_url_rewriter.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/rewriters/script_injector_rewriter.go (100%) rename proxychain/{responsemodifers => responsemodifiers}/vendor/ddg-tracker-surrogates (100%) diff --git a/.air.toml b/.air.toml index 65789a77..0778d8af 100644 --- a/.air.toml +++ b/.air.toml @@ -21,7 +21,7 @@ tmp_dir = "tmp" poll = false poll_interval = 0 post_cmd = [] - pre_cmd = ["git rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION"] + pre_cmd = ["git submodule update --init --recursive; rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION"] rerun = false rerun_delay = 500 send_interrupt = false diff --git a/.gitmodules b/.gitmodules index 44819904..1c1ef8c7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ -[submodule "proxychain/requestmodifers/vendor/ua-parser-js"] - path = proxychain/requestmodifers/vendor/ua-parser-js - url = https://github.com/faisalman/ua-parser-js.git -[submodule "proxychain/responsemodifers/vendor/ddg-tracker-surrogates"] - path = proxychain/responsemodifers/vendor/ddg-tracker-surrogates +[submodule "proxychain/responsemodifiers/vendor/ddg-tracker-surrogates"] + path = proxychain/responsemodifiers/vendor/ddg-tracker-surrogates url = https://github.com/duckduckgo/tracker-surrogates +[submodule "proxychain/requestmodifiers/vendor/ua-parser-js"] + path = proxychain/requestmodifiers/vendor/ua-parser-js + url = https://github.com/faisalman/ua-parser-js.git diff --git a/cmd/main.go b/cmd/main.go index 951b9b1c..daaa7a83 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -10,7 +10,7 @@ import ( "ladder/handlers" "ladder/internal/cli" - "ladder/proxychain/requestmodifers/bot" + "ladder/proxychain/requestmodifiers/bot" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" diff --git a/go.mod b/go.mod index a6454dec..61613f7a 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module ladder go 1.21.1 require ( - github.com/3th1nk/cidr v0.2.0 github.com/akamensky/argparse v1.4.0 github.com/bogdanfinn/fhttp v0.5.24 github.com/bogdanfinn/tls-client v1.6.1 diff --git a/go.sum b/go.sum index 73e7c65b..c973ed8d 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -github.com/3th1nk/cidr v0.2.0 h1:81jjEknszD8SHPLVTPPk+BZjNVqq1ND2YXLSChl6Lrs= -github.com/3th1nk/cidr v0.2.0/go.mod h1:XsSQnS4rEYyB2veDfnIGgViulFpIITPKtp3f0VxpiLw= github.com/abadojack/whatlanggo v1.0.1 h1:19N6YogDnf71CTHm3Mp2qhYfkRdyvbgwWdd2EPxJRG4= github.com/abadojack/whatlanggo v1.0.1/go.mod h1:66WiQbSbJBIlOZMsvbKe5m6pzQovxCH9B/K8tQB2uoc= github.com/akamensky/argparse v1.4.0 h1:YGzvsTqCvbEZhL8zZu2AiA5nq805NZh75JNj4ajn1xc= @@ -84,7 +82,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 h1:YqAladjX7xpA6BM04leXMWAEjS0mTZ5kUU9KRBriQJc= diff --git a/handlers/api_content.go b/handlers/api_content.go index 71608e51..bf495b48 100644 --- a/handlers/api_content.go +++ b/handlers/api_content.go @@ -2,8 +2,8 @@ package handlers import ( "ladder/proxychain" - rx "ladder/proxychain/requestmodifers" - tx "ladder/proxychain/responsemodifers" + rx "ladder/proxychain/requestmodifiers" + tx "ladder/proxychain/responsemodifiers" "github.com/gofiber/fiber/v2" ) diff --git a/handlers/outline.go b/handlers/outline.go index e4af47fb..ab1e1057 100644 --- a/handlers/outline.go +++ b/handlers/outline.go @@ -2,8 +2,8 @@ package handlers import ( "ladder/proxychain" - rx "ladder/proxychain/requestmodifers" - tx "ladder/proxychain/responsemodifers" + rx "ladder/proxychain/requestmodifiers" + tx "ladder/proxychain/responsemodifiers" "github.com/gofiber/fiber/v2" ) diff --git a/handlers/proxy.go b/handlers/proxy.go index 5d753f8a..ce5e57ca 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -2,8 +2,8 @@ package handlers import ( "ladder/proxychain" - rx "ladder/proxychain/requestmodifers" - tx "ladder/proxychain/responsemodifers" + rx "ladder/proxychain/requestmodifiers" + tx "ladder/proxychain/responsemodifiers" "github.com/gofiber/fiber/v2" ) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 30d7f311..bc5a8470 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -42,9 +42,9 @@ applying request and response modifications along the way. import ( - rx "ladder/pkg/proxychain/requestmodifers" - tx "ladder/pkg/proxychain/responsemodifers" - "ladder/pkg/proxychain/responsemodifers/rewriters" + rx "ladder/pkg/proxychain/requestmodifiers" + tx "ladder/pkg/proxychain/responsemodifiers" + "ladder/pkg/proxychain/responsemodifiers/rewriters" "ladder/internal/proxychain" ) @@ -134,14 +134,14 @@ type HTTPClient interface { Post(url, contentType string, body io.Reader) (resp *http.Response, err error) } -// SetRequestModifications sets the ProxyChain's request modifers +// SetRequestModifications sets the ProxyChain's request modifiers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) SetRequestModifications(mods ...RequestModification) *ProxyChain { chain.requestModifications = mods return chain } -// AddRequestModifications adds more request modifers to the ProxyChain +// AddRequestModifications adds more request modifiers to the ProxyChain // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddRequestModifications(mods ...RequestModification) *ProxyChain { chain.requestModifications = append(chain.requestModifications, mods...) @@ -162,7 +162,7 @@ func (chain *ProxyChain) AddOnceResponseModifications(mods ...ResponseModificati return chain } -// AddResponseModifications sets the ProxyChain's response modifers +// AddResponseModifications sets the ProxyChain's response modifiers // the modifier will not fire until ProxyChain.Execute() is run. func (chain *ProxyChain) AddResponseModifications(mods ...ResponseModification) *ProxyChain { chain.responseModifications = mods diff --git a/proxychain/requestmodifers/bot/bot.go b/proxychain/requestmodifiers/bot/bot.go similarity index 100% rename from proxychain/requestmodifers/bot/bot.go rename to proxychain/requestmodifiers/bot/bot.go diff --git a/proxychain/requestmodifers/bot/bot_test.go b/proxychain/requestmodifiers/bot/bot_test.go similarity index 100% rename from proxychain/requestmodifers/bot/bot_test.go rename to proxychain/requestmodifiers/bot/bot_test.go diff --git a/proxychain/requestmodifers/forward_request_headers.go b/proxychain/requestmodifiers/forward_request_headers.go similarity index 97% rename from proxychain/requestmodifers/forward_request_headers.go rename to proxychain/requestmodifiers/forward_request_headers.go index 7e139dd2..41a2cfd5 100644 --- a/proxychain/requestmodifers/forward_request_headers.go +++ b/proxychain/requestmodifiers/forward_request_headers.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "strings" diff --git a/proxychain/requestmodifers/masquerade_as_trusted_bot.go b/proxychain/requestmodifiers/masquerade_as_trusted_bot.go similarity index 99% rename from proxychain/requestmodifers/masquerade_as_trusted_bot.go rename to proxychain/requestmodifiers/masquerade_as_trusted_bot.go index 71862192..b29159dc 100644 --- a/proxychain/requestmodifers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifiers/masquerade_as_trusted_bot.go @@ -1,8 +1,8 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" - "ladder/proxychain/requestmodifers/bot" + "ladder/proxychain/requestmodifiers/bot" ) // MasqueradeAsGoogleBot modifies user agent and x-forwarded for diff --git a/proxychain/requestmodifers/modify_domain_with_regex.go b/proxychain/requestmodifiers/modify_domain_with_regex.go similarity index 92% rename from proxychain/requestmodifers/modify_domain_with_regex.go rename to proxychain/requestmodifiers/modify_domain_with_regex.go index d6d97e8d..77b9a0e6 100644 --- a/proxychain/requestmodifers/modify_domain_with_regex.go +++ b/proxychain/requestmodifiers/modify_domain_with_regex.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "regexp" diff --git a/proxychain/requestmodifers/modify_outgoing_cookies.go b/proxychain/requestmodifiers/modify_outgoing_cookies.go similarity index 99% rename from proxychain/requestmodifers/modify_outgoing_cookies.go rename to proxychain/requestmodifiers/modify_outgoing_cookies.go index 88405cbc..e1415a88 100644 --- a/proxychain/requestmodifers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifiers/modify_outgoing_cookies.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( //"net/http" diff --git a/proxychain/requestmodifers/modify_path_with_regex.go b/proxychain/requestmodifiers/modify_path_with_regex.go similarity index 92% rename from proxychain/requestmodifers/modify_path_with_regex.go rename to proxychain/requestmodifiers/modify_path_with_regex.go index 109570aa..04840b51 100644 --- a/proxychain/requestmodifers/modify_path_with_regex.go +++ b/proxychain/requestmodifiers/modify_path_with_regex.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "regexp" diff --git a/proxychain/requestmodifers/modify_query_params.go b/proxychain/requestmodifiers/modify_query_params.go similarity index 96% rename from proxychain/requestmodifers/modify_query_params.go rename to proxychain/requestmodifiers/modify_query_params.go index 0b8448ea..3cd84b3a 100644 --- a/proxychain/requestmodifers/modify_query_params.go +++ b/proxychain/requestmodifiers/modify_query_params.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "net/url" diff --git a/proxychain/requestmodifers/modify_request_headers.go b/proxychain/requestmodifiers/modify_request_headers.go similarity index 96% rename from proxychain/requestmodifers/modify_request_headers.go rename to proxychain/requestmodifiers/modify_request_headers.go index 601c47e4..8c60e24a 100644 --- a/proxychain/requestmodifers/modify_request_headers.go +++ b/proxychain/requestmodifiers/modify_request_headers.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/request_archive_is.go b/proxychain/requestmodifiers/request_archive_is.go similarity index 95% rename from proxychain/requestmodifers/request_archive_is.go rename to proxychain/requestmodifiers/request_archive_is.go index d3ebc7da..90956e93 100644 --- a/proxychain/requestmodifers/request_archive_is.go +++ b/proxychain/requestmodifiers/request_archive_is.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "fmt" @@ -6,7 +6,7 @@ import ( "regexp" "ladder/proxychain" - tx "ladder/proxychain/responsemodifers" + tx "ladder/proxychain/responsemodifiers" ) const archivistUrl string = "https://archive.is/latest" diff --git a/proxychain/requestmodifers/request_google_cache.go b/proxychain/requestmodifiers/request_google_cache.go similarity index 95% rename from proxychain/requestmodifers/request_google_cache.go rename to proxychain/requestmodifiers/request_google_cache.go index a3abfaf6..457ed66e 100644 --- a/proxychain/requestmodifers/request_google_cache.go +++ b/proxychain/requestmodifiers/request_google_cache.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "net/url" diff --git a/proxychain/requestmodifers/request_wayback_machine.go b/proxychain/requestmodifiers/request_wayback_machine.go similarity index 94% rename from proxychain/requestmodifers/request_wayback_machine.go rename to proxychain/requestmodifiers/request_wayback_machine.go index ecc42702..92b9e971 100644 --- a/proxychain/requestmodifers/request_wayback_machine.go +++ b/proxychain/requestmodifiers/request_wayback_machine.go @@ -1,11 +1,11 @@ -package requestmodifers +package requestmodifiers import ( "net/url" "regexp" "ladder/proxychain" - tx "ladder/proxychain/responsemodifers" + tx "ladder/proxychain/responsemodifiers" ) const waybackUrl string = "https://web.archive.org/web/" diff --git a/proxychain/requestmodifers/resolve_with_google_doh.go b/proxychain/requestmodifiers/resolve_with_google_doh.go similarity index 98% rename from proxychain/requestmodifers/resolve_with_google_doh.go rename to proxychain/requestmodifiers/resolve_with_google_doh.go index 19560b7e..4d3a41df 100644 --- a/proxychain/requestmodifers/resolve_with_google_doh.go +++ b/proxychain/requestmodifiers/resolve_with_google_doh.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "context" diff --git a/proxychain/requestmodifers/spoof_ja3_fingerprint.go b/proxychain/requestmodifiers/spoof_ja3_fingerprint.go similarity index 98% rename from proxychain/requestmodifers/spoof_ja3_fingerprint.go rename to proxychain/requestmodifiers/spoof_ja3_fingerprint.go index d746024c..84a70a73 100644 --- a/proxychain/requestmodifers/spoof_ja3_fingerprint.go +++ b/proxychain/requestmodifiers/spoof_ja3_fingerprint.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers // removed due to using a different TLS spoofing technique diff --git a/proxychain/requestmodifers/spoof_origin.go b/proxychain/requestmodifiers/spoof_origin.go similarity index 96% rename from proxychain/requestmodifers/spoof_origin.go rename to proxychain/requestmodifiers/spoof_origin.go index 1dcc109b..bf548443 100644 --- a/proxychain/requestmodifers/spoof_origin.go +++ b/proxychain/requestmodifiers/spoof_origin.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer.go b/proxychain/requestmodifiers/spoof_referrer.go similarity index 93% rename from proxychain/requestmodifers/spoof_referrer.go rename to proxychain/requestmodifiers/spoof_referrer.go index cc408015..775fc56f 100644 --- a/proxychain/requestmodifers/spoof_referrer.go +++ b/proxychain/requestmodifiers/spoof_referrer.go @@ -1,10 +1,10 @@ -package requestmodifers +package requestmodifiers import ( "fmt" "ladder/proxychain" - tx "ladder/proxychain/responsemodifers" + tx "ladder/proxychain/responsemodifiers" ) // SpoofReferrer modifies the referrer header. diff --git a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go similarity index 98% rename from proxychain/requestmodifers/spoof_referrer_from_baidu_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go index 2e057c56..2c849b90 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_baidu_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "fmt" diff --git a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go b/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_bing_search.go rename to proxychain/requestmodifiers/spoof_referrer_from_bing_search.go index c85b80a0..c1e3ffef 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_bing_search.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_google_search.go b/proxychain/requestmodifiers/spoof_referrer_from_google_search.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_google_search.go rename to proxychain/requestmodifiers/spoof_referrer_from_google_search.go index 91936395..f1832928 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_google_search.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_google_search.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go b/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go similarity index 96% rename from proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go index d2889314..633b878b 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_linkedin_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go similarity index 96% rename from proxychain/requestmodifers/spoof_referrer_from_naver_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_naver_post.go index 7a7852dc..6268f83d 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_naver_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "fmt" diff --git a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go b/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go index 9d98c7be..321ca5de 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_pinterest_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go b/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go similarity index 94% rename from proxychain/requestmodifers/spoof_referrer_from_qq_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_qq_post.go index 2eace11f..2961cc70 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_qq_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go b/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_reddit_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go index a580f692..41030246 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_reddit_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go b/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go index 36799365..f44f0946 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_tumblr_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go b/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_twitter_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go index 348e4cff..5cd54abb 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_twitter_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go b/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go index 1bae3066..e5551176 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_vkontake_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go similarity index 95% rename from proxychain/requestmodifers/spoof_referrer_from_weibo_post.go rename to proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go index 69e32fca..068d482b 100644 --- a/proxychain/requestmodifers/spoof_referrer_from_weibo_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "fmt" diff --git a/proxychain/requestmodifers/spoof_user_agent.go b/proxychain/requestmodifiers/spoof_user_agent.go similarity index 93% rename from proxychain/requestmodifers/spoof_user_agent.go rename to proxychain/requestmodifiers/spoof_user_agent.go index 8e2b3a77..921d7ae7 100644 --- a/proxychain/requestmodifers/spoof_user_agent.go +++ b/proxychain/requestmodifiers/spoof_user_agent.go @@ -1,11 +1,11 @@ -package requestmodifers +package requestmodifiers import ( _ "embed" "strings" "ladder/proxychain" - tx "ladder/proxychain/responsemodifers" + tx "ladder/proxychain/responsemodifiers" ) // https://github.com/faisalman/ua-parser-js/tree/master diff --git a/proxychain/requestmodifers/spoof_user_agent.js b/proxychain/requestmodifiers/spoof_user_agent.js similarity index 100% rename from proxychain/requestmodifers/spoof_user_agent.js rename to proxychain/requestmodifiers/spoof_user_agent.js diff --git a/proxychain/requestmodifers/spoof_x_forwarded_for.go b/proxychain/requestmodifiers/spoof_x_forwarded_for.go similarity index 93% rename from proxychain/requestmodifers/spoof_x_forwarded_for.go rename to proxychain/requestmodifiers/spoof_x_forwarded_for.go index 45a9dffe..c12dd289 100644 --- a/proxychain/requestmodifers/spoof_x_forwarded_for.go +++ b/proxychain/requestmodifiers/spoof_x_forwarded_for.go @@ -1,4 +1,4 @@ -package requestmodifers +package requestmodifiers import ( "ladder/proxychain" diff --git a/proxychain/requestmodifers/vendor/ua-parser-js b/proxychain/requestmodifiers/vendor/ua-parser-js similarity index 100% rename from proxychain/requestmodifers/vendor/ua-parser-js rename to proxychain/requestmodifiers/vendor/ua-parser-js diff --git a/proxychain/responsemodifers/api/error_api.go b/proxychain/responsemodifiers/api/error_api.go similarity index 100% rename from proxychain/responsemodifers/api/error_api.go rename to proxychain/responsemodifiers/api/error_api.go diff --git a/proxychain/responsemodifers/api/outline_api.go b/proxychain/responsemodifiers/api/outline_api.go similarity index 100% rename from proxychain/responsemodifers/api/outline_api.go rename to proxychain/responsemodifiers/api/outline_api.go diff --git a/proxychain/responsemodifers/api_content.go b/proxychain/responsemodifiers/api_content.go similarity index 95% rename from proxychain/responsemodifers/api_content.go rename to proxychain/responsemodifiers/api_content.go index b664709a..28140918 100644 --- a/proxychain/responsemodifers/api_content.go +++ b/proxychain/responsemodifiers/api_content.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "bytes" @@ -8,7 +8,7 @@ import ( "github.com/markusmobius/go-trafilatura" "ladder/proxychain" - "ladder/proxychain/responsemodifers/api" + "ladder/proxychain/responsemodifiers/api" ) // APIContent creates an JSON representation of the article and returns it as an API response. diff --git a/proxychain/responsemodifers/api_content_test.go b/proxychain/responsemodifiers/api_content_test.go similarity index 95% rename from proxychain/responsemodifers/api_content_test.go rename to proxychain/responsemodifiers/api_content_test.go index edc96ac5..dbfa82f9 100644 --- a/proxychain/responsemodifers/api_content_test.go +++ b/proxychain/responsemodifiers/api_content_test.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "encoding/json" @@ -7,7 +7,7 @@ import ( "net/url" "testing" - "ladder/proxychain/responsemodifers/api" + "ladder/proxychain/responsemodifiers/api" ) func TestCreateAPIErrReader(t *testing.T) { diff --git a/proxychain/responsemodifers/block_element_removal.go b/proxychain/responsemodifiers/block_element_removal.go similarity index 93% rename from proxychain/responsemodifers/block_element_removal.go rename to proxychain/responsemodifiers/block_element_removal.go index 97e40f6f..bf1646b0 100644 --- a/proxychain/responsemodifers/block_element_removal.go +++ b/proxychain/responsemodifiers/block_element_removal.go @@ -1,11 +1,11 @@ -package responsemodifers +package responsemodifiers import ( _ "embed" "strings" "ladder/proxychain" - "ladder/proxychain/responsemodifers/rewriters" + "ladder/proxychain/responsemodifiers/rewriters" ) //go:embed block_element_removal.js diff --git a/proxychain/responsemodifers/block_element_removal.js b/proxychain/responsemodifiers/block_element_removal.js similarity index 100% rename from proxychain/responsemodifers/block_element_removal.js rename to proxychain/responsemodifiers/block_element_removal.js diff --git a/proxychain/responsemodifers/bypass_cors.go b/proxychain/responsemodifiers/bypass_cors.go similarity index 96% rename from proxychain/responsemodifers/bypass_cors.go rename to proxychain/responsemodifiers/bypass_cors.go index 46c0e04d..291b6f8f 100644 --- a/proxychain/responsemodifers/bypass_cors.go +++ b/proxychain/responsemodifiers/bypass_cors.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "ladder/proxychain" diff --git a/proxychain/responsemodifers/bypass_csp.go b/proxychain/responsemodifiers/bypass_csp.go similarity index 97% rename from proxychain/responsemodifers/bypass_csp.go rename to proxychain/responsemodifiers/bypass_csp.go index 22fcdbe8..9d08ef0e 100644 --- a/proxychain/responsemodifers/bypass_csp.go +++ b/proxychain/responsemodifiers/bypass_csp.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "ladder/proxychain" diff --git a/proxychain/responsemodifers/forward_response_headers.go b/proxychain/responsemodifiers/forward_response_headers.go similarity index 97% rename from proxychain/responsemodifers/forward_response_headers.go rename to proxychain/responsemodifiers/forward_response_headers.go index b6d05195..1cdf0086 100644 --- a/proxychain/responsemodifers/forward_response_headers.go +++ b/proxychain/responsemodifiers/forward_response_headers.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "fmt" diff --git a/proxychain/responsemodifers/generate_readable_outline.go b/proxychain/responsemodifiers/generate_readable_outline.go similarity index 99% rename from proxychain/responsemodifers/generate_readable_outline.go rename to proxychain/responsemodifiers/generate_readable_outline.go index bfa87733..c1fa3263 100644 --- a/proxychain/responsemodifers/generate_readable_outline.go +++ b/proxychain/responsemodifiers/generate_readable_outline.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "bytes" diff --git a/proxychain/responsemodifers/generate_readable_outline.html b/proxychain/responsemodifiers/generate_readable_outline.html similarity index 100% rename from proxychain/responsemodifers/generate_readable_outline.html rename to proxychain/responsemodifiers/generate_readable_outline.html diff --git a/proxychain/responsemodifers/inject_script.go b/proxychain/responsemodifiers/inject_script.go similarity index 94% rename from proxychain/responsemodifers/inject_script.go rename to proxychain/responsemodifiers/inject_script.go index 5e5ef876..e9ec0248 100644 --- a/proxychain/responsemodifers/inject_script.go +++ b/proxychain/responsemodifiers/inject_script.go @@ -1,11 +1,11 @@ -package responsemodifers +package responsemodifiers import ( _ "embed" "strings" "ladder/proxychain" - "ladder/proxychain/responsemodifers/rewriters" + "ladder/proxychain/responsemodifiers/rewriters" ) // injectScript modifies HTTP responses diff --git a/proxychain/responsemodifers/modify_incoming_cookies.go b/proxychain/responsemodifiers/modify_incoming_cookies.go similarity index 99% rename from proxychain/responsemodifers/modify_incoming_cookies.go rename to proxychain/responsemodifiers/modify_incoming_cookies.go index 5a838305..f655c949 100644 --- a/proxychain/responsemodifers/modify_incoming_cookies.go +++ b/proxychain/responsemodifiers/modify_incoming_cookies.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "fmt" diff --git a/proxychain/responsemodifers/modify_response_header.go b/proxychain/responsemodifiers/modify_response_header.go similarity index 95% rename from proxychain/responsemodifers/modify_response_header.go rename to proxychain/responsemodifiers/modify_response_header.go index 5266d6db..0d6c8507 100644 --- a/proxychain/responsemodifers/modify_response_header.go +++ b/proxychain/responsemodifiers/modify_response_header.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "ladder/proxychain" diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.go b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go similarity index 96% rename from proxychain/responsemodifers/patch_dynamic_resource_urls.go rename to proxychain/responsemodifiers/patch_dynamic_resource_urls.go index 21c3483d..cf5b6891 100644 --- a/proxychain/responsemodifers/patch_dynamic_resource_urls.go +++ b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( _ "embed" @@ -6,7 +6,7 @@ import ( "strings" "ladder/proxychain" - "ladder/proxychain/responsemodifers/rewriters" + "ladder/proxychain/responsemodifiers/rewriters" ) //go:embed patch_dynamic_resource_urls.js diff --git a/proxychain/responsemodifers/patch_dynamic_resource_urls.js b/proxychain/responsemodifiers/patch_dynamic_resource_urls.js similarity index 100% rename from proxychain/responsemodifers/patch_dynamic_resource_urls.js rename to proxychain/responsemodifiers/patch_dynamic_resource_urls.js diff --git a/proxychain/responsemodifers/patch_google_analytics.go b/proxychain/responsemodifiers/patch_google_analytics.go similarity index 97% rename from proxychain/responsemodifers/patch_google_analytics.go rename to proxychain/responsemodifiers/patch_google_analytics.go index 3df2c8b3..793d9ab6 100644 --- a/proxychain/responsemodifers/patch_google_analytics.go +++ b/proxychain/responsemodifiers/patch_google_analytics.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( _ "embed" diff --git a/proxychain/responsemodifers/patch_google_analytics.js b/proxychain/responsemodifiers/patch_google_analytics.js similarity index 100% rename from proxychain/responsemodifers/patch_google_analytics.js rename to proxychain/responsemodifiers/patch_google_analytics.js diff --git a/proxychain/responsemodifers/patch_tracker_scripts.go b/proxychain/responsemodifiers/patch_tracker_scripts.go similarity index 95% rename from proxychain/responsemodifers/patch_tracker_scripts.go rename to proxychain/responsemodifiers/patch_tracker_scripts.go index 045f7a4a..7d4abcbf 100644 --- a/proxychain/responsemodifers/patch_tracker_scripts.go +++ b/proxychain/responsemodifiers/patch_tracker_scripts.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( "embed" @@ -20,7 +20,7 @@ var rules domainRules func init() { err := json.Unmarshal([]byte(mappingJSON), &rules) if err != nil { - log.Printf("[ERROR]: PatchTrackerScripts: failed to deserialize ladder/proxychain/responsemodifers/vendor/ddg-tracker-surrogates/mapping.json") + log.Printf("[ERROR]: PatchTrackerScripts: failed to deserialize ladder/proxychain/responsemodifiers/vendor/ddg-tracker-surrogates/mapping.json") } } diff --git a/proxychain/responsemodifers/rewrite_http_resource_urls.go b/proxychain/responsemodifiers/rewrite_http_resource_urls.go similarity index 94% rename from proxychain/responsemodifers/rewrite_http_resource_urls.go rename to proxychain/responsemodifiers/rewrite_http_resource_urls.go index 5320d130..cde7a92e 100644 --- a/proxychain/responsemodifers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifiers/rewrite_http_resource_urls.go @@ -1,4 +1,4 @@ -package responsemodifers +package responsemodifiers import ( _ "embed" @@ -6,7 +6,7 @@ import ( "strings" "ladder/proxychain" - "ladder/proxychain/responsemodifers/rewriters" + "ladder/proxychain/responsemodifiers/rewriters" ) // RewriteHTMLResourceURLs modifies HTTP responses diff --git a/proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js b/proxychain/responsemodifiers/rewriters/after_dom_idle_script_injector.js similarity index 100% rename from proxychain/responsemodifers/rewriters/after_dom_idle_script_injector.js rename to proxychain/responsemodifiers/rewriters/after_dom_idle_script_injector.js diff --git a/proxychain/responsemodifers/rewriters/css_rewriter.go b/proxychain/responsemodifiers/rewriters/css_rewriter.go similarity index 100% rename from proxychain/responsemodifers/rewriters/css_rewriter.go rename to proxychain/responsemodifiers/rewriters/css_rewriter.go diff --git a/proxychain/responsemodifers/rewriters/html_rewriter.go b/proxychain/responsemodifiers/rewriters/html_rewriter.go similarity index 100% rename from proxychain/responsemodifers/rewriters/html_rewriter.go rename to proxychain/responsemodifiers/rewriters/html_rewriter.go diff --git a/proxychain/responsemodifers/rewriters/html_token_url_rewriter.go b/proxychain/responsemodifiers/rewriters/html_token_url_rewriter.go similarity index 100% rename from proxychain/responsemodifers/rewriters/html_token_url_rewriter.go rename to proxychain/responsemodifiers/rewriters/html_token_url_rewriter.go diff --git a/proxychain/responsemodifers/rewriters/script_injector_rewriter.go b/proxychain/responsemodifiers/rewriters/script_injector_rewriter.go similarity index 100% rename from proxychain/responsemodifers/rewriters/script_injector_rewriter.go rename to proxychain/responsemodifiers/rewriters/script_injector_rewriter.go diff --git a/proxychain/responsemodifers/vendor/ddg-tracker-surrogates b/proxychain/responsemodifiers/vendor/ddg-tracker-surrogates similarity index 100% rename from proxychain/responsemodifers/vendor/ddg-tracker-surrogates rename to proxychain/responsemodifiers/vendor/ddg-tracker-surrogates From 1fc47c76b6e413fe8a236c336a06848eb9dc461d Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 3 Dec 2023 17:06:00 -0600 Subject: [PATCH 093/178] fix air config --- .air.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.air.toml b/.air.toml index 0778d8af..2739c5bc 100644 --- a/.air.toml +++ b/.air.toml @@ -21,7 +21,7 @@ tmp_dir = "tmp" poll = false poll_interval = 0 post_cmd = [] - pre_cmd = ["git submodule update --init --recursive; rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION"] + pre_cmd = ["git submodule update --init --recursive; git rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION"] rerun = false rerun_delay = 500 send_interrupt = false From 547cf61a7d878ce597fd9b4336331d532acef6d1 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 3 Dec 2023 21:32:03 -0600 Subject: [PATCH 094/178] begin work on refactor of ruleset and functional options serializer for proxychain response/request modifiers --- pkg/ruleset_v2/rule.go | 49 +++++++++ pkg/ruleset_v2/rule_reqmod_types.gen.go | 1 + pkg/ruleset_v2/rule_resmod_types.gen.go | 24 +++++ pkg/ruleset_v2/rule_test.go | 45 ++++++++ pkg/ruleset_v2/rule_utils.go | 59 ++++++++++ pkg/ruleset_v2/rule_utils_test.go | 138 ++++++++++++++++++++++++ pkg/ruleset_v2/ruleset.go | 32 ++++++ 7 files changed, 348 insertions(+) create mode 100644 pkg/ruleset_v2/rule.go create mode 100644 pkg/ruleset_v2/rule_reqmod_types.gen.go create mode 100644 pkg/ruleset_v2/rule_resmod_types.gen.go create mode 100644 pkg/ruleset_v2/rule_test.go create mode 100644 pkg/ruleset_v2/rule_utils.go create mode 100644 pkg/ruleset_v2/rule_utils_test.go create mode 100644 pkg/ruleset_v2/ruleset.go diff --git a/pkg/ruleset_v2/rule.go b/pkg/ruleset_v2/rule.go new file mode 100644 index 00000000..63f48bac --- /dev/null +++ b/pkg/ruleset_v2/rule.go @@ -0,0 +1,49 @@ +package ruleset_v2 + +import ( + "encoding/json" + "fmt" + "ladder/proxychain" +) + +type Rule struct { + Domains []string + RequestModifications []proxychain.RequestModification + ResponseModifications []proxychain.ResponseModification +} + +// implement type encoding/json/Marshaler +func (rule *Rule) UnmarshalJSON(data []byte) error { + type Aux struct { + Domains []string `json:"domains"` + RequestModifications []string `json:"request_modifications"` + ResponseModifications []string `json:"response_modifications"` + } + + aux := &Aux{} + if err := json.Unmarshal(data, aux); err != nil { + return err + } + + //fmt.Println(aux.Domains) + rule.Domains = aux.Domains + + // convert requestModification function call string into actual functional option + for _, resModStr := range aux.RequestModifications { + name, params, err := parseFuncCall(resModStr) + if err != nil { + return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) + } + f, exists := resModMap[name] + if !exists { + return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", err) + } + rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) + } + + return nil +} + +func (r *Rule) MarshalJSON() ([]byte, error) { + return []byte{}, nil +} diff --git a/pkg/ruleset_v2/rule_reqmod_types.gen.go b/pkg/ruleset_v2/rule_reqmod_types.gen.go new file mode 100644 index 00000000..11b5a3b3 --- /dev/null +++ b/pkg/ruleset_v2/rule_reqmod_types.gen.go @@ -0,0 +1 @@ +package ruleset_v2 diff --git a/pkg/ruleset_v2/rule_resmod_types.gen.go b/pkg/ruleset_v2/rule_resmod_types.gen.go new file mode 100644 index 00000000..d5780200 --- /dev/null +++ b/pkg/ruleset_v2/rule_resmod_types.gen.go @@ -0,0 +1,24 @@ +package ruleset_v2 + +import ( + "ladder/proxychain" + rx "ladder/proxychain/responsemodifiers" +) + +type ResponseModifierFactory func(params ...string) proxychain.ResponseModification + +var resModMap map[string]ResponseModifierFactory + +// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go +func init() { + resModMap = make(map[string]ResponseModifierFactory) + resModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { + return rx.APIContent() + } + resModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { + return rx.SetContentSecurityPolicy(params[0]) + } + resModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { + return rx.SetIncomingCookie(params[0], params[1]) + } +} diff --git a/pkg/ruleset_v2/rule_test.go b/pkg/ruleset_v2/rule_test.go new file mode 100644 index 00000000..63b34a1e --- /dev/null +++ b/pkg/ruleset_v2/rule_test.go @@ -0,0 +1,45 @@ +package ruleset_v2 + +import ( + "encoding/json" + "fmt" + //"io" + "testing" +) + +func TestRuleUnmarshalJSON(t *testing.T) { + ruleJSON := `{ + "domains": [ + "example.com", + "www.example.com" + ], + "response_modifiers": [ + "APIContent()", + "SetContentSecurityPolicy(\"foobar\")", + "SetIncomingCookie(\"authorization-bearer\", \"hunter2\")" + ], + "response_modifiers": [] +}` + + //fmt.Println(ruleJSON) + rule := &Rule{} + err := json.Unmarshal([]byte(ruleJSON), rule) + if err != nil { + t.Errorf("expected no error in Unmarshal, got '%s'", err) + return + } + + if len(rule.Domains) != 2 { + t.Errorf("expected number of domains to be 2") + return + } + if !(rule.Domains[0] == "example.com" || rule.Domains[1] == "example.com") { + t.Errorf("expected domain to be example.com") + return + } + if len(rule.ResponseModifications) == 3 { + t.Errorf("expected number of ResponseModifications to be 3") + } + fmt.Println(rule.ResponseModifications) + +} diff --git a/pkg/ruleset_v2/rule_utils.go b/pkg/ruleset_v2/rule_utils.go new file mode 100644 index 00000000..1a283ea4 --- /dev/null +++ b/pkg/ruleset_v2/rule_utils.go @@ -0,0 +1,59 @@ +package ruleset_v2 + +import ( + "errors" + "strings" +) + +// parseFuncCall takes a string that look like foo("bar", "baz") and breaks it down +// into funcName = "foo" and params = []string{"bar", "baz"}] +func parseFuncCall(funcCall string) (funcName string, params []string, err error) { + // Splitting the input string into two parts: functionName and parameters + parts := strings.SplitN(funcCall, "(", 2) + if len(parts) != 2 { + return "", nil, errors.New("invalid function call format") + } + + // get function name + funcName = strings.TrimSpace(parts[0]) + + // Removing the closing parenthesis from the parameters part + paramsPart := strings.TrimSuffix(parts[1], ")") + if len(paramsPart) == 0 { + // No parameters + return funcName, []string{}, nil + } + + inQuote := false + inEscape := false + param := "" + for _, r := range paramsPart { + switch { + case inQuote && !inEscape && r == '\\': + inEscape = true + continue + case inEscape && inQuote && r == '"': + param += string(r) + inEscape = false + continue + case inEscape: + param += string(r) + inEscape = false + continue + case r == '"': + inQuote = !inQuote + if !inQuote { + params = append(params, param) + param = "" + } + continue + case !inQuote && r == ',': + continue + case inQuote: + param += string(r) + continue + } + } + + return funcName, params, nil +} diff --git a/pkg/ruleset_v2/rule_utils_test.go b/pkg/ruleset_v2/rule_utils_test.go new file mode 100644 index 00000000..55f23ed6 --- /dev/null +++ b/pkg/ruleset_v2/rule_utils_test.go @@ -0,0 +1,138 @@ +package ruleset_v2 + +import ( + "errors" + "reflect" + "testing" +) + +func TestParseFuncCall(t *testing.T) { + testCases := []struct { + name string + input string + expected struct { + funcName string + params []string + err error + } + }{ + { + name: "Normal case, one param", + input: `one("baz")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "one", params: []string{"baz"}, err: nil}, + }, + { + name: "Normal case, one param, extra space in function call", + input: `two("baz" )`, + expected: struct { + funcName string + params []string + err error + }{funcName: "two", params: []string{"baz"}, err: nil}, + }, + { + name: "Normal case, one param, extra space in param", + input: `three("baz ")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "three", params: []string{"baz "}, err: nil}, + }, + { + name: "Space in front of function", + input: ` three("baz")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "three", params: []string{"baz"}, err: nil}, + }, + { + name: "Normal case, two params", + input: `foobar("baz", "qux")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "foobar", params: []string{"baz", "qux"}, err: nil}, + }, + { + name: "Normal case, two params, no spaces between param comma", + input: `foobar("baz","qux")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "foobar", params: []string{"baz", "qux"}, err: nil}, + }, + { + name: "Escaped parenthesis", + input: `testFunc("hello\(world", "anotherParam")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "testFunc", params: []string{`hello(world`, "anotherParam"}, err: nil}, + }, + { + name: "Escaped quote", + input: `testFunc("hello\"world", "anotherParam")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "testFunc", params: []string{`hello"world`, "anotherParam"}, err: nil}, + }, + { + name: "Two Escaped quote", + input: `testFunc("hello: \"world\"", "anotherParam")`, + expected: struct { + funcName string + params []string + err error + }{funcName: "testFunc", params: []string{`hello: "world"`, "anotherParam"}, err: nil}, + }, + { + name: "No parameters", + input: `emptyFunc()`, + expected: struct { + funcName string + params []string + err error + }{funcName: "emptyFunc", params: []string{}, err: nil}, + }, + { + name: "Invalid format", + input: `invalidFunc`, + expected: struct { + funcName string + params []string + err error + }{funcName: "", params: nil, err: errors.New("invalid function call format")}, + }, + { + name: "Invalid format 2", + input: `invalidFunc "foo", "bar"`, + expected: struct { + funcName string + params []string + err error + }{funcName: "", params: nil, err: errors.New("invalid function call format")}, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + funcName, params, err := parseFuncCall(tc.input) + if funcName != tc.expected.funcName || !reflect.DeepEqual(params, tc.expected.params) || (err != nil && tc.expected.err != nil && err.Error() != tc.expected.err.Error()) { + //if funcName != tc.expected.funcName || (err != nil && tc.expected.err != nil && err.Error() != tc.expected.err.Error()) { + t.Errorf("Test %s failed: got (%s, %v, %v), want (%s, %v, %v)", tc.name, funcName, params, err, tc.expected.funcName, tc.expected.params, tc.expected.err) + } + }) + } +} diff --git a/pkg/ruleset_v2/ruleset.go b/pkg/ruleset_v2/ruleset.go new file mode 100644 index 00000000..499f0ad1 --- /dev/null +++ b/pkg/ruleset_v2/ruleset.go @@ -0,0 +1,32 @@ +package ruleset_v2 + +import ( + "net/url" +) + +type IRuleset interface { + HasRule(url url.URL) bool + GetRule(url url.URL) (rule Rule, exists bool) +} + +type Ruleset struct { + rulesetPath string + rules map[string]Rule +} + +func (rs Ruleset) GetRule(url url.URL) (rule Rule, exists bool) { + rule, exists = rs.rules[url.Hostname()] + return rule, exists +} + +func (rs Ruleset) HasRule(url url.URL) bool { + _, exists := rs.GetRule(url) + return exists +} + +func NewRuleset(path string) (Ruleset, error) { + rs := Ruleset{ + rulesetPath: path, + } + return rs, nil +} From a83a95c5a58e7de5afa424bda056bb5466900ca7 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Sun, 3 Dec 2023 21:34:27 -0600 Subject: [PATCH 095/178] Change form type to url #57 --- handlers/form.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handlers/form.html b/handlers/form.html index cfd61165..52a31db8 100644 --- a/handlers/form.html +++ b/handlers/form.html @@ -203,7 +203,7 @@
Date: Sun, 3 Dec 2023 23:34:46 -0600 Subject: [PATCH 096/178] work on rule reqmod resmod codegen for serialization --- pkg/ruleset_v2/rule_reqmod_types.gen.go | 1 - pkg/ruleset_v2/rule_resmod_types.gen.go | 24 --- proxychain/codegen/codegen.go | 86 ++++++++ .../ruleset_v2 => proxychain/ruleset}/rule.go | 0 proxychain/ruleset/rule_reqmod_types.gen.go | 184 ++++++++++++++++++ proxychain/ruleset/rule_resmod_types.gen.go | 184 ++++++++++++++++++ .../ruleset}/rule_test.go | 0 .../ruleset}/rule_utils.go | 0 .../ruleset}/rule_utils_test.go | 0 .../ruleset}/ruleset.go | 0 10 files changed, 454 insertions(+), 25 deletions(-) delete mode 100644 pkg/ruleset_v2/rule_reqmod_types.gen.go delete mode 100644 pkg/ruleset_v2/rule_resmod_types.gen.go create mode 100644 proxychain/codegen/codegen.go rename {pkg/ruleset_v2 => proxychain/ruleset}/rule.go (100%) create mode 100644 proxychain/ruleset/rule_reqmod_types.gen.go create mode 100644 proxychain/ruleset/rule_resmod_types.gen.go rename {pkg/ruleset_v2 => proxychain/ruleset}/rule_test.go (100%) rename {pkg/ruleset_v2 => proxychain/ruleset}/rule_utils.go (100%) rename {pkg/ruleset_v2 => proxychain/ruleset}/rule_utils_test.go (100%) rename {pkg/ruleset_v2 => proxychain/ruleset}/ruleset.go (100%) diff --git a/pkg/ruleset_v2/rule_reqmod_types.gen.go b/pkg/ruleset_v2/rule_reqmod_types.gen.go deleted file mode 100644 index 11b5a3b3..00000000 --- a/pkg/ruleset_v2/rule_reqmod_types.gen.go +++ /dev/null @@ -1 +0,0 @@ -package ruleset_v2 diff --git a/pkg/ruleset_v2/rule_resmod_types.gen.go b/pkg/ruleset_v2/rule_resmod_types.gen.go deleted file mode 100644 index d5780200..00000000 --- a/pkg/ruleset_v2/rule_resmod_types.gen.go +++ /dev/null @@ -1,24 +0,0 @@ -package ruleset_v2 - -import ( - "ladder/proxychain" - rx "ladder/proxychain/responsemodifiers" -) - -type ResponseModifierFactory func(params ...string) proxychain.ResponseModification - -var resModMap map[string]ResponseModifierFactory - -// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go -func init() { - resModMap = make(map[string]ResponseModifierFactory) - resModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { - return rx.APIContent() - } - resModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { - return rx.SetContentSecurityPolicy(params[0]) - } - resModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { - return rx.SetIncomingCookie(params[0], params[1]) - } -} diff --git a/proxychain/codegen/codegen.go b/proxychain/codegen/codegen.go new file mode 100644 index 00000000..9c2f09e8 --- /dev/null +++ b/proxychain/codegen/codegen.go @@ -0,0 +1,86 @@ +package main + +import ( + "fmt" + "go/ast" + "go/parser" + "go/token" + //"io/fs" + "os" + "path/filepath" + "strings" + //"strings" +) + +func modToFactoryMap(fn *ast.FuncDecl) (modMap string) { + paramCount := len(fn.Type.Params.List) + name := fn.Name.Name + var x string + switch paramCount { + case 0: + x = fmt.Sprintf(" resModMap[\"%s\"] = func(_ ...string) proxychain.ResponseModification {\n return rx.%s()\n }\n", name, name) + default: + p := []string{} + for i := 0; i < paramCount; i++ { + p = append(p, fmt.Sprintf("params[%d]", i)) + } + params := strings.Join(p, ", ") + x = fmt.Sprintf(" resModMap[\"%s\"] = func(params, ...string) proxychain.ResponseModification {\n return rx.%s(%s)\n }\n", name, name, params) + } + return x +} + +func main() { + fset := token.NewFileSet() + + // Directory containing your Go files + dir := "../requestmodifiers/" + + files, err := os.ReadDir(dir) + if err != nil { + panic(err) + } + + factoryMaps := []string{} + for _, file := range files { + if filepath.Ext(file.Name()) != ".go" { + continue + } + + // Parse each Go file + node, err := parser.ParseFile(fset, filepath.Join(dir, file.Name()), nil, parser.ParseComments) + if err != nil { + panic(err) + } + + ast.Inspect(node, func(n ast.Node) bool { + fn, ok := n.(*ast.FuncDecl) + if ok && fn.Recv == nil && fn.Name.IsExported() { + factoryMaps = append(factoryMaps, modToFactoryMap(fn)) + } + return true + }) + + } + + code := fmt.Sprintf(` +package ruleset_v2 + +import ( + "ladder/proxychain" + rx "ladder/proxychain/responsemodifiers" +) + +type ResponseModifierFactory func(params ...string) proxychain.ResponseModification + +var resModMap map[string]ResponseModifierFactory + +// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go +func init() { + resModMap = make(map[string]ResponseModifierFactory) + + %s +}`, strings.Join(factoryMaps, "\n")) + fmt.Println(code) + +} diff --git a/pkg/ruleset_v2/rule.go b/proxychain/ruleset/rule.go similarity index 100% rename from pkg/ruleset_v2/rule.go rename to proxychain/ruleset/rule.go diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go new file mode 100644 index 00000000..88ecddfc --- /dev/null +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -0,0 +1,184 @@ +package ruleset + +import ( + "ladder/proxychain" + rx "ladder/proxychain/responsemodifiers" +) + +type ResponseModifierFactory func(params ...string) proxychain.ResponseModification + +var resModMap map[string]ResponseModifierFactory + +// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go +func init() { + resModMap = make(map[string]ResponseModifierFactory) + + resModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.ResponseModification { + return rx.ForwardRequestHeaders() + } + + resModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsGoogleBot() + } + + resModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsBingBot() + } + + resModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsWaybackMachineBot() + } + + resModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsFacebookBot() + } + + resModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsYandexBot() + } + + resModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsBaiduBot() + } + + resModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsDuckDuckBot() + } + + resModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsYahooBot() + } + + resModMap["ModifyDomainWithRegex"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyDomainWithRegex(params[0], params[1]) + } + + resModMap["SetOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetOutgoingCookie(params[0], params[1]) + } + + resModMap["SetOutgoingCookies"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetOutgoingCookies(params[0]) + } + + resModMap["DeleteOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookie(params[0]) + } + + resModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookies() + } + + resModMap["DeleteOutgoingCookiesExcept"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookiesExcept(params[0]) + } + + resModMap["ModifyPathWithRegex"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyPathWithRegex(params[0], params[1]) + } + + resModMap["ModifyQueryParams"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyQueryParams(params[0], params[1]) + } + + resModMap["SetRequestHeader"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetRequestHeader(params[0], params[1]) + } + + resModMap["DeleteRequestHeader"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteRequestHeader(params[0]) + } + + resModMap["RequestArchiveIs"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestArchiveIs() + } + + resModMap["RequestGoogleCache"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestGoogleCache() + } + + resModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestWaybackMachine() + } + + resModMap["NewCustomDialer"] = func(params, ...string) proxychain.ResponseModification { + return rx.NewCustomDialer(params[0]) + } + + resModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.ResponseModification { + return rx.ResolveWithGoogleDoH() + } + + resModMap["SpoofOrigin"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofOrigin(params[0]) + } + + resModMap["HideOrigin"] = func(_ ...string) proxychain.ResponseModification { + return rx.HideOrigin() + } + + resModMap["SpoofReferrer"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofReferrer(params[0]) + } + + resModMap["HideReferrer"] = func(_ ...string) proxychain.ResponseModification { + return rx.HideReferrer() + } + + resModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromBaiduSearch() + } + + resModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromBingSearch() + } + + resModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromGoogleSearch() + } + + resModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromLinkedInPost() + } + + resModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromNaverSearch() + } + + resModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromPinterestPost() + } + + resModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromQQPost() + } + + resModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromRedditPost() + } + + resModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromTumblrPost() + } + + resModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromTwitterPost() + } + + resModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromVkontaktePost() + } + + resModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromWeiboPost() + } + + resModMap["SpoofUserAgent"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofUserAgent(params[0]) + } + + resModMap["SpoofXForwardedFor"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofXForwardedFor(params[0]) + } + +} diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go new file mode 100644 index 00000000..21984b35 --- /dev/null +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -0,0 +1,184 @@ +package ruleset_v2 + +import ( + "ladder/proxychain" + rx "ladder/proxychain/responsemodifiers" +) + +type ResponseModifierFactory func(params ...string) proxychain.ResponseModification + +var resModMap map[string]ResponseModifierFactory + +// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go +func init() { + resModMap = make(map[string]ResponseModifierFactory) + + resModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.ResponseModification { + return rx.ForwardRequestHeaders() + } + + resModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsGoogleBot() + } + + resModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsBingBot() + } + + resModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsWaybackMachineBot() + } + + resModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsFacebookBot() + } + + resModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsYandexBot() + } + + resModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsBaiduBot() + } + + resModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsDuckDuckBot() + } + + resModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.ResponseModification { + return rx.MasqueradeAsYahooBot() + } + + resModMap["ModifyDomainWithRegex"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyDomainWithRegex(params[0], params[1]) + } + + resModMap["SetOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetOutgoingCookie(params[0], params[1]) + } + + resModMap["SetOutgoingCookies"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetOutgoingCookies(params[0]) + } + + resModMap["DeleteOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookie(params[0]) + } + + resModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookies() + } + + resModMap["DeleteOutgoingCookiesExcept"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteOutgoingCookiesExcept(params[0]) + } + + resModMap["ModifyPathWithRegex"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyPathWithRegex(params[0], params[1]) + } + + resModMap["ModifyQueryParams"] = func(params, ...string) proxychain.ResponseModification { + return rx.ModifyQueryParams(params[0], params[1]) + } + + resModMap["SetRequestHeader"] = func(params, ...string) proxychain.ResponseModification { + return rx.SetRequestHeader(params[0], params[1]) + } + + resModMap["DeleteRequestHeader"] = func(params, ...string) proxychain.ResponseModification { + return rx.DeleteRequestHeader(params[0]) + } + + resModMap["RequestArchiveIs"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestArchiveIs() + } + + resModMap["RequestGoogleCache"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestGoogleCache() + } + + resModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.ResponseModification { + return rx.RequestWaybackMachine() + } + + resModMap["NewCustomDialer"] = func(params, ...string) proxychain.ResponseModification { + return rx.NewCustomDialer(params[0]) + } + + resModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.ResponseModification { + return rx.ResolveWithGoogleDoH() + } + + resModMap["SpoofOrigin"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofOrigin(params[0]) + } + + resModMap["HideOrigin"] = func(_ ...string) proxychain.ResponseModification { + return rx.HideOrigin() + } + + resModMap["SpoofReferrer"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofReferrer(params[0]) + } + + resModMap["HideReferrer"] = func(_ ...string) proxychain.ResponseModification { + return rx.HideReferrer() + } + + resModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromBaiduSearch() + } + + resModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromBingSearch() + } + + resModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromGoogleSearch() + } + + resModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromLinkedInPost() + } + + resModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromNaverSearch() + } + + resModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromPinterestPost() + } + + resModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromQQPost() + } + + resModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromRedditPost() + } + + resModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromTumblrPost() + } + + resModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromTwitterPost() + } + + resModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromVkontaktePost() + } + + resModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.ResponseModification { + return rx.SpoofReferrerFromWeiboPost() + } + + resModMap["SpoofUserAgent"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofUserAgent(params[0]) + } + + resModMap["SpoofXForwardedFor"] = func(params, ...string) proxychain.ResponseModification { + return rx.SpoofXForwardedFor(params[0]) + } + +} diff --git a/pkg/ruleset_v2/rule_test.go b/proxychain/ruleset/rule_test.go similarity index 100% rename from pkg/ruleset_v2/rule_test.go rename to proxychain/ruleset/rule_test.go diff --git a/pkg/ruleset_v2/rule_utils.go b/proxychain/ruleset/rule_utils.go similarity index 100% rename from pkg/ruleset_v2/rule_utils.go rename to proxychain/ruleset/rule_utils.go diff --git a/pkg/ruleset_v2/rule_utils_test.go b/proxychain/ruleset/rule_utils_test.go similarity index 100% rename from pkg/ruleset_v2/rule_utils_test.go rename to proxychain/ruleset/rule_utils_test.go diff --git a/pkg/ruleset_v2/ruleset.go b/proxychain/ruleset/ruleset.go similarity index 100% rename from pkg/ruleset_v2/ruleset.go rename to proxychain/ruleset/ruleset.go From 8f81583fcec2db546df53b4c82d91837022dbe5a Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:40:26 +0100 Subject: [PATCH 097/178] Add git clone command and submodule update command for development setup --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 539f4536..00ada5da 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,8 @@ There is a basic ruleset available in a separate repository [ruleset.yaml](https To run a development server at http://localhost:8080: ```bash +git clone git@github.com-ladddder:everywall/ladder.git +git submodule update --init --recursive echo "dev " > handlers/VERSION echo "dev " > cmd/VERSION RULESET="./ruleset.yaml" go run cmd/main.go From c28470e6197fa61f7c4baf4ac71f2be687956a8b Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 4 Dec 2023 11:10:55 -0600 Subject: [PATCH 098/178] improve codegen for JSON serialization of response/request modifiers --- proxychain/codegen/codegen.go | 135 ++++++++- .../resolve_with_google_doh.go | 2 +- proxychain/ruleset/rule.go | 17 +- proxychain/ruleset/rule_reqmod_types.gen.go | 267 +++++++++--------- proxychain/ruleset/rule_resmod_types.gen.go | 225 +++++---------- 5 files changed, 343 insertions(+), 303 deletions(-) diff --git a/proxychain/codegen/codegen.go b/proxychain/codegen/codegen.go index 9c2f09e8..f628810f 100644 --- a/proxychain/codegen/codegen.go +++ b/proxychain/codegen/codegen.go @@ -5,6 +5,8 @@ import ( "go/ast" "go/parser" "go/token" + "io" + //"io/fs" "os" "path/filepath" @@ -12,30 +14,27 @@ import ( //"strings" ) -func modToFactoryMap(fn *ast.FuncDecl) (modMap string) { +func responseModToFactoryMap(fn *ast.FuncDecl) (modMap string) { paramCount := len(fn.Type.Params.List) name := fn.Name.Name var x string switch paramCount { case 0: - x = fmt.Sprintf(" resModMap[\"%s\"] = func(_ ...string) proxychain.ResponseModification {\n return rx.%s()\n }\n", name, name) + x = fmt.Sprintf(" rsmModMap[\"%s\"] = func(_ ...string) proxychain.ResponseModification {\n return tx.%s()\n }\n", name, name) default: p := []string{} for i := 0; i < paramCount; i++ { p = append(p, fmt.Sprintf("params[%d]", i)) } params := strings.Join(p, ", ") - x = fmt.Sprintf(" resModMap[\"%s\"] = func(params, ...string) proxychain.ResponseModification {\n return rx.%s(%s)\n }\n", name, name, params) + x = fmt.Sprintf(" rsmModMap[\"%s\"] = func(params ...string) proxychain.ResponseModification {\n return tx.%s(%s)\n }\n", name, name, params) } return x } -func main() { +func responseModCodeGen(dir string) (code string, err error) { fset := token.NewFileSet() - // Directory containing your Go files - dir := "../requestmodifiers/" - files, err := os.ReadDir(dir) if err != nil { panic(err) @@ -50,37 +49,143 @@ func main() { // Parse each Go file node, err := parser.ParseFile(fset, filepath.Join(dir, file.Name()), nil, parser.ParseComments) if err != nil { - panic(err) + return "", err } ast.Inspect(node, func(n ast.Node) bool { fn, ok := n.(*ast.FuncDecl) if ok && fn.Recv == nil && fn.Name.IsExported() { - factoryMaps = append(factoryMaps, modToFactoryMap(fn)) + factoryMaps = append(factoryMaps, responseModToFactoryMap(fn)) } return true }) } - code := fmt.Sprintf(` + code = fmt.Sprintf(` package ruleset_v2 +// DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go +// The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable +// for use in proxychains. import ( "ladder/proxychain" - rx "ladder/proxychain/responsemodifiers" + tx "ladder/proxychain/responsemodifiers" ) type ResponseModifierFactory func(params ...string) proxychain.ResponseModification -var resModMap map[string]ResponseModifierFactory +var rsmModMap map[string]ResponseModifierFactory + +func init() { + rsmModMap = make(map[string]ResponseModifierFactory) + + %s +}`, strings.Join(factoryMaps, "\n")) + //fmt.Println(code) + return code, nil +} + +func requestModToFactoryMap(fn *ast.FuncDecl) (modMap string) { + paramCount := len(fn.Type.Params.List) + name := fn.Name.Name + var x string + switch paramCount { + case 0: + x = fmt.Sprintf(" rqmModMap[\"%s\"] = func(_ ...string) proxychain.RequestModification {\n return rx.%s()\n }\n", name, name) + default: + p := []string{} + for i := 0; i < paramCount; i++ { + p = append(p, fmt.Sprintf("params[%d]", i)) + } + params := strings.Join(p, ", ") + x = fmt.Sprintf(" rqmModMap[\"%s\"] = func(params ...string) proxychain.RequestModification {\n return rx.%s(%s)\n }\n", name, name, params) + } + return x +} + +func requestModCodeGen(dir string) (code string, err error) { + fset := token.NewFileSet() + + files, err := os.ReadDir(dir) + if err != nil { + panic(err) + } + + factoryMaps := []string{} + for _, file := range files { + if filepath.Ext(file.Name()) != ".go" { + continue + } + + // Parse each Go file + node, err := parser.ParseFile(fset, filepath.Join(dir, file.Name()), nil, parser.ParseComments) + if err != nil { + return "", err + } + + ast.Inspect(node, func(n ast.Node) bool { + fn, ok := n.(*ast.FuncDecl) + if ok && fn.Recv == nil && fn.Name.IsExported() { + factoryMaps = append(factoryMaps, requestModToFactoryMap(fn)) + } + return true + }) + + } + + code = fmt.Sprintf(` +package ruleset_v2 +// DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go +// The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable +// for use in proxychains. + +import ( + "ladder/proxychain" + rx "ladder/proxychain/requestmodifiers" +) + +type RequestModifierFactory func(params ...string) proxychain.RequestModification + +var rqmModMap map[string]RequestModifierFactory -// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go func init() { - resModMap = make(map[string]ResponseModifierFactory) + rqmModMap = make(map[string]RequestModifierFactory) %s }`, strings.Join(factoryMaps, "\n")) - fmt.Println(code) + //fmt.Println(code) + return code, nil +} +func main() { + rqmCode, err := requestModCodeGen("../requestmodifiers/") + if err != nil { + panic(err) + } + //fmt.Println(rqmCode) + + fq, err := os.Create("../ruleset/rule_reqmod_types.gen.go") + if err != nil { + panic(err) + } + _, err = io.WriteString(fq, rqmCode) + if err != nil { + panic(err) + } + + rsmCode, err := responseModCodeGen("../responsemodifiers/") + if err != nil { + panic(err) + } + //fmt.Println(rsmCode) + + fs, err := os.Create("../ruleset/rule_resmod_types.gen.go") + if err != nil { + panic(err) + } + _, err = io.WriteString(fs, rsmCode) + if err != nil { + panic(err) + } } diff --git a/proxychain/requestmodifiers/resolve_with_google_doh.go b/proxychain/requestmodifiers/resolve_with_google_doh.go index 4d3a41df..c94ac5ba 100644 --- a/proxychain/requestmodifiers/resolve_with_google_doh.go +++ b/proxychain/requestmodifiers/resolve_with_google_doh.go @@ -47,7 +47,7 @@ type CustomDialer struct { *net.Dialer } -func NewCustomDialer(timeout, keepAlive time.Duration) *CustomDialer { +func newCustomDialer(timeout, keepAlive time.Duration) *CustomDialer { return &CustomDialer{ Dialer: &net.Dialer{ Timeout: timeout, diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index 63f48bac..9551dcf5 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -34,13 +34,26 @@ func (rule *Rule) UnmarshalJSON(data []byte) error { if err != nil { return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) } - f, exists := resModMap[name] + f, exists := rsmModMap[name] if !exists { - return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", err) + return fmt.Errorf("Rule::UnmarshalJSON => responseModifer '%s' does not exist, please check spelling", err) } rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) } + // convert responseModification function call string into actual functional option + for _, rqmModStr := range aux.RequestModifications { + name, params, err := parseFuncCall(rqmModStr) + if err != nil { + return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) + } + f, exists := rqmModMap[name] + if !exists { + return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", err) + } + rule.RequestModifications = append(rule.RequestModifications, f(params...)) + } + return nil } diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go index 88ecddfc..7f22c3e1 100644 --- a/proxychain/ruleset/rule_reqmod_types.gen.go +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -1,184 +1,183 @@ -package ruleset + +package ruleset_v2 +// DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go +// The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable +// for use in proxychains. import ( "ladder/proxychain" - rx "ladder/proxychain/responsemodifiers" + rx "ladder/proxychain/requestmodifiers" ) -type ResponseModifierFactory func(params ...string) proxychain.ResponseModification +type RequestModifierFactory func(params ...string) proxychain.RequestModification -var resModMap map[string]ResponseModifierFactory +var rqmModMap map[string]RequestModifierFactory -// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go func init() { - resModMap = make(map[string]ResponseModifierFactory) - - resModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.ResponseModification { - return rx.ForwardRequestHeaders() - } + rqmModMap = make(map[string]RequestModifierFactory) - resModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsGoogleBot() - } + rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { + return rx.ForwardRequestHeaders() + } - resModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsBingBot() - } + rqmModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsGoogleBot() + } - resModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsWaybackMachineBot() - } + rqmModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBingBot() + } - resModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsFacebookBot() - } + rqmModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsWaybackMachineBot() + } - resModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsYandexBot() - } + rqmModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsFacebookBot() + } - resModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsBaiduBot() - } + rqmModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYandexBot() + } - resModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsDuckDuckBot() - } + rqmModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBaiduBot() + } - resModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsYahooBot() - } + rqmModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsDuckDuckBot() + } - resModMap["ModifyDomainWithRegex"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyDomainWithRegex(params[0], params[1]) - } + rqmModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYahooBot() + } - resModMap["SetOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetOutgoingCookie(params[0], params[1]) - } + rqmModMap["ModifyDomainWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyDomainWithRegex(params[0], params[1]) + } - resModMap["SetOutgoingCookies"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetOutgoingCookies(params[0]) - } + rqmModMap["SetOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookie(params[0], params[1]) + } - resModMap["DeleteOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookie(params[0]) - } + rqmModMap["SetOutgoingCookies"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookies(params[0]) + } - resModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookies() - } + rqmModMap["DeleteOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookie(params[0]) + } - resModMap["DeleteOutgoingCookiesExcept"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookiesExcept(params[0]) - } + rqmModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookies() + } - resModMap["ModifyPathWithRegex"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyPathWithRegex(params[0], params[1]) - } + rqmModMap["DeleteOutgoingCookiesExcept"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookiesExcept(params[0]) + } - resModMap["ModifyQueryParams"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyQueryParams(params[0], params[1]) - } + rqmModMap["ModifyPathWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyPathWithRegex(params[0], params[1]) + } - resModMap["SetRequestHeader"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetRequestHeader(params[0], params[1]) - } + rqmModMap["ModifyQueryParams"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyQueryParams(params[0], params[1]) + } - resModMap["DeleteRequestHeader"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteRequestHeader(params[0]) - } + rqmModMap["SetRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.SetRequestHeader(params[0], params[1]) + } - resModMap["RequestArchiveIs"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestArchiveIs() - } + rqmModMap["DeleteRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteRequestHeader(params[0]) + } - resModMap["RequestGoogleCache"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestGoogleCache() - } + rqmModMap["RequestArchiveIs"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestArchiveIs() + } - resModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestWaybackMachine() - } + rqmModMap["RequestGoogleCache"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestGoogleCache() + } - resModMap["NewCustomDialer"] = func(params, ...string) proxychain.ResponseModification { - return rx.NewCustomDialer(params[0]) - } + rqmModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestWaybackMachine() + } - resModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.ResponseModification { - return rx.ResolveWithGoogleDoH() - } + rqmModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.RequestModification { + return rx.ResolveWithGoogleDoH() + } - resModMap["SpoofOrigin"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofOrigin(params[0]) - } + rqmModMap["SpoofOrigin"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofOrigin(params[0]) + } - resModMap["HideOrigin"] = func(_ ...string) proxychain.ResponseModification { - return rx.HideOrigin() - } + rqmModMap["HideOrigin"] = func(_ ...string) proxychain.RequestModification { + return rx.HideOrigin() + } - resModMap["SpoofReferrer"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofReferrer(params[0]) - } + rqmModMap["SpoofReferrer"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofReferrer(params[0]) + } - resModMap["HideReferrer"] = func(_ ...string) proxychain.ResponseModification { - return rx.HideReferrer() - } + rqmModMap["HideReferrer"] = func(_ ...string) proxychain.RequestModification { + return rx.HideReferrer() + } - resModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromBaiduSearch() - } + rqmModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBaiduSearch() + } - resModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromBingSearch() - } + rqmModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBingSearch() + } - resModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromGoogleSearch() - } + rqmModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromGoogleSearch() + } - resModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromLinkedInPost() - } + rqmModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromLinkedInPost() + } - resModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromNaverSearch() - } + rqmModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromNaverSearch() + } - resModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromPinterestPost() - } + rqmModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromPinterestPost() + } - resModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromQQPost() - } + rqmModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromQQPost() + } - resModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromRedditPost() - } + rqmModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromRedditPost() + } - resModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromTumblrPost() - } + rqmModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTumblrPost() + } - resModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromTwitterPost() - } + rqmModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTwitterPost() + } - resModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromVkontaktePost() - } + rqmModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromVkontaktePost() + } - resModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromWeiboPost() - } + rqmModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromWeiboPost() + } - resModMap["SpoofUserAgent"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofUserAgent(params[0]) - } + rqmModMap["SpoofUserAgent"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofUserAgent(params[0]) + } - resModMap["SpoofXForwardedFor"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofXForwardedFor(params[0]) - } + rqmModMap["SpoofXForwardedFor"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofXForwardedFor(params[0]) + } -} +} \ No newline at end of file diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index 21984b35..a3cbde04 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -1,184 +1,107 @@ + package ruleset_v2 +// DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go +// The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable +// for use in proxychains. import ( "ladder/proxychain" - rx "ladder/proxychain/responsemodifiers" + tx "ladder/proxychain/responsemodifiers" ) type ResponseModifierFactory func(params ...string) proxychain.ResponseModification -var resModMap map[string]ResponseModifierFactory +var rsmModMap map[string]ResponseModifierFactory -// TODO: create codegen using AST parsing of exported methods in ladder/proxychain/responsemodifiers/*.go func init() { - resModMap = make(map[string]ResponseModifierFactory) - - resModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.ResponseModification { - return rx.ForwardRequestHeaders() - } - - resModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsGoogleBot() - } - - resModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsBingBot() - } - - resModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsWaybackMachineBot() - } - - resModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsFacebookBot() - } - - resModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsYandexBot() - } - - resModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsBaiduBot() - } - - resModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsDuckDuckBot() - } - - resModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.ResponseModification { - return rx.MasqueradeAsYahooBot() - } - - resModMap["ModifyDomainWithRegex"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyDomainWithRegex(params[0], params[1]) - } - - resModMap["SetOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetOutgoingCookie(params[0], params[1]) - } - - resModMap["SetOutgoingCookies"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetOutgoingCookies(params[0]) - } - - resModMap["DeleteOutgoingCookie"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookie(params[0]) - } - - resModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookies() - } - - resModMap["DeleteOutgoingCookiesExcept"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteOutgoingCookiesExcept(params[0]) - } - - resModMap["ModifyPathWithRegex"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyPathWithRegex(params[0], params[1]) - } - - resModMap["ModifyQueryParams"] = func(params, ...string) proxychain.ResponseModification { - return rx.ModifyQueryParams(params[0], params[1]) - } - - resModMap["SetRequestHeader"] = func(params, ...string) proxychain.ResponseModification { - return rx.SetRequestHeader(params[0], params[1]) - } - - resModMap["DeleteRequestHeader"] = func(params, ...string) proxychain.ResponseModification { - return rx.DeleteRequestHeader(params[0]) - } - - resModMap["RequestArchiveIs"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestArchiveIs() - } + rsmModMap = make(map[string]ResponseModifierFactory) - resModMap["RequestGoogleCache"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestGoogleCache() - } + rsmModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { + return tx.APIContent() + } - resModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.ResponseModification { - return rx.RequestWaybackMachine() - } + rsmModMap["TestCreateAPIErrReader"] = func(params ...string) proxychain.ResponseModification { + return tx.TestCreateAPIErrReader(params[0]) + } - resModMap["NewCustomDialer"] = func(params, ...string) proxychain.ResponseModification { - return rx.NewCustomDialer(params[0]) - } + rsmModMap["TestCreateAPIErrReader2"] = func(params ...string) proxychain.ResponseModification { + return tx.TestCreateAPIErrReader2(params[0]) + } - resModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.ResponseModification { - return rx.ResolveWithGoogleDoH() - } + rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { + return tx.BlockElementRemoval(params[0]) + } - resModMap["SpoofOrigin"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofOrigin(params[0]) - } + rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassCORS() + } - resModMap["HideOrigin"] = func(_ ...string) proxychain.ResponseModification { - return rx.HideOrigin() - } + rsmModMap["BypassContentSecurityPolicy"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassContentSecurityPolicy() + } - resModMap["SpoofReferrer"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofReferrer(params[0]) - } + rsmModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { + return tx.SetContentSecurityPolicy(params[0]) + } - resModMap["HideReferrer"] = func(_ ...string) proxychain.ResponseModification { - return rx.HideReferrer() - } + rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { + return tx.ForwardResponseHeaders() + } - resModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromBaiduSearch() - } + rsmModMap["GenerateReadableOutline"] = func(_ ...string) proxychain.ResponseModification { + return tx.GenerateReadableOutline() + } - resModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromBingSearch() - } + rsmModMap["InjectScriptBeforeDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptBeforeDOMContentLoaded(params[0]) + } - resModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromGoogleSearch() - } + rsmModMap["InjectScriptAfterDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMContentLoaded(params[0]) + } - resModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromLinkedInPost() - } + rsmModMap["InjectScriptAfterDOMIdle"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMIdle(params[0]) + } - resModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromNaverSearch() - } + rsmModMap["DeleteIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookies(params[0]) + } - resModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromPinterestPost() - } + rsmModMap["DeleteIncomingCookiesExcept"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookiesExcept(params[0]) + } - resModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromQQPost() - } + rsmModMap["SetIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookies(params[0]) + } - resModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromRedditPost() - } + rsmModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookie(params[0], params[1]) + } - resModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromTumblrPost() - } + rsmModMap["SetResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.SetResponseHeader(params[0], params[1]) + } - resModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromTwitterPost() - } + rsmModMap["DeleteResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteResponseHeader(params[0]) + } - resModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromVkontaktePost() - } + rsmModMap["PatchDynamicResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchDynamicResourceURLs() + } - resModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.ResponseModification { - return rx.SpoofReferrerFromWeiboPost() - } + rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchGoogleAnalytics() + } - resModMap["SpoofUserAgent"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofUserAgent(params[0]) - } + rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchTrackerScripts() + } - resModMap["SpoofXForwardedFor"] = func(params, ...string) proxychain.ResponseModification { - return rx.SpoofXForwardedFor(params[0]) - } + rsmModMap["RewriteHTMLResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.RewriteHTMLResourceURLs() + } -} +} \ No newline at end of file From 6157d6543f07751edc91c621511615b35d0e5d77 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 4 Dec 2023 19:55:50 -0600 Subject: [PATCH 099/178] add YAML serialization for ruleset --- go.mod | 1 + go.sum | 2 + proxychain/codegen/codegen.go | 18 ++- .../modify_domain_with_regex.go | 7 +- .../modify_path_with_regex.go | 10 +- proxychain/ruleset/rule.go | 146 +++++++++++++++++- proxychain/ruleset/rule_resmod_types.gen.go | 8 - proxychain/ruleset/rule_test.go | 70 +++++++-- 8 files changed, 231 insertions(+), 31 deletions(-) diff --git a/go.mod b/go.mod index 61613f7a..362cc466 100644 --- a/go.mod +++ b/go.mod @@ -39,6 +39,7 @@ require ( golang.org/x/crypto v0.16.0 // indirect golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect golang.org/x/text v0.14.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect ) require ( diff --git a/go.sum b/go.sum index c973ed8d..79414c97 100644 --- a/go.sum +++ b/go.sum @@ -153,6 +153,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/proxychain/codegen/codegen.go b/proxychain/codegen/codegen.go index f628810f..016b5c0b 100644 --- a/proxychain/codegen/codegen.go +++ b/proxychain/codegen/codegen.go @@ -6,6 +6,7 @@ import ( "go/parser" "go/token" "io" + "io/fs" //"io/fs" "os" @@ -42,7 +43,7 @@ func responseModCodeGen(dir string) (code string, err error) { factoryMaps := []string{} for _, file := range files { - if filepath.Ext(file.Name()) != ".go" { + if !shouldGenCodeFor(file) { continue } @@ -114,7 +115,7 @@ func requestModCodeGen(dir string) (code string, err error) { factoryMaps := []string{} for _, file := range files { - if filepath.Ext(file.Name()) != ".go" { + if !shouldGenCodeFor(file) { continue } @@ -158,6 +159,19 @@ func init() { return code, nil } +func shouldGenCodeFor(file fs.DirEntry) bool { + if file.IsDir() { + return false + } + if filepath.Ext(file.Name()) != ".go" { + return false + } + if strings.HasSuffix(file.Name(), "_test.go") { + return false + } + return true +} + func main() { rqmCode, err := requestModCodeGen("../requestmodifiers/") if err != nil { diff --git a/proxychain/requestmodifiers/modify_domain_with_regex.go b/proxychain/requestmodifiers/modify_domain_with_regex.go index 77b9a0e6..47db02eb 100644 --- a/proxychain/requestmodifiers/modify_domain_with_regex.go +++ b/proxychain/requestmodifiers/modify_domain_with_regex.go @@ -1,13 +1,18 @@ package requestmodifiers import ( + "fmt" "regexp" "ladder/proxychain" ) -func ModifyDomainWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { +func ModifyDomainWithRegex(matchRegex string, replacement string) proxychain.RequestModification { + match, err := regexp.Compile(matchRegex) return func(px *proxychain.ProxyChain) error { + if err != nil { + return fmt.Errorf("RequestModification :: ModifyDomainWithRegex error => invalid match regex: %s - %s", matchRegex, err.Error()) + } px.Request.URL.Host = match.ReplaceAllString(px.Request.URL.Host, replacement) return nil } diff --git a/proxychain/requestmodifiers/modify_path_with_regex.go b/proxychain/requestmodifiers/modify_path_with_regex.go index 04840b51..f9624fe7 100644 --- a/proxychain/requestmodifiers/modify_path_with_regex.go +++ b/proxychain/requestmodifiers/modify_path_with_regex.go @@ -1,13 +1,17 @@ package requestmodifiers import ( - "regexp" - + "fmt" "ladder/proxychain" + "regexp" ) -func ModifyPathWithRegex(match regexp.Regexp, replacement string) proxychain.RequestModification { +func ModifyPathWithRegex(matchRegex string, replacement string) proxychain.RequestModification { + match, err := regexp.Compile(matchRegex) return func(px *proxychain.ProxyChain) error { + if err != nil { + return fmt.Errorf("RequestModification :: ModifyPathWithRegex error => invalid match regex: %s - %s", matchRegex, err.Error()) + } px.Request.URL.Path = match.ReplaceAllString(px.Request.URL.Path, replacement) return nil } diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index 9551dcf5..c286007b 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -4,6 +4,11 @@ import ( "encoding/json" "fmt" "ladder/proxychain" + "reflect" + "runtime" + "strings" + + _ "gopkg.in/yaml.v3" ) type Rule struct { @@ -29,34 +34,159 @@ func (rule *Rule) UnmarshalJSON(data []byte) error { rule.Domains = aux.Domains // convert requestModification function call string into actual functional option - for _, resModStr := range aux.RequestModifications { - name, params, err := parseFuncCall(resModStr) + for _, rqmModStr := range aux.RequestModifications { + name, params, err := parseFuncCall(rqmModStr) + if err != nil { + return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) + } + f, exists := rqmModMap[name] + if !exists { + return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", name) + } + rule.RequestModifications = append(rule.RequestModifications, f(params...)) + } + + // convert responseModification function call string into actual functional option + for _, rsmModStr := range aux.ResponseModifications { + name, params, err := parseFuncCall(rsmModStr) if err != nil { return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) } f, exists := rsmModMap[name] if !exists { - return fmt.Errorf("Rule::UnmarshalJSON => responseModifer '%s' does not exist, please check spelling", err) + return fmt.Errorf("Rule::UnmarshalJSON => responseModifier '%s' does not exist, please check spelling", name) } rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) } - // convert responseModification function call string into actual functional option + return nil +} + +// not fully possible to go from rule to JSON rule because +// reflection cannot get the parameters of the functional options +// of requestmodifiers and responsemodifiers +func (r *Rule) MarshalJSON() ([]byte, error) { + type Aux struct { + Domains []string `json:"domains"` + RequestModifications []string `json:"request_modifications"` + ResponseModifications []string `json:"response_modifications"` + } + aux := &Aux{} + aux.Domains = r.Domains + + for _, rqmMod := range r.RequestModifications { + fnName := getFunctionName(rqmMod) + aux.RequestModifications = append(aux.RequestModifications, fnName) + } + + for _, rsmMod := range r.ResponseModifications { + fnName := getFunctionName(rsmMod) + aux.ResponseModifications = append(aux.ResponseModifications, fnName) + } + + return json.Marshal(aux) +} + +// getFunctionName returns the name of the function +func getFunctionName(i interface{}) string { + // Get the value of the interface + val := reflect.ValueOf(i) + + // Ensure it's a function + if val.Kind() != reflect.Func { + return "Not a function" + } + + // Get the pointer to the function + ptr := val.Pointer() + + // Get the function details from runtime + funcForPc := runtime.FuncForPC(ptr) + + if funcForPc == nil { + return "Unknown" + } + + // Return the name of the function + return extractShortName(funcForPc.Name()) +} + +// extractShortName extracts the short function name from the full name +func extractShortName(fullName string) string { + parts := strings.Split(fullName, ".") + if len(parts) > 0 { + // Assuming the function name is always the second last part + return parts[len(parts)-2] + } + return "" +} + +// == YAML +// UnmarshalYAML implements the yaml.Unmarshaler interface for Rule +func (rule *Rule) UnmarshalYAML(unmarshal func(interface{}) error) error { + type Aux struct { + Domains []string `yaml:"domains"` + RequestModifications []string `yaml:"request_modifications"` + ResponseModifications []string `yaml:"response_modifications"` + } + + aux := &Aux{} + if err := unmarshal(aux); err != nil { + return err + } + + rule.Domains = aux.Domains + + // Process requestModifications for _, rqmModStr := range aux.RequestModifications { name, params, err := parseFuncCall(rqmModStr) if err != nil { - return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) + return fmt.Errorf("Rule::UnmarshalYAML invalid function call syntax => '%s'", err) } f, exists := rqmModMap[name] if !exists { - return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", err) + return fmt.Errorf("Rule::UnmarshalYAML => requestModifier '%s' does not exist, please check spelling", name) } rule.RequestModifications = append(rule.RequestModifications, f(params...)) } + // Process responseModifications + for _, rsmModStr := range aux.ResponseModifications { + name, params, err := parseFuncCall(rsmModStr) + if err != nil { + return fmt.Errorf("Rule::UnmarshalYAML invalid function call syntax => '%s'", err) + } + f, exists := rsmModMap[name] + if !exists { + return fmt.Errorf("Rule::UnmarshalYAML => responseModifier '%s' does not exist, please check spelling", name) + } + rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) + } + return nil } -func (r *Rule) MarshalJSON() ([]byte, error) { - return []byte{}, nil +func (r *Rule) MarshalYAML() (interface{}, error) { + type Aux struct { + Domains []string `yaml:"domains"` + RequestModifications []string `yaml:"request_modifications"` + ResponseModifications []string `yaml:"response_modifications"` + } + + aux := &Aux{ + Domains: r.Domains, + } + + for _, rqmMod := range r.RequestModifications { + // Assuming getFunctionName returns a string representation of the function + fnName := getFunctionName(rqmMod) + aux.RequestModifications = append(aux.RequestModifications, fnName) + } + + for _, rsmMod := range r.ResponseModifications { + fnName := getFunctionName(rsmMod) + aux.ResponseModifications = append(aux.ResponseModifications, fnName) + } + + return aux, nil } diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index a3cbde04..f6ec8c0e 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -20,14 +20,6 @@ func init() { return tx.APIContent() } - rsmModMap["TestCreateAPIErrReader"] = func(params ...string) proxychain.ResponseModification { - return tx.TestCreateAPIErrReader(params[0]) - } - - rsmModMap["TestCreateAPIErrReader2"] = func(params ...string) proxychain.ResponseModification { - return tx.TestCreateAPIErrReader2(params[0]) - } - rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { return tx.BlockElementRemoval(params[0]) } diff --git a/proxychain/ruleset/rule_test.go b/proxychain/ruleset/rule_test.go index 63b34a1e..14c59bb6 100644 --- a/proxychain/ruleset/rule_test.go +++ b/proxychain/ruleset/rule_test.go @@ -3,7 +3,7 @@ package ruleset_v2 import ( "encoding/json" "fmt" - //"io" + yaml "gopkg.in/yaml.v3" "testing" ) @@ -13,12 +13,14 @@ func TestRuleUnmarshalJSON(t *testing.T) { "example.com", "www.example.com" ], - "response_modifiers": [ - "APIContent()", - "SetContentSecurityPolicy(\"foobar\")", - "SetIncomingCookie(\"authorization-bearer\", \"hunter2\")" + "request_modifications": [ + "SpoofUserAgent(\"googlebot\")" ], - "response_modifiers": [] + "response_modifications": [ + "APIContent()", + "SetContentSecurityPolicy(\"foobar\")", + "SetIncomingCookie(\"authorization-bearer\", \"hunter2\")" + ] }` //fmt.Println(ruleJSON) @@ -37,9 +39,59 @@ func TestRuleUnmarshalJSON(t *testing.T) { t.Errorf("expected domain to be example.com") return } - if len(rule.ResponseModifications) == 3 { - t.Errorf("expected number of ResponseModifications to be 3") + if len(rule.ResponseModifications) != 3 { + t.Errorf("expected number of ResponseModifications to be 3, got %d", len(rule.ResponseModifications)) + } + if len(rule.RequestModifications) != 1 { + t.Errorf("expected number of RequestModifications to be 1, got %d", len(rule.RequestModifications)) + } + + // test marshal + jsonRule, err := json.Marshal(rule) + if err != nil { + t.Errorf("expected no error marshalling rule to json, got '%s'", err.Error()) + } + fmt.Println(string(jsonRule)) +} + +func TestRuleUnmarshalYAML(t *testing.T) { + ruleYAML := ` +domains: + - example.com + - www.example.com +request_modifications: + - SpoofUserAgent("googlebot") +response_modifications: + - APIContent() + - SetContentSecurityPolicy("foobar") + - SetIncomingCookie("authorization-bearer", "hunter2") +` + + rule := &Rule{} + err := yaml.Unmarshal([]byte(ruleYAML), rule) + if err != nil { + t.Errorf("expected no error in Unmarshal, got '%s'", err) + return } - fmt.Println(rule.ResponseModifications) + if len(rule.Domains) != 2 { + t.Errorf("expected number of domains to be 2, got %d", len(rule.Domains)) + return + } + if !(rule.Domains[0] == "example.com" || rule.Domains[1] == "example.com") { + t.Errorf("expected domain to be example.com") + return + } + if len(rule.ResponseModifications) != 3 { + t.Errorf("expected number of ResponseModifications to be 3, got %d", len(rule.ResponseModifications)) + } + if len(rule.RequestModifications) != 1 { + t.Errorf("expected number of RequestModifications to be 1, got %d", len(rule.RequestModifications)) + } + + yamlRule, err := yaml.Marshal(rule) + if err != nil { + t.Errorf("expected no error marshalling rule to yaml, got '%s'", err.Error()) + } + fmt.Println(string(yamlRule)) } From f8621e72ee191b3fe1cc83bbc3dfb97ce4d8b32e Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Mon, 4 Dec 2023 22:53:38 -0600 Subject: [PATCH 100/178] implement proper ruleset json serializer --- proxychain/ruleset/rule.go | 180 ++++++-------------------------- proxychain/ruleset/rule_test.go | 28 +++-- 2 files changed, 55 insertions(+), 153 deletions(-) diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index c286007b..343ea5af 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -4,25 +4,35 @@ import ( "encoding/json" "fmt" "ladder/proxychain" - "reflect" - "runtime" - "strings" - - _ "gopkg.in/yaml.v3" + // _ "gopkg.in/yaml.v3" ) type Rule struct { Domains []string RequestModifications []proxychain.RequestModification + _rqms []_rqm // internal represenation of RequestModifications ResponseModifications []proxychain.ResponseModification + _rsms []_rsm // internal represenation of ResponseModifications +} + +// internal represenation of ResponseModifications +type _rsm struct { + Name string `json:"name"` + Params []string `json:"params"` +} + +// internal represenation of RequestModifications +type _rqm struct { + Name string `json:"name"` + Params []string `json:"params"` } // implement type encoding/json/Marshaler func (rule *Rule) UnmarshalJSON(data []byte) error { type Aux struct { Domains []string `json:"domains"` - RequestModifications []string `json:"request_modifications"` - ResponseModifications []string `json:"response_modifications"` + RequestModifications []_rqm `json:"request_modifications"` + ResponseModifications []_rsm `json:"response_modifications"` } aux := &Aux{} @@ -30,163 +40,41 @@ func (rule *Rule) UnmarshalJSON(data []byte) error { return err } - //fmt.Println(aux.Domains) rule.Domains = aux.Domains + rule._rqms = aux.RequestModifications + rule._rsms = aux.ResponseModifications // convert requestModification function call string into actual functional option - for _, rqmModStr := range aux.RequestModifications { - name, params, err := parseFuncCall(rqmModStr) - if err != nil { - return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) - } - f, exists := rqmModMap[name] + for _, rqm := range aux.RequestModifications { + f, exists := rqmModMap[rqm.Name] if !exists { - return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", name) + return fmt.Errorf("Rule::UnmarshalJSON => requestModifier '%s' does not exist, please check spelling", rqm.Name) } - rule.RequestModifications = append(rule.RequestModifications, f(params...)) + rule.RequestModifications = append(rule.RequestModifications, f(rqm.Params...)) } // convert responseModification function call string into actual functional option - for _, rsmModStr := range aux.ResponseModifications { - name, params, err := parseFuncCall(rsmModStr) - if err != nil { - return fmt.Errorf("Rule::UnmarshalJSON invalid function call syntax => '%s'", err) - } - f, exists := rsmModMap[name] + for _, rsm := range aux.ResponseModifications { + f, exists := rsmModMap[rsm.Name] if !exists { - return fmt.Errorf("Rule::UnmarshalJSON => responseModifier '%s' does not exist, please check spelling", name) + return fmt.Errorf("Rule::UnmarshalJSON => responseModifier '%s' does not exist, please check spelling", rsm.Name) } - rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) + rule.ResponseModifications = append(rule.ResponseModifications, f(rsm.Params...)) } return nil } -// not fully possible to go from rule to JSON rule because -// reflection cannot get the parameters of the functional options -// of requestmodifiers and responsemodifiers func (r *Rule) MarshalJSON() ([]byte, error) { - type Aux struct { + aux := struct { Domains []string `json:"domains"` - RequestModifications []string `json:"request_modifications"` - ResponseModifications []string `json:"response_modifications"` - } - aux := &Aux{} - aux.Domains = r.Domains - - for _, rqmMod := range r.RequestModifications { - fnName := getFunctionName(rqmMod) - aux.RequestModifications = append(aux.RequestModifications, fnName) - } - - for _, rsmMod := range r.ResponseModifications { - fnName := getFunctionName(rsmMod) - aux.ResponseModifications = append(aux.ResponseModifications, fnName) + RequestModifications []_rqm `json:"request_modifications"` + ResponseModifications []_rsm `json:"response_modifications"` + }{ + Domains: r.Domains, + RequestModifications: r._rqms, + ResponseModifications: r._rsms, } return json.Marshal(aux) } - -// getFunctionName returns the name of the function -func getFunctionName(i interface{}) string { - // Get the value of the interface - val := reflect.ValueOf(i) - - // Ensure it's a function - if val.Kind() != reflect.Func { - return "Not a function" - } - - // Get the pointer to the function - ptr := val.Pointer() - - // Get the function details from runtime - funcForPc := runtime.FuncForPC(ptr) - - if funcForPc == nil { - return "Unknown" - } - - // Return the name of the function - return extractShortName(funcForPc.Name()) -} - -// extractShortName extracts the short function name from the full name -func extractShortName(fullName string) string { - parts := strings.Split(fullName, ".") - if len(parts) > 0 { - // Assuming the function name is always the second last part - return parts[len(parts)-2] - } - return "" -} - -// == YAML -// UnmarshalYAML implements the yaml.Unmarshaler interface for Rule -func (rule *Rule) UnmarshalYAML(unmarshal func(interface{}) error) error { - type Aux struct { - Domains []string `yaml:"domains"` - RequestModifications []string `yaml:"request_modifications"` - ResponseModifications []string `yaml:"response_modifications"` - } - - aux := &Aux{} - if err := unmarshal(aux); err != nil { - return err - } - - rule.Domains = aux.Domains - - // Process requestModifications - for _, rqmModStr := range aux.RequestModifications { - name, params, err := parseFuncCall(rqmModStr) - if err != nil { - return fmt.Errorf("Rule::UnmarshalYAML invalid function call syntax => '%s'", err) - } - f, exists := rqmModMap[name] - if !exists { - return fmt.Errorf("Rule::UnmarshalYAML => requestModifier '%s' does not exist, please check spelling", name) - } - rule.RequestModifications = append(rule.RequestModifications, f(params...)) - } - - // Process responseModifications - for _, rsmModStr := range aux.ResponseModifications { - name, params, err := parseFuncCall(rsmModStr) - if err != nil { - return fmt.Errorf("Rule::UnmarshalYAML invalid function call syntax => '%s'", err) - } - f, exists := rsmModMap[name] - if !exists { - return fmt.Errorf("Rule::UnmarshalYAML => responseModifier '%s' does not exist, please check spelling", name) - } - rule.ResponseModifications = append(rule.ResponseModifications, f(params...)) - } - - return nil -} - -func (r *Rule) MarshalYAML() (interface{}, error) { - type Aux struct { - Domains []string `yaml:"domains"` - RequestModifications []string `yaml:"request_modifications"` - ResponseModifications []string `yaml:"response_modifications"` - } - - aux := &Aux{ - Domains: r.Domains, - } - - for _, rqmMod := range r.RequestModifications { - // Assuming getFunctionName returns a string representation of the function - fnName := getFunctionName(rqmMod) - aux.RequestModifications = append(aux.RequestModifications, fnName) - } - - for _, rsmMod := range r.ResponseModifications { - fnName := getFunctionName(rsmMod) - aux.ResponseModifications = append(aux.ResponseModifications, fnName) - } - - return aux, nil -} diff --git a/proxychain/ruleset/rule_test.go b/proxychain/ruleset/rule_test.go index 14c59bb6..5207a6c4 100644 --- a/proxychain/ruleset/rule_test.go +++ b/proxychain/ruleset/rule_test.go @@ -3,7 +3,7 @@ package ruleset_v2 import ( "encoding/json" "fmt" - yaml "gopkg.in/yaml.v3" + //yaml "gopkg.in/yaml.v3" "testing" ) @@ -13,13 +13,25 @@ func TestRuleUnmarshalJSON(t *testing.T) { "example.com", "www.example.com" ], - "request_modifications": [ - "SpoofUserAgent(\"googlebot\")" - ], "response_modifications": [ - "APIContent()", - "SetContentSecurityPolicy(\"foobar\")", - "SetIncomingCookie(\"authorization-bearer\", \"hunter2\")" + { + "name": "APIContent", + "params": [] + }, + { + "name": "SetContentSecurityPolicy", + "params": ["foobar"] + }, + { + "name": "SetIncomingCookie", + "params": ["authorization-bearer", "hunter2"] + } + ], + "request_modifications": [ + { + "name": "ForwardRequestHeaders", + "params": [] + } ] }` @@ -54,6 +66,7 @@ func TestRuleUnmarshalJSON(t *testing.T) { fmt.Println(string(jsonRule)) } +/* func TestRuleUnmarshalYAML(t *testing.T) { ruleYAML := ` domains: @@ -95,3 +108,4 @@ response_modifications: } fmt.Println(string(yamlRule)) } +*/ From bc715d910176c6390c6acbcde46f57861ca310bb Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 01:51:30 -0600 Subject: [PATCH 101/178] implement proper marshaller/unmarshaller for rulesets in yaml format --- proxychain/codegen/README.md | 16 +++ proxychain/ruleset/rule.go | 87 +++++++++++++--- proxychain/ruleset/rule_test.go | 136 +++++++++++++++---------- proxychain/ruleset/rule_utils.go | 59 ----------- proxychain/ruleset/rule_utils_test.go | 138 -------------------------- 5 files changed, 170 insertions(+), 266 deletions(-) create mode 100644 proxychain/codegen/README.md delete mode 100644 proxychain/ruleset/rule_utils.go delete mode 100644 proxychain/ruleset/rule_utils_test.go diff --git a/proxychain/codegen/README.md b/proxychain/codegen/README.md new file mode 100644 index 00000000..2fbe8143 --- /dev/null +++ b/proxychain/codegen/README.md @@ -0,0 +1,16 @@ +## TLDR +- If you create, delete or rename any request/response modifier, run `go run codegen.go`, so that ruleset unmarshaling will work properly. + +## Overview + +The `codegen.go` file is a utility for the rulesets that automatically generates Go code that maps functional options names found in response/request modifiers to corresponding factory functions. This generation is crucial for the serialization of rulesets from JSON or YAML into functional options suitable for use in proxychains. The tool processes Go files containing modifier functions and generates the necessary mappings. + +- The generated mappings will be written in `proxychain/ruleset/rule_reqmod_types.gen.go` and `proxychain/ruleset/rule_resmod_types.gen.go`. +- These files are used in UnmarshalJSON and UnmarshalYAML methods of the rule type, found in `proxychain/ruleset/rule.go` + + +## Usage +```sh +go run codegen.go +``` + diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index 343ea5af..0d15c694 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -3,8 +3,8 @@ package ruleset_v2 import ( "encoding/json" "fmt" + "gopkg.in/yaml.v3" "ladder/proxychain" - // _ "gopkg.in/yaml.v3" ) type Rule struct { @@ -17,22 +17,22 @@ type Rule struct { // internal represenation of ResponseModifications type _rsm struct { - Name string `json:"name"` - Params []string `json:"params"` + Name string `json:"name" yaml:"name"` + Params []string `json:"params" yaml:"params"` } // internal represenation of RequestModifications type _rqm struct { - Name string `json:"name"` - Params []string `json:"params"` + Name string `json:"name" yaml:"name"` + Params []string `json:"params" yaml:"params"` } // implement type encoding/json/Marshaler func (rule *Rule) UnmarshalJSON(data []byte) error { type Aux struct { Domains []string `json:"domains"` - RequestModifications []_rqm `json:"request_modifications"` - ResponseModifications []_rsm `json:"response_modifications"` + RequestModifications []_rqm `json:"requestmodifications"` + ResponseModifications []_rsm `json:"responsemodifications"` } aux := &Aux{} @@ -65,16 +65,75 @@ func (rule *Rule) UnmarshalJSON(data []byte) error { return nil } -func (r *Rule) MarshalJSON() ([]byte, error) { +func (rule *Rule) MarshalJSON() ([]byte, error) { aux := struct { Domains []string `json:"domains"` - RequestModifications []_rqm `json:"request_modifications"` - ResponseModifications []_rsm `json:"response_modifications"` + RequestModifications []_rqm `json:"requestmodifications"` + ResponseModifications []_rsm `json:"responsemodifications"` }{ - Domains: r.Domains, - RequestModifications: r._rqms, - ResponseModifications: r._rsms, + Domains: rule.Domains, + RequestModifications: rule._rqms, + ResponseModifications: rule._rsms, } - return json.Marshal(aux) + return json.MarshalIndent(aux, "", " ") +} + +// ============================================================ +// YAML + +// implement type yaml marshaller +func (rule *Rule) UnmarshalYAML(unmarshal func(interface{}) error) error { + + type Aux struct { + Domains []string `yaml:"domains"` + RequestModifications []_rqm `yaml:"requestmodifications"` + ResponseModifications []_rsm `yaml:"responsemodifications"` + } + + var aux Aux + if err := unmarshal(&aux); err != nil { + return err + } + + rule.Domains = aux.Domains + rule._rqms = aux.RequestModifications + rule._rsms = aux.ResponseModifications + + // convert requestModification function call string into actual functional option + for _, rqm := range aux.RequestModifications { + f, exists := rqmModMap[rqm.Name] + if !exists { + return fmt.Errorf("Rule::UnmarshalYAML => requestModifier '%s' does not exist, please check spelling", rqm.Name) + } + rule.RequestModifications = append(rule.RequestModifications, f(rqm.Params...)) + } + + // convert responseModification function call string into actual functional option + for _, rsm := range aux.ResponseModifications { + f, exists := rsmModMap[rsm.Name] + if !exists { + return fmt.Errorf("Rule::UnmarshalYAML => responseModifier '%s' does not exist, please check spelling", rsm.Name) + } + rule.ResponseModifications = append(rule.ResponseModifications, f(rsm.Params...)) + } + + return nil +} + +func (rule *Rule) MarshalYAML() (interface{}, error) { + + type Aux struct { + Domains []string `yaml:"domains"` + RequestModifications []_rqm `yaml:"requestmodifications"` + ResponseModifications []_rsm `yaml:"responsemodifications"` + } + + aux := &Aux{ + Domains: rule.Domains, + RequestModifications: rule._rqms, + ResponseModifications: rule._rsms, + } + + return yaml.Marshal(aux) } diff --git a/proxychain/ruleset/rule_test.go b/proxychain/ruleset/rule_test.go index 5207a6c4..98f7bc9d 100644 --- a/proxychain/ruleset/rule_test.go +++ b/proxychain/ruleset/rule_test.go @@ -3,53 +3,34 @@ package ruleset_v2 import ( "encoding/json" "fmt" - //yaml "gopkg.in/yaml.v3" + "gopkg.in/yaml.v3" "testing" ) -func TestRuleUnmarshalJSON(t *testing.T) { - ruleJSON := `{ - "domains": [ - "example.com", - "www.example.com" - ], - "response_modifications": [ - { - "name": "APIContent", - "params": [] - }, - { - "name": "SetContentSecurityPolicy", - "params": ["foobar"] - }, - { - "name": "SetIncomingCookie", - "params": ["authorization-bearer", "hunter2"] - } - ], - "request_modifications": [ - { - "name": "ForwardRequestHeaders", - "params": [] - } - ] -}` - - //fmt.Println(ruleJSON) +// unmarshalRule is a helper function to unmarshal a Rule from a JSON string. +func unmarshalRule(t *testing.T, ruleJSON string) *Rule { rule := &Rule{} err := json.Unmarshal([]byte(ruleJSON), rule) if err != nil { - t.Errorf("expected no error in Unmarshal, got '%s'", err) - return + t.Fatalf("expected no error in Unmarshal, got '%s'", err) } + return rule +} + +func TestRuleUnmarshalJSON(t *testing.T) { + ruleJSON := `{ + "domains": ["example.com", "www.example.com"], + "responsemodifications": [{"name": "APIContent", "params": []}, {"name": "SetContentSecurityPolicy", "params": ["foobar"]}, {"name": "SetIncomingCookie", "params": ["authorization-bearer", "hunter2"]}], + "requestmodifications": [{"name": "ForwardRequestHeaders", "params": []}] + }` + + rule := unmarshalRule(t, ruleJSON) if len(rule.Domains) != 2 { t.Errorf("expected number of domains to be 2") - return } if !(rule.Domains[0] == "example.com" || rule.Domains[1] == "example.com") { t.Errorf("expected domain to be example.com") - return } if len(rule.ResponseModifications) != 3 { t.Errorf("expected number of ResponseModifications to be 3, got %d", len(rule.ResponseModifications)) @@ -57,8 +38,17 @@ func TestRuleUnmarshalJSON(t *testing.T) { if len(rule.RequestModifications) != 1 { t.Errorf("expected number of RequestModifications to be 1, got %d", len(rule.RequestModifications)) } +} + +func TestRuleMarshalJSON(t *testing.T) { + ruleJSON := `{ + "domains": ["example.com", "www.example.com"], + "responsemodifications": [{"name": "APIContent", "params": []}, {"name": "SetContentSecurityPolicy", "params": ["foobar"]}, {"name": "SetIncomingCookie", "params": ["authorization-bearer", "hunter2"]}], + "requestmodifications": [{"name": "ForwardRequestHeaders", "params": []}] + }` + + rule := unmarshalRule(t, ruleJSON) - // test marshal jsonRule, err := json.Marshal(rule) if err != nil { t.Errorf("expected no error marshalling rule to json, got '%s'", err.Error()) @@ -66,34 +56,45 @@ func TestRuleUnmarshalJSON(t *testing.T) { fmt.Println(string(jsonRule)) } -/* -func TestRuleUnmarshalYAML(t *testing.T) { - ruleYAML := ` -domains: - - example.com - - www.example.com -request_modifications: - - SpoofUserAgent("googlebot") -response_modifications: - - APIContent() - - SetContentSecurityPolicy("foobar") - - SetIncomingCookie("authorization-bearer", "hunter2") -` +// =============================================== +// unmarshalYAMLRule is a helper function to unmarshal a Rule from a YAML string. +func unmarshalYAMLRule(t *testing.T, ruleYAML string) *Rule { rule := &Rule{} err := yaml.Unmarshal([]byte(ruleYAML), rule) if err != nil { - t.Errorf("expected no error in Unmarshal, got '%s'", err) - return + t.Fatalf("expected no error in Unmarshal, got '%s'", err) } + return rule +} + +func TestRuleUnmarshalYAML(t *testing.T) { + ruleYAML := ` +domains: +- example.com +- www.example.com +responsemodifications: +- name: APIContent + params: [] +- name: SetContentSecurityPolicy + params: + - foobar +- name: SetIncomingCookie + params: + - authorization-bearer + - hunter2 +requestmodifications: +- name: ForwardRequestHeaders + params: [] +` + + rule := unmarshalYAMLRule(t, ruleYAML) if len(rule.Domains) != 2 { - t.Errorf("expected number of domains to be 2, got %d", len(rule.Domains)) - return + t.Errorf("expected number of domains to be 2") } if !(rule.Domains[0] == "example.com" || rule.Domains[1] == "example.com") { t.Errorf("expected domain to be example.com") - return } if len(rule.ResponseModifications) != 3 { t.Errorf("expected number of ResponseModifications to be 3, got %d", len(rule.ResponseModifications)) @@ -101,11 +102,36 @@ response_modifications: if len(rule.RequestModifications) != 1 { t.Errorf("expected number of RequestModifications to be 1, got %d", len(rule.RequestModifications)) } + fmt.Println(rule.RequestModifications[0].Name) +} + +func TestRuleMarshalYAML(t *testing.T) { + ruleYAML := ` +domains: +- example.com +- www.example.com +responsemodifications: +- name: APIContent + params: [] +- name: SetContentSecurityPolicy + params: + - foobar +- name: SetIncomingCookie + params: + - authorization-bearer + - hunter2 +requestmodifications: +- name: ForwardRequestHeaders + params: [] +` + + rule := unmarshalYAMLRule(t, ruleYAML) yamlRule, err := yaml.Marshal(rule) if err != nil { t.Errorf("expected no error marshalling rule to yaml, got '%s'", err.Error()) } - fmt.Println(string(yamlRule)) + if yamlRule == nil { + t.Errorf("expected marshalling rule to yaml to not be nil") + } } -*/ diff --git a/proxychain/ruleset/rule_utils.go b/proxychain/ruleset/rule_utils.go deleted file mode 100644 index 1a283ea4..00000000 --- a/proxychain/ruleset/rule_utils.go +++ /dev/null @@ -1,59 +0,0 @@ -package ruleset_v2 - -import ( - "errors" - "strings" -) - -// parseFuncCall takes a string that look like foo("bar", "baz") and breaks it down -// into funcName = "foo" and params = []string{"bar", "baz"}] -func parseFuncCall(funcCall string) (funcName string, params []string, err error) { - // Splitting the input string into two parts: functionName and parameters - parts := strings.SplitN(funcCall, "(", 2) - if len(parts) != 2 { - return "", nil, errors.New("invalid function call format") - } - - // get function name - funcName = strings.TrimSpace(parts[0]) - - // Removing the closing parenthesis from the parameters part - paramsPart := strings.TrimSuffix(parts[1], ")") - if len(paramsPart) == 0 { - // No parameters - return funcName, []string{}, nil - } - - inQuote := false - inEscape := false - param := "" - for _, r := range paramsPart { - switch { - case inQuote && !inEscape && r == '\\': - inEscape = true - continue - case inEscape && inQuote && r == '"': - param += string(r) - inEscape = false - continue - case inEscape: - param += string(r) - inEscape = false - continue - case r == '"': - inQuote = !inQuote - if !inQuote { - params = append(params, param) - param = "" - } - continue - case !inQuote && r == ',': - continue - case inQuote: - param += string(r) - continue - } - } - - return funcName, params, nil -} diff --git a/proxychain/ruleset/rule_utils_test.go b/proxychain/ruleset/rule_utils_test.go deleted file mode 100644 index 55f23ed6..00000000 --- a/proxychain/ruleset/rule_utils_test.go +++ /dev/null @@ -1,138 +0,0 @@ -package ruleset_v2 - -import ( - "errors" - "reflect" - "testing" -) - -func TestParseFuncCall(t *testing.T) { - testCases := []struct { - name string - input string - expected struct { - funcName string - params []string - err error - } - }{ - { - name: "Normal case, one param", - input: `one("baz")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "one", params: []string{"baz"}, err: nil}, - }, - { - name: "Normal case, one param, extra space in function call", - input: `two("baz" )`, - expected: struct { - funcName string - params []string - err error - }{funcName: "two", params: []string{"baz"}, err: nil}, - }, - { - name: "Normal case, one param, extra space in param", - input: `three("baz ")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "three", params: []string{"baz "}, err: nil}, - }, - { - name: "Space in front of function", - input: ` three("baz")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "three", params: []string{"baz"}, err: nil}, - }, - { - name: "Normal case, two params", - input: `foobar("baz", "qux")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "foobar", params: []string{"baz", "qux"}, err: nil}, - }, - { - name: "Normal case, two params, no spaces between param comma", - input: `foobar("baz","qux")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "foobar", params: []string{"baz", "qux"}, err: nil}, - }, - { - name: "Escaped parenthesis", - input: `testFunc("hello\(world", "anotherParam")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "testFunc", params: []string{`hello(world`, "anotherParam"}, err: nil}, - }, - { - name: "Escaped quote", - input: `testFunc("hello\"world", "anotherParam")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "testFunc", params: []string{`hello"world`, "anotherParam"}, err: nil}, - }, - { - name: "Two Escaped quote", - input: `testFunc("hello: \"world\"", "anotherParam")`, - expected: struct { - funcName string - params []string - err error - }{funcName: "testFunc", params: []string{`hello: "world"`, "anotherParam"}, err: nil}, - }, - { - name: "No parameters", - input: `emptyFunc()`, - expected: struct { - funcName string - params []string - err error - }{funcName: "emptyFunc", params: []string{}, err: nil}, - }, - { - name: "Invalid format", - input: `invalidFunc`, - expected: struct { - funcName string - params []string - err error - }{funcName: "", params: nil, err: errors.New("invalid function call format")}, - }, - { - name: "Invalid format 2", - input: `invalidFunc "foo", "bar"`, - expected: struct { - funcName string - params []string - err error - }{funcName: "", params: nil, err: errors.New("invalid function call format")}, - }, - } - - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - funcName, params, err := parseFuncCall(tc.input) - if funcName != tc.expected.funcName || !reflect.DeepEqual(params, tc.expected.params) || (err != nil && tc.expected.err != nil && err.Error() != tc.expected.err.Error()) { - //if funcName != tc.expected.funcName || (err != nil && tc.expected.err != nil && err.Error() != tc.expected.err.Error()) { - t.Errorf("Test %s failed: got (%s, %v, %v), want (%s, %v, %v)", tc.name, funcName, params, err, tc.expected.funcName, tc.expected.params, tc.expected.err) - } - }) - } -} From 692b2a5d1785191311cf3c5bc4667a1825db58a6 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 02:04:18 -0600 Subject: [PATCH 102/178] update makefile and air config to run codegen --- .air.toml | 6 +++--- Makefile | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.air.toml b/.air.toml index 2739c5bc..b72547ff 100644 --- a/.air.toml +++ b/.air.toml @@ -7,8 +7,8 @@ tmp_dir = "tmp" bin = "./tmp/main" cmd = "go build -o ./tmp/main ./cmd" delay = 1000 - exclude_dir = ["assets", "tmp", "vendor", "testdata"] - exclude_file = [] + exclude_dir = ["assets", "tmp", "vendor", "testdata",] + exclude_file = ["proxychain/ruleset/rule_resmod_types.gen.go", "proxychain/ruleset/rule_reqmod_types.gen.go"] exclude_regex = ["_test.go"] exclude_unchanged = false follow_symlink = false @@ -21,7 +21,7 @@ tmp_dir = "tmp" poll = false poll_interval = 0 post_cmd = [] - pre_cmd = ["git submodule update --init --recursive; git rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION"] + pre_cmd = ["git submodule update --init --recursive; git rev-parse --short HEAD > handlers/VERSION; git rev-parse --short HEAD > cmd/VERSION; cd proxychain/codegen && go run codegen.go"] rerun = false rerun_delay = 500 send_interrupt = false diff --git a/Makefile b/Makefile index c0ecca83..11131302 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,10 @@ +build: + cd proxychain/codegen && go run codegen.go + git submodule update --init --recursive + git rev-parse --short HEAD > handlers/VERSION + git rev-parse --short HEAD > cmd/VERSION + go build -o ladder -ldflags="-s -w" cmd/main.go + lint: gofumpt -l -w . golangci-lint run -c .golangci-lint.yaml --fix @@ -10,4 +17,4 @@ install-linters: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.2 run: - go run ./cmd/. \ No newline at end of file + go run ./cmd/. From a56ec1f861a9241935a843791b3ff996d9f66324 Mon Sep 17 00:00:00 2001 From: Gianni Carafa Date: Tue, 5 Dec 2023 15:11:13 +0100 Subject: [PATCH 103/178] use make to build binaries --- Dockerfile | 6 +----- docker-compose.yaml | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 07005717..c8f9ad4b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY . . RUN go mod download -RUN CGO_ENABLED=0 GOOS=linux go build -o ladder cmd/main.go +RUN make build FROM debian:12-slim as release @@ -18,8 +18,4 @@ RUN chmod +x /app/ladder RUN apt update && apt install -y ca-certificates && rm -rf /var/lib/apt/lists/* -#EXPOSE 8080 - -#ENTRYPOINT ["/usr/bin/dumb-init", "--"] - CMD ["sh", "-c", "/app/ladder"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 6325d095..f45e99ae 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -3,7 +3,7 @@ services: ladder: image: ghcr.io/everywall/ladder:latest container_name: ladder - #build: . + build: . #restart: always #command: sh -c ./ladder environment: From f437bcabf31fb4a28ccef817fbf90b0c03b42e06 Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:00:31 +0100 Subject: [PATCH 104/178] move auth and favicon form main to handlers, linting --- cmd/main.go | 25 +- handlers/auth.go | 25 ++ handlers/favicon.go | 18 ++ {cmd => handlers}/favicon.ico | Bin handlers/proxy.go | 8 +- proxychain/codegen/codegen.go | 8 +- .../modify_path_with_regex.go | 3 +- .../patch_google_analytics.go | 3 +- .../patch_tracker_scripts.go | 3 +- proxychain/ruleset/rule.go | 3 +- proxychain/ruleset/rule_reqmod_types.gen.go | 251 +++++++++--------- proxychain/ruleset/rule_resmod_types.gen.go | 125 +++++---- proxychain/ruleset/rule_test.go | 3 +- 13 files changed, 249 insertions(+), 226 deletions(-) create mode 100644 handlers/auth.go create mode 100644 handlers/favicon.go rename {cmd => handlers}/favicon.ico (100%) diff --git a/cmd/main.go b/cmd/main.go index daaa7a83..cf22557b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -6,7 +6,6 @@ import ( "html/template" "log" "os" - "strings" "ladder/handlers" "ladder/internal/cli" @@ -14,14 +13,9 @@ import ( "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" - "github.com/gofiber/fiber/v2/middleware/basicauth" - "github.com/gofiber/fiber/v2/middleware/favicon" "github.com/gofiber/template/html/v2" ) -//go:embed favicon.ico -var faviconData string - //go:embed styles.css var cssData embed.FS @@ -151,23 +145,8 @@ func main() { }, ) - // TODO: move to cmd/auth.go - userpass := os.Getenv("USERPASS") - if userpass != "" { - userpass := strings.Split(userpass, ":") - - app.Use(basicauth.New(basicauth.Config{ - Users: map[string]string{ - userpass[0]: userpass[1], - }, - })) - } - - // TODO: move to handlers/favicon.go - app.Use(favicon.New(favicon.Config{ - Data: []byte(faviconData), - URL: "/favicon.ico", - })) + app.Use(handlers.Auth()) + app.Use(handlers.Favicon()) if os.Getenv("NOLOGS") != "true" { app.Use(func(c *fiber.Ctx) error { diff --git a/handlers/auth.go b/handlers/auth.go new file mode 100644 index 00000000..5eaf455c --- /dev/null +++ b/handlers/auth.go @@ -0,0 +1,25 @@ +package handlers + +import ( + "os" + "strings" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/basicauth" +) + +func Auth() fiber.Handler { + userpass := os.Getenv("USERPASS") + if userpass != "" { + userpass := strings.Split(userpass, ":") + return basicauth.New(basicauth.Config{ + Users: map[string]string{ + userpass[0]: userpass[1], + }, + }) + } + + return func(c *fiber.Ctx) error { + return c.Next() + } +} diff --git a/handlers/favicon.go b/handlers/favicon.go new file mode 100644 index 00000000..1c93d687 --- /dev/null +++ b/handlers/favicon.go @@ -0,0 +1,18 @@ +package handlers + +import ( + _ "embed" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/favicon" +) + +//go:embed favicon.ico +var faviconData string + +func Favicon() fiber.Handler { + return favicon.New(favicon.Config{ + Data: []byte(faviconData), + URL: "/favicon.ico", + }) +} diff --git a/cmd/favicon.ico b/handlers/favicon.ico similarity index 100% rename from cmd/favicon.ico rename to handlers/favicon.ico diff --git a/handlers/proxy.go b/handlers/proxy.go index ce5e57ca..d22678fb 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -33,13 +33,13 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetRequestModifications( // rx.SpoofJA3fingerprint(ja3, "Googlebot"), // rx.MasqueradeAsFacebookBot(), - //rx.MasqueradeAsGoogleBot(), + // rx.MasqueradeAsGoogleBot(), rx.DeleteOutgoingCookies(), rx.ForwardRequestHeaders(), - //rx.SpoofReferrerFromGoogleSearch(), + // rx.SpoofReferrerFromGoogleSearch(), rx.SpoofReferrerFromLinkedInPost(), - //rx.RequestWaybackMachine(), - //rx.RequestArchiveIs(), + // rx.RequestWaybackMachine(), + // rx.RequestArchiveIs(), ). AddResponseModifications( tx.ForwardResponseHeaders(), diff --git a/proxychain/codegen/codegen.go b/proxychain/codegen/codegen.go index 016b5c0b..dacca5ad 100644 --- a/proxychain/codegen/codegen.go +++ b/proxychain/codegen/codegen.go @@ -83,7 +83,7 @@ func init() { %s }`, strings.Join(factoryMaps, "\n")) - //fmt.Println(code) + // fmt.Println(code) return code, nil } @@ -155,7 +155,7 @@ func init() { %s }`, strings.Join(factoryMaps, "\n")) - //fmt.Println(code) + // fmt.Println(code) return code, nil } @@ -177,7 +177,7 @@ func main() { if err != nil { panic(err) } - //fmt.Println(rqmCode) + // fmt.Println(rqmCode) fq, err := os.Create("../ruleset/rule_reqmod_types.gen.go") if err != nil { @@ -192,7 +192,7 @@ func main() { if err != nil { panic(err) } - //fmt.Println(rsmCode) + // fmt.Println(rsmCode) fs, err := os.Create("../ruleset/rule_resmod_types.gen.go") if err != nil { diff --git a/proxychain/requestmodifiers/modify_path_with_regex.go b/proxychain/requestmodifiers/modify_path_with_regex.go index f9624fe7..c2514a38 100644 --- a/proxychain/requestmodifiers/modify_path_with_regex.go +++ b/proxychain/requestmodifiers/modify_path_with_regex.go @@ -2,8 +2,9 @@ package requestmodifiers import ( "fmt" - "ladder/proxychain" "regexp" + + "ladder/proxychain" ) func ModifyPathWithRegex(matchRegex string, replacement string) proxychain.RequestModification { diff --git a/proxychain/responsemodifiers/patch_google_analytics.go b/proxychain/responsemodifiers/patch_google_analytics.go index 793d9ab6..51e86391 100644 --- a/proxychain/responsemodifiers/patch_google_analytics.go +++ b/proxychain/responsemodifiers/patch_google_analytics.go @@ -3,8 +3,9 @@ package responsemodifiers import ( _ "embed" "io" - "ladder/proxychain" "strings" + + "ladder/proxychain" ) //go:embed patch_google_analytics.js diff --git a/proxychain/responsemodifiers/patch_tracker_scripts.go b/proxychain/responsemodifiers/patch_tracker_scripts.go index 7d4abcbf..1d1aaa7c 100644 --- a/proxychain/responsemodifiers/patch_tracker_scripts.go +++ b/proxychain/responsemodifiers/patch_tracker_scripts.go @@ -4,9 +4,10 @@ import ( "embed" "encoding/json" "io" - "ladder/proxychain" "log" "regexp" + + "ladder/proxychain" ) //go:embed vendor/ddg-tracker-surrogates/mapping.json diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index 0d15c694..ccc8bc6e 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -3,6 +3,7 @@ package ruleset_v2 import ( "encoding/json" "fmt" + "gopkg.in/yaml.v3" "ladder/proxychain" ) @@ -84,7 +85,6 @@ func (rule *Rule) MarshalJSON() ([]byte, error) { // implement type yaml marshaller func (rule *Rule) UnmarshalYAML(unmarshal func(interface{}) error) error { - type Aux struct { Domains []string `yaml:"domains"` RequestModifications []_rqm `yaml:"requestmodifications"` @@ -122,7 +122,6 @@ func (rule *Rule) UnmarshalYAML(unmarshal func(interface{}) error) error { } func (rule *Rule) MarshalYAML() (interface{}, error) { - type Aux struct { Domains []string `yaml:"domains"` RequestModifications []_rqm `yaml:"requestmodifications"` diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go index 7f22c3e1..f055d284 100644 --- a/proxychain/ruleset/rule_reqmod_types.gen.go +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -1,5 +1,5 @@ - package ruleset_v2 + // DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go // The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable // for use in proxychains. @@ -16,168 +16,167 @@ var rqmModMap map[string]RequestModifierFactory func init() { rqmModMap = make(map[string]RequestModifierFactory) - rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { - return rx.ForwardRequestHeaders() - } - - rqmModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsGoogleBot() - } + rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { + return rx.ForwardRequestHeaders() + } - rqmModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsBingBot() - } + rqmModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsGoogleBot() + } - rqmModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsWaybackMachineBot() - } + rqmModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBingBot() + } - rqmModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsFacebookBot() - } + rqmModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsWaybackMachineBot() + } - rqmModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsYandexBot() - } + rqmModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsFacebookBot() + } - rqmModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsBaiduBot() - } + rqmModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYandexBot() + } - rqmModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsDuckDuckBot() - } + rqmModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBaiduBot() + } - rqmModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsYahooBot() - } + rqmModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsDuckDuckBot() + } - rqmModMap["ModifyDomainWithRegex"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyDomainWithRegex(params[0], params[1]) - } + rqmModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYahooBot() + } - rqmModMap["SetOutgoingCookie"] = func(params ...string) proxychain.RequestModification { - return rx.SetOutgoingCookie(params[0], params[1]) - } + rqmModMap["ModifyDomainWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyDomainWithRegex(params[0], params[1]) + } - rqmModMap["SetOutgoingCookies"] = func(params ...string) proxychain.RequestModification { - return rx.SetOutgoingCookies(params[0]) - } + rqmModMap["SetOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookie(params[0], params[1]) + } - rqmModMap["DeleteOutgoingCookie"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookie(params[0]) - } + rqmModMap["SetOutgoingCookies"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookies(params[0]) + } - rqmModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookies() - } + rqmModMap["DeleteOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookie(params[0]) + } - rqmModMap["DeleteOutgoingCookiesExcept"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookiesExcept(params[0]) - } + rqmModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookies() + } - rqmModMap["ModifyPathWithRegex"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyPathWithRegex(params[0], params[1]) - } + rqmModMap["DeleteOutgoingCookiesExcept"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookiesExcept(params[0]) + } - rqmModMap["ModifyQueryParams"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyQueryParams(params[0], params[1]) - } + rqmModMap["ModifyPathWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyPathWithRegex(params[0], params[1]) + } - rqmModMap["SetRequestHeader"] = func(params ...string) proxychain.RequestModification { - return rx.SetRequestHeader(params[0], params[1]) - } + rqmModMap["ModifyQueryParams"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyQueryParams(params[0], params[1]) + } - rqmModMap["DeleteRequestHeader"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteRequestHeader(params[0]) - } + rqmModMap["SetRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.SetRequestHeader(params[0], params[1]) + } - rqmModMap["RequestArchiveIs"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestArchiveIs() - } + rqmModMap["DeleteRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteRequestHeader(params[0]) + } - rqmModMap["RequestGoogleCache"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestGoogleCache() - } + rqmModMap["RequestArchiveIs"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestArchiveIs() + } - rqmModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestWaybackMachine() - } + rqmModMap["RequestGoogleCache"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestGoogleCache() + } - rqmModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.RequestModification { - return rx.ResolveWithGoogleDoH() - } + rqmModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestWaybackMachine() + } - rqmModMap["SpoofOrigin"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofOrigin(params[0]) - } + rqmModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.RequestModification { + return rx.ResolveWithGoogleDoH() + } - rqmModMap["HideOrigin"] = func(_ ...string) proxychain.RequestModification { - return rx.HideOrigin() - } + rqmModMap["SpoofOrigin"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofOrigin(params[0]) + } - rqmModMap["SpoofReferrer"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofReferrer(params[0]) - } + rqmModMap["HideOrigin"] = func(_ ...string) proxychain.RequestModification { + return rx.HideOrigin() + } - rqmModMap["HideReferrer"] = func(_ ...string) proxychain.RequestModification { - return rx.HideReferrer() - } + rqmModMap["SpoofReferrer"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofReferrer(params[0]) + } - rqmModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromBaiduSearch() - } + rqmModMap["HideReferrer"] = func(_ ...string) proxychain.RequestModification { + return rx.HideReferrer() + } - rqmModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromBingSearch() - } + rqmModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBaiduSearch() + } - rqmModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromGoogleSearch() - } + rqmModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBingSearch() + } - rqmModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromLinkedInPost() - } + rqmModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromGoogleSearch() + } - rqmModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromNaverSearch() - } + rqmModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromLinkedInPost() + } - rqmModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromPinterestPost() - } + rqmModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromNaverSearch() + } - rqmModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromQQPost() - } + rqmModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromPinterestPost() + } - rqmModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromRedditPost() - } + rqmModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromQQPost() + } - rqmModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromTumblrPost() - } + rqmModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromRedditPost() + } - rqmModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromTwitterPost() - } + rqmModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTumblrPost() + } - rqmModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromVkontaktePost() - } + rqmModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTwitterPost() + } - rqmModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromWeiboPost() - } + rqmModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromVkontaktePost() + } - rqmModMap["SpoofUserAgent"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofUserAgent(params[0]) - } + rqmModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromWeiboPost() + } - rqmModMap["SpoofXForwardedFor"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofXForwardedFor(params[0]) - } + rqmModMap["SpoofUserAgent"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofUserAgent(params[0]) + } -} \ No newline at end of file + rqmModMap["SpoofXForwardedFor"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofXForwardedFor(params[0]) + } +} diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index f6ec8c0e..ea869a32 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -1,5 +1,5 @@ - package ruleset_v2 + // DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go // The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable // for use in proxychains. @@ -16,84 +16,83 @@ var rsmModMap map[string]ResponseModifierFactory func init() { rsmModMap = make(map[string]ResponseModifierFactory) - rsmModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { - return tx.APIContent() - } - - rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { - return tx.BlockElementRemoval(params[0]) - } + rsmModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { + return tx.APIContent() + } - rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { - return tx.BypassCORS() - } + rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { + return tx.BlockElementRemoval(params[0]) + } - rsmModMap["BypassContentSecurityPolicy"] = func(_ ...string) proxychain.ResponseModification { - return tx.BypassContentSecurityPolicy() - } + rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassCORS() + } - rsmModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { - return tx.SetContentSecurityPolicy(params[0]) - } + rsmModMap["BypassContentSecurityPolicy"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassContentSecurityPolicy() + } - rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { - return tx.ForwardResponseHeaders() - } + rsmModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { + return tx.SetContentSecurityPolicy(params[0]) + } - rsmModMap["GenerateReadableOutline"] = func(_ ...string) proxychain.ResponseModification { - return tx.GenerateReadableOutline() - } + rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { + return tx.ForwardResponseHeaders() + } - rsmModMap["InjectScriptBeforeDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptBeforeDOMContentLoaded(params[0]) - } + rsmModMap["GenerateReadableOutline"] = func(_ ...string) proxychain.ResponseModification { + return tx.GenerateReadableOutline() + } - rsmModMap["InjectScriptAfterDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptAfterDOMContentLoaded(params[0]) - } + rsmModMap["InjectScriptBeforeDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptBeforeDOMContentLoaded(params[0]) + } - rsmModMap["InjectScriptAfterDOMIdle"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptAfterDOMIdle(params[0]) - } + rsmModMap["InjectScriptAfterDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMContentLoaded(params[0]) + } - rsmModMap["DeleteIncomingCookies"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteIncomingCookies(params[0]) - } + rsmModMap["InjectScriptAfterDOMIdle"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMIdle(params[0]) + } - rsmModMap["DeleteIncomingCookiesExcept"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteIncomingCookiesExcept(params[0]) - } + rsmModMap["DeleteIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookies(params[0]) + } - rsmModMap["SetIncomingCookies"] = func(params ...string) proxychain.ResponseModification { - return tx.SetIncomingCookies(params[0]) - } + rsmModMap["DeleteIncomingCookiesExcept"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookiesExcept(params[0]) + } - rsmModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { - return tx.SetIncomingCookie(params[0], params[1]) - } + rsmModMap["SetIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookies(params[0]) + } - rsmModMap["SetResponseHeader"] = func(params ...string) proxychain.ResponseModification { - return tx.SetResponseHeader(params[0], params[1]) - } + rsmModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookie(params[0], params[1]) + } - rsmModMap["DeleteResponseHeader"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteResponseHeader(params[0]) - } + rsmModMap["SetResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.SetResponseHeader(params[0], params[1]) + } - rsmModMap["PatchDynamicResourceURLs"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchDynamicResourceURLs() - } + rsmModMap["DeleteResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteResponseHeader(params[0]) + } - rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchGoogleAnalytics() - } + rsmModMap["PatchDynamicResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchDynamicResourceURLs() + } - rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchTrackerScripts() - } + rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchGoogleAnalytics() + } - rsmModMap["RewriteHTMLResourceURLs"] = func(_ ...string) proxychain.ResponseModification { - return tx.RewriteHTMLResourceURLs() - } + rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchTrackerScripts() + } -} \ No newline at end of file + rsmModMap["RewriteHTMLResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.RewriteHTMLResourceURLs() + } +} diff --git a/proxychain/ruleset/rule_test.go b/proxychain/ruleset/rule_test.go index 98f7bc9d..eed59592 100644 --- a/proxychain/ruleset/rule_test.go +++ b/proxychain/ruleset/rule_test.go @@ -3,8 +3,9 @@ package ruleset_v2 import ( "encoding/json" "fmt" - "gopkg.in/yaml.v3" "testing" + + "gopkg.in/yaml.v3" ) // unmarshalRule is a helper function to unmarshal a Rule from a JSON string. From 7fd2b2b3c3c0d7a798146a33a4fd030162b7e352 Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:32:42 +0100 Subject: [PATCH 105/178] move script from main to handlers --- cmd/main.go | 15 +-- handlers/script.go | 23 ++++ handlers/script.js | 296 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 320 insertions(+), 14 deletions(-) create mode 100644 handlers/script.go create mode 100644 handlers/script.js diff --git a/cmd/main.go b/cmd/main.go index cf22557b..397ba9ab 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -19,9 +19,6 @@ import ( //go:embed styles.css var cssData embed.FS -//go:embed script.js -var scriptData embed.FS - //go:embed VERSION var version string @@ -169,17 +166,7 @@ func main() { return c.Send(cssData) }) - // TODO: move to handlers/script.go - app.Get("/script.js", func(c *fiber.Ctx) error { - scriptData, err := scriptData.ReadFile("script.js") - if err != nil { - return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") - } - - c.Set("Content-Type", "text/javascript") - - return c.Send(scriptData) - }) + app.Get("/script.js", handlers.Script) app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) diff --git a/handlers/script.go b/handlers/script.go new file mode 100644 index 00000000..c35e6cab --- /dev/null +++ b/handlers/script.go @@ -0,0 +1,23 @@ +package handlers + +import ( + "embed" + + "github.com/gofiber/fiber/v2" +) + +//go:embed script.js +var scriptData embed.FS + +func Script(c *fiber.Ctx) error { + + scriptData, err := scriptData.ReadFile("script.js") + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + + c.Set("Content-Type", "text/javascript") + + return c.Send(scriptData) + +} diff --git a/handlers/script.js b/handlers/script.js new file mode 100644 index 00000000..c430c4e7 --- /dev/null +++ b/handlers/script.js @@ -0,0 +1,296 @@ +const labels = document.querySelectorAll("label"); +const inputs = document.querySelectorAll('input[type="radio"]'); +const mainElement = document.querySelector("main"); + +const handleDOMContentLoaded = () => { + handleFontChange(); + handleFontSizeChange(); + inputs.forEach((input) => { + const storedValue = localStorage.getItem(input.name); + if (storedValue === input.value) { + input.checked = true; + } + }); + window.removeEventListener("DOMContentLoaded", handleDOMContentLoaded); +}; + +function focusable_children(node) { + const nodes = Array.from( + node.querySelectorAll( + 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])' + ) + ).filter((s) => s.offsetParent !== null); + const index = nodes.indexOf(document.activeElement); + const update = (d) => { + let i = index + d; + i += nodes.length; + i %= nodes.length; + nodes[i].focus(); + }; + return { + next: (selector) => { + const reordered = [ + ...nodes.slice(index + 1), + ...nodes.slice(0, index + 1), + ]; + for (let i = 0; i < reordered.length; i += 1) { + if (!selector || reordered[i].matches(selector)) { + reordered[i].focus(); + return; + } + } + }, + prev: (selector) => { + const reordered = [ + ...nodes.slice(index + 1), + ...nodes.slice(0, index + 1), + ]; + for (let i = reordered.length - 2; i >= 0; i -= 1) { + if (!selector || reordered[i].matches(selector)) { + reordered[i].focus(); + return; + } + } + }, + update, + }; +} + +function trap(node) { + const handle_keydown = (e) => { + if (e.key === "Tab") { + e.preventDefault(); + const group = focusable_children(node); + if (e.shiftKey) { + group.prev(); + } else { + group.next(); + } + } + }; + node.addEventListener("keydown", handle_keydown); + return { + destroy: () => { + node.removeEventListener("keydown", handle_keydown); + }, + }; +} + +const toggleDropdown = () => { + const dropdown = document.getElementById("dropdown"); + const dropdown_panel = document.getElementById("dropdown_panel"); + const focusTrap = trap(dropdown); + + const closeDropdown = () => { + dropdown_panel.classList.add("hidden"); + focusTrap.destroy(); + dropdown.removeEventListener("keydown", handleEscapeKey); + document.removeEventListener("click", handleClickOutside); + inputs.forEach((input) => { + input.removeEventListener("change", handleInputChange); + }); + labels.forEach((label) => { + label.removeEventListener("click", handleLabelSelection); + }); + }; + + const handleClickOutside = (e) => { + if (!dropdown.contains(e.target)) { + closeDropdown(); + } + }; + + const handleEscapeKey = (e) => { + if (e.key === "Escape") { + dropdown_panel.classList.add("hidden"); + closeDropdown(); + } + }; + + const handleInputChange = (e) => { + if (e.target.checked) { + localStorage.setItem(e.target.name, e.target.value); + switch (e.target.name) { + case "theme": { + handleThemeChange(); + break; + } + case "font": { + handleFontChange(); + break; + } + case "fontsize": { + handleFontSizeChange(); + break; + } + default: { + console.error("Unknown event"); + break; + } + } + } + }; + + const handleLabelSelection = (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + const input = document.getElementById(e.target.getAttribute("for")); + input.checked = true; + input.dispatchEvent(new Event("change", { bubbles: true })); + } + }; + + if (dropdown_panel.classList.contains("hidden")) { + dropdown_panel.classList.remove("hidden"); + dropdown.addEventListener("keydown", handleEscapeKey); + inputs.forEach((input) => { + input.addEventListener("change", handleInputChange); + }); + labels.forEach((label) => { + label.addEventListener("keydown", handleLabelSelection); + }); + document.addEventListener("click", handleClickOutside); + } else { + closeDropdown(); + } +}; + +const handleFontChange = () => { + if (mainElement === null) { + return; + } + let font = localStorage.getItem("font"); + if (font === null) { + localStorage.setItem("font", "sans-serif"); + font = "sans-serif"; + } + if (font === "serif") { + mainElement.classList.add("font-serif"); + mainElement.classList.remove("font-sans"); + } else { + mainElement.classList.add("font-sans"); + mainElement.classList.remove("font-serif"); + } +}; + +const changeFontSize = (node, classes) => { + const sizes = [ + "text-xs", + "text-sm", + "text-base", + "text-lg", + "text-xl", + "text-2xl", + "text-3xl", + "text-4xl", + "text-5xl", + "lg:text-4xl", + "lg:text-5xl", + "lg:text-6xl", + ]; + const currentClasses = sizes.filter((size) => node.classList.contains(size)); + node.classList.remove(...currentClasses); + node.classList.add(...classes); +}; + +const handleFontSizeChange = () => { + if (mainElement === null) { + return; + } + let fontSize = localStorage.getItem("fontsize"); + if (fontSize === null) { + localStorage.setItem("fontsize", "text-base"); + fontSize = "text-base"; + } + if (fontSize === "text-sm") { + changeFontSize(document.querySelector("body"), ["text-sm"]); + } else if (fontSize === "text-lg") { + changeFontSize(document.querySelector("body"), ["text-lg"]); + } else { + changeFontSize(document.querySelector("body"), ["text-base"]); + } + + const nodes = document.querySelectorAll( + "h1, h2, h3, h4, h5, h6, code, pre, kbd, table" + ); + if (fontSize === "text-sm") { + changeFontSize(mainElement, ["text-sm"]); + } else if (fontSize === "text-lg") { + changeFontSize(mainElement, ["text-lg"]); + } else { + changeFontSize(mainElement, ["text-base"]); + } + nodes.forEach((node) => { + let classes = ""; + switch (node.tagName) { + case "H1": { + if (fontSize === "text-sm") { + classes = ["text-3xl", "lg:text-4xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-5xl", "lg:text-6xl"]; + } else { + classes = ["text-4xl", "lg:text-5xl"]; + } + break; + } + case "H2": { + if (fontSize === "text-sm") { + classes = ["text-2xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-4xl"]; + } else { + classes = ["text-3xl"]; + } + break; + } + case "H3": { + if (fontSize === "text-sm") { + classes = ["text-xl"]; + } else if (fontSize === "text-lg") { + classes = ["text-3xl"]; + } else { + classes = ["text-2xl"]; + } + break; + } + case "H4": + case "H5": + case "H6": { + if (fontSize === "text-sm") { + classes = ["text-lg"]; + } else if (fontSize === "text-lg") { + classes = ["text-2xl"]; + } else { + classes = ["text-xl"]; + } + break; + } + case "CODE": + case "PRE": + case "KBD": + case "TABLE": { + if (fontSize === "text-sm") { + classes = ["text-xs"]; + } else if (fontSize === "text-lg") { + classes = ["text-base"]; + } else { + classes = ["text-sm"]; + } + break; + } + default: { + if (fontSize === "text-sm") { + classes = ["text-sm"]; + } else if (fontSize === "text-lg") { + classes = ["text-lg"]; + } else { + classes = ["text-base"]; + } + break; + } + } + changeFontSize(node, classes); + }); +}; + +window.addEventListener("DOMContentLoaded", handleDOMContentLoaded); From eef6061d93035162c5a9fa467c5dde9c7608457e Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:39:30 +0100 Subject: [PATCH 106/178] moved styles css from main to handlers --- cmd/main.go | 20 +-- cmd/script.js | 296 ----------------------------------- {cmd => handlers}/styles.css | 0 handlers/styles.go | 23 +++ 4 files changed, 26 insertions(+), 313 deletions(-) delete mode 100644 cmd/script.js rename {cmd => handlers}/styles.css (100%) create mode 100644 handlers/styles.go diff --git a/cmd/main.go b/cmd/main.go index 397ba9ab..4af5534d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -1,7 +1,7 @@ package main import ( - "embed" + _ "embed" "fmt" "html/template" "log" @@ -16,9 +16,6 @@ import ( "github.com/gofiber/template/html/v2" ) -//go:embed styles.css -var cssData embed.FS - //go:embed VERSION var version string @@ -155,19 +152,8 @@ func main() { app.Get("/", handlers.Form) - app.Get("/styles.css", func(c *fiber.Ctx) error { - cssData, err := cssData.ReadFile("styles.css") - if err != nil { - return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") - } - - c.Set("Content-Type", "text/css") - - return c.Send(cssData) - }) - - app.Get("/script.js", handlers.Script) - + app.Get("styles.css", handlers.Styles) + app.Get("script.js", handlers.Script) app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) diff --git a/cmd/script.js b/cmd/script.js deleted file mode 100644 index c430c4e7..00000000 --- a/cmd/script.js +++ /dev/null @@ -1,296 +0,0 @@ -const labels = document.querySelectorAll("label"); -const inputs = document.querySelectorAll('input[type="radio"]'); -const mainElement = document.querySelector("main"); - -const handleDOMContentLoaded = () => { - handleFontChange(); - handleFontSizeChange(); - inputs.forEach((input) => { - const storedValue = localStorage.getItem(input.name); - if (storedValue === input.value) { - input.checked = true; - } - }); - window.removeEventListener("DOMContentLoaded", handleDOMContentLoaded); -}; - -function focusable_children(node) { - const nodes = Array.from( - node.querySelectorAll( - 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])' - ) - ).filter((s) => s.offsetParent !== null); - const index = nodes.indexOf(document.activeElement); - const update = (d) => { - let i = index + d; - i += nodes.length; - i %= nodes.length; - nodes[i].focus(); - }; - return { - next: (selector) => { - const reordered = [ - ...nodes.slice(index + 1), - ...nodes.slice(0, index + 1), - ]; - for (let i = 0; i < reordered.length; i += 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - prev: (selector) => { - const reordered = [ - ...nodes.slice(index + 1), - ...nodes.slice(0, index + 1), - ]; - for (let i = reordered.length - 2; i >= 0; i -= 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - update, - }; -} - -function trap(node) { - const handle_keydown = (e) => { - if (e.key === "Tab") { - e.preventDefault(); - const group = focusable_children(node); - if (e.shiftKey) { - group.prev(); - } else { - group.next(); - } - } - }; - node.addEventListener("keydown", handle_keydown); - return { - destroy: () => { - node.removeEventListener("keydown", handle_keydown); - }, - }; -} - -const toggleDropdown = () => { - const dropdown = document.getElementById("dropdown"); - const dropdown_panel = document.getElementById("dropdown_panel"); - const focusTrap = trap(dropdown); - - const closeDropdown = () => { - dropdown_panel.classList.add("hidden"); - focusTrap.destroy(); - dropdown.removeEventListener("keydown", handleEscapeKey); - document.removeEventListener("click", handleClickOutside); - inputs.forEach((input) => { - input.removeEventListener("change", handleInputChange); - }); - labels.forEach((label) => { - label.removeEventListener("click", handleLabelSelection); - }); - }; - - const handleClickOutside = (e) => { - if (!dropdown.contains(e.target)) { - closeDropdown(); - } - }; - - const handleEscapeKey = (e) => { - if (e.key === "Escape") { - dropdown_panel.classList.add("hidden"); - closeDropdown(); - } - }; - - const handleInputChange = (e) => { - if (e.target.checked) { - localStorage.setItem(e.target.name, e.target.value); - switch (e.target.name) { - case "theme": { - handleThemeChange(); - break; - } - case "font": { - handleFontChange(); - break; - } - case "fontsize": { - handleFontSizeChange(); - break; - } - default: { - console.error("Unknown event"); - break; - } - } - } - }; - - const handleLabelSelection = (e) => { - if (e.key === "Enter" || e.key === " ") { - e.preventDefault(); - const input = document.getElementById(e.target.getAttribute("for")); - input.checked = true; - input.dispatchEvent(new Event("change", { bubbles: true })); - } - }; - - if (dropdown_panel.classList.contains("hidden")) { - dropdown_panel.classList.remove("hidden"); - dropdown.addEventListener("keydown", handleEscapeKey); - inputs.forEach((input) => { - input.addEventListener("change", handleInputChange); - }); - labels.forEach((label) => { - label.addEventListener("keydown", handleLabelSelection); - }); - document.addEventListener("click", handleClickOutside); - } else { - closeDropdown(); - } -}; - -const handleFontChange = () => { - if (mainElement === null) { - return; - } - let font = localStorage.getItem("font"); - if (font === null) { - localStorage.setItem("font", "sans-serif"); - font = "sans-serif"; - } - if (font === "serif") { - mainElement.classList.add("font-serif"); - mainElement.classList.remove("font-sans"); - } else { - mainElement.classList.add("font-sans"); - mainElement.classList.remove("font-serif"); - } -}; - -const changeFontSize = (node, classes) => { - const sizes = [ - "text-xs", - "text-sm", - "text-base", - "text-lg", - "text-xl", - "text-2xl", - "text-3xl", - "text-4xl", - "text-5xl", - "lg:text-4xl", - "lg:text-5xl", - "lg:text-6xl", - ]; - const currentClasses = sizes.filter((size) => node.classList.contains(size)); - node.classList.remove(...currentClasses); - node.classList.add(...classes); -}; - -const handleFontSizeChange = () => { - if (mainElement === null) { - return; - } - let fontSize = localStorage.getItem("fontsize"); - if (fontSize === null) { - localStorage.setItem("fontsize", "text-base"); - fontSize = "text-base"; - } - if (fontSize === "text-sm") { - changeFontSize(document.querySelector("body"), ["text-sm"]); - } else if (fontSize === "text-lg") { - changeFontSize(document.querySelector("body"), ["text-lg"]); - } else { - changeFontSize(document.querySelector("body"), ["text-base"]); - } - - const nodes = document.querySelectorAll( - "h1, h2, h3, h4, h5, h6, code, pre, kbd, table" - ); - if (fontSize === "text-sm") { - changeFontSize(mainElement, ["text-sm"]); - } else if (fontSize === "text-lg") { - changeFontSize(mainElement, ["text-lg"]); - } else { - changeFontSize(mainElement, ["text-base"]); - } - nodes.forEach((node) => { - let classes = ""; - switch (node.tagName) { - case "H1": { - if (fontSize === "text-sm") { - classes = ["text-3xl", "lg:text-4xl"]; - } else if (fontSize === "text-lg") { - classes = ["text-5xl", "lg:text-6xl"]; - } else { - classes = ["text-4xl", "lg:text-5xl"]; - } - break; - } - case "H2": { - if (fontSize === "text-sm") { - classes = ["text-2xl"]; - } else if (fontSize === "text-lg") { - classes = ["text-4xl"]; - } else { - classes = ["text-3xl"]; - } - break; - } - case "H3": { - if (fontSize === "text-sm") { - classes = ["text-xl"]; - } else if (fontSize === "text-lg") { - classes = ["text-3xl"]; - } else { - classes = ["text-2xl"]; - } - break; - } - case "H4": - case "H5": - case "H6": { - if (fontSize === "text-sm") { - classes = ["text-lg"]; - } else if (fontSize === "text-lg") { - classes = ["text-2xl"]; - } else { - classes = ["text-xl"]; - } - break; - } - case "CODE": - case "PRE": - case "KBD": - case "TABLE": { - if (fontSize === "text-sm") { - classes = ["text-xs"]; - } else if (fontSize === "text-lg") { - classes = ["text-base"]; - } else { - classes = ["text-sm"]; - } - break; - } - default: { - if (fontSize === "text-sm") { - classes = ["text-sm"]; - } else if (fontSize === "text-lg") { - classes = ["text-lg"]; - } else { - classes = ["text-base"]; - } - break; - } - } - changeFontSize(node, classes); - }); -}; - -window.addEventListener("DOMContentLoaded", handleDOMContentLoaded); diff --git a/cmd/styles.css b/handlers/styles.css similarity index 100% rename from cmd/styles.css rename to handlers/styles.css diff --git a/handlers/styles.go b/handlers/styles.go new file mode 100644 index 00000000..cd326dd0 --- /dev/null +++ b/handlers/styles.go @@ -0,0 +1,23 @@ +package handlers + +import ( + "embed" + + "github.com/gofiber/fiber/v2" +) + +//go:embed styles.css +var cssData embed.FS + +func Styles(c *fiber.Ctx) error { + + cssData, err := cssData.ReadFile("styles.css") + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + + c.Set("Content-Type", "text/css") + + return c.Send(cssData) + +} From f2543d261ebbfee32822d441a4cec23e27088c24 Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Tue, 5 Dec 2023 16:54:41 +0100 Subject: [PATCH 107/178] move minified tailwind css build to handler folder --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ebe7d425..3f499030 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "scripts": { - "build": "pnpx tailwindcss -i ./styles/input.css -o ./styles/output.css --build && pnpx minify ./styles/output.css > ./cmd/styles.css" + "build": "pnpx tailwindcss -i ./styles/input.css -o ./styles/output.css --build && pnpx minify ./styles/output.css > ./handlers/styles.css" }, "devDependencies": { "minify": "^10.5.2", From 9d77c63697fac6f603214c540e8771d7a844f7bb Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 10:50:54 -0600 Subject: [PATCH 108/178] add ruleset_v2 loading code --- proxychain/ruleset/rule_test.go | 1 - proxychain/ruleset/ruleset.go | 232 ++++++++++++++++++++++++++++- proxychain/ruleset/ruleset_test.go | 196 ++++++++++++++++++++++++ proxychain/ruleset/todo.md | 1 + 4 files changed, 426 insertions(+), 4 deletions(-) create mode 100644 proxychain/ruleset/ruleset_test.go create mode 100644 proxychain/ruleset/todo.md diff --git a/proxychain/ruleset/rule_test.go b/proxychain/ruleset/rule_test.go index 98f7bc9d..68293501 100644 --- a/proxychain/ruleset/rule_test.go +++ b/proxychain/ruleset/rule_test.go @@ -102,7 +102,6 @@ requestmodifications: if len(rule.RequestModifications) != 1 { t.Errorf("expected number of RequestModifications to be 1, got %d", len(rule.RequestModifications)) } - fmt.Println(rule.RequestModifications[0].Name) } func TestRuleMarshalYAML(t *testing.T) { diff --git a/proxychain/ruleset/ruleset.go b/proxychain/ruleset/ruleset.go index 499f0ad1..84754885 100644 --- a/proxychain/ruleset/ruleset.go +++ b/proxychain/ruleset/ruleset.go @@ -1,7 +1,18 @@ package ruleset_v2 import ( + "compress/gzip" + "errors" + "fmt" + "io" + "log" + "net/http" "net/url" + "os" + "path/filepath" + "strings" + + "gopkg.in/yaml.v3" ) type IRuleset interface { @@ -14,19 +25,234 @@ type Ruleset struct { rules map[string]Rule } -func (rs Ruleset) GetRule(url url.URL) (rule Rule, exists bool) { +func (rs Ruleset) GetRule(url *url.URL) (rule Rule, exists bool) { rule, exists = rs.rules[url.Hostname()] return rule, exists } -func (rs Ruleset) HasRule(url url.URL) bool { +func (rs Ruleset) HasRule(url *url.URL) bool { _, exists := rs.GetRule(url) return exists } +// NewRuleset loads a new RuleSet from a path func NewRuleset(path string) (Ruleset, error) { rs := Ruleset{ rulesetPath: path, + rules: map[string]Rule{}, + } + + switch { + case strings.HasPrefix(path, "http://") || strings.HasPrefix(path, "https://"): + err := rs.loadRulesFromRemoteFile(path) + return rs, err + default: + err := rs.loadRulesFromLocalDir(path) + return rs, err + } +} + +// NewRulesetFromEnv creates a new RuleSet based on the RULESET environment variable. +// It logs a warning and returns an empty RuleSet if the RULESET environment variable is not set. +// If the RULESET is set but the rules cannot be loaded, it panics. +func NewRulesetFromEnv() Ruleset { + rulesPath, ok := os.LookupEnv("RULESET") + if !ok { + log.Printf("WARN: No ruleset specified. Set the `RULESET` environment variable to load one for a better success rate.") + return Ruleset{} + } + + ruleSet, err := NewRuleset(rulesPath) + if err != nil { + log.Println(err) + } + + return ruleSet +} + +// loadRulesFromLocalDir loads rules from a local directory specified by the path. +// It walks through the directory, loading rules from YAML files. +// Returns an error if the directory cannot be accessed +// If there is an issue loading any file, it will be skipped +func (rs *Ruleset) loadRulesFromLocalDir(path string) error { + _, err := os.Stat(path) + if err != nil { + return fmt.Errorf("loadRulesFromLocalDir: invalid path - %s", err) + } + + err = filepath.Walk(path, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if info.IsDir() { + return nil + } + + isYAML := filepath.Ext(path) == "yaml" || filepath.Ext(path) == "yml" + if !isYAML { + return nil + } + + err = rs.loadRulesFromLocalFile(path) + if err != nil { + log.Printf("WARN: failed to load directory ruleset '%s': %s, skipping", path, err) + return nil + } + + log.Printf("INFO: loaded ruleset %s\n", path) + + return nil + }) + + if err != nil { + return err + } + + return nil +} + +// loadRulesFromLocalFile loads rules from a local YAML file specified by the path. +// Returns an error if the file cannot be read or if there's a syntax error in the YAML. +func (rs *Ruleset) loadRulesFromLocalFile(path string) error { + yamlFile, err := os.ReadFile(path) + if err != nil { + e := fmt.Errorf("failed to read rules from local file: '%s'", path) + return errors.Join(e, err) + } + + rule := Rule{} + err = yaml.Unmarshal(yamlFile, &rule) + + if err != nil { + e := fmt.Errorf("failed to load rules from local file, possible syntax error in '%s' - %s", path, err) + ee := errors.Join(e, err) + debugPrintRule(string(yamlFile), ee) + return ee + } + + for _, domain := range rule.Domains { + rs.rules[domain] = rule + if !strings.HasSuffix(domain, "www.") { + rs.rules["www."+domain] = rule + } + } + + return nil +} + +// loadRulesFromRemoteFile loads rules from a remote URL. +// It supports plain and gzip compressed content. +// Returns an error if there's an issue accessing the URL or if there's a syntax error in the YAML. +func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { + rule := Rule{} + + resp, err := http.Get(rulesURL) + if err != nil { + return fmt.Errorf("failed to load rules from remote url '%s' - %s", rulesURL, err) + } + + defer resp.Body.Close() + + if resp.StatusCode >= 400 { + return fmt.Errorf("failed to load rules from remote url (%s) on '%s' - %s", resp.Status, rulesURL, err) + } + + var reader io.Reader + + // in case remote server did not set content-encoding gzip header + isGzip := strings.HasSuffix(rulesURL, ".gz") || strings.HasSuffix(rulesURL, ".gzip") + if isGzip { + reader, err = gzip.NewReader(resp.Body) + + if err != nil { + return fmt.Errorf("failed to create gzip reader for URL '%s' with status code '%s': %w", rulesURL, resp.Status, err) + } + } else { + reader = resp.Body + } + + err = yaml.NewDecoder(reader).Decode(&rule) + + if err != nil { + return fmt.Errorf("failed to load rules from remote url '%s' with status code '%s' and possible syntax error - %s", rulesURL, resp.Status, err) + } + + if rs.rules == nil { + fmt.Println("nilmap") + rs.rules = make(map[string]Rule) + } + + for _, domain := range rule.Domains { + rs.rules[domain] = rule + if !strings.HasSuffix(domain, "www.") { + rs.rules["www."+domain] = rule + } } - return rs, nil + + return nil +} + +// ================= utility methods ========================== + +// Yaml returns the ruleset as a Yaml string +func (rs *Ruleset) Yaml() (string, error) { + y, err := yaml.Marshal(rs) + if err != nil { + return "", err + } + + return string(y), nil +} + +// GzipYaml returns an io.Reader that streams the Gzip-compressed YAML representation of the RuleSet. +func (rs *Ruleset) GzipYaml() (io.Reader, error) { + pr, pw := io.Pipe() + + go func() { + defer pw.Close() + + gw := gzip.NewWriter(pw) + defer gw.Close() + + if err := yaml.NewEncoder(gw).Encode(rs); err != nil { + gw.Close() // Ensure to close the gzip writer + pw.CloseWithError(err) + return + } + }() + + return pr, nil +} + +// Domains extracts and returns a slice of all domains present in the RuleSet. +func (rs *Ruleset) Domains() []string { + var domains []string + for domain := range rs.rules { + domains = append(domains, domain) + } + return domains +} + +// DomainCount returns the count of unique domains present in the RuleSet. +func (rs *Ruleset) DomainCount() int { + return len(rs.Domains()) +} + +// Count returns the total number of rules in the RuleSet. +func (rs *Ruleset) Count() int { + return len(rs.rules) +} + +// PrintStats logs the number of rules and domains loaded in the RuleSet. +func (rs *Ruleset) PrintStats() { + log.Printf("INFO: Loaded %d rules for %d domains\n", rs.Count(), rs.DomainCount()) +} + +// debugPrintRule is a utility function for printing a rule and associated error for debugging purposes. +func debugPrintRule(rule string, err error) { + fmt.Println("------------------------------ BEGIN DEBUG RULESET -----------------------------") + fmt.Printf("%s\n", err.Error()) + fmt.Println("--------------------------------------------------------------------------------") + fmt.Println(rule) + fmt.Println("------------------------------ END DEBUG RULESET -------------------------------") } diff --git a/proxychain/ruleset/ruleset_test.go b/proxychain/ruleset/ruleset_test.go new file mode 100644 index 00000000..cec8285e --- /dev/null +++ b/proxychain/ruleset/ruleset_test.go @@ -0,0 +1,196 @@ +package ruleset_v2 + +import ( + "net/url" + "os" + "path/filepath" + "testing" + "time" + + "github.com/gofiber/fiber/v2" + "github.com/stretchr/testify/assert" +) + +var ( + validYAML = ` +domains: +- example.com +- www.example.com +responsemodifications: +- name: APIContent + params: [] +- name: SetContentSecurityPolicy + params: + - foobar +- name: SetIncomingCookie + params: + - authorization-bearer + - hunter2 +requestmodifications: +- name: ForwardRequestHeaders + params: [] +` + + invalidYAML = ` +domains: +- example.com +- www.example.com +responsemodifications: +- name: APIContent +- name: SetContentSecurityPolicy +- name: INVALIDSetIncomingCookie + params: + - authorization-bearer + - hunter2 +requestmodifications: +- name: ForwardRequestHeaders + params: [] +` +) + +func TestLoadRulesFromRemoteFile(t *testing.T) { + app := fiber.New() + defer app.Shutdown() + + app.Get("/valid-config.yml", func(c *fiber.Ctx) error { + c.SendString(validYAML) + return nil + }) + + app.Get("/invalid-config.yml", func(c *fiber.Ctx) error { + c.SendString(invalidYAML) + return nil + }) + + app.Get("/valid-config.gz", func(c *fiber.Ctx) error { + c.Set("Content-Type", "application/octet-stream") + + rs, err := loadRuleFromString(validYAML) + if err != nil { + t.Errorf("failed to load valid yaml from string: %s", err.Error()) + } + + s, err := rs.GzipYaml() + if err != nil { + t.Errorf("failed to load gzip serialize yaml: %s", err.Error()) + } + + err = c.SendStream(s) + if err != nil { + t.Errorf("failed to stream gzip serialized yaml: %s", err.Error()) + } + return nil + }) + + // Start the server in a goroutine + go func() { + if err := app.Listen("127.0.0.1:9999"); err != nil { + t.Errorf("Server failed to start: %s", err.Error()) + } + }() + + // Wait for the server to start + time.Sleep(time.Second * 1) + + rs, err := NewRuleset("http://127.0.0.1:9999/valid-config.yml") + if err != nil { + t.Errorf("failed to load plaintext ruleset from http server: %s", err.Error()) + } + + u, _ := url.Parse("http://example.com") + r, exists := rs.GetRule(u) + assert.True(t, exists, "expected example.com rule to be present") + assert.Equal(t, r.Domains[0], "example.com") + + u, _ = url.Parse("http://www.www.example.com") + _, exists = rs.GetRule(u) + assert.False(t, exists, "expected www.www.example.com rule to NOT be present") + + rs, err = NewRuleset("http://127.0.0.1:9999/valid-config.gz") + if err != nil { + t.Errorf("failed to load gzipped ruleset from http server: %s", err.Error()) + } + + r, exists = rs.GetRule(u) + assert.Equal(t, r.Domains[0], "example.com") + + os.Setenv("RULESET", "http://127.0.0.1:9999/valid-config.gz") + + rs = NewRulesetFromEnv() + r, exists = rs.GetRule(u) + assert.True(t, exists, "expected example.com rule to be present") + if !assert.Equal(t, r.Domains[0], "example.com") { + t.Error("expected no errors loading ruleset from gzip url using environment variable, but got one") + } +} + +func loadRuleFromString(yaml string) (Ruleset, error) { + // Create a temporary file and load it + tmpFile, _ := os.CreateTemp("", "ruleset*.yaml") + + defer os.Remove(tmpFile.Name()) + + tmpFile.WriteString(yaml) + + rs := Ruleset{} + err := rs.loadRulesFromLocalFile(tmpFile.Name()) + + return rs, err +} + +// TestLoadRulesFromLocalFile tests the loading of rules from a local YAML file. +func TestLoadRulesFromLocalFile(t *testing.T) { + _, err := loadRuleFromString(validYAML) + if err != nil { + t.Errorf("Failed to load rules from valid YAML: %s", err) + } + + _, err = loadRuleFromString(invalidYAML) + if err == nil { + t.Errorf("Expected an error when loading invalid YAML, but got none") + } +} + +// TestLoadRulesFromLocalDir tests the loading of rules from a local nested directory full of yaml rulesets +func TestLoadRulesFromLocalDir(t *testing.T) { + // Create a temporary directory + baseDir, err := os.MkdirTemp("", "ruleset_test") + if err != nil { + t.Fatalf("Failed to create temporary directory: %s", err) + } + + defer os.RemoveAll(baseDir) + + // Create a nested subdirectory + nestedDir := filepath.Join(baseDir, "nested") + err = os.Mkdir(nestedDir, 0o755) + + if err != nil { + t.Fatalf("Failed to create nested directory: %s", err) + } + + // Create a nested subdirectory + nestedTwiceDir := filepath.Join(nestedDir, "nestedTwice") + err = os.Mkdir(nestedTwiceDir, 0o755) + if err != nil { + t.Fatalf("Failed to create twice-nested directory: %s", err) + } + + testCases := []string{"test.yaml", "test2.yaml", "test-3.yaml", "test 4.yaml", "1987.test.yaml.yml", "foobar.example.com.yaml", "foobar.com.yml"} + for _, fileName := range testCases { + filePath := filepath.Join(nestedDir, "2x-"+fileName) + os.WriteFile(filePath, []byte(validYAML), 0o644) + + filePath = filepath.Join(nestedDir, fileName) + os.WriteFile(filePath, []byte(validYAML), 0o644) + + filePath = filepath.Join(baseDir, "base-"+fileName) + os.WriteFile(filePath, []byte(validYAML), 0o644) + } + + rs := Ruleset{} + err = rs.loadRulesFromLocalDir(baseDir) + + assert.NoError(t, err) + assert.Equal(t, rs.Count(), len(testCases)*3) +} diff --git a/proxychain/ruleset/todo.md b/proxychain/ruleset/todo.md new file mode 100644 index 00000000..6d94d89f --- /dev/null +++ b/proxychain/ruleset/todo.md @@ -0,0 +1 @@ +ruleset loading rule tests are failing; maybe concurrency issue with assigning to nil map? From b2f6cf9f1dc49a1b8c3074bfe876d2165ee455b3 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 14:02:54 -0600 Subject: [PATCH 109/178] finish ruleset_v2 implementation --- pkg/ruleset/ruleset.go | 347 ----------------------------- pkg/ruleset/ruleset_test.go | 225 ------------------- proxychain/ruleset/ruleset.go | 135 ++++++----- proxychain/ruleset/ruleset_test.go | 105 ++++----- 4 files changed, 120 insertions(+), 692 deletions(-) delete mode 100644 pkg/ruleset/ruleset.go delete mode 100644 pkg/ruleset/ruleset_test.go diff --git a/pkg/ruleset/ruleset.go b/pkg/ruleset/ruleset.go deleted file mode 100644 index 24fa5775..00000000 --- a/pkg/ruleset/ruleset.go +++ /dev/null @@ -1,347 +0,0 @@ -package ruleset - -import ( - "compress/gzip" - "errors" - "fmt" - "io" - "log" - "net/http" - "os" - "path/filepath" - "regexp" - "strings" - - "gopkg.in/yaml.v3" -) - -type Regex struct { - Match string `yaml:"match"` - Replace string `yaml:"replace"` -} -type KV struct { - Key string `yaml:"key"` - Value string `yaml:"value"` -} - -type RuleSet []Rule - -type Rule struct { - Domain string `yaml:"domain,omitempty"` - Domains []string `yaml:"domains,omitempty"` - Paths []string `yaml:"paths,omitempty"` - Headers struct { - UserAgent string `yaml:"user-agent,omitempty"` - XForwardedFor string `yaml:"x-forwarded-for,omitempty"` - Referer string `yaml:"referer,omitempty"` - Cookie string `yaml:"cookie,omitempty"` - CSP string `yaml:"content-security-policy,omitempty"` - } `yaml:"headers,omitempty"` - GoogleCache bool `yaml:"googleCache,omitempty"` - RegexRules []Regex `yaml:"regexRules,omitempty"` - - URLMods struct { - Domain []Regex `yaml:"domain,omitempty"` - Path []Regex `yaml:"path,omitempty"` - Query []KV `yaml:"query,omitempty"` - } `yaml:"urlMods,omitempty"` - - Injections []struct { - Position string `yaml:"position,omitempty"` - Append string `yaml:"append,omitempty"` - Prepend string `yaml:"prepend,omitempty"` - Replace string `yaml:"replace,omitempty"` - } `yaml:"injections,omitempty"` -} - -var remoteRegex = regexp.MustCompile(`^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)`) - -// NewRulesetFromEnv creates a new RuleSet based on the RULESET environment variable. -// It logs a warning and returns an empty RuleSet if the RULESET environment variable is not set. -// If the RULESET is set but the rules cannot be loaded, it panics. -func NewRulesetFromEnv() RuleSet { - rulesPath, ok := os.LookupEnv("RULESET") - if !ok { - log.Printf("WARN: No ruleset specified. Set the `RULESET` environment variable to load one for a better success rate.") - return RuleSet{} - } - - ruleSet, err := NewRuleset(rulesPath) - if err != nil { - log.Println(err) - } - - return ruleSet -} - -// NewRuleset loads a RuleSet from a given string of rule paths, separated by semicolons. -// It supports loading rules from both local file paths and remote URLs. -// Returns a RuleSet and an error if any issues occur during loading. -func NewRuleset(rulePaths string) (RuleSet, error) { - var ruleSet RuleSet - - var errs []error - - rp := strings.Split(rulePaths, ";") - for _, rule := range rp { - var err error - - rulePath := strings.Trim(rule, " ") - isRemote := remoteRegex.MatchString(rulePath) - - if isRemote { - err = ruleSet.loadRulesFromRemoteFile(rulePath) - } else { - err = ruleSet.loadRulesFromLocalDir(rulePath) - } - - if err != nil { - e := fmt.Errorf("WARN: failed to load ruleset from '%s'", rulePath) - errs = append(errs, errors.Join(e, err)) - - continue - } - } - - if len(errs) != 0 { - e := fmt.Errorf("WARN: failed to load %d rulesets", len(rp)) - errs = append(errs, e) - - // panic if the user specified a local ruleset, but it wasn't found on disk - // don't fail silently - for _, err := range errs { - if errors.Is(os.ErrNotExist, err) { - e := fmt.Errorf("PANIC: ruleset '%s' not found", err) - panic(errors.Join(e, err)) - } - } - - // else, bubble up any errors, such as syntax or remote host issues - return ruleSet, errors.Join(errs...) - } - - ruleSet.PrintStats() - - return ruleSet, nil -} - -// ================== RULESET loading logic =================================== - -// loadRulesFromLocalDir loads rules from a local directory specified by the path. -// It walks through the directory, loading rules from YAML files. -// Returns an error if the directory cannot be accessed -// If there is an issue loading any file, it will be skipped -func (rs *RuleSet) loadRulesFromLocalDir(path string) error { - _, err := os.Stat(path) - if err != nil { - return err - } - - yamlRegex := regexp.MustCompile(`.*\.ya?ml`) - - err = filepath.Walk(path, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - if info.IsDir() { - return nil - } - if isYaml := yamlRegex.MatchString(path); !isYaml { - return nil - } - - err = rs.loadRulesFromLocalFile(path) - if err != nil { - log.Printf("WARN: failed to load directory ruleset '%s': %s, skipping", path, err) - return nil - } - - log.Printf("INFO: loaded ruleset %s\n", path) - - return nil - }) - - if err != nil { - return err - } - - return nil -} - -// loadRulesFromLocalFile loads rules from a local YAML file specified by the path. -// Returns an error if the file cannot be read or if there's a syntax error in the YAML. -func (rs *RuleSet) loadRulesFromLocalFile(path string) error { - yamlFile, err := os.ReadFile(path) - if err != nil { - e := fmt.Errorf("failed to read rules from local file: '%s'", path) - return errors.Join(e, err) - } - - var r RuleSet - err = yaml.Unmarshal(yamlFile, &r) - - if err != nil { - e := fmt.Errorf("failed to load rules from local file, possible syntax error in '%s'", path) - ee := errors.Join(e, err) - - if _, ok := os.LookupEnv("DEBUG"); ok { - debugPrintRule(string(yamlFile), ee) - } - - return ee - } - - *rs = append(*rs, r...) - - return nil -} - -// loadRulesFromRemoteFile loads rules from a remote URL. -// It supports plain and gzip compressed content. -// Returns an error if there's an issue accessing the URL or if there's a syntax error in the YAML. -func (rs *RuleSet) loadRulesFromRemoteFile(rulesURL string) error { - var r RuleSet - - resp, err := http.Get(rulesURL) - if err != nil { - e := fmt.Errorf("failed to load rules from remote url '%s'", rulesURL) - return errors.Join(e, err) - } - - defer resp.Body.Close() - - if resp.StatusCode >= 400 { - e := fmt.Errorf("failed to load rules from remote url (%s) on '%s'", resp.Status, rulesURL) - return errors.Join(e, err) - } - - var reader io.Reader - - isGzip := strings.HasSuffix(rulesURL, ".gz") || strings.HasSuffix(rulesURL, ".gzip") || resp.Header.Get("content-encoding") == "gzip" - - if isGzip { - reader, err = gzip.NewReader(resp.Body) - - if err != nil { - return fmt.Errorf("failed to create gzip reader for URL '%s' with status code '%s': %w", rulesURL, resp.Status, err) - } - } else { - reader = resp.Body - } - - err = yaml.NewDecoder(reader).Decode(&r) - - if err != nil { - e := fmt.Errorf("failed to load rules from remote url '%s' with status code '%s' and possible syntax error", rulesURL, resp.Status) - ee := errors.Join(e, err) - - return ee - } - - *rs = append(*rs, r...) - - return nil -} - -// ================= utility methods ========================== - -// Yaml returns the ruleset as a Yaml string -func (rs *RuleSet) Yaml() (string, error) { - y, err := yaml.Marshal(rs) - if err != nil { - return "", err - } - - return string(y), nil -} - -// GzipYaml returns an io.Reader that streams the Gzip-compressed YAML representation of the RuleSet. -func (rs *RuleSet) GzipYaml() (io.Reader, error) { - pr, pw := io.Pipe() - - go func() { - defer pw.Close() - - gw := gzip.NewWriter(pw) - defer gw.Close() - - if err := yaml.NewEncoder(gw).Encode(rs); err != nil { - gw.Close() // Ensure to close the gzip writer - pw.CloseWithError(err) - return - } - }() - - return pr, nil -} - -// Domains extracts and returns a slice of all domains present in the RuleSet. -func (rs *RuleSet) Domains() []string { - var domains []string - for _, rule := range *rs { - domains = append(domains, rule.Domain) - domains = append(domains, rule.Domains...) - } - return domains -} - -// DomainCount returns the count of unique domains present in the RuleSet. -func (rs *RuleSet) DomainCount() int { - return len(rs.Domains()) -} - -// Count returns the total number of rules in the RuleSet. -func (rs *RuleSet) Count() int { - return len(*rs) -} - -// PrintStats logs the number of rules and domains loaded in the RuleSet. -func (rs *RuleSet) PrintStats() { - log.Printf("INFO: Loaded %d rules for %d domains\n", rs.Count(), rs.DomainCount()) -} - -// debugPrintRule is a utility function for printing a rule and associated error for debugging purposes. -func debugPrintRule(rule string, err error) { - fmt.Println("------------------------------ BEGIN DEBUG RULESET -----------------------------") - fmt.Printf("%s\n", err.Error()) - fmt.Println("--------------------------------------------------------------------------------") - fmt.Println(rule) - fmt.Println("------------------------------ END DEBUG RULESET -------------------------------") -} - -// ======================= RuleSetMap implementation ================================================= - -// RuleSetMap: A map with domain names as keys and pointers to the corresponding Rules as values. -// This type is used to efficiently access rules based on domain names. -type RuleSetMap map[string]*Rule - -// ToMap converts a RuleSet into a RuleSetMap. It transforms each Rule in the RuleSet -// into a map entry where the key is the Rule's domain (lowercase) -// and the value is a pointer to the Rule. This method is used to -// efficiently access rules based on domain names. -// The RuleSetMap may be accessed with or without a "www." prefix in the domain. -func (rs *RuleSet) ToMap() RuleSetMap { - rsm := make(RuleSetMap) - - addMapEntry := func(d string, rule *Rule) { - d = strings.ToLower(d) - rsm[d] = rule - if strings.HasPrefix(d, "www.") { - d = strings.TrimPrefix(d, "www.") - rsm[d] = rule - } else { - d = fmt.Sprintf("www.%s", d) - rsm[d] = rule - } - } - - for i, rule := range *rs { - rulePtr := &(*rs)[i] - addMapEntry(rule.Domain, rulePtr) - for _, domain := range rule.Domains { - addMapEntry(domain, rulePtr) - } - } - - return rsm -} diff --git a/pkg/ruleset/ruleset_test.go b/pkg/ruleset/ruleset_test.go deleted file mode 100644 index 99bd663e..00000000 --- a/pkg/ruleset/ruleset_test.go +++ /dev/null @@ -1,225 +0,0 @@ -package ruleset - -import ( - "os" - "path/filepath" - "testing" - "time" - - "github.com/gofiber/fiber/v2" - "github.com/stretchr/testify/assert" -) - -var ( - validYAML = ` -- domain: example.com - regexRules: - - match: "^http:" - replace: "https:"` - - invalidYAML = ` -- domain: [thisIsATestYamlThatIsMeantToFail.example] - regexRules: - - match: "^http:" - replace: "https:" - - match: "[incomplete"` -) - -func TestLoadRulesFromRemoteFile(t *testing.T) { - app := fiber.New() - defer app.Shutdown() - - app.Get("/valid-config.yml", func(c *fiber.Ctx) error { - c.SendString(validYAML) - return nil - }) - - app.Get("/invalid-config.yml", func(c *fiber.Ctx) error { - c.SendString(invalidYAML) - return nil - }) - - app.Get("/valid-config.gz", func(c *fiber.Ctx) error { - c.Set("Content-Type", "application/octet-stream") - - rs, err := loadRuleFromString(validYAML) - if err != nil { - t.Errorf("failed to load valid yaml from string: %s", err.Error()) - } - - s, err := rs.GzipYaml() - if err != nil { - t.Errorf("failed to load gzip serialize yaml: %s", err.Error()) - } - - err = c.SendStream(s) - if err != nil { - t.Errorf("failed to stream gzip serialized yaml: %s", err.Error()) - } - return nil - }) - - // Start the server in a goroutine - go func() { - if err := app.Listen("127.0.0.1:9999"); err != nil { - t.Errorf("Server failed to start: %s", err.Error()) - } - }() - - // Wait for the server to start - time.Sleep(time.Second * 1) - - rs, err := NewRuleset("http://127.0.0.1:9999/valid-config.yml") - if err != nil { - t.Errorf("failed to load plaintext ruleset from http server: %s", err.Error()) - } - - assert.Equal(t, rs[0].Domain, "example.com") - - rs, err = NewRuleset("http://127.0.0.1:9999/valid-config.gz") - if err != nil { - t.Errorf("failed to load gzipped ruleset from http server: %s", err.Error()) - } - - assert.Equal(t, rs[0].Domain, "example.com") - - os.Setenv("RULESET", "http://127.0.0.1:9999/valid-config.gz") - - rs = NewRulesetFromEnv() - if !assert.Equal(t, rs[0].Domain, "example.com") { - t.Error("expected no errors loading ruleset from gzip url using environment variable, but got one") - } -} - -func loadRuleFromString(yaml string) (RuleSet, error) { - // Create a temporary file and load it - tmpFile, _ := os.CreateTemp("", "ruleset*.yaml") - - defer os.Remove(tmpFile.Name()) - - tmpFile.WriteString(yaml) - - rs := RuleSet{} - err := rs.loadRulesFromLocalFile(tmpFile.Name()) - - return rs, err -} - -// TestLoadRulesFromLocalFile tests the loading of rules from a local YAML file. -func TestLoadRulesFromLocalFile(t *testing.T) { - rs, err := loadRuleFromString(validYAML) - if err != nil { - t.Errorf("Failed to load rules from valid YAML: %s", err) - } - - assert.Equal(t, rs[0].Domain, "example.com") - assert.Equal(t, rs[0].RegexRules[0].Match, "^http:") - assert.Equal(t, rs[0].RegexRules[0].Replace, "https:") - - _, err = loadRuleFromString(invalidYAML) - if err == nil { - t.Errorf("Expected an error when loading invalid YAML, but got none") - } -} - -// TestLoadRulesFromLocalDir tests the loading of rules from a local nested directory full of yaml rulesets -func TestLoadRulesFromLocalDir(t *testing.T) { - // Create a temporary directory - baseDir, err := os.MkdirTemp("", "ruleset_test") - if err != nil { - t.Fatalf("Failed to create temporary directory: %s", err) - } - - defer os.RemoveAll(baseDir) - - // Create a nested subdirectory - nestedDir := filepath.Join(baseDir, "nested") - err = os.Mkdir(nestedDir, 0o755) - - if err != nil { - t.Fatalf("Failed to create nested directory: %s", err) - } - - // Create a nested subdirectory - nestedTwiceDir := filepath.Join(nestedDir, "nestedTwice") - err = os.Mkdir(nestedTwiceDir, 0o755) - if err != nil { - t.Fatalf("Failed to create twice-nested directory: %s", err) - } - - testCases := []string{"test.yaml", "test2.yaml", "test-3.yaml", "test 4.yaml", "1987.test.yaml.yml", "foobar.example.com.yaml", "foobar.com.yml"} - for _, fileName := range testCases { - filePath := filepath.Join(nestedDir, "2x-"+fileName) - os.WriteFile(filePath, []byte(validYAML), 0o644) - - filePath = filepath.Join(nestedDir, fileName) - os.WriteFile(filePath, []byte(validYAML), 0o644) - - filePath = filepath.Join(baseDir, "base-"+fileName) - os.WriteFile(filePath, []byte(validYAML), 0o644) - } - - rs := RuleSet{} - err = rs.loadRulesFromLocalDir(baseDir) - - assert.NoError(t, err) - assert.Equal(t, rs.Count(), len(testCases)*3) - - for _, rule := range rs { - assert.Equal(t, rule.Domain, "example.com") - assert.Equal(t, rule.RegexRules[0].Match, "^http:") - assert.Equal(t, rule.RegexRules[0].Replace, "https:") - } -} - -func TestToMap(t *testing.T) { - // Prepare a ruleset with multiple rules, including "www." prefixed domains - rules := RuleSet{ - { - Domain: "Example.com", - RegexRules: []Regex{{Match: "match1", Replace: "replace1"}}, - }, - { - Domain: "www.AnotherExample.com", - RegexRules: []Regex{{Match: "match2", Replace: "replace2"}}, - }, - { - Domain: "www.foo.bAr.baz.bOol.quX.com", - RegexRules: []Regex{{Match: "match3", Replace: "replace3"}}, - }, - } - - // Convert to RuleSetMap - rsm := rules.ToMap() - - // Test for correct number of entries - if len(rsm) != 6 { - t.Errorf("Expected 6 entries in RuleSetMap, got %d", len(rsm)) - } - - // Test for correct mapping - testDomains := []struct { - domain string - expectedMatch string - }{ - {"example.com", "match1"}, - {"www.example.com", "match1"}, - {"anotherexample.com", "match2"}, - {"www.anotherexample.com", "match2"}, - {"foo.bar.baz.bool.qux.com", "match3"}, - {"no.ruleset.domain.com", ""}, - } - - for _, test := range testDomains { - if test.domain == "no.ruleset.domain.com" { - assert.Empty(t, test.expectedMatch) - continue - } - rule, exists := rsm[test.domain] - if !exists { - t.Errorf("Expected domain %s to exist in RuleSetMap", test.domain) - } else if rule.RegexRules[0].Match != test.expectedMatch { - t.Errorf("Expected match for %s to be %s, got %s", test.domain, test.expectedMatch, rule.RegexRules[0].Match) - } - } -} diff --git a/proxychain/ruleset/ruleset.go b/proxychain/ruleset/ruleset.go index 84754885..9731df62 100644 --- a/proxychain/ruleset/ruleset.go +++ b/proxychain/ruleset/ruleset.go @@ -13,6 +13,7 @@ import ( "strings" "gopkg.in/yaml.v3" + //"encoding/json" ) type IRuleset interface { @@ -21,12 +22,68 @@ type IRuleset interface { } type Ruleset struct { - rulesetPath string - rules map[string]Rule + Rules []Rule `json:"rules" yaml:"rules"` + _rulemap map[string]*Rule // internal map for fast lookups; points at a rule in the Rules slice } -func (rs Ruleset) GetRule(url *url.URL) (rule Rule, exists bool) { - rule, exists = rs.rules[url.Hostname()] +func (rs *Ruleset) UnmarshalYAML(unmarshal func(interface{}) error) error { + type AuxRuleset struct { + Rules []Rule `yaml:"rules"` + } + yr := &AuxRuleset{} + + if err := unmarshal(&yr); err != nil { + return err + } + + rs._rulemap = make(map[string]*Rule) + rs.Rules = yr.Rules + + // create a map of pointers to rules loaded above based on domain string keys + // this way we don't have two copies of the rule in ruleset + for i, rule := range rs.Rules { + rulePtr := &rs.Rules[i] + for _, domain := range rule.Domains { + rs._rulemap[domain] = rulePtr + if !strings.HasPrefix(domain, "www.") { + rs._rulemap["www."+domain] = rulePtr + } + } + } + + return nil +} + +// MarshalYAML implements the yaml.Marshaler interface. +// It customizes the marshaling of a Ruleset object into YAML +func (rs *Ruleset) MarshalYAML() (interface{}, error) { + + type AuxRule struct { + Domains []string `yaml:"domains"` + RequestModifications []_rqm `yaml:"requestmodifications"` + ResponseModifications []_rsm `yaml:"responsemodifications"` + } + type Aux struct { + Rules []AuxRule `yaml:"rules"` + } + + aux := Aux{} + + for _, rule := range rs.Rules { + auxRule := AuxRule{ + Domains: rule.Domains, + RequestModifications: rule._rqms, + ResponseModifications: rule._rsms, + } + aux.Rules = append(aux.Rules, auxRule) + } + + out, err := yaml.Marshal(&aux) + return out, err +} + +func (rs Ruleset) GetRule(url *url.URL) (rule *Rule, exists bool) { + rule, exists = rs._rulemap[url.Hostname()] return rule, exists } @@ -38,8 +95,8 @@ func (rs Ruleset) HasRule(url *url.URL) bool { // NewRuleset loads a new RuleSet from a path func NewRuleset(path string) (Ruleset, error) { rs := Ruleset{ - rulesetPath: path, - rules: map[string]Rule{}, + _rulemap: map[string]*Rule{}, + Rules: []Rule{}, } switch { @@ -88,18 +145,20 @@ func (rs *Ruleset) loadRulesFromLocalDir(path string) error { return nil } - isYAML := filepath.Ext(path) == "yaml" || filepath.Ext(path) == "yml" + isYAML := filepath.Ext(path) == ".yaml" || filepath.Ext(path) == ".yml" if !isYAML { return nil } - err = rs.loadRulesFromLocalFile(path) + tmpRs := Ruleset{_rulemap: make(map[string]*Rule)} + err = tmpRs.loadRulesFromLocalFile(path) if err != nil { log.Printf("WARN: failed to load directory ruleset '%s': %s, skipping", path, err) return nil } + rs.Rules = append(rs.Rules, tmpRs.Rules...) - log.Printf("INFO: loaded ruleset %s\n", path) + //log.Printf("INFO: loaded ruleset %s\n", path) return nil }) @@ -120,21 +179,12 @@ func (rs *Ruleset) loadRulesFromLocalFile(path string) error { return errors.Join(e, err) } - rule := Rule{} - err = yaml.Unmarshal(yamlFile, &rule) + err = yaml.Unmarshal(yamlFile, rs) if err != nil { e := fmt.Errorf("failed to load rules from local file, possible syntax error in '%s' - %s", path, err) - ee := errors.Join(e, err) - debugPrintRule(string(yamlFile), ee) - return ee - } - - for _, domain := range rule.Domains { - rs.rules[domain] = rule - if !strings.HasSuffix(domain, "www.") { - rs.rules["www."+domain] = rule - } + debugPrintRule(string(yamlFile), e) + return e } return nil @@ -144,7 +194,6 @@ func (rs *Ruleset) loadRulesFromLocalFile(path string) error { // It supports plain and gzip compressed content. // Returns an error if there's an issue accessing the URL or if there's a syntax error in the YAML. func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { - rule := Rule{} resp, err := http.Get(rulesURL) if err != nil { @@ -160,7 +209,7 @@ func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { var reader io.Reader // in case remote server did not set content-encoding gzip header - isGzip := strings.HasSuffix(rulesURL, ".gz") || strings.HasSuffix(rulesURL, ".gzip") + isGzip := strings.HasSuffix(rulesURL, ".gz") || strings.HasSuffix(rulesURL, ".gzip") || resp.Header.Get("content-encoding") == "gzip" if isGzip { reader, err = gzip.NewReader(resp.Body) @@ -171,24 +220,12 @@ func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { reader = resp.Body } - err = yaml.NewDecoder(reader).Decode(&rule) + err = yaml.NewDecoder(reader).Decode(&rs) if err != nil { return fmt.Errorf("failed to load rules from remote url '%s' with status code '%s' and possible syntax error - %s", rulesURL, resp.Status, err) } - if rs.rules == nil { - fmt.Println("nilmap") - rs.rules = make(map[string]Rule) - } - - for _, domain := range rule.Domains { - rs.rules[domain] = rule - if !strings.HasSuffix(domain, "www.") { - rs.rules["www."+domain] = rule - } - } - return nil } @@ -204,31 +241,11 @@ func (rs *Ruleset) Yaml() (string, error) { return string(y), nil } -// GzipYaml returns an io.Reader that streams the Gzip-compressed YAML representation of the RuleSet. -func (rs *Ruleset) GzipYaml() (io.Reader, error) { - pr, pw := io.Pipe() - - go func() { - defer pw.Close() - - gw := gzip.NewWriter(pw) - defer gw.Close() - - if err := yaml.NewEncoder(gw).Encode(rs); err != nil { - gw.Close() // Ensure to close the gzip writer - pw.CloseWithError(err) - return - } - }() - - return pr, nil -} - // Domains extracts and returns a slice of all domains present in the RuleSet. func (rs *Ruleset) Domains() []string { var domains []string - for domain := range rs.rules { - domains = append(domains, domain) + for _, rule := range rs.Rules { + domains = append(domains, rule.Domains...) } return domains } @@ -240,7 +257,7 @@ func (rs *Ruleset) DomainCount() int { // Count returns the total number of rules in the RuleSet. func (rs *Ruleset) Count() int { - return len(rs.rules) + return len(rs.Rules) } // PrintStats logs the number of rules and domains loaded in the RuleSet. diff --git a/proxychain/ruleset/ruleset_test.go b/proxychain/ruleset/ruleset_test.go index cec8285e..c7311bd2 100644 --- a/proxychain/ruleset/ruleset_test.go +++ b/proxychain/ruleset/ruleset_test.go @@ -1,6 +1,7 @@ package ruleset_v2 import ( + "fmt" "net/url" "os" "path/filepath" @@ -13,38 +14,40 @@ import ( var ( validYAML = ` -domains: -- example.com -- www.example.com -responsemodifications: -- name: APIContent - params: [] -- name: SetContentSecurityPolicy - params: - - foobar -- name: SetIncomingCookie - params: - - authorization-bearer - - hunter2 -requestmodifications: -- name: ForwardRequestHeaders - params: [] +rules: + - domains: + - example.com + - www.example.com + responsemodifications: + - name: APIContent + params: [] + - name: SetContentSecurityPolicy + params: + - foobar + - name: SetIncomingCookie + params: + - authorization-bearer + - hunter2 + requestmodifications: + - name: ForwardRequestHeaders + params: [] ` invalidYAML = ` -domains: -- example.com -- www.example.com -responsemodifications: -- name: APIContent -- name: SetContentSecurityPolicy -- name: INVALIDSetIncomingCookie - params: - - authorization-bearer - - hunter2 -requestmodifications: -- name: ForwardRequestHeaders - params: [] +rules: + domains: + - example.com + - www.example.com + responsemodifications: + - name: APIContent + - name: SetContentSecurityPolicy + - name: INVALIDSetIncomingCookie + params: + - authorization-bearer + - hunter2 + requestmodifications: + - name: ForwardRequestHeaders + params: [] ` ) @@ -62,26 +65,6 @@ func TestLoadRulesFromRemoteFile(t *testing.T) { return nil }) - app.Get("/valid-config.gz", func(c *fiber.Ctx) error { - c.Set("Content-Type", "application/octet-stream") - - rs, err := loadRuleFromString(validYAML) - if err != nil { - t.Errorf("failed to load valid yaml from string: %s", err.Error()) - } - - s, err := rs.GzipYaml() - if err != nil { - t.Errorf("failed to load gzip serialize yaml: %s", err.Error()) - } - - err = c.SendStream(s) - if err != nil { - t.Errorf("failed to stream gzip serialized yaml: %s", err.Error()) - } - return nil - }) - // Start the server in a goroutine go func() { if err := app.Listen("127.0.0.1:9999"); err != nil { @@ -102,25 +85,21 @@ func TestLoadRulesFromRemoteFile(t *testing.T) { assert.True(t, exists, "expected example.com rule to be present") assert.Equal(t, r.Domains[0], "example.com") - u, _ = url.Parse("http://www.www.example.com") + u, _ = url.Parse("http://www.www.foobar.com") _, exists = rs.GetRule(u) - assert.False(t, exists, "expected www.www.example.com rule to NOT be present") - - rs, err = NewRuleset("http://127.0.0.1:9999/valid-config.gz") - if err != nil { - t.Errorf("failed to load gzipped ruleset from http server: %s", err.Error()) - } + assert.False(t, exists, "expected www.www.foobar.com rule to NOT be present") + u, _ = url.Parse("http://example.com") r, exists = rs.GetRule(u) assert.Equal(t, r.Domains[0], "example.com") - os.Setenv("RULESET", "http://127.0.0.1:9999/valid-config.gz") + os.Setenv("RULESET", "http://127.0.0.1:9999/valid-config.yml") rs = NewRulesetFromEnv() r, exists = rs.GetRule(u) - assert.True(t, exists, "expected example.com rule to be present") + assert.True(t, exists, "expected example.com rule to be present from env") if !assert.Equal(t, r.Domains[0], "example.com") { - t.Error("expected no errors loading ruleset from gzip url using environment variable, but got one") + t.Error("expected no errors loading ruleset from url using environment variable, but got one") } } @@ -132,7 +111,10 @@ func loadRuleFromString(yaml string) (Ruleset, error) { tmpFile.WriteString(yaml) - rs := Ruleset{} + rs := Ruleset{ + _rulemap: map[string]*Rule{}, + Rules: []Rule{}, + } err := rs.loadRulesFromLocalFile(tmpFile.Name()) return rs, err @@ -189,8 +171,9 @@ func TestLoadRulesFromLocalDir(t *testing.T) { } rs := Ruleset{} + fmt.Println(baseDir) err = rs.loadRulesFromLocalDir(baseDir) assert.NoError(t, err) - assert.Equal(t, rs.Count(), len(testCases)*3) + assert.Equal(t, len(testCases)*3, rs.Count()) } From 52d12dd1ac7721ce00bc30edab07b488b0b64365 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 15:02:18 -0600 Subject: [PATCH 110/178] ruleset_v2 integration test working --- cmd/main.go | 56 +++-- handlers/proxy.go | 23 +- internal/cli/ruleset_merge.go | 50 +--- proxychain/proxychain.go | 22 +- proxychain/ruleset/rule_reqmod_types.gen.go | 251 ++++++++++---------- proxychain/ruleset/rule_resmod_types.gen.go | 125 +++++----- proxychain/ruleset/ruleset.go | 12 + ruleset_v2.yaml | 17 ++ 8 files changed, 271 insertions(+), 285 deletions(-) create mode 100644 ruleset_v2.yaml diff --git a/cmd/main.go b/cmd/main.go index 4af5534d..32792e56 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,7 +9,6 @@ import ( "ladder/handlers" "ladder/internal/cli" - "ladder/proxychain/requestmodifiers/bot" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" @@ -43,15 +42,17 @@ func main() { Help: "Adds verbose logging", }) - randomGoogleBot := parser.Flag("", "random-googlebot", &argparse.Options{ - Required: false, - Help: "Update the list of trusted Googlebot IPs, and use a random one for each masqueraded request", - }) + /* + randomGoogleBot := parser.Flag("", "random-googlebot", &argparse.Options{ + Required: false, + Help: "Update the list of trusted Googlebot IPs, and use a random one for each masqueraded request", + }) - randomBingBot := parser.Flag("", "random-bingbot", &argparse.Options{ - Required: false, - Help: "Update the list of trusted Bingbot IPs, and use a random one for each masqueraded request", - }) + randomBingBot := parser.Flag("", "random-bingbot", &argparse.Options{ + Required: false, + Help: "Update the list of trusted Bingbot IPs, and use a random one for each masqueraded request", + }) + */ // TODO: add version flag that reads from handers/VERSION @@ -65,14 +66,9 @@ func main() { Help: "Compiles a directory of yaml files into a single ruleset.yaml. Requires --ruleset arg.", }) - mergeRulesetsGzip := parser.Flag("", "merge-rulesets-gzip", &argparse.Options{ - Required: false, - Help: "Compiles a directory of yaml files into a single ruleset.gz Requires --ruleset arg.", - }) - mergeRulesetsOutput := parser.String("", "merge-rulesets-output", &argparse.Options{ Required: false, - Help: "Specify output file for --merge-rulesets and --merge-rulesets-gzip. Requires --ruleset and --merge-rulesets args.", + Help: "Specify output file for --merge-rulesets. Requires --ruleset and --merge-rulesets args.", }) err := parser.Parse(os.Args) @@ -80,24 +76,26 @@ func main() { fmt.Print(parser.Usage(err)) } - if *randomGoogleBot { - err := bot.GoogleBot.UpdatePool("https://developers.google.com/static/search/apis/ipranges/googlebot.json") - if err != nil { - fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error()) - fmt.Println("defaulting to known trusted Googlebot identity") + /* + if *randomGoogleBot { + err := bot.GoogleBot.UpdatePool("https://developers.google.com/static/search/apis/ipranges/googlebot.json") + if err != nil { + fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error()) + fmt.Println("defaulting to known trusted Googlebot identity") + } } - } - if *randomBingBot { - err := bot.BingBot.UpdatePool("https://www.bing.com/toolbox/bingbot.json") - if err != nil { - fmt.Println("error while retrieving list of Bingbot IPs: " + err.Error()) - fmt.Println("defaulting to known trusted Bingbot identity") + if *randomBingBot { + err := bot.BingBot.UpdatePool("https://www.bing.com/toolbox/bingbot.json") + if err != nil { + fmt.Println("error while retrieving list of Bingbot IPs: " + err.Error()) + fmt.Println("defaulting to known trusted Bingbot identity") + } } - } + */ // utility cli flag to compile ruleset directory into single ruleset.yaml - if *mergeRulesets || *mergeRulesetsGzip { + if *mergeRulesets { output := os.Stdout if *mergeRulesetsOutput != "" { @@ -109,7 +107,7 @@ func main() { } } - err = cli.HandleRulesetMerge(*ruleset, *mergeRulesets, *mergeRulesetsGzip, output) + err = cli.HandleRulesetMerge(*ruleset, *mergeRulesets, output) if err != nil { fmt.Println(err) os.Exit(1) diff --git a/handlers/proxy.go b/handlers/proxy.go index d22678fb..5377a893 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -1,9 +1,11 @@ package handlers import ( + "fmt" "ladder/proxychain" rx "ladder/proxychain/requestmodifiers" tx "ladder/proxychain/responsemodifiers" + "ladder/proxychain/ruleset" "github.com/gofiber/fiber/v2" ) @@ -24,6 +26,10 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ + rs, err := ruleset_v2.NewRuleset("ruleset_v2.yaml") + if err != nil { + panic(err) + } return func(c *fiber.Ctx) error { proxychain := proxychain. @@ -51,9 +57,20 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { tx.PatchDynamicResourceURLs(), tx.BlockElementRemoval(".article-content"), // tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), - ). - Execute() + ) + + // load ruleset + rule, exists := rs.GetRule(proxychain.Request.URL) + fmt.Println("============") + fmt.Println(proxychain.Request.URL) + fmt.Println(rs) + fmt.Println("============") + if exists { + fmt.Println("===========EXISTS=") + proxychain.AddOnceRequestModifications(rule.RequestModifications...) + proxychain.AddOnceResponseModifications(rule.ResponseModifications...) + } - return proxychain + return proxychain.Execute() } } diff --git a/internal/cli/ruleset_merge.go b/internal/cli/ruleset_merge.go index ca7b7e00..98524b45 100644 --- a/internal/cli/ruleset_merge.go +++ b/internal/cli/ruleset_merge.go @@ -5,9 +5,7 @@ import ( "io" "os" - "ladder/pkg/ruleset" - - "golang.org/x/term" + "ladder/proxychain/ruleset" ) // HandleRulesetMerge merges a set of ruleset files, specified by the rulesetPath or RULESET env variable, into either YAML or Gzip format. @@ -21,7 +19,7 @@ import ( // // Returns: // - An error if the ruleset loading or merging process fails, otherwise nil. -func HandleRulesetMerge(rulesetPath string, mergeRulesets bool, useGzip bool, output *os.File) error { +func HandleRulesetMerge(rulesetPath string, mergeRulesets bool, output *os.File) error { if !mergeRulesets { return nil } @@ -35,55 +33,15 @@ func HandleRulesetMerge(rulesetPath string, mergeRulesets bool, useGzip bool, ou os.Exit(1) } - rs, err := ruleset.NewRuleset(rulesetPath) + rs, err := ruleset_v2.NewRuleset(rulesetPath) if err != nil { fmt.Println(err) os.Exit(1) } - if useGzip { - return gzipMerge(rs, output) - } - return yamlMerge(rs, output) } -// gzipMerge takes a RuleSet and an optional output file path pointer. It compresses the RuleSet into Gzip format. -// If the output file path is provided, the compressed data is written to this file. Otherwise, it prints a warning -// and outputs the binary data to stdout -// -// Parameters: -// - rs: The ruleset.RuleSet to be compressed. -// - output: The output for the gzip data. If nil, stdout will be used. -// -// Returns: -// - An error if compression or file writing fails, otherwise nil. -func gzipMerge(rs ruleset.RuleSet, output io.Writer) error { - gzip, err := rs.GzipYaml() - if err != nil { - return err - } - - if output != nil { - _, err = io.Copy(output, gzip) - if err != nil { - return err - } - } - - if term.IsTerminal(int(os.Stdout.Fd())) { - println("warning: binary output can mess up your terminal. Use '--merge-rulesets-output ' or pipe it to a file.") - os.Exit(1) - } - - _, err = io.Copy(os.Stdout, gzip) - if err != nil { - return err - } - - return nil -} - // yamlMerge takes a RuleSet and an optional output file path pointer. It converts the RuleSet into YAML format. // If the output file path is provided, the YAML data is written to this file. If not, the YAML data is printed to stdout. // @@ -93,7 +51,7 @@ func gzipMerge(rs ruleset.RuleSet, output io.Writer) error { // // Returns: // - An error if YAML conversion or file writing fails, otherwise nil. -func yamlMerge(rs ruleset.RuleSet, output io.Writer) error { +func yamlMerge(rs ruleset_v2.Ruleset, output io.Writer) error { yaml, err := rs.Yaml() if err != nil { return err diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index bc5a8470..7bd4b90b 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -3,23 +3,13 @@ package proxychain import ( "errors" "fmt" + http "github.com/bogdanfinn/fhttp" + tls_client "github.com/bogdanfinn/tls-client" "io" "log" "net/url" "strings" - //"time" - - //"net/http" - //"github.com/Danny-Dasilva/CycleTLS/cycletls" - //http "github.com/Danny-Dasilva/fhttp" - http "github.com/bogdanfinn/fhttp" - tls_client "github.com/bogdanfinn/tls-client" - - //"github.com/bogdanfinn/tls-client/profiles" - - "ladder/pkg/ruleset" - "github.com/gofiber/fiber/v2" ) @@ -100,7 +90,6 @@ type ProxyChain struct { onceRequestModifications []RequestModification onceResponseModifications []ResponseModification responseModifications []ResponseModification - Ruleset *ruleset.RuleSet debugMode bool abortErr error APIPrefix string @@ -177,13 +166,6 @@ func (chain *ProxyChain) WithAPIPath(path string) *ProxyChain { return chain } -// Adds a ruleset to ProxyChain -func (chain *ProxyChain) AddRuleset(rs *ruleset.RuleSet) *ProxyChain { - chain.Ruleset = rs - // TODO: add _applyRuleset method - return chain -} - func (chain *ProxyChain) _initializeRequest() (*http.Request, error) { if chain.Context == nil { chain.abortErr = chain.abort(errors.New("no context set")) diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go index f055d284..7f22c3e1 100644 --- a/proxychain/ruleset/rule_reqmod_types.gen.go +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -1,5 +1,5 @@ -package ruleset_v2 +package ruleset_v2 // DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go // The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable // for use in proxychains. @@ -16,167 +16,168 @@ var rqmModMap map[string]RequestModifierFactory func init() { rqmModMap = make(map[string]RequestModifierFactory) - rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { - return rx.ForwardRequestHeaders() - } + rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { + return rx.ForwardRequestHeaders() + } + + rqmModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsGoogleBot() + } - rqmModMap["MasqueradeAsGoogleBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsGoogleBot() - } + rqmModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBingBot() + } - rqmModMap["MasqueradeAsBingBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsBingBot() - } + rqmModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsWaybackMachineBot() + } - rqmModMap["MasqueradeAsWaybackMachineBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsWaybackMachineBot() - } + rqmModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsFacebookBot() + } - rqmModMap["MasqueradeAsFacebookBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsFacebookBot() - } + rqmModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYandexBot() + } - rqmModMap["MasqueradeAsYandexBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsYandexBot() - } + rqmModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsBaiduBot() + } - rqmModMap["MasqueradeAsBaiduBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsBaiduBot() - } + rqmModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsDuckDuckBot() + } - rqmModMap["MasqueradeAsDuckDuckBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsDuckDuckBot() - } + rqmModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.RequestModification { + return rx.MasqueradeAsYahooBot() + } - rqmModMap["MasqueradeAsYahooBot"] = func(_ ...string) proxychain.RequestModification { - return rx.MasqueradeAsYahooBot() - } + rqmModMap["ModifyDomainWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyDomainWithRegex(params[0], params[1]) + } - rqmModMap["ModifyDomainWithRegex"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyDomainWithRegex(params[0], params[1]) - } + rqmModMap["SetOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookie(params[0], params[1]) + } - rqmModMap["SetOutgoingCookie"] = func(params ...string) proxychain.RequestModification { - return rx.SetOutgoingCookie(params[0], params[1]) - } + rqmModMap["SetOutgoingCookies"] = func(params ...string) proxychain.RequestModification { + return rx.SetOutgoingCookies(params[0]) + } - rqmModMap["SetOutgoingCookies"] = func(params ...string) proxychain.RequestModification { - return rx.SetOutgoingCookies(params[0]) - } + rqmModMap["DeleteOutgoingCookie"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookie(params[0]) + } - rqmModMap["DeleteOutgoingCookie"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookie(params[0]) - } + rqmModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookies() + } - rqmModMap["DeleteOutgoingCookies"] = func(_ ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookies() - } + rqmModMap["DeleteOutgoingCookiesExcept"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteOutgoingCookiesExcept(params[0]) + } - rqmModMap["DeleteOutgoingCookiesExcept"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteOutgoingCookiesExcept(params[0]) - } + rqmModMap["ModifyPathWithRegex"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyPathWithRegex(params[0], params[1]) + } - rqmModMap["ModifyPathWithRegex"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyPathWithRegex(params[0], params[1]) - } + rqmModMap["ModifyQueryParams"] = func(params ...string) proxychain.RequestModification { + return rx.ModifyQueryParams(params[0], params[1]) + } - rqmModMap["ModifyQueryParams"] = func(params ...string) proxychain.RequestModification { - return rx.ModifyQueryParams(params[0], params[1]) - } + rqmModMap["SetRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.SetRequestHeader(params[0], params[1]) + } - rqmModMap["SetRequestHeader"] = func(params ...string) proxychain.RequestModification { - return rx.SetRequestHeader(params[0], params[1]) - } + rqmModMap["DeleteRequestHeader"] = func(params ...string) proxychain.RequestModification { + return rx.DeleteRequestHeader(params[0]) + } - rqmModMap["DeleteRequestHeader"] = func(params ...string) proxychain.RequestModification { - return rx.DeleteRequestHeader(params[0]) - } + rqmModMap["RequestArchiveIs"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestArchiveIs() + } - rqmModMap["RequestArchiveIs"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestArchiveIs() - } + rqmModMap["RequestGoogleCache"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestGoogleCache() + } - rqmModMap["RequestGoogleCache"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestGoogleCache() - } + rqmModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.RequestModification { + return rx.RequestWaybackMachine() + } - rqmModMap["RequestWaybackMachine"] = func(_ ...string) proxychain.RequestModification { - return rx.RequestWaybackMachine() - } + rqmModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.RequestModification { + return rx.ResolveWithGoogleDoH() + } - rqmModMap["ResolveWithGoogleDoH"] = func(_ ...string) proxychain.RequestModification { - return rx.ResolveWithGoogleDoH() - } + rqmModMap["SpoofOrigin"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofOrigin(params[0]) + } - rqmModMap["SpoofOrigin"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofOrigin(params[0]) - } + rqmModMap["HideOrigin"] = func(_ ...string) proxychain.RequestModification { + return rx.HideOrigin() + } - rqmModMap["HideOrigin"] = func(_ ...string) proxychain.RequestModification { - return rx.HideOrigin() - } + rqmModMap["SpoofReferrer"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofReferrer(params[0]) + } - rqmModMap["SpoofReferrer"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofReferrer(params[0]) - } + rqmModMap["HideReferrer"] = func(_ ...string) proxychain.RequestModification { + return rx.HideReferrer() + } - rqmModMap["HideReferrer"] = func(_ ...string) proxychain.RequestModification { - return rx.HideReferrer() - } + rqmModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBaiduSearch() + } - rqmModMap["SpoofReferrerFromBaiduSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromBaiduSearch() - } + rqmModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromBingSearch() + } - rqmModMap["SpoofReferrerFromBingSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromBingSearch() - } + rqmModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromGoogleSearch() + } - rqmModMap["SpoofReferrerFromGoogleSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromGoogleSearch() - } + rqmModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromLinkedInPost() + } - rqmModMap["SpoofReferrerFromLinkedInPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromLinkedInPost() - } + rqmModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromNaverSearch() + } - rqmModMap["SpoofReferrerFromNaverSearch"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromNaverSearch() - } + rqmModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromPinterestPost() + } - rqmModMap["SpoofReferrerFromPinterestPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromPinterestPost() - } + rqmModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromQQPost() + } - rqmModMap["SpoofReferrerFromQQPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromQQPost() - } + rqmModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromRedditPost() + } - rqmModMap["SpoofReferrerFromRedditPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromRedditPost() - } + rqmModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTumblrPost() + } - rqmModMap["SpoofReferrerFromTumblrPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromTumblrPost() - } + rqmModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromTwitterPost() + } - rqmModMap["SpoofReferrerFromTwitterPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromTwitterPost() - } + rqmModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromVkontaktePost() + } - rqmModMap["SpoofReferrerFromVkontaktePost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromVkontaktePost() - } + rqmModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.RequestModification { + return rx.SpoofReferrerFromWeiboPost() + } - rqmModMap["SpoofReferrerFromWeiboPost"] = func(_ ...string) proxychain.RequestModification { - return rx.SpoofReferrerFromWeiboPost() - } + rqmModMap["SpoofUserAgent"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofUserAgent(params[0]) + } - rqmModMap["SpoofUserAgent"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofUserAgent(params[0]) - } + rqmModMap["SpoofXForwardedFor"] = func(params ...string) proxychain.RequestModification { + return rx.SpoofXForwardedFor(params[0]) + } - rqmModMap["SpoofXForwardedFor"] = func(params ...string) proxychain.RequestModification { - return rx.SpoofXForwardedFor(params[0]) - } -} +} \ No newline at end of file diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index ea869a32..f6ec8c0e 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -1,5 +1,5 @@ -package ruleset_v2 +package ruleset_v2 // DO NOT EDIT THIS FILE. It is automatically generated by ladder/proxychain/codegen/codegen.go // The purpose of this is serialization of rulesets from JSON or YAML into functional options suitable // for use in proxychains. @@ -16,83 +16,84 @@ var rsmModMap map[string]ResponseModifierFactory func init() { rsmModMap = make(map[string]ResponseModifierFactory) - rsmModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { - return tx.APIContent() - } + rsmModMap["APIContent"] = func(_ ...string) proxychain.ResponseModification { + return tx.APIContent() + } + + rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { + return tx.BlockElementRemoval(params[0]) + } - rsmModMap["BlockElementRemoval"] = func(params ...string) proxychain.ResponseModification { - return tx.BlockElementRemoval(params[0]) - } + rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassCORS() + } - rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { - return tx.BypassCORS() - } + rsmModMap["BypassContentSecurityPolicy"] = func(_ ...string) proxychain.ResponseModification { + return tx.BypassContentSecurityPolicy() + } - rsmModMap["BypassContentSecurityPolicy"] = func(_ ...string) proxychain.ResponseModification { - return tx.BypassContentSecurityPolicy() - } + rsmModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { + return tx.SetContentSecurityPolicy(params[0]) + } - rsmModMap["SetContentSecurityPolicy"] = func(params ...string) proxychain.ResponseModification { - return tx.SetContentSecurityPolicy(params[0]) - } + rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { + return tx.ForwardResponseHeaders() + } - rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { - return tx.ForwardResponseHeaders() - } + rsmModMap["GenerateReadableOutline"] = func(_ ...string) proxychain.ResponseModification { + return tx.GenerateReadableOutline() + } - rsmModMap["GenerateReadableOutline"] = func(_ ...string) proxychain.ResponseModification { - return tx.GenerateReadableOutline() - } + rsmModMap["InjectScriptBeforeDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptBeforeDOMContentLoaded(params[0]) + } - rsmModMap["InjectScriptBeforeDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptBeforeDOMContentLoaded(params[0]) - } + rsmModMap["InjectScriptAfterDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMContentLoaded(params[0]) + } - rsmModMap["InjectScriptAfterDOMContentLoaded"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptAfterDOMContentLoaded(params[0]) - } + rsmModMap["InjectScriptAfterDOMIdle"] = func(params ...string) proxychain.ResponseModification { + return tx.InjectScriptAfterDOMIdle(params[0]) + } - rsmModMap["InjectScriptAfterDOMIdle"] = func(params ...string) proxychain.ResponseModification { - return tx.InjectScriptAfterDOMIdle(params[0]) - } + rsmModMap["DeleteIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookies(params[0]) + } - rsmModMap["DeleteIncomingCookies"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteIncomingCookies(params[0]) - } + rsmModMap["DeleteIncomingCookiesExcept"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteIncomingCookiesExcept(params[0]) + } - rsmModMap["DeleteIncomingCookiesExcept"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteIncomingCookiesExcept(params[0]) - } + rsmModMap["SetIncomingCookies"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookies(params[0]) + } - rsmModMap["SetIncomingCookies"] = func(params ...string) proxychain.ResponseModification { - return tx.SetIncomingCookies(params[0]) - } + rsmModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { + return tx.SetIncomingCookie(params[0], params[1]) + } - rsmModMap["SetIncomingCookie"] = func(params ...string) proxychain.ResponseModification { - return tx.SetIncomingCookie(params[0], params[1]) - } + rsmModMap["SetResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.SetResponseHeader(params[0], params[1]) + } - rsmModMap["SetResponseHeader"] = func(params ...string) proxychain.ResponseModification { - return tx.SetResponseHeader(params[0], params[1]) - } + rsmModMap["DeleteResponseHeader"] = func(params ...string) proxychain.ResponseModification { + return tx.DeleteResponseHeader(params[0]) + } - rsmModMap["DeleteResponseHeader"] = func(params ...string) proxychain.ResponseModification { - return tx.DeleteResponseHeader(params[0]) - } + rsmModMap["PatchDynamicResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchDynamicResourceURLs() + } - rsmModMap["PatchDynamicResourceURLs"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchDynamicResourceURLs() - } + rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchGoogleAnalytics() + } - rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchGoogleAnalytics() - } + rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { + return tx.PatchTrackerScripts() + } - rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchTrackerScripts() - } + rsmModMap["RewriteHTMLResourceURLs"] = func(_ ...string) proxychain.ResponseModification { + return tx.RewriteHTMLResourceURLs() + } - rsmModMap["RewriteHTMLResourceURLs"] = func(_ ...string) proxychain.ResponseModification { - return tx.RewriteHTMLResourceURLs() - } -} +} \ No newline at end of file diff --git a/proxychain/ruleset/ruleset.go b/proxychain/ruleset/ruleset.go index 9731df62..68056d28 100644 --- a/proxychain/ruleset/ruleset.go +++ b/proxychain/ruleset/ruleset.go @@ -163,6 +163,18 @@ func (rs *Ruleset) loadRulesFromLocalDir(path string) error { return nil }) + // create a map of pointers to rules loaded above based on domain string keys + // this way we don't have two copies of the rule in ruleset + for i, rule := range rs.Rules { + rulePtr := &rs.Rules[i] + for _, domain := range rule.Domains { + rs._rulemap[domain] = rulePtr + if !strings.HasPrefix(domain, "www.") { + rs._rulemap["www."+domain] = rulePtr + } + } + } + if err != nil { return err } diff --git a/ruleset_v2.yaml b/ruleset_v2.yaml new file mode 100644 index 00000000..0eea0ecf --- /dev/null +++ b/ruleset_v2.yaml @@ -0,0 +1,17 @@ +rules: + - domains: + - example.com + - www.example.com + responsemodifications: + - name: APIContent + params: [] + - name: SetContentSecurityPolicy + params: + - foobar + - name: SetIncomingCookie + params: + - authorization-bearer + - hunter2 + requestmodifications: + - name: ForwardRequestHeaders + params: [] From 0b33765b4f64d080068e7ca9145a191d1ffc83e7 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 21:03:27 -0600 Subject: [PATCH 111/178] add support for rulesets in JSON format for frontend use --- handlers/proxy.go | 6 -- internal/cli/ruleset_merge.go | 2 +- proxychain/ruleset/rule.go | 7 +- proxychain/ruleset/ruleset.go | 109 ++++++++++++++++++++++++++--- proxychain/ruleset/ruleset_test.go | 45 ++++++++++-- 5 files changed, 146 insertions(+), 23 deletions(-) diff --git a/handlers/proxy.go b/handlers/proxy.go index 5377a893..2a9e40f4 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -1,7 +1,6 @@ package handlers import ( - "fmt" "ladder/proxychain" rx "ladder/proxychain/requestmodifiers" tx "ladder/proxychain/responsemodifiers" @@ -61,12 +60,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { // load ruleset rule, exists := rs.GetRule(proxychain.Request.URL) - fmt.Println("============") - fmt.Println(proxychain.Request.URL) - fmt.Println(rs) - fmt.Println("============") if exists { - fmt.Println("===========EXISTS=") proxychain.AddOnceRequestModifications(rule.RequestModifications...) proxychain.AddOnceResponseModifications(rule.ResponseModifications...) } diff --git a/internal/cli/ruleset_merge.go b/internal/cli/ruleset_merge.go index 98524b45..2a7a75d4 100644 --- a/internal/cli/ruleset_merge.go +++ b/internal/cli/ruleset_merge.go @@ -52,7 +52,7 @@ func HandleRulesetMerge(rulesetPath string, mergeRulesets bool, output *os.File) // Returns: // - An error if YAML conversion or file writing fails, otherwise nil. func yamlMerge(rs ruleset_v2.Ruleset, output io.Writer) error { - yaml, err := rs.Yaml() + yaml, err := rs.YAML() if err != nil { return err } diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index ccc8bc6e..0e7568b8 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -1,6 +1,7 @@ package ruleset_v2 import ( + "bytes" "encoding/json" "fmt" @@ -134,5 +135,9 @@ func (rule *Rule) MarshalYAML() (interface{}, error) { ResponseModifications: rule._rsms, } - return yaml.Marshal(aux) + var b bytes.Buffer + y := yaml.NewEncoder(&b) + y.SetIndent(2) + err := y.Encode(aux) + return b.String(), err } diff --git a/proxychain/ruleset/ruleset.go b/proxychain/ruleset/ruleset.go index 68056d28..cadb8fe4 100644 --- a/proxychain/ruleset/ruleset.go +++ b/proxychain/ruleset/ruleset.go @@ -1,6 +1,7 @@ package ruleset_v2 import ( + "bytes" "compress/gzip" "errors" "fmt" @@ -12,13 +13,14 @@ import ( "path/filepath" "strings" + "encoding/json" "gopkg.in/yaml.v3" - //"encoding/json" ) type IRuleset interface { HasRule(url url.URL) bool GetRule(url url.URL) (rule Rule, exists bool) + YAML() (string, error) } type Ruleset struct { @@ -63,6 +65,7 @@ func (rs *Ruleset) MarshalYAML() (interface{}, error) { RequestModifications []_rqm `yaml:"requestmodifications"` ResponseModifications []_rsm `yaml:"responsemodifications"` } + type Aux struct { Rules []AuxRule `yaml:"rules"` } @@ -78,10 +81,68 @@ func (rs *Ruleset) MarshalYAML() (interface{}, error) { aux.Rules = append(aux.Rules, auxRule) } - out, err := yaml.Marshal(&aux) - return out, err + var b bytes.Buffer + y := yaml.NewEncoder(&b) + y.SetIndent(2) + err := y.Encode(&aux) + + return b.String(), err +} + +// ========================================================== + +func (rs *Ruleset) UnmarshalJSON(data []byte) error { + type AuxRuleset struct { + Rules []Rule `json:"rules"` + } + ar := &AuxRuleset{} + + if err := json.Unmarshal(data, ar); err != nil { + return err + } + + rs._rulemap = make(map[string]*Rule) + rs.Rules = ar.Rules + + for i, rule := range rs.Rules { + rulePtr := &rs.Rules[i] + for _, domain := range rule.Domains { + rs._rulemap[domain] = rulePtr + if !strings.HasPrefix(domain, "www.") { + rs._rulemap["www."+domain] = rulePtr + } + } + } + + return nil +} + +func (rs *Ruleset) MarshalJSON() ([]byte, error) { + type AuxRule struct { + Domains []string `json:"domains"` + RequestModifications []_rqm `json:"requestmodifications"` + ResponseModifications []_rsm `json:"responsemodifications"` + } + + type Aux struct { + Rules []AuxRule `json:"rules"` + } + + aux := Aux{} + for _, rule := range rs.Rules { + auxRule := AuxRule{ + Domains: rule.Domains, + RequestModifications: rule._rqms, + ResponseModifications: rule._rsms, + } + aux.Rules = append(aux.Rules, auxRule) + } + + return json.Marshal(aux) } +// =========================================================== + func (rs Ruleset) GetRule(url *url.URL) (rule *Rule, exists bool) { rule, exists = rs._rulemap[url.Hostname()] return rule, exists @@ -165,6 +226,9 @@ func (rs *Ruleset) loadRulesFromLocalDir(path string) error { // create a map of pointers to rules loaded above based on domain string keys // this way we don't have two copies of the rule in ruleset + if rs._rulemap == nil { + rs._rulemap = make(map[string]*Rule) + } for i, rule := range rs.Rules { rulePtr := &rs.Rules[i] for _, domain := range rule.Domains { @@ -185,17 +249,22 @@ func (rs *Ruleset) loadRulesFromLocalDir(path string) error { // loadRulesFromLocalFile loads rules from a local YAML file specified by the path. // Returns an error if the file cannot be read or if there's a syntax error in the YAML. func (rs *Ruleset) loadRulesFromLocalFile(path string) error { - yamlFile, err := os.ReadFile(path) + file, err := os.ReadFile(path) if err != nil { e := fmt.Errorf("failed to read rules from local file: '%s'", path) return errors.Join(e, err) } - err = yaml.Unmarshal(yamlFile, rs) + isJSON := strings.HasSuffix(path, ".json") + if isJSON { + err = json.Unmarshal(file, rs) + } else { + err = yaml.Unmarshal(file, rs) + } if err != nil { e := fmt.Errorf("failed to load rules from local file, possible syntax error in '%s' - %s", path, err) - debugPrintRule(string(yamlFile), e) + debugPrintRule(string(file), e) return e } @@ -232,7 +301,12 @@ func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { reader = resp.Body } - err = yaml.NewDecoder(reader).Decode(&rs) + isJSON := strings.HasSuffix(rulesURL, ".json") || resp.Header.Get("content-type") == "application/json" + if isJSON { + err = json.NewDecoder(reader).Decode(&rs) + } else { + err = yaml.NewDecoder(reader).Decode(&rs) + } if err != nil { return fmt.Errorf("failed to load rules from remote url '%s' with status code '%s' and possible syntax error - %s", rulesURL, resp.Status, err) @@ -243,14 +317,29 @@ func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { // ================= utility methods ========================== -// Yaml returns the ruleset as a Yaml string -func (rs *Ruleset) Yaml() (string, error) { +// YAML returns the ruleset as a Yaml string +func (rs *Ruleset) YAML() (string, error) { y, err := yaml.Marshal(rs) if err != nil { return "", err } - return string(y), nil + // for some reason, MarshalYAML seems to turn everything into a string block + // this is a workaround. Don't call yaml.Marshal directly, instead call this helper method. + x := strings.ReplaceAll(string(y), "\n ", "\n") + x = strings.Replace(x, "|\n", "", 1) + fmt.Println(x) + + return x, nil +} + +// YAML returns the ruleset as a JSON string +func (rs *Ruleset) JSON() (string, error) { + j, err := json.Marshal(rs) + if err != nil { + return "", err + } + return string(j), nil } // Domains extracts and returns a slice of all domains present in the RuleSet. diff --git a/proxychain/ruleset/ruleset_test.go b/proxychain/ruleset/ruleset_test.go index c7311bd2..454edd0d 100644 --- a/proxychain/ruleset/ruleset_test.go +++ b/proxychain/ruleset/ruleset_test.go @@ -1,20 +1,24 @@ package ruleset_v2 import ( + "encoding/json" "fmt" "net/url" "os" "path/filepath" + "strings" + + //"strings" "testing" "time" "github.com/gofiber/fiber/v2" "github.com/stretchr/testify/assert" + //"gopkg.in/yaml.v3" ) var ( - validYAML = ` -rules: + validYAML = `rules: - domains: - example.com - www.example.com @@ -51,6 +55,32 @@ rules: ` ) +func TestYAMLUnmarshal(t *testing.T) { + rs, err := loadRuleFromString(validYAML) + fmt.Println(validYAML) + assert.NoError(t, err, "expected no error loading valid yml") + yml, err := rs.YAML() + assert.NoError(t, err, "expected no error marshalling ruleset") + + rs2, err := loadRuleFromString(yml) + assert.NoError(t, err, "expected no error loading yaml marshalled -> unmarshalled -> marshalled ruleset") + assert.Equal(t, 1, rs2.Count(), "expected one rule to be returned after marshalled -> unmarshalled -> marshalled ruleset") +} + +func TestJSONUnmarshal(t *testing.T) { + rs, err := loadRuleFromString(validYAML) + assert.NoError(t, err, "expected no error loading valid yml") + j, err := json.Marshal(&rs) + assert.NoError(t, err, "expected no error marshalling ruleset to json") + + fmt.Println(string(j)) + + rs2, err := loadRuleFromString(string(j)) + assert.NoError(t, err, "expected no error loading JSON marshalled -> unmarshalled -> marshalled ruleset") + + assert.Equal(t, 1, rs2.Count(), "expected one rule to be returned after JSON marshalled -> unmarshalled -> marshalled ruleset") +} + func TestLoadRulesFromRemoteFile(t *testing.T) { app := fiber.New() defer app.Shutdown() @@ -103,13 +133,18 @@ func TestLoadRulesFromRemoteFile(t *testing.T) { } } -func loadRuleFromString(yaml string) (Ruleset, error) { +func loadRuleFromString(yamlOrJSON string) (Ruleset, error) { // Create a temporary file and load it - tmpFile, _ := os.CreateTemp("", "ruleset*.yaml") + var tmpFile *os.File + if strings.HasPrefix(yamlOrJSON, "{") { + tmpFile, _ = os.CreateTemp("", "ruleset*.json") + } else { + tmpFile, _ = os.CreateTemp("", "ruleset*.yaml") + } defer os.Remove(tmpFile.Name()) - tmpFile.WriteString(yaml) + tmpFile.WriteString(yamlOrJSON) rs := Ruleset{ _rulemap: map[string]*Rule{}, From 5a7fe8a70a5f18d3e92f0c345f81dff79db50e98 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 21:09:06 -0600 Subject: [PATCH 112/178] re-add googlebot ip randomization flag to fix import cycle --- cmd/main.go | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 32792e56..23da0fdb 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -9,6 +9,7 @@ import ( "ladder/handlers" "ladder/internal/cli" + "ladder/proxychain/requestmodifiers/bot" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" @@ -42,17 +43,15 @@ func main() { Help: "Adds verbose logging", }) - /* - randomGoogleBot := parser.Flag("", "random-googlebot", &argparse.Options{ - Required: false, - Help: "Update the list of trusted Googlebot IPs, and use a random one for each masqueraded request", - }) + randomGoogleBot := parser.Flag("", "random-googlebot", &argparse.Options{ + Required: false, + Help: "Update the list of trusted Googlebot IPs, and use a random one for each masqueraded request", + }) - randomBingBot := parser.Flag("", "random-bingbot", &argparse.Options{ - Required: false, - Help: "Update the list of trusted Bingbot IPs, and use a random one for each masqueraded request", - }) - */ + randomBingBot := parser.Flag("", "random-bingbot", &argparse.Options{ + Required: false, + Help: "Update the list of trusted Bingbot IPs, and use a random one for each masqueraded request", + }) // TODO: add version flag that reads from handers/VERSION @@ -76,23 +75,21 @@ func main() { fmt.Print(parser.Usage(err)) } - /* - if *randomGoogleBot { - err := bot.GoogleBot.UpdatePool("https://developers.google.com/static/search/apis/ipranges/googlebot.json") - if err != nil { - fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error()) - fmt.Println("defaulting to known trusted Googlebot identity") - } + if *randomGoogleBot { + err := bot.GoogleBot.UpdatePool("https://developers.google.com/static/search/apis/ipranges/googlebot.json") + if err != nil { + fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error()) + fmt.Println("defaulting to known trusted Googlebot identity") } + } - if *randomBingBot { - err := bot.BingBot.UpdatePool("https://www.bing.com/toolbox/bingbot.json") - if err != nil { - fmt.Println("error while retrieving list of Bingbot IPs: " + err.Error()) - fmt.Println("defaulting to known trusted Bingbot identity") - } + if *randomBingBot { + err := bot.BingBot.UpdatePool("https://www.bing.com/toolbox/bingbot.json") + if err != nil { + fmt.Println("error while retrieving list of Bingbot IPs: " + err.Error()) + fmt.Println("defaulting to known trusted Bingbot identity") } - */ + } // utility cli flag to compile ruleset directory into single ruleset.yaml if *mergeRulesets { From 0bfd83f64ae516daf7fcc8adf07eb36e14a9c8e2 Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Tue, 5 Dec 2023 21:27:47 -0600 Subject: [PATCH 113/178] update deps --- go.mod | 37 +++++++++++++++++-------------------- go.sum | 14 ++++++-------- 2 files changed, 23 insertions(+), 28 deletions(-) diff --git a/go.mod b/go.mod index 362cc466..52de4ce7 100644 --- a/go.mod +++ b/go.mod @@ -7,56 +7,53 @@ require ( github.com/bogdanfinn/fhttp v0.5.24 github.com/bogdanfinn/tls-client v1.6.1 github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c - github.com/gofiber/fiber/v2 v2.50.0 + github.com/gofiber/fiber/v2 v2.51.0 github.com/markusmobius/go-trafilatura v1.5.1 github.com/stretchr/testify v1.8.4 + golang.org/x/net v0.19.0 + golang.org/x/term v0.15.0 gopkg.in/yaml.v3 v3.0.1 ) require ( github.com/abadojack/whatlanggo v1.0.1 // indirect + github.com/andybalholm/brotli v1.0.6 // indirect github.com/andybalholm/cascadia v1.3.2 // indirect github.com/bogdanfinn/utls v1.5.16 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/elliotchance/pie/v2 v2.8.0 // indirect github.com/forPelevin/gomoji v1.1.8 // indirect github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789 // indirect github.com/gofiber/template v1.8.2 // indirect + github.com/gofiber/template/html/v2 v2.0.5 github.com/gofiber/utils v1.1.0 // indirect github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect + github.com/google/uuid v1.4.0 // indirect github.com/hablullah/go-hijri v1.0.2 // indirect github.com/hablullah/go-juliandays v1.0.0 // indirect github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958 // indirect + github.com/klauspost/compress v1.17.4 // indirect github.com/magefile/mage v1.15.0 // indirect github.com/markusmobius/go-dateparser v1.2.1 // indirect github.com/markusmobius/go-domdistiller v0.0.0-20230515154422-71af71939ff3 // indirect github.com/markusmobius/go-htmldate v1.2.2 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rivo/uniseg v0.4.4 // indirect github.com/rs/zerolog v1.31.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 // indirect github.com/tetratelabs/wazero v1.5.0 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.51.0 // indirect + github.com/valyala/tcplisten v1.0.0 // indirect github.com/wasilibs/go-re2 v1.4.1 // indirect github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4 // indirect golang.org/x/crypto v0.16.0 // indirect golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect + golang.org/x/sys v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect -) -require ( - github.com/andybalholm/brotli v1.0.6 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/gofiber/template/html/v2 v2.0.5 - github.com/google/uuid v1.4.0 // indirect - github.com/klauspost/compress v1.17.3 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/rivo/uniseg v0.4.4 // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v1.50.0 // indirect - github.com/valyala/tcplisten v1.0.0 // indirect - golang.org/x/net v0.19.0 - golang.org/x/sys v0.15.0 // indirect - golang.org/x/term v0.15.0 ) diff --git a/go.sum b/go.sum index 79414c97..df0254a9 100644 --- a/go.sum +++ b/go.sum @@ -25,8 +25,8 @@ github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c/go.mod h1:oVDCh3qjJM github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789 h1:G6wSuUyCoLB9jrUokipsmFuRi8aJozt3phw/g9Sl4Xs= github.com/go-shiori/go-readability v0.0.0-20231029095239-6b97d5aba789/go.mod h1:2DpZlTJO/ycxp/vsc/C11oUyveStOgIXB88SYV1lncI= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofiber/fiber/v2 v2.50.0 h1:ia0JaB+uw3GpNSCR5nvC5dsaxXjRU5OEu36aytx+zGw= -github.com/gofiber/fiber/v2 v2.50.0/go.mod h1:21eytvay9Is7S6z+OgPi7c7n4++tnClWmhpimVHMimw= +github.com/gofiber/fiber/v2 v2.51.0 h1:JNACcZy5e2tGApWB2QrRpenTWn0fq0hkFm6k0C86gKQ= +github.com/gofiber/fiber/v2 v2.51.0/go.mod h1:xaQRZQJGqnKOQnbQw+ltvku3/h8QxvNi8o6JiJ7Ll0U= github.com/gofiber/template v1.8.2 h1:PIv9s/7Uq6m+Fm2MDNd20pAFFKt5wWs7ZBd8iV9pWwk= github.com/gofiber/template v1.8.2/go.mod h1:bs/2n0pSNPOkRa5VJ8zTIvedcI/lEYxzV3+YPXdBvq8= github.com/gofiber/template/html/v2 v2.0.5 h1:BKLJ6Qr940NjntbGmpO3zVa4nFNGDCi/IfUiDB9OC20= @@ -43,8 +43,8 @@ github.com/hablullah/go-juliandays v1.0.0 h1:A8YM7wIj16SzlKT0SRJc9CD29iiaUzpBLzh github.com/hablullah/go-juliandays v1.0.0/go.mod h1:0JOYq4oFOuDja+oospuc61YoX+uNEn7Z6uHYTbBzdGc= github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958 h1:qxLoi6CAcXVzjfvu+KXIXJOAsQB62LXjsfbOaErsVzE= github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958/go.mod h1:Wqfu7mjUHj9WDzSSPI5KfBclTTEnLveRUFr/ujWnTgE= -github.com/klauspost/compress v1.17.3 h1:qkRjuerhUU1EmXLYGkSH6EZL+vPSxIrYjLNAK4slzwA= -github.com/klauspost/compress v1.17.3/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= +github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -90,8 +90,8 @@ github.com/tetratelabs/wazero v1.5.0 h1:Yz3fZHivfDiZFUXnWMPUoiW7s8tC1sjdBtlJn08q github.com/tetratelabs/wazero v1.5.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.50.0 h1:H7fweIlBm0rXLs2q0XbalvJ6r0CUPFWK3/bB4N13e9M= -github.com/valyala/fasthttp v1.50.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= +github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= +github.com/valyala/fasthttp v1.51.0/go.mod h1:oI2XroL+lI7vdXyYoQk03bXBThfFl2cVdIA3Xl7cH8g= github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/wasilibs/go-re2 v1.4.1 h1:E5+9O1M8UoGeqLB2A9omeoaWImqpuYDs9cKwvTJq/Oo= @@ -153,8 +153,6 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 20984438f95bcb2c9421ba2540b3bd413c2c9612 Mon Sep 17 00:00:00 2001 From: Damian Bednarczyk Date: Tue, 5 Dec 2023 21:28:11 -0600 Subject: [PATCH 114/178] move all non *.go files to vendor directory --- proxychain/responsemodifiers/block_element_removal.go | 2 +- proxychain/responsemodifiers/generate_readable_outline.go | 2 +- proxychain/responsemodifiers/patch_dynamic_resource_urls.go | 2 +- proxychain/responsemodifiers/patch_google_analytics.go | 2 +- .../responsemodifiers/{ => vendor}/block_element_removal.js | 0 .../{ => vendor}/generate_readable_outline.html | 0 .../{ => vendor}/patch_dynamic_resource_urls.js | 0 .../responsemodifiers/{ => vendor}/patch_google_analytics.js | 0 8 files changed, 4 insertions(+), 4 deletions(-) rename proxychain/responsemodifiers/{ => vendor}/block_element_removal.js (100%) rename proxychain/responsemodifiers/{ => vendor}/generate_readable_outline.html (100%) rename proxychain/responsemodifiers/{ => vendor}/patch_dynamic_resource_urls.js (100%) rename proxychain/responsemodifiers/{ => vendor}/patch_google_analytics.js (100%) diff --git a/proxychain/responsemodifiers/block_element_removal.go b/proxychain/responsemodifiers/block_element_removal.go index bf1646b0..d3521d0b 100644 --- a/proxychain/responsemodifiers/block_element_removal.go +++ b/proxychain/responsemodifiers/block_element_removal.go @@ -8,7 +8,7 @@ import ( "ladder/proxychain/responsemodifiers/rewriters" ) -//go:embed block_element_removal.js +//go:embed vendor/block_element_removal.js var blockElementRemoval string // BlockElementRemoval prevents paywall javascript from removing a diff --git a/proxychain/responsemodifiers/generate_readable_outline.go b/proxychain/responsemodifiers/generate_readable_outline.go index c1fa3263..f6357973 100644 --- a/proxychain/responsemodifiers/generate_readable_outline.go +++ b/proxychain/responsemodifiers/generate_readable_outline.go @@ -19,7 +19,7 @@ import ( "github.com/markusmobius/go-trafilatura" ) -//go:embed generate_readable_outline.html +//go:embed vendor/generate_readable_outline.html var templateFS embed.FS // GenerateReadableOutline creates an reader-friendly distilled representation of the article. diff --git a/proxychain/responsemodifiers/patch_dynamic_resource_urls.go b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go index cf5b6891..53d30d89 100644 --- a/proxychain/responsemodifiers/patch_dynamic_resource_urls.go +++ b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go @@ -9,7 +9,7 @@ import ( "ladder/proxychain/responsemodifiers/rewriters" ) -//go:embed patch_dynamic_resource_urls.js +//go:embed vendor/patch_dynamic_resource_urls.js var patchDynamicResourceURLsScript string // PatchDynamicResourceURLs patches the javascript runtime to rewrite URLs client-side. diff --git a/proxychain/responsemodifiers/patch_google_analytics.go b/proxychain/responsemodifiers/patch_google_analytics.go index 51e86391..4427ea50 100644 --- a/proxychain/responsemodifiers/patch_google_analytics.go +++ b/proxychain/responsemodifiers/patch_google_analytics.go @@ -8,7 +8,7 @@ import ( "ladder/proxychain" ) -//go:embed patch_google_analytics.js +//go:embed vendor/patch_google_analytics.js var gaPatch string // PatchGoogleAnalytics replaces any request to google analytics with a no-op stub function. diff --git a/proxychain/responsemodifiers/block_element_removal.js b/proxychain/responsemodifiers/vendor/block_element_removal.js similarity index 100% rename from proxychain/responsemodifiers/block_element_removal.js rename to proxychain/responsemodifiers/vendor/block_element_removal.js diff --git a/proxychain/responsemodifiers/generate_readable_outline.html b/proxychain/responsemodifiers/vendor/generate_readable_outline.html similarity index 100% rename from proxychain/responsemodifiers/generate_readable_outline.html rename to proxychain/responsemodifiers/vendor/generate_readable_outline.html diff --git a/proxychain/responsemodifiers/patch_dynamic_resource_urls.js b/proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js similarity index 100% rename from proxychain/responsemodifiers/patch_dynamic_resource_urls.js rename to proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js diff --git a/proxychain/responsemodifiers/patch_google_analytics.js b/proxychain/responsemodifiers/vendor/patch_google_analytics.js similarity index 100% rename from proxychain/responsemodifiers/patch_google_analytics.js rename to proxychain/responsemodifiers/vendor/patch_google_analytics.js From 619237358705038a92923610a2e40dd9a8b32d5b Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Tue, 5 Dec 2023 21:28:53 -0600 Subject: [PATCH 115/178] update cli flags to load ruleset --- .air.toml | 2 +- cmd/main.go | 23 ++++++++++++++++++----- handlers/proxy.go | 10 +++------- proxychain/ruleset/ruleset.go | 11 ++++++----- 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/.air.toml b/.air.toml index b72547ff..5189fe68 100644 --- a/.air.toml +++ b/.air.toml @@ -12,7 +12,7 @@ tmp_dir = "tmp" exclude_regex = ["_test.go"] exclude_unchanged = false follow_symlink = false - full_bin = "./tmp/main --ruleset ./ruleset.yaml" + full_bin = "./tmp/main --ruleset ./ruleset_v2.yaml" include_dir = [] include_ext = ["go", "tpl", "tmpl", "yaml", "html", "js"] include_file = [] diff --git a/cmd/main.go b/cmd/main.go index 23da0fdb..753db5d9 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -10,6 +10,7 @@ import ( "ladder/handlers" "ladder/internal/cli" "ladder/proxychain/requestmodifiers/bot" + "ladder/proxychain/ruleset" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" @@ -116,6 +117,18 @@ func main() { *prefork = true } + var rs ruleset_v2.IRuleset + + switch { + case *ruleset != "": + rs, err = ruleset_v2.NewRuleset(*ruleset) + if err != nil { + fmt.Printf("ERROR: failed to load ruleset from %s\n", *ruleset) + } + case os.Getenv("RULESET") != "": + rs = ruleset_v2.NewRulesetFromEnv() + } + engine := html.New("./handlers", ".html") engine.AddFunc( // add unescape function @@ -145,6 +158,11 @@ func main() { }) } + proxyOpts := &handlers.ProxyOptions{ + Verbose: *verbose, + Ruleset: rs, + } + app.Get("/", handlers.Form) app.Get("styles.css", handlers.Styles) @@ -152,11 +170,6 @@ func main() { app.Get("ruleset", handlers.Ruleset) app.Get("raw/*", handlers.Raw) - proxyOpts := &handlers.ProxyOptions{ - Verbose: *verbose, - RulesetPath: *ruleset, - } - app.Get("api/content/*", handlers.NewAPIContentHandler("api/outline/*", proxyOpts)) app.Get("outline/*", handlers.NewOutlineHandler("outline/*", proxyOpts)) diff --git a/handlers/proxy.go b/handlers/proxy.go index 2a9e40f4..ee0bf9da 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -10,8 +10,8 @@ import ( ) type ProxyOptions struct { - RulesetPath string - Verbose bool + Ruleset ruleset_v2.IRuleset + Verbose bool } func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { @@ -25,10 +25,6 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { rs = r } */ - rs, err := ruleset_v2.NewRuleset("ruleset_v2.yaml") - if err != nil { - panic(err) - } return func(c *fiber.Ctx) error { proxychain := proxychain. @@ -59,7 +55,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { ) // load ruleset - rule, exists := rs.GetRule(proxychain.Request.URL) + rule, exists := opts.Ruleset.GetRule(proxychain.Request.URL) if exists { proxychain.AddOnceRequestModifications(rule.RequestModifications...) proxychain.AddOnceResponseModifications(rule.ResponseModifications...) diff --git a/proxychain/ruleset/ruleset.go b/proxychain/ruleset/ruleset.go index cadb8fe4..78e376ae 100644 --- a/proxychain/ruleset/ruleset.go +++ b/proxychain/ruleset/ruleset.go @@ -18,9 +18,10 @@ import ( ) type IRuleset interface { - HasRule(url url.URL) bool - GetRule(url url.URL) (rule Rule, exists bool) YAML() (string, error) + JSON() (string, error) + HasRule(url *url.URL) bool + GetRule(url *url.URL) (rule *Rule, exists bool) } type Ruleset struct { @@ -318,7 +319,7 @@ func (rs *Ruleset) loadRulesFromRemoteFile(rulesURL string) error { // ================= utility methods ========================== // YAML returns the ruleset as a Yaml string -func (rs *Ruleset) YAML() (string, error) { +func (rs Ruleset) YAML() (string, error) { y, err := yaml.Marshal(rs) if err != nil { return "", err @@ -333,8 +334,8 @@ func (rs *Ruleset) YAML() (string, error) { return x, nil } -// YAML returns the ruleset as a JSON string -func (rs *Ruleset) JSON() (string, error) { +// JSON returns the ruleset as a JSON string +func (rs Ruleset) JSON() (string, error) { j, err := json.Marshal(rs) if err != nil { return "", err From b4dd0e53804304ca27df912d16f58a8093d1ab43 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 6 Dec 2023 08:41:45 -0600 Subject: [PATCH 116/178] add localstorage clearer, sessionstorage cleaer, and cachebuster modifiers --- handlers/proxy.go | 24 ++++++++-------- proxychain/proxychain.go | 26 ++++++++--------- .../add_cache_buster_query.go | 28 +++++++++++++++++++ .../requestmodifiers/modify_query_params.go | 2 ++ .../delete_localstorage_data.go | 28 +++++++++++++++++++ .../delete_sessionstorage_data.go | 28 +++++++++++++++++++ .../modify_incoming_cookies.go | 8 ++++-- proxychain/ruleset/rule_reqmod_types.gen.go | 6 +++- proxychain/ruleset/rule_resmod_types.gen.go | 8 ++++++ 9 files changed, 130 insertions(+), 28 deletions(-) create mode 100644 proxychain/requestmodifiers/add_cache_buster_query.go create mode 100644 proxychain/responsemodifiers/delete_localstorage_data.go create mode 100644 proxychain/responsemodifiers/delete_sessionstorage_data.go diff --git a/handlers/proxy.go b/handlers/proxy.go index ee0bf9da..6e3b7506 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -32,25 +32,27 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetFiberCtx(c). SetDebugLogging(opts.Verbose). SetRequestModifications( - // rx.SpoofJA3fingerprint(ja3, "Googlebot"), - // rx.MasqueradeAsFacebookBot(), - // rx.MasqueradeAsGoogleBot(), - rx.DeleteOutgoingCookies(), + //rx.SpoofJA3fingerprint(ja3, "Googlebot"), + rx.AddCacheBusterQuery(), + rx.MasqueradeAsGoogleBot(), rx.ForwardRequestHeaders(), - // rx.SpoofReferrerFromGoogleSearch(), - rx.SpoofReferrerFromLinkedInPost(), - // rx.RequestWaybackMachine(), - // rx.RequestArchiveIs(), + rx.DeleteOutgoingCookies(), + rx.SpoofReferrerFromRedditPost(), + //rx.SpoofReferrerFromLinkedInPost(), + //rx.RequestWaybackMachine(), + //rx.RequestArchiveIs(), ). AddResponseModifications( - tx.ForwardResponseHeaders(), + //tx.ForwardResponseHeaders(), + tx.DeleteIncomingCookies(), + tx.DeleteLocalStorageData(), + tx.DeleteSessionStorageData(), tx.BypassCORS(), tx.BypassContentSecurityPolicy(), - // tx.DeleteIncomingCookies(), tx.RewriteHTMLResourceURLs(), tx.PatchTrackerScripts(), tx.PatchDynamicResourceURLs(), - tx.BlockElementRemoval(".article-content"), + //tx.BlockElementRemoval(".article-content"), // tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 7bd4b90b..ceb0712f 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -5,6 +5,7 @@ import ( "fmt" http "github.com/bogdanfinn/fhttp" tls_client "github.com/bogdanfinn/tls-client" + profiles "github.com/bogdanfinn/tls-client/profiles" "io" "log" "net/url" @@ -192,15 +193,6 @@ func (chain *ProxyChain) _initializeRequest() (*http.Request, error) { return nil, fmt.Errorf("unsupported request method from client: '%s'", chain.Context.Method()) } - /* - // copy client request headers to upstream request headers - forwardHeaders := func(key []byte, val []byte) { - req.Header.Set(string(key), string(val)) - } - clientHeaders := &chain.Context.Request().Header - clientHeaders.VisitAll(forwardHeaders) - */ - return req, nil } @@ -312,9 +304,10 @@ func (chain *ProxyChain) SetFiberCtx(ctx *fiber.Ctx) *ProxyChain { url, err := chain.extractURL() if err != nil { chain.abortErr = chain.abort(err) + } else { + chain.Request.URL = url + fmt.Printf("extracted URL: %s\n", chain.Request.URL) } - chain.Request.URL = url - fmt.Printf("extracted URL: %s\n", chain.Request.URL) return chain } @@ -359,7 +352,12 @@ func (chain *ProxyChain) abort(err error) error { // defer chain._reset() chain.abortErr = err chain.Context.Response().SetStatusCode(500) - e := fmt.Errorf("ProxyChain error for '%s': %s", chain.Request.URL.String(), err.Error()) + var e error + if chain.Request.URL != nil { + e = fmt.Errorf("ProxyChain error for '%s': %s", chain.Request.URL.String(), err.Error()) + } else { + e = fmt.Errorf("ProxyChain error: '%s'", err.Error()) + } chain.Context.SendString(e.Error()) log.Println(e.Error()) return e @@ -382,8 +380,8 @@ func NewProxyChain() *ProxyChain { options := []tls_client.HttpClientOption{ tls_client.WithTimeoutSeconds(20), - tls_client.WithRandomTLSExtensionOrder(), - // tls_client.WithClientProfile(profiles.Chrome_117), + //tls_client.WithRandomTLSExtensionOrder(), + tls_client.WithClientProfile(profiles.Chrome_117), // tls_client.WithNotFollowRedirects(), // tls_client.WithCookieJar(jar), // create cookieJar instance and pass it as argument } diff --git a/proxychain/requestmodifiers/add_cache_buster_query.go b/proxychain/requestmodifiers/add_cache_buster_query.go new file mode 100644 index 00000000..e60f2e03 --- /dev/null +++ b/proxychain/requestmodifiers/add_cache_buster_query.go @@ -0,0 +1,28 @@ +package requestmodifiers + +import ( + "ladder/proxychain" + "math/rand" +) + +// AddCacheBusterQuery modifies query params to add a random parameter key +// In order to get the upstream network stack to serve a fresh copy of the page. +func AddCacheBusterQuery() proxychain.RequestModification { + return func(chain *proxychain.ProxyChain) error { + chain.AddOnceRequestModifications( + ModifyQueryParams("ord", randomString(15)), + ) + + return nil + } +} + +func randomString(length int) string { + const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789." + + b := make([]byte, length) + for i := range b { + b[i] = charset[rand.Intn(len(charset))] + } + return string(b) +} diff --git a/proxychain/requestmodifiers/modify_query_params.go b/proxychain/requestmodifiers/modify_query_params.go index 3cd84b3a..ba817aca 100644 --- a/proxychain/requestmodifiers/modify_query_params.go +++ b/proxychain/requestmodifiers/modify_query_params.go @@ -1,6 +1,7 @@ package requestmodifiers import ( + "fmt" "net/url" "ladder/proxychain" @@ -12,6 +13,7 @@ func ModifyQueryParams(key string, value string) proxychain.RequestModification return func(chain *proxychain.ProxyChain) error { q := chain.Request.URL.Query() chain.Request.URL.RawQuery = modifyQueryParams(key, value, q) + fmt.Println(chain.Request.URL.String()) return nil } } diff --git a/proxychain/responsemodifiers/delete_localstorage_data.go b/proxychain/responsemodifiers/delete_localstorage_data.go new file mode 100644 index 00000000..e214b808 --- /dev/null +++ b/proxychain/responsemodifiers/delete_localstorage_data.go @@ -0,0 +1,28 @@ +package responsemodifiers + +import ( + _ "embed" + "strings" + + "ladder/proxychain" +) + +// DeleteLocalStorageData deletes localstorage cookies. +// If the page works once in a fresh incognito window, but fails +// for subsequent loads, try this response modifier alongside +// DeleteSessionStorageData and DeleteIncomingCookies +func DeleteLocalStorageData() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + // don't add rewriter if it's not even html + ct := chain.Response.Header.Get("content-type") + if !strings.HasPrefix(ct, "text/html") { + return nil + } + + chain.AddOnceResponseModifications( + InjectScriptBeforeDOMContentLoaded(`window.sessionStorage.clear()`), + InjectScriptAfterDOMContentLoaded(`window.sessionStorage.clear()`), + ) + return nil + } +} diff --git a/proxychain/responsemodifiers/delete_sessionstorage_data.go b/proxychain/responsemodifiers/delete_sessionstorage_data.go new file mode 100644 index 00000000..d44be33a --- /dev/null +++ b/proxychain/responsemodifiers/delete_sessionstorage_data.go @@ -0,0 +1,28 @@ +package responsemodifiers + +import ( + _ "embed" + "strings" + + "ladder/proxychain" +) + +// DeleteSessionStorageData deletes localstorage cookies. +// If the page works once in a fresh incognito window, but fails +// for subsequent loads, try this response modifier alongside +// DeleteLocalStorageData and DeleteIncomingCookies +func DeleteSessionStorageData() proxychain.ResponseModification { + return func(chain *proxychain.ProxyChain) error { + // don't add rewriter if it's not even html + ct := chain.Response.Header.Get("content-type") + if !strings.HasPrefix(ct, "text/html") { + return nil + } + + chain.AddOnceResponseModifications( + InjectScriptBeforeDOMContentLoaded(`window.sessionStorage.clear()`), + InjectScriptAfterDOMContentLoaded(`window.sessionStorage.clear()`), + ) + return nil + } +} diff --git a/proxychain/responsemodifiers/modify_incoming_cookies.go b/proxychain/responsemodifiers/modify_incoming_cookies.go index f655c949..5ad63cc6 100644 --- a/proxychain/responsemodifiers/modify_incoming_cookies.go +++ b/proxychain/responsemodifiers/modify_incoming_cookies.go @@ -13,8 +13,12 @@ import ( // DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server // back down to the client. func DeleteIncomingCookies(_ ...string) proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.Response.Header.Del("Set-Cookie") + return func(chain *proxychain.ProxyChain) error { + chain.Response.Header.Del("Set-Cookie") + chain.AddOnceResponseModifications( + InjectScriptBeforeDOMContentLoaded(`document.cookie = ""`), + InjectScriptAfterDOMContentLoaded(`document.cookie = ""`), + ) return nil } } diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go index 7f22c3e1..f8855374 100644 --- a/proxychain/ruleset/rule_reqmod_types.gen.go +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -16,7 +16,11 @@ var rqmModMap map[string]RequestModifierFactory func init() { rqmModMap = make(map[string]RequestModifierFactory) - rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { + rqmModMap["AddCacheBusterQuery"] = func(_ ...string) proxychain.RequestModification { + return rx.AddCacheBusterQuery() + } + + rqmModMap["ForwardRequestHeaders"] = func(_ ...string) proxychain.RequestModification { return rx.ForwardRequestHeaders() } diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index f6ec8c0e..dfff064c 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -36,6 +36,14 @@ func init() { return tx.SetContentSecurityPolicy(params[0]) } + rsmModMap["DeleteLocalStorageData"] = func(_ ...string) proxychain.ResponseModification { + return tx.DeleteLocalStorageData() + } + + rsmModMap["DeleteSessionStorageData"] = func(_ ...string) proxychain.ResponseModification { + return tx.DeleteSessionStorageData() + } + rsmModMap["ForwardResponseHeaders"] = func(_ ...string) proxychain.ResponseModification { return tx.ForwardResponseHeaders() } From 9d6cedb2a5066b476c4a6bb1a5a94db4660a03f7 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 6 Dec 2023 08:59:52 -0600 Subject: [PATCH 117/178] update vendor path for generate_readable_outline.go --- proxychain/responsemodifiers/generate_readable_outline.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxychain/responsemodifiers/generate_readable_outline.go b/proxychain/responsemodifiers/generate_readable_outline.go index f6357973..f84c61db 100644 --- a/proxychain/responsemodifiers/generate_readable_outline.go +++ b/proxychain/responsemodifiers/generate_readable_outline.go @@ -26,7 +26,7 @@ var templateFS embed.FS // This is a reliable way of bypassing soft-paywalled articles, where the content is hidden, but still present in the DOM. func GenerateReadableOutline() proxychain.ResponseModification { // get template only once, and resuse for subsequent calls - f := "generate_readable_outline.html" + f := "vendor/generate_readable_outline.html" tmpl, err := template.ParseFS(templateFS, f) if err != nil { panic(fmt.Errorf("tx.GenerateReadableOutline Error: %s not found", f)) From 0e940ec217a0c94e993673005294650419d25f3a Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 6 Dec 2023 10:26:49 -0600 Subject: [PATCH 118/178] fix tailwind css builder path --- .github/workflows/build-css.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-css.yaml b/.github/workflows/build-css.yaml index 9800ca90..ced8ee68 100644 --- a/.github/workflows/build-css.yaml +++ b/.github/workflows/build-css.yaml @@ -4,7 +4,7 @@ on: push: paths: - "handlers/form.html" - - "proxychain/responsemodifiers/generate_readable_outline.html" + - "proxychain/responsemodifiers/vendor/generate_readable_outline.html" workflow_dispatch: jobs: @@ -30,7 +30,7 @@ jobs: - name: Commit generated stylesheet run: | - if git diff --quiet cmd/styles.css; then + if git diff --quiet handlers/styles.css; then echo "No changes to commit." exit 0 else @@ -40,4 +40,4 @@ jobs: git add cmd git commit -m "Generated stylesheet" git push - fi \ No newline at end of file + fi From 6a5b85f260a8091a0692f5002ef77dc79221fc1a Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Wed, 6 Dec 2023 14:18:40 -0600 Subject: [PATCH 119/178] add subdomain url extractor; add 3p script blocker modifier --- handlers/proxy.go | 8 ++- proxychain/proxychain.go | 50 +++++++++++++- .../requestmodifiers/spoof_ja3_fingerprint.go | 52 -------------- .../block_third_party_scripts.go | 33 +++++++++ .../patch_google_analytics.go | 34 --------- .../rewriters/block_third_party_scripts.go | 69 +++++++++++++++++++ .../rewriters/script_injector_rewriter.go | 33 ++++++--- .../vendor/patch_dynamic_resource_urls.js | 16 +++-- proxychain/ruleset/rule_resmod_types.gen.go | 8 +-- 9 files changed, 189 insertions(+), 114 deletions(-) delete mode 100644 proxychain/requestmodifiers/spoof_ja3_fingerprint.go create mode 100644 proxychain/responsemodifiers/block_third_party_scripts.go delete mode 100644 proxychain/responsemodifiers/patch_google_analytics.go create mode 100644 proxychain/responsemodifiers/rewriters/block_third_party_scripts.go diff --git a/handlers/proxy.go b/handlers/proxy.go index 6e3b7506..7a04fa49 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -34,7 +34,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetRequestModifications( //rx.SpoofJA3fingerprint(ja3, "Googlebot"), rx.AddCacheBusterQuery(), - rx.MasqueradeAsGoogleBot(), + //rx.MasqueradeAsGoogleBot(), rx.ForwardRequestHeaders(), rx.DeleteOutgoingCookies(), rx.SpoofReferrerFromRedditPost(), @@ -44,15 +44,17 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { ). AddResponseModifications( //tx.ForwardResponseHeaders(), + //tx.BlockThirdPartyScripts(), tx.DeleteIncomingCookies(), tx.DeleteLocalStorageData(), tx.DeleteSessionStorageData(), tx.BypassCORS(), tx.BypassContentSecurityPolicy(), tx.RewriteHTMLResourceURLs(), - tx.PatchTrackerScripts(), tx.PatchDynamicResourceURLs(), - //tx.BlockElementRemoval(".article-content"), + tx.PatchTrackerScripts(), + //tx.BlockElementRemoval(".article-content"), // techcrunch + tx.BlockElementRemoval(".available-content"), // substack // tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"), ) diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index ceb0712f..4f3df508 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -234,9 +234,53 @@ func preventRecursiveProxyRequest(urlQuery *url.URL, baseProxyURL string) *url.U return preventRecursiveProxyRequest(fixedURL, baseProxyURL) } -// extractURL extracts a URL from the request ctx. If the URL in the request -// is a relative path, it reconstructs the full URL using the referer header. +// extractURL extracts a URL from the request ctx func (chain *ProxyChain) extractURL() (*url.URL, error) { + isLocal := strings.HasPrefix(chain.Context.BaseURL(), "http://localhost") || strings.HasPrefix(chain.Context.BaseURL(), "http://127.0.0.1") + isReqPath := strings.HasPrefix(chain.Context.Path(), "/http") + isAPI := strings.HasPrefix(chain.Context.Path(), "/api") + isOutline := strings.HasPrefix(chain.Context.Path(), "/outline") + + if isLocal || isReqPath || isAPI || isOutline { + return chain.extractURLFromPath() + } + + u, err := url.Parse(chain.Context.BaseURL()) + if err != nil { + return &url.URL{}, err + } + parts := strings.Split(u.Hostname(), ".") + if len(parts) < 2 { + fmt.Println("path") + return chain.extractURLFromPath() + } + + return chain.extractURLFromSubdomain() +} + +// extractURLFromPath extracts a URL from the request ctx if subdomains are used. +func (chain *ProxyChain) extractURLFromSubdomain() (*url.URL, error) { + u, err := url.Parse(chain.Context.BaseURL()) + if err != nil { + return &url.URL{}, err + } + parts := strings.Split(u.Hostname(), ".") + if len(parts) < 2 { + // no subdomain set, fallback to path extraction + //panic("asdf") + return chain.extractURLFromPath() + } + subdomain := strings.Join(parts[:len(parts)-2], ".") + subURL := subdomain + subURL = strings.ReplaceAll(subURL, "--", "|") + subURL = strings.ReplaceAll(subURL, "-", ".") + subURL = strings.ReplaceAll(subURL, "|", "-") + return url.Parse(fmt.Sprintf("https://%s/%s", subURL, u.Path)) +} + +// extractURLFromPath extracts a URL from the request ctx. If the URL in the request +// is a relative path, it reconstructs the full URL using the referer header. +func (chain *ProxyChain) extractURLFromPath() (*url.URL, error) { reqURL := chain.Context.Params("*") fmt.Println("XXXXXXXXXXXXXXXX") @@ -316,7 +360,7 @@ func (chain *ProxyChain) validateCtxIsSet() error { if chain.Context != nil { return nil } - err := errors.New("proxyChain was called without setting a fiber Ctx. Use ProxyChain.SetCtx()") + err := errors.New("proxyChain was called without setting a fiber Ctx. Use ProxyChain.SetFiberCtx()") chain.abortErr = chain.abort(err) return chain.abortErr } diff --git a/proxychain/requestmodifiers/spoof_ja3_fingerprint.go b/proxychain/requestmodifiers/spoof_ja3_fingerprint.go deleted file mode 100644 index 84a70a73..00000000 --- a/proxychain/requestmodifiers/spoof_ja3_fingerprint.go +++ /dev/null @@ -1,52 +0,0 @@ -package requestmodifiers - -// removed due to using a different TLS spoofing technique - -/* -import ( - //"github.com/Danny-Dasilva/CycleTLS/cycletls" - //http "github.com/Danny-Dasilva/fhttp" - //http "github.com/bogdanfinn/fhttp" - - "golang.org/x/net/proxy" - "ladder/proxychain" -) - -// SpoofJA3fingerprint modifies the TLS client and user agent to spoof a particular JA3 fingerprint -// Some anti-bot WAFs such as cloudflare can fingerprint the fields of the TLS hello packet, and the order in which they appear -// https://web.archive.org/web/20231126224326/https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/ -// https://web.archive.org/web/20231119065253/https://developers.cloudflare.com/bots/concepts/ja3-fingerprint/ -func SpoofJA3fingerprint(ja3 string, userAgent string) proxychain.RequestModification { - //fmt.Println(ja3) - return func(chain *proxychain.ProxyChain) error { - // deep copy existing client while modifying http transport - ja3SpoofClient := &http.Client{ - Transport: cycletls.NewTransport(ja3, userAgent), - Timeout: chain.Client.Timeout, - CheckRedirect: chain.Client.CheckRedirect, - } - - chain.SetOnceHTTPClient(ja3SpoofClient) - return nil - } -} - -// SpoofJA3fingerprintWithProxy modifies the TLS client and user agent to spoof a particular JA3 fingerprint and use a proxy.ContextDialer from the "golang.org/x/net/proxy" -// Some anti-bot WAFs such as cloudflare can fingerprint the fields of the TLS hello packet, and the order in which they appear -// https://web.archive.org/web/20231126224326/https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/ -// https://web.archive.org/web/20231119065253/https://developers.cloudflare.com/bots/concepts/ja3-fingerprint/ -func SpoofJA3fingerprintWithProxy(ja3 string, userAgent string, proxy proxy.ContextDialer) proxychain.RequestModification { - return func(chain *proxychain.ProxyChain) error { - - // deep copy existing client while modifying http transport - ja3SpoofClient := &http.Client{ - Transport: cycletls.NewTransportWithProxy(ja3, userAgent, proxy), - Timeout: chain.Client.Timeout, - CheckRedirect: chain.Client.CheckRedirect, - } - - chain.SetOnceHTTPClient(ja3SpoofClient) - return nil - } -} -*/ diff --git a/proxychain/responsemodifiers/block_third_party_scripts.go b/proxychain/responsemodifiers/block_third_party_scripts.go new file mode 100644 index 00000000..398a6ccb --- /dev/null +++ b/proxychain/responsemodifiers/block_third_party_scripts.go @@ -0,0 +1,33 @@ +package responsemodifiers + +import ( + _ "embed" + "fmt" + "strings" + + "ladder/proxychain" + "ladder/proxychain/responsemodifiers/rewriters" +) + +// BlockThirdPartyScripts rewrites HTML and injects JS to block all third party JS from loading. +func BlockThirdPartyScripts() proxychain.ResponseModification { + // TODO: monkey patch fetch and XMLHttpRequest to firewall 3P JS as well. + return func(chain *proxychain.ProxyChain) error { + // don't add rewriter if it's not even html + ct := chain.Response.Header.Get("content-type") + if !strings.HasPrefix(ct, "text/html") { + return nil + } + + // proxyURL is the URL of the ladder: http://localhost:8080 (ladder) + originalURI := chain.Context.Request().URI() + proxyURL := fmt.Sprintf("%s://%s", originalURI.Scheme(), originalURI.Host()) + + // replace http.Response.Body with a readcloser that wraps the original, modifying the html attributes + rr := rewriters.NewBlockThirdPartyScriptsRewriter(chain.Request.URL, proxyURL) + blockJSRewriter := rewriters.NewHTMLRewriter(chain.Response.Body, rr) + chain.Response.Body = blockJSRewriter + + return nil + } +} diff --git a/proxychain/responsemodifiers/patch_google_analytics.go b/proxychain/responsemodifiers/patch_google_analytics.go deleted file mode 100644 index 4427ea50..00000000 --- a/proxychain/responsemodifiers/patch_google_analytics.go +++ /dev/null @@ -1,34 +0,0 @@ -package responsemodifiers - -import ( - _ "embed" - "io" - "strings" - - "ladder/proxychain" -) - -//go:embed vendor/patch_google_analytics.js -var gaPatch string - -// PatchGoogleAnalytics replaces any request to google analytics with a no-op stub function. -// Some sites will not display content until GA is loaded, so we fake one instead. -// Credit to Raymond Hill @ github.com/gorhill/uBlock -func PatchGoogleAnalytics() proxychain.ResponseModification { - return func(chain *proxychain.ProxyChain) error { - - // preflight check - isGADomain := chain.Request.URL.Host == "www.google-analytics.com" || chain.Request.URL.Host == "google-analytics.com" - isGAPath := strings.HasSuffix(chain.Request.URL.Path, "analytics.js") - if !(isGADomain || isGAPath) { - return nil - } - - // send modified js payload to client containing - // stub functions from patch_google_analytics.js - gaPatchReader := io.NopCloser(strings.NewReader(gaPatch)) - chain.Response.Body = gaPatchReader - chain.Context.Set("content-type", "text/javascript") - return nil - } -} diff --git a/proxychain/responsemodifiers/rewriters/block_third_party_scripts.go b/proxychain/responsemodifiers/rewriters/block_third_party_scripts.go new file mode 100644 index 00000000..82e54e02 --- /dev/null +++ b/proxychain/responsemodifiers/rewriters/block_third_party_scripts.go @@ -0,0 +1,69 @@ +package rewriters + +import ( + _ "embed" + "fmt" + "log" + "net/url" + "strings" + + "golang.org/x/net/html" + "golang.org/x/net/html/atom" +) + +// BlockThirdPartyScriptsRewriter implements HTMLTokenRewriter +// and blocks 3rd party JS in script tags by replacing the src attribute value "blocked" +type BlockThirdPartyScriptsRewriter struct { + baseURL *url.URL + proxyURL string // ladder URL, not proxied site URL +} + +// NewBlockThirdPartyScriptsRewriter creates a new instance of BlockThirdPartyScriptsRewriter. +// This rewriter will strip out 3rd party JS URLs from script tags. +func NewBlockThirdPartyScriptsRewriter(baseURL *url.URL, proxyURL string) *BlockThirdPartyScriptsRewriter { + return &BlockThirdPartyScriptsRewriter{ + baseURL: baseURL, + proxyURL: proxyURL, + } +} + +func (r *BlockThirdPartyScriptsRewriter) ShouldModify(token *html.Token) bool { + if token.DataAtom != atom.Script { + return false + } + + // check for 3p .js urls in html elements + for i := range token.Attr { + attr := token.Attr[i] + switch { + case attr.Key != "src": + continue + case strings.HasPrefix(attr.Val, "/"): + return false + case !strings.HasPrefix(attr.Val, "http"): + return false + case strings.HasPrefix(attr.Val, r.proxyURL): + return false + case strings.HasPrefix(attr.Val, fmt.Sprintf("%s://%s", r.baseURL.Scheme, r.baseURL.Hostname())): + return false + } + } + + return true +} + +func (r *BlockThirdPartyScriptsRewriter) ModifyToken(token *html.Token) (string, string) { + for i := range token.Attr { + attr := &token.Attr[i] + if attr.Key != "src" { + continue + } + + if !strings.HasPrefix(attr.Val, "http") { + continue + } + log.Printf("INFO: blocked 3P js: '%s' on '%s'\n", attr.Val, r.baseURL.String()) + attr.Key = "blocked" + } + return "", "" +} diff --git a/proxychain/responsemodifiers/rewriters/script_injector_rewriter.go b/proxychain/responsemodifiers/rewriters/script_injector_rewriter.go index d6e63b59..be82da5c 100644 --- a/proxychain/responsemodifiers/rewriters/script_injector_rewriter.go +++ b/proxychain/responsemodifiers/rewriters/script_injector_rewriter.go @@ -6,6 +6,8 @@ import ( "sort" "strings" + "crypto/md5" + "encoding/hex" "golang.org/x/net/html" "golang.org/x/net/html/atom" ) @@ -14,8 +16,9 @@ import ( // ScriptInjectorRewriter is a struct that injects JS into the page // It uses an HTML tokenizer to process HTML content and injects JS at a specified location type ScriptInjectorRewriter struct { - execTime ScriptExecTime - script string + execTime ScriptExecTime + script string + scriptMD5 string } type ScriptExecTime int @@ -37,20 +40,27 @@ var afterDomIdleScriptInjector string func (r *ScriptInjectorRewriter) ModifyToken(_ *html.Token) (string, string) { switch { case r.execTime == BeforeDOMContentLoaded: - return "", fmt.Sprintf("\n\n", r.script) + return "", fmt.Sprintf("\n\n", r.scriptMD5, r.script) case r.execTime == AfterDOMContentLoaded: - return "", fmt.Sprintf("\n", r.script) + return "", fmt.Sprintf("\n", r.scriptMD5, r.script) case r.execTime == AfterDOMIdle: s := strings.Replace(afterDomIdleScriptInjector, `'{{AFTER_DOM_IDLE_SCRIPT}}'`, r.script, 1) - return "", fmt.Sprintf("\n\n", s) + return "", fmt.Sprintf("\n\n", r.scriptMD5, s) default: return "", "" } } +// GenerateMD5Hash takes a string and returns its MD5 hash as a hexadecimal string +func generateMD5Hash(input string) string { + hasher := md5.New() + hasher.Write([]byte(input)) + return hex.EncodeToString(hasher.Sum(nil)) +} + // applies parameters by string replacement of the template script func (r *ScriptInjectorRewriter) applyParams(params map[string]string) { // Sort the keys by length in descending order @@ -71,9 +81,13 @@ func (r *ScriptInjectorRewriter) applyParams(params map[string]string) { // NewScriptInjectorRewriter implements a HtmlTokenRewriter // and injects JS into the page for execution at a particular time func NewScriptInjectorRewriter(script string, execTime ScriptExecTime) *ScriptInjectorRewriter { + scriptMD5 := generateMD5Hash(script) + executeOnceScript := fmt.Sprintf(`if (!document.getElementById("x-%s")) { %s; document.getElementById("%s").id = "x-%s" };`, scriptMD5, script, scriptMD5, scriptMD5) + return &ScriptInjectorRewriter{ - execTime: execTime, - script: script, + execTime: execTime, + script: executeOnceScript, + scriptMD5: scriptMD5, } } @@ -83,10 +97,7 @@ func NewScriptInjectorRewriter(script string, execTime ScriptExecTime) *ScriptIn // the params map represents the key-value pair of the params. // the key will be string replaced with the value func NewScriptInjectorRewriterWithParams(script string, execTime ScriptExecTime, params map[string]string) *ScriptInjectorRewriter { - rr := &ScriptInjectorRewriter{ - execTime: execTime, - script: script, - } + rr := NewScriptInjectorRewriter(script, execTime) rr.applyParams(params) return rr } diff --git a/proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js b/proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js index 3e044003..74eba115 100644 --- a/proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js +++ b/proxychain/responsemodifiers/vendor/patch_dynamic_resource_urls.js @@ -134,7 +134,7 @@ // monkey patch xmlhttprequest const oldOpen = XMLHttpRequest.prototype.open; - XMLHttpRequest.prototype.open = function ( + XMLHttpRequest.prototype.open = function( method, url, async = true, @@ -150,7 +150,7 @@ ); const oldSend = XMLHttpRequest.prototype.send; - XMLHttpRequest.prototype.send = function (method, url) { + XMLHttpRequest.prototype.send = function(method, url) { return oldSend.call(this, method, rewriteURL(url)); }; hideMonkeyPatch( @@ -160,6 +160,7 @@ ); // monkey patch service worker registration + /* const oldRegister = ServiceWorkerContainer.prototype.register; ServiceWorkerContainer.prototype.register = function (scriptURL, options) { return oldRegister.call(this, rewriteURL(scriptURL), options); @@ -169,10 +170,11 @@ "register", "function register() { [native code] }", ); + */ // monkey patch URL.toString() method const oldToString = URL.prototype.toString; - URL.prototype.toString = function () { + URL.prototype.toString = function() { let originalURL = oldToString.call(this); return rewriteURL(originalURL); }; @@ -184,7 +186,7 @@ // monkey patch URL.toJSON() method const oldToJson = URL.prototype.toString; - URL.prototype.toString = function () { + URL.prototype.toString = function() { let originalURL = oldToJson.call(this); return rewriteURL(originalURL); }; @@ -200,11 +202,11 @@ "href", ); Object.defineProperty(URL.prototype, "href", { - get: function () { + get: function() { let originalHref = originalHrefDescriptor.get.call(this); return rewriteURL(originalHref); }, - set: function (newValue) { + set: function(newValue) { originalHrefDescriptor.set.call(this, rewriteURL(newValue)); }, }); @@ -283,7 +285,7 @@ // monkey-patching Element.setAttribute const originalSetAttribute = Element.prototype.setAttribute; - Element.prototype.setAttribute = function (name, value) { + Element.prototype.setAttribute = function(name, value) { const isMatchingElement = elements.some((element) => { return this.tagName.toLowerCase() === element.tag && name.toLowerCase() === element.attribute; diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index dfff064c..eb42a02d 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -24,6 +24,10 @@ func init() { return tx.BlockElementRemoval(params[0]) } + rsmModMap["BlockThirdPartyScripts"] = func(_ ...string) proxychain.ResponseModification { + return tx.BlockThirdPartyScripts() + } + rsmModMap["BypassCORS"] = func(_ ...string) proxychain.ResponseModification { return tx.BypassCORS() } @@ -92,10 +96,6 @@ func init() { return tx.PatchDynamicResourceURLs() } - rsmModMap["PatchGoogleAnalytics"] = func(_ ...string) proxychain.ResponseModification { - return tx.PatchGoogleAnalytics() - } - rsmModMap["PatchTrackerScripts"] = func(_ ...string) proxychain.ResponseModification { return tx.PatchTrackerScripts() } From 4779229b32938e0cbba087f0b73d6fc4a7279986 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Thu, 7 Dec 2023 08:43:05 -0600 Subject: [PATCH 120/178] add raw handler support --- cmd/main.go | 3 +- handlers/proxy.go | 2 +- handlers/raw.go | 46 ++++++++++++++++++- handlers/raw.test.go | 2 +- proxychain/proxychain.go | 5 +- .../modify_response_header.go | 8 ++-- 6 files changed, 56 insertions(+), 10 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 753db5d9..c1d9c5a2 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -168,7 +168,8 @@ func main() { app.Get("styles.css", handlers.Styles) app.Get("script.js", handlers.Script) app.Get("ruleset", handlers.Ruleset) - app.Get("raw/*", handlers.Raw) + + app.All("raw/*", handlers.NewRawProxySiteHandler(proxyOpts)) app.Get("api/content/*", handlers.NewAPIContentHandler("api/outline/*", proxyOpts)) diff --git a/handlers/proxy.go b/handlers/proxy.go index 7a04fa49..aaeebae7 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -34,7 +34,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler { SetRequestModifications( //rx.SpoofJA3fingerprint(ja3, "Googlebot"), rx.AddCacheBusterQuery(), - //rx.MasqueradeAsGoogleBot(), + rx.MasqueradeAsGoogleBot(), rx.ForwardRequestHeaders(), rx.DeleteOutgoingCookies(), rx.SpoofReferrerFromRedditPost(), diff --git a/handlers/raw.go b/handlers/raw.go index d192f0e7..6ccfdd08 100644 --- a/handlers/raw.go +++ b/handlers/raw.go @@ -1,9 +1,51 @@ package handlers import ( + "fmt" + "ladder/proxychain" + rx "ladder/proxychain/requestmodifiers" + tx "ladder/proxychain/responsemodifiers" + "github.com/gofiber/fiber/v2" ) -func Raw(c *fiber.Ctx) error { - return nil +func NewRawProxySiteHandler(opts *ProxyOptions) fiber.Handler { + + return func(c *fiber.Ctx) error { + proxychain := proxychain. + NewProxyChain(). + SetFiberCtx(c). + SetRequestModifications( + rx.AddCacheBusterQuery(), + rx.MasqueradeAsGoogleBot(), + rx.ForwardRequestHeaders(), + rx.HideOrigin(), + rx.DeleteOutgoingCookies(), + rx.SpoofReferrerFromRedditPost(), + ) + + // no options passed in, return early + if opts == nil { + // return as plaintext, overriding any rules + proxychain.AddOnceResponseModifications( + tx.SetResponseHeader("content-type", "text/plain; charset=UTF-8"), + ) + + return proxychain.Execute() + } + + // load ruleset + rule, exists := opts.Ruleset.GetRule(proxychain.Request.URL) + if exists { + proxychain.AddOnceRequestModifications(rule.RequestModifications...) + proxychain.AddOnceResponseModifications(rule.ResponseModifications...) + } + + // return as plaintext, overriding any rules + proxychain.AddOnceResponseModifications( + tx.SetResponseHeader("content-type", "text/plain; charset=UTF-8"), + ) + + return proxychain.Execute() + } } diff --git a/handlers/raw.test.go b/handlers/raw.test.go index f8867d08..0fd96b65 100644 --- a/handlers/raw.test.go +++ b/handlers/raw.test.go @@ -13,7 +13,7 @@ import ( func TestRaw(t *testing.T) { app := fiber.New() - app.Get("/raw/*", Raw) + app.Get("/raw/*", NewRawProxySiteHandler(nil)) testCases := []struct { name string diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index 4f3df508..ac334756 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -530,7 +530,10 @@ func (chain *ProxyChain) Execute() error { } // in case api user did not set or forward content-type, we do it for them - if chain.Context.Get("content-type") == "" { + // warning: the fiber method chain.Context.Get() doesn't seem to work as described + ct := chain.Context.Response().Header.Peek("content-type") + CT := chain.Context.Response().Header.Peek("Content-Type") + if ct == nil && CT == nil { chain.Context.Set("content-type", chain.Response.Header.Get("content-type")) } diff --git a/proxychain/responsemodifiers/modify_response_header.go b/proxychain/responsemodifiers/modify_response_header.go index 0d6c8507..2eca24d3 100644 --- a/proxychain/responsemodifiers/modify_response_header.go +++ b/proxychain/responsemodifiers/modify_response_header.go @@ -6,16 +6,16 @@ import ( // SetResponseHeader modifies response headers from the upstream server func SetResponseHeader(key string, value string) proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.Context.Response().Header.Set(key, value) + return func(chain *proxychain.ProxyChain) error { + chain.Context.Set(key, value) return nil } } // DeleteResponseHeader removes response headers from the upstream server func DeleteResponseHeader(key string) proxychain.ResponseModification { - return func(px *proxychain.ProxyChain) error { - px.Context.Response().Header.Del(key) + return func(chain *proxychain.ProxyChain) error { + chain.Context.Response().Header.Del(key) return nil } } From 8166eb31af0974c817af30e75b718a4967c3e390 Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Thu, 7 Dec 2023 09:23:12 -0600 Subject: [PATCH 121/178] add ruleset path support --- cmd/main.go | 2 +- handlers/raw.go | 1 - handlers/ruleset.go | 88 ++++++++++++++++++++++++++++++++++++++- proxychain/proxychain.go | 5 --- tmp/main | Bin 0 -> 28680080 bytes 5 files changed, 87 insertions(+), 9 deletions(-) create mode 100755 tmp/main diff --git a/cmd/main.go b/cmd/main.go index c1d9c5a2..7ef2af2b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -167,7 +167,7 @@ func main() { app.Get("styles.css", handlers.Styles) app.Get("script.js", handlers.Script) - app.Get("ruleset", handlers.Ruleset) + app.Get("ruleset/*", handlers.NewRulesetSiteHandler(proxyOpts)) app.All("raw/*", handlers.NewRawProxySiteHandler(proxyOpts)) diff --git a/handlers/raw.go b/handlers/raw.go index 6ccfdd08..3895a1e5 100644 --- a/handlers/raw.go +++ b/handlers/raw.go @@ -1,7 +1,6 @@ package handlers import ( - "fmt" "ladder/proxychain" rx "ladder/proxychain/requestmodifiers" tx "ladder/proxychain/responsemodifiers" diff --git a/handlers/ruleset.go b/handlers/ruleset.go index 0239fffd..daa2e0d0 100644 --- a/handlers/ruleset.go +++ b/handlers/ruleset.go @@ -1,9 +1,93 @@ package handlers import ( + "encoding/json" + "fmt" "github.com/gofiber/fiber/v2" + "gopkg.in/yaml.v3" + "net/url" + "strings" ) -func Ruleset(c *fiber.Ctx) error { - return nil +func NewRulesetSiteHandler(opts *ProxyOptions) fiber.Handler { + + return func(c *fiber.Ctx) error { + if opts == nil { + c.SendStatus(404) + c.SendString("No ruleset specified. Set the RULESET environment variable or use the --ruleset flag.") + } + + // no specific rule requested, return the entire ruleset + if c.Params("*") == "" { + switch c.Get("accept") { + case "application/json": + jsn, err := opts.Ruleset.JSON() + if err != nil { + return err + } + c.Set("content-type", "application/json") + return c.Send([]byte(jsn)) + + default: + // TODO: the ruleset.MarshalYAML() method is currently broken and panics + yml, err := opts.Ruleset.YAML() + if err != nil { + return err + } + c.Set("content-type", "application/yaml") + return c.Send([]byte(yml)) + } + } + + // a specific rule was requested by path /ruleset/https://example.com + // return only that particular rule + reqURL, err := extractURLFromContext(c, "ruleset/") + if err != nil { + return err + } + rule, exists := opts.Ruleset.GetRule(reqURL) + if !exists { + c.SendStatus(404) + c.SendString(fmt.Sprintf("A rule that matches '%s' was not found in the ruleset.", reqURL)) + } + + switch c.Get("accept") { + case "application/json": + jsn, err := json.MarshalIndent(rule, "", " ") + if err != nil { + return err + } + c.Set("content-type", "application/json") + return c.Send(jsn) + default: + yml, err := yaml.Marshal(rule) + if err != nil { + return err + } + c.Set("content-type", "application/yaml") + return c.Send(yml) + } + } +} + +// extractURLFromContext extracts a URL from the request ctx. +func extractURLFromContext(ctx *fiber.Ctx, apiPrefix string) (*url.URL, error) { + reqURL := ctx.Params("*") + + reqURL = strings.TrimPrefix(reqURL, apiPrefix) + + // sometimes client requests doubleroot '//' + // there is a bug somewhere else, but this is a workaround until we find it + if strings.HasPrefix(reqURL, "/") || strings.HasPrefix(reqURL, `%2F`) { + reqURL = strings.TrimPrefix(reqURL, "/") + reqURL = strings.TrimPrefix(reqURL, `%2F`) + } + + // unescape url query + uReqURL, err := url.QueryUnescape(reqURL) + if err == nil { + reqURL = uReqURL + } + + return url.Parse(reqURL) } diff --git a/proxychain/proxychain.go b/proxychain/proxychain.go index ac334756..8d8a51d0 100644 --- a/proxychain/proxychain.go +++ b/proxychain/proxychain.go @@ -283,10 +283,6 @@ func (chain *ProxyChain) extractURLFromSubdomain() (*url.URL, error) { func (chain *ProxyChain) extractURLFromPath() (*url.URL, error) { reqURL := chain.Context.Params("*") - fmt.Println("XXXXXXXXXXXXXXXX") - fmt.Println(reqURL) - fmt.Println(chain.APIPrefix) - reqURL = strings.TrimPrefix(reqURL, chain.APIPrefix) // sometimes client requests doubleroot '//' @@ -530,7 +526,6 @@ func (chain *ProxyChain) Execute() error { } // in case api user did not set or forward content-type, we do it for them - // warning: the fiber method chain.Context.Get() doesn't seem to work as described ct := chain.Context.Response().Header.Peek("content-type") CT := chain.Context.Response().Header.Peek("Content-Type") if ct == nil && CT == nil { diff --git a/tmp/main b/tmp/main new file mode 100755 index 0000000000000000000000000000000000000000..9f91f2cc9ed24bf719d0dbebf32a2ba97dae50e9 GIT binary patch literal 28680080 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�h09XcOtM%EX%WBYr%vipGwwul0SR*D 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%0DDEG>DcMuuwZ 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

#-f+FW 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%0DUp2<-3QtMsaMZO<+jIRa&#iZNp> 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 z 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

YV^_2|M$Bi)&5!7psOlNpl|*mSB9GO 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%0DQ`4jJ|M-Yrr|d&$2vF+uG9MY4kPC!^XK@oM!> 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%0AxwTDtzq|DgU1{xTUt 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

*@R18FW`T=e;KnD?@|raqj_7cj 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
fi z@(Cda+?7Fy^oJ`qIfUfs5AUe8|7rfLdwDCk_+RvgWrao*pWL@y{l8WHKQ+JqeY*93 zL4N-?cJIGh```Ni(*M$b8Jj(SFulyLXb~-=Kgb>^=brm4CG4(!$AHUZcZ1`WSNecM@d~xK4t-mP6swfdGfC|TO@l)md0dNYE$?V&n+XfUvfd)v|0Sry8l##N7Y#g$Jr#4Ot! zJA$WPSux*hy*JwL#LTe#O`7U3I0yadm-_U$s!K)&znCZprq(08lf{=|TxFrrI_lk@ zQmA>)j2A&zEA%9|(?fy@ABtn#=D9g9Ic(bozt4pW1@x?4@&;0TSom(V5O3rblQwH& z7j57#5Pz$(M&#b#NypQxjhe;D=f8z+!>}7)`u82=UaVIGosuCh7Poev%Fy+N9^C=WFcEzeE7azohD)Zm{+4&FNX3B#ZA5 zI1r{ojrSFt{>Pri!;b@$P%b27v62xJdAvp7dE&diWlqy=Zy6H8jI~45$pzG+0Bc!M zX%to!+3j%ruPgD~DCHqo|DdX9(q=-j7CyfgE{2$B< z3nwDw!^{n2ZxVOOb~uzOoJC0&G6}A{KNlBWsEl416=reKlT^L@5tFJ-W4GMOu6eC= z!F1PFGS%3FMlN{vzW)WvWJ7s$QS8uVPKvJ$iWhnDf2N85(#Ti* zSh_K6rBXY6UjeV|AV3DSs^w>1t+411%x%xFxQxdfA&xKE{f~KKMBpd!_ z{D;?FVRXht%-d;VZhK_1!V-aHJNGG4Z@a|<&5ww--4DHKf9uS0n1+fA1Vu9PWE+e$ zHkQXo)h9YeN){jT3-N;Z=$E&PkIWxcC1Im~r5qdSwFfpj$%^K)k?pVb2zrTdFTap%ma#clw zLt%Q3uN1$_LvZ&48ENs_Jti$i+>Eq1K37_(pz{x<_)-;@uvwzwKM0E_A{)M8^5P?s ze0ibbnW5@Btpv5d-~JJ6eNF_va}*pe)abnuf(t&mC%4irSnVnvwr&rz^?mT| z)gtFH{-||!H!*7zGpm1US>~#{++|PZS@F*|IOSSV=tJe2M{Xk{-1v!X9&ivEx{Tp* z##!0(Fe@a!UtY(#CvbiuJ?4%Pkie#f{l)4?^lh0R*yOP(b&mML6auNrwVvrlDUQA>lCIoWL166=;=^`j_(uq=?EjGXZpTl3qnAMOj(etp%T zpa?jpp;XneyUd*;&O&HQB{qqJuc3GvCaTqwa`nGDXnsacPJ%$H##6K`NJqq4k0^*v zmvu#eqNB<3BN>o!P=mhLK)=n0gNW5U1c}AQ9<1h6J{ei2l|ypyz}b#RtQP%3Rh7su z%HOW?np5Yh{IQwxk+laIf2^~FGHHT8<&}@cd$o=_eGbwEH^FDvzP8&t#^KI)Y!O!- zf(A%FsCrFqODh||<<5_S%Qd+c5nEp$LSEqYB7i`w+ zh}qn$QlNgj9DpS-MdjVK#L~&tGM(f8`bDoM+||D5T^+q`RazmQXI@ir00KfR0T2f@|0;mrrp4$`niK*k#zY`HoC{qg~?vAhb8Y09t+Qa8>i z(*2U*hZA6y&kI>ZCoZd|SA|$mlci7n?Ux1V^VL;*U8UDkd5tvJ@@t1)$5O0UQ(yjm zMNHre@5s;7__;leOQ0`(rLvdt+8g~lS$YPq*k^a(@upXP31~Vc4sT9XFXpNj8Q3lZ zHXs_Fsb1v|b>%O})PJDrZ{#)7d@R53<9-J|1`7DT=nCH(w3-XwOT6d6_W-XRzRzAZ z_%uV_X@KFy4Y0uH;B==5aQzHzN^^P+zB9=R$4I>O`rz4kN1$Tcm%F+E0$KB`LMA!ZPv-Y+A_?iGg zOlBFITEy6gE2rD2)_zaiXUy*RjQaG)Qn+;fnQJ3BRNuO?+F30Ten1<1^L<39^YWGi z4)*`)N1cYcOva+%#EuXVMLAY7fKOa^bHTDAFz`q>>^%9Tuu;_04?eHM-|pG@EoM_@ za31>?Zhw%IKOc#xz*U*-uhkxP_!Vft8e<9eGT=@`NO>$#%g=S@H}<`A6Y|fRcO+N^ zh#@+-iG>C-DNaG!c@HGCmJm0wZ#3ZLSXRxgCX*Db4?DO9sU$u!_!|(OQ`*0iK3P(8|Z)2 zE{0E?AUa_&l8%PJ80=SDf@oPqa2SpJ>R@1RHULDc^MnxHkaE38Iz4WZfVF*DC|C6Q z*cH%g&B#1@y?<7Q3ag>Q-nP?@obE=hGc6+^K+D>Hddc>kL&DaE?WkjJGkT4!>TvLR zqV-#~CFTJc?EQfbW76Ae1RQG-(;Z6h-dS1&D=$tw>3&DR-Cf|`as=Q)0|d*`h~IvE zW*Ng+X&JL2k?DZgXtW0_%SMC$Fh^jm2*Gl0WopOsiifW#*#9qnxY|=^=8sp-(AlH( zhxJbXJr?Tp`oo>T80<|+w?5uqmPNWZ!mXW)SUU&%mZf!npw`cA+U?S+t;JI5aEa1i z7H7~f!jQ1b?eM{`g(8i=> z)KHJu4wXYvqQS5Kq!j4LgDC{Xe|e5M5`|!sDFnrf^ol}&(?1G9@gMYR3IQU4BI%vl zO)tonzgRi;%aos>*WGySE&ZZ+tX@$Fig)87mOvK?H36ZRI8|&L=n5h*FNIJ&qFX&` z2Ln~r1Om|UREYTnM6Mf^!Vv0b*ImSBBlScjqHxBvFR!mpvLKN+AdVQ z?^kt~U;LwB+G5;RMw z1tYJMCbf=w=EjV47*C-wzR-AA2(3i2|0HQ8Ykq`Qk}Uq-p{9~Nu@04F(FYQh5SiCU z?xb2VjQ128V!s8Gp2<^18c;=i#zg6J{c_nEu1gMHaTAP?EWYadBw@}j?1=s{Z%H_F z+{{6QuHwi0_v-MspFhfj3(1#V|H(dQhmRAn@od&jw7KE0h86@LVBCQpA>m}3N7MBW z{)CJ!fRA5UlY8&>Ds}1MrlbJ-hf4cpL z1;Go$RORui(&;&>@aJ7BWIlm>h_jVo&YOfR`>OI2TX8BGo!}~Zthx+w5&E}3^lI30 z@X1=?UK=&V7tZEua?}wQhCfPedK&eJUmch>C68VlB6i7EM7*s(5BIpWIjUO29y6Z} zxd3u3aez5+Z;Hh~`{4O6;v#jw*~OAIYoeb%K}ezS7Ec^*6c_|vASPPPhQt^syy@Y2Dw5q{NG34J(^Pz|L2WfxTdsR5!| zG5;-_BXE7i{IWm|;UdiTx~o*)7_NQp8dg1xXcv#VP1(mRDP5&n2@w>3l}&e!owyq= zqP9P_*Jd~8k5`M^s=sMUtZLLWYHR+!8tpJx{5S&6MAh+77_7q8f9B2_^GJUKVQ?`? z>!|&25aaJ|<2UaaF+U1TWYglq3SH!b;tzPtAUxP8%@7=yQGJm1FV1r82Rj^+r*_nk zw7I=5LJ@FMC3IGv<@Oj8rFYL3ibwrUiJkTa&%r5YD`-+P=8xjf?zXR!#pxoAT)3OvX1m$3WcW_FE{cg83WL4bo@!4edFRIS zEPc%!Q!!Qp;V7jmQbV){y^9U63m2&yga1rI{O=awb=P3*x)7(o=DWw~9m)yZEgH0V zWS*6nuM*9J^xa5~K@^tNz7Pz5)CN~lTbRKn_~O&7)?<<6E<5%7l1G+F(m;gy;t!4 zwGJG;I&cE&aVE#e->pis=|*1SIl2gJE+}jo*!ubxAodvP3>pDDotB|6)ozDCJ@#qduDClVE-R=JF_OaK7GwK91WGJtm^S8E`D3;PW)n}ElpA*uBs=P z#Ku&H;V`Ze&9-jt6`j>=YdzCBoL_=11RD{?tAk-WIhsrx9{HB&fRp1+Fjv;P|!Km=F6#Hfq}yIhZxU|Df_nin2hXthW11p z;{|;cy4M9KDY6SsVNV>s(f*lrLZ$v1wrrwfR>=!ogRS{Q^dQ$9HB=uR^SEYOqminY zrc4$x8f}c%hLHol(+{7S({~4I3c24D@Z*?kD5UTb)!dKxq+b>s>QwMv4ibot4Wpi0 zHWaKirK_>1E_tTK5U5L>S26Lp_<4I`Sbyhg>TfRQk|*6CqR~$8r5m4)r>*cyeSF`# z#6i94<3GSmUeU`$^a66)!+qgHhx(I@yfD)tuZ&mSc>2z@!e5E_KxLvO)$T%N_v|iI zR!MrT-<7Y$enXfkB`n=c|E?DFK9{r&{{1$ohOgaH7yQqL2+6EZV0u7^-p(CB@8_kU zH+d2fQQqt$#~a7^O(o#r)vJVu9fikg$`abA{t02gy()x!qCXfo77X-}>1??{+XDs| zS=SGOHwXxZeTl*6{Dv%!hkYkPs-=Y4Q<{v-zcGtBb<0RpgB#q?@^)uiLF=e00oinb zsHefo+N~4TTr%>L1uRI)bo&TE+t1YDKq*p?KS4tre|vVAtS(FK!vbh)y-7xnSpwo} zhNxO^LNKpIyXQ8@;5qk~=Co)ekWyqKw zdaTTtu_dfrbiKpMz5>NzB}N^J-+_|gv2x>Y!AdXPNdi{v=k35sf6WkxdtD@VC>V+^ z8d#K^{7`kv7kgasZtKJ4GY1x>UvsP#JO-oqNAYLyDSz67Nwe954%OVC*WD@IAHCPs z_lIqLv7cW*W#V%aAc8B%zd8ne?dt#1yH<)B=cPLJl^aWHapNG%oFeMRur@4??G^3*!JhGixh~ zLS;r#_?4=m>6w7tRZ)0xkL+Cf?c=)5rIlehL+eH=u!jO_w1*O_y7YwKX-H88Rx#Ym zZ-A5I&j!z3k(m)xFq{!omS>w0T=6iD5PGKNbDl|>0oMC><J4*c~V`|%`{MzdZ zPIo)`)$pq?FTYfObjEKPaxWvtOK6$Vzzm-MA8qdfXXkYN|4$-^k<2(JkuXFUOc?hG z!i)$r1ZQG~L0Uny(Yi$4M$8a|Oq>~VI*yK3TS~u8`=w2NQ6-2=nM9hKmL!yrmJpZc zI8Y%};`3d)TEyqUO9MrDmE!YqITz#l z(~w`Kv0-0TcE?@*C!2#JXuU}cW$k5abnpQL0Kz3v(_fo@*Nt=b@8L`QM*dmdl;xio zRsG-ctNaoP8}g5^)Tk^LO`vbY@x+Hu+>K$+${ABAG*t1CKgzD2`aPLT{-!5>^%Mr1 zh9oThX`wvU!+xdc$hKk+?EB%k{Is{b z-cb+45hS|0X-8bLC^9}t{&34sfnN>Y zb+I*-$ML}x`XJZI(=Y7V$+ge*?xblO^=yOX(x)(}lsStZnD;^xXCNc=GGtHeQ0|zv(tq zYLMXghtDmW?Toj3a`9JEUfwxusCCLv$I=#>B=hMJF%+c27|@67&tV0GZDd-#J=UTx z*?w*Im~(|niJI|R=udFo>EJry|knIZ0Hjgj;<+angxEiOXJ zqxfn~T#$&PmInQ-hHJta<{E0LA^nt}(Yq%E1y#B@iQ_A^TeJ})_J>9-qnjEM?oA`e z9e0?f7(6)p*>6=yRZgi*bRr`pt-Csf8WCCHtMQJyswL6X_Qo{4wgsD-Xw2-Z4hnJ4 zh{M>L?SC-zoUyJqjK9!{{XIlt=-^_SOlbkGDx`*_sivL^R`0)D<6IAtu^bA|tklO= zI2BoT73CslzK!+5{0IB4t;z;#i0{0@^u$^+(Sm^`Ahn_}ndTByZ2@kjxIuU(b3{gN|PovO?O|W6@p}>A#|G6s6)-DN zCDpTLYlT^{i_ z9`O9bW{r<<`APHJ;YxpitEj!Pu;UpB-9>#@`T8omUTEvO?#Nk_%J5_=<`Pz#NG&Ju zK8g2H-`_cd{>x+{`zOVqWCb;hrbL#1=Ftg~(bbh5K>A2h7`s08r-<*9O<;ptaR6ky z^x0kcU5e4@>pW5UAbpkf=nH=Hcz9lqf|HcGphsu!^)bYE@f(hI9nYy9^hASEu zC!?Ff1`?YFPTfmZ=)AxC^~d=7wek7yZxv4+`qTJ|cjNo;<;I~?7iGq>J7nk;2jDQP zm^EPl6~sS~Bay_=@!gllQk9+vhksAlW ze{Rob{Pc}dZT8RE_wONqynR+}N+jq1Rs785CZBAJtP~9XsXMc@gCAFsLa-Y@9?t6= zKZNCCQY>b$9TS7H{TlH?C8D{4Cd9?;CUjNq|rB<%27l z4e;sw=JCkxfL}SKJK%@;dK}=p8>e|OJcw7!K+c`+z^*iQgUb*^h6fl^OqCgG7HhS0 zcO)#H65Ua?;QE7cRrJG2Q8Bd~`N~bzRlCK>XPH>EygK^m=iGiTJ`)K+QpdkPsS9B; zY(-Ey%j9dBKj)ajgk!M!7x|oFA~F45mOXs@#)Q!HNqo?#$$SgQ43yOt{od7ls#pdw zE4u@wqnB*Cwm~feI(ppmYN{HvZ8xSJ1@T<4br<_1C_hD#gO5xO&$TZhPM10_aFumX zDUK|o?z6a-qqoQl!&Znae_Gi4t9qC!ZoKBvf_hT@y`YTWGCT^EAHA`p`RSTgJ|c*# zjtp{%YZ11!#Hr4IZ|nN@$!z&3tK?c<-#&$1ALmx;{GW4W*pS`%pUBU-X_7MTSJyth zGFG3wmUO>s*&D)r`(%Ed42SjgtkiPN@A$!2=tJU9&%c`5V zsb_T|p4qzQDXIa(3iO2ECQJ2I$f%g89WLe3w%@85+}ovL{;+z*WVZ8EJ740oMUZPM za^t5hJRmCa)!?kJv=>%`4l0#OE>3}(JCy5BMPlsm9|~22gWDeVM%DBkO5I-CaXV1j z{!G^_`ui~Wj8fL=;?cSn;#I4fhC2PR+D~PupQ>do0c&SacG=e~Yq5Si8p8f^8mFdy z4pRyc+;^{B6|+F&6?TM%OS*HslZZ(T>4eo*v; zP}KZNJv<_wpk4Uzq~y3*VFu4S_k43c-?;ft*RyhuxA2JyPpq#xrle_i&#)kvfEtRg zze;n8H}pki`XqxBe$N3nZ-Bl}z8P$%U>a@0UlDA@t&`Bf#Gm;gn7*Z#1!DHcab7l; z+G#^Jn+=XVha-m+pGnI8+-ND4yihC=bGvzrPyE+sb5u`WSW)JuzOl^RQUF%}MZW$D zjmc`UPh2CGfjRcBX~?_w(ZA+GOv`_93I0ejSVB#Pg zaeA-IMLif3>dMhAl{2EZY1Xes+s8h#d%RoIj}#>ywNgkApWQ3S6ZeG>S|t5mx>p;PuS1$r0AW# zoL=;lwwK)Mv7gu5opQbPozA=XUc>L>7=7yX5Ovw9w^2(w(ht#;EDIdkbp2FWk2l`H zGY+wkf1~A#flVbXU);xbdrl9y@_W%o8~Y{RU5DC;HE(0mv@r4Jx|WS=9AnTq#mB~)3tOtXy7!A!bUwEE%R~9_XC4ZHFB0(QYyRzd zq4`w<|HVGQzh<-GyZs9W@z9pauI4Dao%c$_V zg@?wL$~Dcqqe8LYjqDAOy}($Y|CNWgOzU5eZ99(zhJqx)SL@*G-=oYtX*qBf?EB{& zAILuAr{jdd+&PLECtUJ>;)KI{pt5)W9sMtb{#WPdU#5OHv{e4FIc7bsq{m;=1B;LA z#_4qP>#&=hEgM^Uc2h!6-8}ZeuwPZ&<@%NB2stFj-ftRvuQvYpM<4ugW{*zgjelpK z|AR(-PeU0k@oa)xGJ)+?@I0z)?9Ee6UZ=Pqif`c(Y}}TUIo2V?O`;=`onxmuv(>1T z@UO+(jSD^{13FUO?^w;2MY7_|=`PHtFj4EPLaVDYGcvdUHAY<)zqn)1ug5d9*Vlb& zgZi7nCCwG)$;XX7T-JHm@%w-1{Q&I+1P2iSE@JeW`S@%oxCdb~$EsUDZ~AxUZKDMO z2dTX(p6D!!C+2@`jw{1x9WZ%e`m3qQ1Vv3hrLi8 z)&0jYO=3FvXnd=2v+Byqpx09b=Hbl#i!Rv5@3#~@DN`_L{p3Bo8nzt~Ni(5ruUQSn zx{jRHfGnO+RyM04Y9*bOOzS;WP5<`ZsO+78sQ38s@?#cINPgVRRhs388bKG?(MT;* z$DlHqwA6JvMYv!Y*-`C99I4HoFugjU8>ng|j;-lL-58cwyZ?nf3F1)Ukw&~EW_MpPG-g8!D8B2n!_P^x}%RCc?j$_VCQkWFRq?-WQhWG zs-Bx3Xk|R1MBa9!sA@YDG`rDKblnd6WJjkTYFajQHNBe-7=!V|;-aU`vUyFvKx3f* z!!!wstEK{=^{rT2HNpP1qrzU z84gPcS8&AoE8bM|!pq8cg_q}od)GOGJHKYzfca6__i-HvY(uY!=W>nn=ST)#0; zvAXl40XPS`IH4s~KT=2M3P|y3Am7k=P8+)QGP)JW>$caR9C;zqqzR!N}#r$yf}a;=hOUqoW72 z1n1w_i#yVv{FfN49#Zez3n)o;n z@EuLa9n}ZU@5xMaI0usX2g$|fJuBky2WJpgwI7GgYaMZjxF|L3^^boBGcj+{<`k0m zC&ngEt8^ZAxS#nm`yc;X$mW+@1YMlFO37s#5`&tUT?7!GVCPm88XVPGRMMn$RH> z;-872S$pJ>tqcAtw!;m29b~dWYJrQYaiv7nFi-Um5TgDX%lWQa3t}Y9`9e1 zO-@2#Nic3FEFkN{Px^TN) zqzg$F3x9#{5$kP_%Lb?Xmi<7=k1v^gL5lL$rC6AqocWXbe$nGnAHf`zuoiOq6>U47 zn&(oJwCvK%2ouNcTafzN6O%b5<>dFwzVVu;sJ?0c zRrJQKbN*3ekNlwEcS5xI^Ea}~DT5B{*hWK5E+@Xg ztzuVjj9Sxa*rdD33LPN>boe-a?&JZ+vtO57Q(wU9P-2Z8HSV4K(IqM6zxL&DyMfP6y9Io9-waz)VHiWQL*H+br=k7 z07C*g`t#28hcd9b|UHRWm1YZ5m+m zJN-1uZ5}u-NI&2zwHm?SP&Rm&{h7%uGyE+y{5>5{om`Z8!df@~0FIil{rA(yQJZUj zjNPgIQBt3{zta2aW{V>(xa9h89Bub@^MQ7opV+ZC+nAlSpinMerbd`bEnjyvy`R|= zS58;+AaID$;wB;U*KQ>zpZn3ZV8y%DpD$`@{tvcQ^Vady<^6E@E?xlAx-!fZ7h!5& z|Kyb%rg>xqDMXt-4B!0$OAFZ;oH83t7|PY~>g4Nt;MYTn$j3&M{d%O76q-su5v|Tr zEkS9O|I_Rdr(ZX{P3XGE7DK_qioI#3T_kU}2j6JW1(Q!p(4}-(x6NcVB z8FEa^&_l!4?QO=K`H?rs9ym)uG1_OgB52^YqX&V5JE!-eX!^aJN@7bdZuWSrj#b&j z7Xt_x#^Dxi`yB`ywN&=2^5EeQXG>o^`EotVxR|Tk;FrO_W}}0gSq-JsLhMQdy6B4m z%{yvPH|-lvb`;9;JV7kZS-F>9HW$|>7JOElm|ygSlnyJS5TP#lLcMu?X(Kyb&wkvi zwk%x7>0lMkTuPs%vF6>EMcCN83_OnW7C+4Vqo(B=M9}kGkU@*{r_T8-TS0yD zwff|n21$BH>Im7#&wrGFB**C%^`+$+%`cwRsKs!oVB8MCd*uwdC7E49|J}w|^PmoU zOvGd6GCKlB8IKFKS5l?xs-8syFU@FZ_@OYLlW?!w3-B@YpTDvkAyrg0ZujT74jp{l z?#pT_Uu$|TEN#NWe<&n=9K?T(Nu(1lkq@xxk-$J|upuYXQ+cNTZjp-(Gm! zk+c4~n$qbr(BAMj_~{~fa+0}*f|ehorl62B?nF`yFrZl4R3kyrpmkM6N@#ArVyzy< zJAh-;D-ss31~0zplJzZRp%26h$ZkuaR_2l)x~D>e4M zefsPc`8jsW>sJpMEBbuXT>9nj_Y||I^boU}OaDHzpA)h1lnaFq*6!YSSKR(ciC(84 zR^OrCnEYMNE#t0c#hW#s&u?k|O!Q^YVP17D$m~$-lG&txEQan{5avIrdO3Q_RXn;< zrby9_8l-RfqWV5<{4bgKanMNp9VXv{zgn0E#&i0~Zt6IH=-IvW-<8*S*;T2JCmMIf zgFQa|(&eXWCZKjHUar)zk5<6TRfDyI>6Ak9vLWB)2gC4LDem0PeQAP6&MS*A8Z!(> zOSg%frgZU8Dp5|2me_&VOxI&2*J&FYNH z+4g$?u5-UN^q^qvnLW3AFru}EHhQxLpaLNjfx=GO=nbb+b39dpuw4+nVXS`Ovx*Du z2Jx}0{kdS>$6qp3{dX7wME5R_@AFB#i{tlR_O3xi4K~#7PN3~=_FZki6$-(?;8@zU zGkkvY@)p{xQpn`hpm+u=-q_7#$5W|+qq@*!>DL8UD$=j{(9K4n!j2UreGxzV4E#jdk~l%lPApkNXVcQpJ*q4LC2X3g-H{gKf8>X z@}=DyyQ;6omLAiyv63w{w)*s5jdd-KSFOLUO6r;OPd8OeJ&?auSCyZf8v4_k#Irj8 zbT#*Eg$E+`P>*rTof7o@wEtFqE5Hxxv1nypkRaqhN;> ze4>;WnaC3@T*N2S#B@`{ER&J5rOc4ro~I^v8rlC)tgdS1^ifJlT7lric$AG&+CH`4yX}rEPK;z+RY3` ze%gxmW;o%f@Ae`Nz#%3yRZ2x>`~dIGnQE6YrUeHL+bL3wIB)4M@;4YW*o}V;6cr&7 zJ-hC~e3VIPlN>4Qf+2x)fGJXQ=D4U0T6y&%diUACX+>iPj%Hj~3FV_Yt2)bVE$UG$ zxVJ+V$Zci%X&y7Pxq!K$l>g<4vE}v&l}sojzYpgh*$4b^{0j142X0zoKu!$VT5wvm|@t44$~mHc1pgzpI+F&dEarYM*|m ztsuDigSAAme==5#h7XW8FwMAIRBIpEicVDeF>BtYBdOve$kh+N2C>gRAFMq?u+mq< zD_MAY-Z=UlM5jEA)nb#0@kFJQU(wc0>aSE$P=U`>3as@_{|JV+8LZaB{3^@EL)fD6 zhl~>yXfo-H0Rfhy%h-)R8*G_ZE$Qk+e4k$&Nx#{JaazjxQFUB{%1oV%0f1O*WFx`L zzRW?{GUcvJBV~|(jRcxKv831CLb1#9ep+wZN!B^~os**<3SKruPQFR@36jam z@gl+oQ=niN|BC*Kwvsi+ikOs(JE7+-0BH&~myfQyoP^a{Fk(+2fQ2^J*~O6e_IDk5 z-6Xtt{N8TI8qxup^&oHNa7W&8tdHl0V|Q`5*vb&yI1XTkXA45#32M0k%HFLa&8AJ1 z4E6Jy9PO%ImHAY@CRb8B2mj_vGPjV`t{sw(bJmmB(-n}l!N{5#vEXQpwc?-cY~^EHm_DO#$~jHt=yxRMhu2RNh5km-O4eSO+{NhG+6A4mPax?O=9CX#27F9% z+jh2>i-I4s3};l`%BbomT98&M0IJ&D&QtYDJ`SlW>)1$}irh2^sxElD8&#V|W~n-* z7gdKH=BRop>)M;6>c^v9neo{&`2>AYZ*v44X$$0l)SIAxw32qdV%*kuH?}$A=aKYX zj^WB9=|mB)i9wr++&7S}y~mk1d3#as04H95_wL#e9_*jd%I3PZgD-Pgwv2U+p(tM6 zaHzUwvq#|`6Z-^%*pVXaU~1SYV+C|WHALOD#BRl%!(CU9G>L`uL$>3Hy;U+*ykSQ! z_H?tX>4H(#pSK16bipW1xJVpFcK_@6QyXABf5Mt!`iHq?v+0jx&BKh@+?+#)g2|KT zq|~?CF4>g@LzGAG`O?CFhaGv!|9Mz@u_1()UkW+U_|A`mWgWW!%hJWO3wWz@|p^< z9U$rbx=SNR-;p``B4BZyN?KHlep--gbx~o8Eg(Oh#3GwaPHbiKR^(rkwEn-wQN_&R z#nmypBK^E})M z#0kB+So0|FoHpc=iUV*lsNd#$inAC9=Zh?2EY43KGxF@cgJfuiZtUQ1e7^9%NN(P*vWDQiNQEa zF|&(>42%Ah+1mY>w=3Pjr`~C+yo#XhX941`wOq~e%1bR*v%2zpJXKSaS(eiuS03xf zCO&SC=P5he89V2~9AL$8B~vNe<&OKky@c_XH40I}$Y)a#H~t9mio_9>sY zDjxLuGof@9XAVhP_hc_@FtOJi2RZioWJW%rr^(5F9YU8#r}QlXhr7n;qX*X{*CpPK z#^=A=-_73>Uk{xgA>Z|NW=xc3&a3GR1`zc(pvga&5N?2}O@3Ur&!YJJuaButrL=CJW#)&HT}kJm!SeLI0x>o0 z{v$mKZsT|R85#z!{eT$ee=Kxkpjrd7oTulWag&p;!~f;5({mgMJB)*C4|LdhiG}BI z7)&rLied0Qz04`y2W@dWt8`1c1F1P9&eWwA$RLNsMiT16JEmOaZvirfS9Y#=!}s&K zC~vN~G+))o|GdHZpRdj`(ZUufncIaD?4SpYdIfkRgXfKl*s*n_=b})Vn3Y3@JQ1K# zN^c6ttd>NrdZl@CE34g+gD1jEAFl43mtYt1QvCrATfe_9hb>ht;cXk)MMN|p%P%N0 z$;b3uN4U?9u(qOY|0TkGPlVh3oJ0B%|M#q;++-7}JihmI;5g62(UWR|1FHRXf59F1grk#a}e%Yo!2X{>fTMv~8lK z4Jlrm2cJK)^1{ZZqb+L7>yJ%aMcaxf5Pd9m{>(2fY-}FP4x&SwhP&_WQM4@svUz-1 zwCzn15|ei}S591;T;KLKN0KJ4nMgt!*8iODWOM7WR9Tn2udIb~%70?BL6YgY-$iA} zx2Il}A7ujUN&+Rby0nS4#5Bqq%-K61!6AX5nkLO9^;hHePqLCQN42(-Es|?cGLj$o zv5yk#Avhy9{k@I(-^+5_jw#Pd8kw~z%cd}aj2@akv*v|cDqQ4(OTyb+E{+dlf7`I7QK`ZIH~-)@ePf{HV?z&TrppU&Dx$R3k0O&U|CD9H1}`FDl2 z?WawwYu{OJcRRobMqpngp)wscU1TrlW8bFvLrpI95%KK~r&-8JoQ%h=QEQX`M1I%O=QD zTGG5nT+_UE;$b%qh_)^fL75zJusL_5I@7vP`o2l7^iFxDn=ZC#)Fq=j@&B-XTl^@g7*Mj{as5!K=~MQxKZkH?*`PV@cL}z-u`*0NUc0p1b~# zULe!H0~w95B$&vAgmi6>3QFEgB6K^1k_jZoV0MSH7AR{Jc$DH z_E563CX^jtheqn)dl|73kaAhUw5??={0PY~&9hQNyq#T4Ux09TL=h2y7`9O&x9ZA{ zA6K~~+BVz1l80QGDOh2st$KB;`BqhVrh*{z6T*N4Qo70806&g?Q(k+exs!^!R(EDONXYNq6KR z%Oy?+vNG0^AJ|op4XjJPX7FTo;x5=Z54^hei(>{JS~muGwgTf1Xi~DI#p*bRD1g88 zARr~vhy@;hT$g;KF8QuvgJ&)j^YlF-3?4YSZ)Qz5_syL;UnYBg>nl0_oFl5h7@c+v z<37WrxGwLp7-kLcH5CfDDj3P)kXLi&OXAsbi}6E~tcc$7l<}YO6&@9(dYLSFglV^D zUGna-7QT+gjxCImElym*y(Rp$Q9^2sdeob&7nitySn);9`2PySA&A% zgqF)*SYic?A+$l00M%9YL=ZvrHT+P$>Wb-3aopsZKKm5 zL8{kDNQMKYZ%CBve>NY-lb_TjU#`)ipkiu7cmsZ^spi6(oIwC;#84-U%1R&^4@2g= zYYNPF`eS}ztkP@BP`W-9XJEWJV0?1Gz{J=?cY*Urb8|mS%bXK>Qu~B~@Y!jFPe&i3aR^&&1)BMO-EAz2da=N6iyUn++ zjZLh=0R`=DE$gb6*LsMxR%ETQdzseUCa5UenY`8G{3CNB`Swj{)pW#DS9E2zig#gA zeIC7eB@STQoYK;DMDzP$e4*Ybre4nF8^1$6reRwu&vNtcXzL>y9%O;N;Q)K7Al4?A zv-}A2uT}JnW7YX41=nF$h{M8F_y)uejuK7~>$JVp^6wp|_|ZETJCEYdY9>|OH0kF+ zz>sk4iO}9yl4Z{Z*z?2-9eXxpS&b<)PWaU5j}LI+1);SOPv!;Oo*hg*s3)L|RYi0~ zZ~iWk{c&x4wpK|K*7_E*)?klUy&i2_FZozCKYGJ%LR4ZyzvvCy>Q0BZC{Fz~#hWMI zVgnd*V|;2re@m?B>|^BX4KJvEv-p^EVlrtZXrC4GnXG>`K7S*r`Bv2R!;Otsf_H_a ztc;x%EI64J1D5Sj5faI!>PThn*aS zmkjSo;T?DEM&S!D*c^qU`}d%5D)P@`XyNqkE!6jF;gKD>wXn@*TeyF}?kx~s`)c$? zC5@9vWJBYmSihD{M>PMC&YeTktdA}1#=mpV=-Iof?rpc9zq#Ix>d`h$d|gBDuJ$eL z=)D6xySH%OW?LB4yM+kKQKh!YUC@Vggp!^=3Oh zLndE?{eH@y1~S(jpQ7n4PAaCiO{3k3T$oQ|+6iGY)(1+SR7TFo^$eKbGNk8M?| zDEqeiw=!;3ni-Pxz+@S4&ggY*)hCzLD^oV755A@|PUg_Q{+ZMIL2mT0Q&0F;mm2Xq z+S24t<-)CBTF#TLD?)d2#Xd394{c@D$cDC?<>Ad5Zp^#k$$vt6DVj^>aophtMu@gO zM=6*g`jb1k*$hM6%6E<-ZZh2$+5Je9f6p+o>8e_kt>}#QyZjMjI_p43z#lpogc8M@ zVrd-vH=ZofH?rmR%^F=Tu%O77JI~7DBG+--#nJKPZ#)Cs<}+H2XS9tdC;4Kctxr=; z`hDptW41MVadcDkCrV}J8Lr4NT(s?36(jy))-3$@->M6j$6ObdP0n?JxdL$a)tBKjo9QRTOV=mG!1Hr*gf z#$}|pmbCzsyb#sk<(|LH#Qil6-rw{Wfug5L<_Z_926uv#iaYz?7OI_t+9`xWI{=-H zBi_g_fpnS?v%;#_CXEWF%C&aB=bd}fs{HAH*VrM)pyfz9Nq{gvvF#Xc*2!vLHsZd0 z?10xa%^4lxLY}g%^$YQQ(qH5~FuRj4-7ddbv_=m4)-+ce8|%WG4dIO?-6yqC`>+p3 zD(~5_f7@lmM_lB3*B1g@A81JG)Ef+g+(BhKRH1=R`6IKy)X+QYQbU*5r%qj!7<<%q zB9KM%PZNf3=X*bu)cPa&iz{!ULQ?+SY;6SF?XEn);i1{KMv24U=99kGHFbzA2hXJC zt8_$|fT|%ciSE@A?vJrqn*^HVL(@pjawVGBW;B;A9qgSs|cDQi%Dd`Nzt*QCNrk}0ta$lsz{z-cn{B$yGgH^HbMQ$r_X{%3q z=e@3ADPOn0*urZ1LUc=3MZ5Xe zMF`;B`n)a0YmuI&8Z?)Mk@4mcqzhfHA(9DgydBc(Lj1=~r==r&%svHxQecV6;}xJ- z@_4s`=udvleO4q7L((1Ev>UpymB-N6YwP(?*9qsxxP!A=5A*RYW1ev1H*N;3Sc#Dw zisfGq5`z{7pR=YMie>Y8nJ-9@Uf22(FIfpEkS+S`T5Wi+mA!nSe2f>$vI-=WJEE=H zpr77dP?=QTQEw!bb<9amsjO8qfIlID47}m-Edc)ZKmk7R{ElEuH_*$SIL_+>g7`5j zTo}Z%eJFMOF+%|^)(3BT6gpwtOft1d{~Kl@--1o^wgAT2zUD{I%*S7!KpgCgwp&rB z4GfV3713xwU?iqS+}b~6=9zE3$H`BdIzn##_!n?<(SBRv=HUJ#w!p*blY4s^yW5x9 zJl!)t(D;(fD(7nA{BbO_0*kT>wppfkex(#s0*x{3#ldu=>cwWHT^M??O7qcF@#P;p z!v4Aa)@qI5lC0&G8vR@QVx5fNYFPsk)H29sbLAvr7gWIhC4K&g`<(LutgtI&{&Uvd z8K%P~v`ZfhlmqW(gLzR+ks{!>xt7goXx4(@rvws(8-W{@(Wy}zfg4y}DVi5k(E>1rhR47Gp+YdPn^JPhCbG2 zVR{ZgEml9@5NL4m431HZr=D_#U24X-;@lr2%nVq4+EMM^hIYIkEaILNZ6tV9XM#Vk=El@&O?+*RYrQ ztMga17jH^Rwff~;;=lVdG~as!o=g=xYZt5FyW21tU4*t&96rH&Y!TlrYI~bN0=1Ii z84JpH;KU6tz;M5`El_XNdfi0}Do<*^d4RfjQmS>p9Ii5TJGhQRnC@?Wh9~#o=i|fq z6HiSq+uu?O1~2_y`S4xQCwJvtaKl^9K3>X>*Zi(ob`h7Bz^V&gy_HW{TdZlF+Ls3Yj&mYDKA*=~pTvk$FwSQUjs@h~(S!QKc8}+_% z`l-0Le(I*0G#{8^i%%RJ!GXjtMsIwcZeRlFtlmSTtq=1HQy|*UwB1R^AYFQ%)ENQd6%+2x*s0Z=3K7tQy3>3x>kxA8l+emW#~sun5K}{(j1{U zIXQ|x+KP~o!6pry8g|?7bh5e9?xjYTL@Hs)rn2&J?U5qxk7EsDAI5rto~LlG1&g*7 zH>io!uru{#YV_Ixyi{8)W8dMnp!poDJEltc(^OW{KI|D@KCV zkG^i&QwwWwMJ>X9L)Qu{6cgblAG1Hihv5%HgY5**?413~#^!DF4H1R|7SRvHSsSL- zhW;m&<1$68X%yc!pZDA4w?Y2w{6=zvyANRxP({tDiw~#w@=z0iI{qFcfV` zk4Pg;x1~X3#!6lU{eeZ3%TD`jD9Lhf^HnP1iyvyoQJ)`bTt93s_n>|-op&uRGRmm_ z7M|B=@z4j?=6Mk$s)84O$9J|VLHLC;CP^)r*qbi1t4WJ%T3X^6A&Te&Lq_n+L!4kJ zmwAT5&=)XUwfMp>M)8bMqAw^i#Uzjoc8A}oj7pE+xSF13yzMe+OhLLg4`WGa@J`HT z+D8nrOY!zxurF=>!{;?!OCJb*P%=1 zwVV`;+RV2+h@-`%U^#0_QNG-f^OOPZw*e?TQmlx1U(Npfdm$5u!u&NuA~Ns*=2C5c zLc`!QjtQ33u;1>{GfU;#0*ztT=a`wYDlqyKVUT;b13`y9Gt})byr$g}FAg&^%NkeT z1PuL44_Bap&(EKi=9!$SwqZbNo}aHvRg)!9UojS4e&DyI0{S3w@Z6}rX_@Xjzopi9 zJDqdy7|awS;>-^m*N{en0RX!j0PT_Um&q;~ae-Zm zr*O%@wwo&+Hs%{=APE@f-xDWA+g=7%mzFTD`)m^8kQP?j0z?`#9Y+r_?3;p zJr;``#&PmqY4#3xv!l)Q!=eig}8}!;MDT7CK`$9qJWA zOH`52ngSy>%E%#(=L?s6kby}Ugg4Ps(YSK_H1T_+6 zp?{68{8n4~Eq1a2JaeJA6JuoN@7>645TYOC8KbOz9|rG||LHb(Kif4scqytBvwMAY zxU(0XFvnhOt`}VHXKo08BY(T0y+IR+5G*G~pf)7$ZKeeKALxcBvQmF7-jH_HgAFzLhon*H2> zz$8*Z21MUpFS2pvyk5C^hOMku-Y@>pO=3K>b5>$dPSpEsgQ#cfUO@oI*9vIHZcbK&qH>y(32zsJ58GUI zKHc6Un6UKAuJ)m22+J}9tit|Q!ykH98GUR**&flyR!W+NS=zB!G;peAyG--8i{GpT zRH137>Z^l)?BlSQXTe1u<3&e$HHJbCUA^w|_Fw!7uJZa{+z}2*llZe8LY>pVo@iX# zjfN-qZU5rne$iGr4)x(Iu7d19=J#J_-5yw#K9~)!@NP_s{;RcxZx7av%2Q#0gLTpA z0;4|nyV_HcJNGlCr2IOu4zHBrhP(#*JK6r4L#0xfnjlmj=uzp243guaniEDFG!W(h zp?*x(4|PUAaLG7%{ev5Y@rl9Gy&W&)sTlFX z#B{6=RuKLD{=Gq=a!D*~k$7`V;Qd6&!}9LM^oGVa@xyy(y{4 zqZj_9Aj4a&F6sPYyF0A8D184c??o2|3MLWWt$jW_7_&pNnBjQyRyyJQ#o+DrptU{L zL3YxqM&Xm~??fpep$BK~PLEqeN3_n4=YzL$*2c-QHc04*^bL+U4Rm0EoU8#$DM{q8 zXtuJAJ4J7jq8Qbcwr-~)TkY=Xd+mQq=1L|q9q>u!uGq=v7PELcTd^8DXqC?gCDkZY zX~HH*NlN?5-<7`1b{?LAF!{r0a75FvsLPMR`g?7X^MFr@)e?}W1n%aC{qJohKx}KD z^1;1uow8MrJM!e?Qt@X<(Ye!AK~18wl%&i@o}BrYrAg!1wE19g{OUwOaL?zsJ6Gc+ zV89u=n8{Vft3HXg=_o2T^xDoJSG_Ni-i9|%2&KUV@y$%pgG)v_-s&l>({p>xyq&0V z^7%wi>*cetD?(Z>a@dvGAq(Wcq*Y=EKQbq3WSw2Y*g<5Sf_pd<_9FHnfACxJh3(Q+ z?BJwNyP3Touow+c~j9}jp6E$txwKIHjr@d1Ry+l6#3xBdk85d2%q>Q3!z#r>eh0s+d^f+ zPRYa-RUusntE**abrhsrMF@Y{=R45^pSa4p59FUpeqmcw5e2`4eBwS z#RFZN+`!f|a8mmHpAnKo>gt1|q&CATp_LI!N-z?~mFxH~*X^e(=9gzH=T^Um%6+k-m|ZGnRPCo&`qYA>#ktGYch$}S=M8rw{RIX;;J`yTKc z$G$ujbNqT;mN}-u93NFX_GQB#)@dI5Hd{Hu(49L89kS4hx}V;7%xB`ZtwScx-x6h# zfaDeU5fDHrJY;k|AlO#Dck3=9W>X4Co15&(BXvP6`4x*RYdeQ5_MEgn!=hEY)yw zD#ul}ls^jU-2x=%rAFJ-g3e5>OP$`YzP*IwMe$^F?l}IPx~dgdd`I>s{;qT7`LaN2 z+*+m_So;nGskf(#!FIlPXbA85nn-&w+LPOh&8AdQOZW^ws!vYse=55Of_0p|8Ei<5 zUGZ;d8EvgWiV}?<9DB6n`k0g2#|4271!p&gWxvO5=%W(Eh#Cz-L^2|z zohF+G(}A!Va@Vs5+i!Uvc13U_-P-{{OZqNc6C&@l5IfA7{s(3UvIHd z@!G28imgYgW@=@wwpg{3#PD#6mSw2>MI0d^cRX^%Ed{|kb%i9+$=573xs~+a(zD5R zsiITIC&xV>5LEyCy2RMd4`2vl?yJU%69y4;|NI6Qb6@xThIFC$gofe{Fu{`k%$#~e zt>A?rQCGf|*Qcb-&7*>sMtnOqDC%JYN}R#iE6%D=(j0PgY7T%G$h{cWb(RGqEW9(h(t;B@ z;_COMBTV)SZe;%wTV!YTm7ga2y~8HifLS)z19*J}fPJlFzBzw*?cpdU2X5CZ0Jzr= zc%B1L@{{HpKg9*qe!De4;WWu;w#XHqsgD)0fzopbBt0s4u#X7hp#$c5i5^EDR445d zV;82gKnq6zy}buoKb^vY+vIRLla_*?@3IM|_fdS*A_0?gv5fuw-|~!WQC1Q|Xv0*d zebG(eiH^aK7HE`)HiE`VdF@J1$-sz}YZuWkzi&IUt`sZ$gp0R6+2&iuWx4It%pm>M2BXpCfW9AitC# zi85oK<$ntx{l1-R2V|e|9;~~VxC>Utx9=yy`&Bm=s6o3FRK@y$5z59?-K2&c|J5Um zj~8`Z#cj^D+_o}Zt#|O~D&a|Xgz-<+h*xJG)Q=Pp?ZZ}alg&jD+_3Fh;J4Gd_^=>D z@PPkTrUcNP^IxsR?{B&c#$o|kXH2mjhhWa+s;(7mgB&A5HL_F-e>kV7_ELqp+gjaN z#6R*q%*vN0^%tnbX_}|o4oK5Z6~DJ>B<@er`l(c zi~n{5wQbTu^Eoq|Ac(1Ax}p+9Z(A@nKiBYB>r*Rr`s@Nf{-+$29skR_4VYm2!mp+D zE>KO&)mD3d_6>5r#VCa4cNOxNDtHH6r9v$V`xX8iXSW>ARO*+8M?_+!`@a!-nkwgKZGgz+uQ_y*xC$$7(o7$6BMEK=zksF zFH3U+5=a z2pelaYaO9OR*I_Ys*2ZMcTm5kA$ss2FPR2D&ZU4OC)1k4Au>;oCqY1=|waeK>z{2rm*N1`sL z4Nb?U;F820PUED1WH$SbwPRk>R1fwg4#^*&yuArk~EK01^bF z`nnrE{LQ5;4Dijke?R9?4IFq()O;S}ROF+d;9q(FC&H%I&CDn3DLD|iPb<^j)xC8TZkPy0r z$>-9{1hHR>D3Kbm^Y$Xbs^*EpoHVJ6{W=1pKh}a%nkNNN3!}XnX1H(QP0;eW;O=Rf z)|m@{{YHy*0<2AqHdu`HbGYl7zIarnieFxILqV`Y#~UWcZD#{;gYcV}U#>bd-D7&e zL{BqB7HeLOrYz;3o9MZ?cdZV<2@?S)8e?S-H9y(i+sb020B5_ihJk58&Ib{wsk`ix z;H4ktNsH95cedpnrdUj$C5LWD{?9icNwihzP=cEdGM_Br*4wd5`ozNYaXbx&x&|xb zH2SE+4Wm^Rwa_1FLuoM^uU?@c1N16=txfI5_3bgso5vN!#0M$|DiDfHmE-~}H3wea zbpGv6+*HZtZ~OWATdcnQ{8A;P+C3M)cP8JDQVieA%)??VW(ypZ%AYvb_V#aa(Z`)8IygTl02LFfiFfHSE1w7DIkWR0K&} z6h1YDz{Dd+<+2S2t&z*6RzFGR!jg)99+4q44yVJNZ$)cbj%ezbG1NX_TiOVBb6C^R z%<=XW&$e|phczE+p`_v&hB5HVX~r>hFw!*ft$GpMdN2?o2Y$d%b#CNTWJDpWpSS-Q z^s%}Tr4*J(zlZ(mhAmjw`LC-bt}wgk0B*|o{^C*Yz34%R{AZondfA%C>Hz60&xQ_9 zZbJ))`4;^8$%zHNg%H1L#uxC=VVn+~NwpLpY=aUKCt!@W=4q$!=_x!N2ZQl)-*U38Lbs zri!hH-LH$;i9dY}9J3W7v#(^2xqpRXnQDo#&3fqwpftvdDI)?*_PD_+NEQFou%obn zgt_OTJw_Lh*qXdO^A4LWI`7*DZ2?bquxGb{l;=PEJ3Mbl3iJ1E*?*V|xxC9Pp^l&e z_FyIvZF|~~I9;m{=2$dFl&cT!-7Z)<+bnVBQ!0^)?DYK^EN79@A-L=cr<5228i>w0 zo%ZTr>M3CV{+k@D``!MtclkNgLge5Our|erg|7O+^EGq_9_zMg%kGdkfGvx!=)Iq5$6wiSO?*FN+Uogc~Ra7`M(&Y@Y` z-oKUBCWl{;>%gy)zvSH5$U!(>l{N zs`Zt4)h6$Mh5t_$|KI5N|1!t_x;XxS#q&R_*CGFhJ2N!|rs{n+s?4`_?ru~Oh$s;+ zRvbi(QApJEp^->pa$1fcRy_GU^GNpfYWcMLYq+magE?j{OVO@W#L0_aaT#YQ5)V!- z+`_=gX>N)3YON-?{jcBVe7fk3ujTa9G|h)PjC=g12&|$x_8WtQYex_t4Boq~;lvpx z51oZm($;X|jT$D14-qaNuHmrk>}D5G1ncVzTQFlYV{6DK!fQ6#kAr?EgFG~^XuWn z-zJO`55B}WaZg>06AJ|klK33fx^tZ9P%KUiUdnQ!@Qr*p+*ZZ&<`{CD3j+p0YV7*= z%^o*ckj_G{Uj_0%Hp6F{zix_bfvw2jx4OH&>L#4|;q=%4j(?^M>x+M;o*D8_;idnt z_~+jo29J~FTk_AEGvJ@I046bZ!i(MbXOXQyI}7Fi1^?`IBK&jCOyi$Veq{W!Ru|)+ zB`Y2O><$op@y{H+caqHW&-y)_4AxKkq6hyx7X07&=gF=9fAi0kBfafYE@5aQ0jYtw z7k`c+Vg#Np7f)}7jf2Ct1jCl|)91wpY@M?⩔|Sg)q(d+~9O>_b@IXIA>qmf9%&M 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

pt5Ce(33{@V`KeyHfUDXYMcWw5Mv`%|Jf(T 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

m41 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±yTxh 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

ca8X<@1IIenEmmDDi9N`~XMu!Wef>b8tlj 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

TtDexnqnqfs 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

S7riBkid?4q!(Ga_(@YGRT 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 z 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⁢n5Lz^dabjuTxm?jAKdq> zH0YwI#m6Qua=@)t+h6}0Jyl}i6j5HhGm7-&itpS9{iCy7M47ShE1{{4!$DIo+-}p< zxVeU=>Wpvcna!|UdVWB(g<-LtmG^OBDrcae-@%58UCk1?wn zkGL#MaAofSCDV>~6YqJeAJKpWkF#`y!Q z4bG!o4NTGvR4%Q7@5%`d?E*TS(k{-Xc7b5T9oif-YR3$;bJ@NMcX0oOkMLXdadFd*;80vmZxm1yLZR*Zr3qhq~R{qg^Z`wsZ1 zs_g#+2nGZvh)5Jm(5OLO2r5d%tVslX12Y(k7(v(ABDOU`0-+h7QqjlB zkHw>p7(pT)e>fFAI$yO>ooQORW{IJdw=a(DY@l?e^WQ$&j9wb%b5_4DPvl@_I(xSN zHvX^bR@rQ00-(LB{q>qHe9zG8wHfy{~V&}~Gef;57z~FcChxzM(lF_ZB z@!#IX|3wNVP)8w1J~u++|DW;j-vWO)n;qE{muiwX?Gq~&$)z1v+N3GvI4{3bHTn2}} z8pj*H4@$D){xWtOTChf?%p5Mf?gSB{tY<*86~TD?dmMUn zdg{&${-1I2AJy3m=}hB)ezWzwul&0li_huT_}lpRfuiHJpbvg|9-t5{-;Kuj_R7Cs zcu$c3u@}f+Uu=-?1j-HG_fNi?4}ASj{=M!0fRcGXN8`VZi+?CNVfpU6AsYV=#KV6J z{QG8haHj4+<9zYc2It+QI+(3HI8b#EDbMda|DJ_~=6DI$oqcPa!h_9mE<7KD-RJz2!KsGs z|E&C!?N);7R_%@=>*Q93te=3M72eT~@F}vs^S*dw9V3=Dvu{1H0zHk=J!$%W=Sf4~ zxluhmJ6QE}lIkgvz8m(@zO`^GsQcQ_ej7jQ2ZfCD1COg1=;Yv0-r`X3%k|E7m{^uKTIV+(clr$>jywEx2-J%f1d z?=3&}DAOG%ZMet3T!bw&U|-=&#iD8K3^5?f+sQE}-zo`1qTRtnaCu z#7A&)EOU{^CgCAk_G23MhL?c+M}CMRH0LKnXu%;QG$Zld>UY2&2Y>k6_+vL{Z!Pl2p9i=UCHDWj6lJu? zAJ@Mr6t&}QP}E07E=AovUQ<*2)4_G&TY}5`(hKFYLZXD2zxNsr zN#*Y?mY-&(kBKPithhNU<9`0@6E=Oo4OO`(AfOF za%Q_>Ia(q!)}xEb-^+e@)}8(CHGi)f;7nBz17*c!Y50#xF(dN#PB@2DsPp$W-a-7v z=I<>%Kt|S>9-Y0HEjkxMm_*)8yVjt-Vr@xBNkq*22^H)wJQtHG`CQ4`Ccpg-NHhNJ z$CB<$LNQ|#4%R8{kdb&2?W+MP23_y83ySs<{FKQax^Ls?JC1K zlbs{YX#OzKzuCE)4VTpsL}{|&I{b=1ED4qUnX!KJ@j~3fOlHUu&aM&6zM-<=N((w0 zE{sR8!eEGkSk^_un>P)#4M7}*dGo_u*hD%Ox@yez6pZVC-H%SGc z9vRKI9lv4V&mq#5M>KH~o|$gw0^pwvA{k!@TNYJGk(tP~S}iHggCx6Cer$P3u`-vG zl*5u@J(Vp6XjW-(>luwLNu{30lZ$3%btR~i7z_+BvZf104%B%TG9R<;e9TyuP|~p% zs5H2Qq7}kXb*IxWZ>co6673R7N^Dlb1M_g5N`pI4=RZN##IBxOUPdE$I&i|(_&=$% z69G|xcXfHg6B|B3AS{3MRF1?G`67QpuEu(dQIZ33d@AD#ay7Qs ztOU*lEFC}@bj4t->V^SQA8AZjAAf@E8axon5v?FwJ6<|I-OzE;5K^||B`D`m-3q77 zKWSwX9@q*ix(R1k!fA_ERQwkQ^}5V!X1bJTzL^*K0%Tc(vKZ)7^1I66gDe{VLP7!q z24rX{N0~tO9e-7VMu*!(&_M7=nM$FNSJrS2>H|S1d2YEx;qll=430=_I7Sudfh@Ub z%(PuMeGR@z23H~ez%OKONRh$(&qxb}wwV7V1)t0~7|uMI8`##0sV4(<*a82)KX;Y93FeyTXuTZdxeL;@vrDdM$5gc`KZ`Qb;CkbmF)dBjeYhP9wjPi4EH<*hKD0NRO`LSzI_2li6r^( z->P?#U*rVVipbf_VJXgKZzw|i=Mc3r6-X3F3Cme%4E0sMR>|%{U^fgww2x^XDcTE~ z^OwhUgD-G2E}uF-vGMG1z1zt?!&QM)fOms)gRXjOL{((6*^aLXC1qTZf(%c^nqA0H zdI#P{>?3g>b$(F`L)S_8|Afb-Xg%)MrhY&Uo4XJ|qf*<<#FKd~`KKnkKiwGdlXHdp zdK8{?E;!+v6+(m{%qoHff5Pjk@c@8=54*b(e@A?(U*Y!+d?N%|5Dc@1Up01M0hlXa z@8ypwj}t3%d{K$uZWsmyh+KXY5!F_JB3@Ln?0X4jfte#Qu?G`ei@8mum zfG1PP*^ST?g`4eoa$kS!zTS){74=576gmSh+Tjg6g1>IpXx)g)WD1W3q|%X)*6`7{ zbeuE3d6QC(JRox&-#niXLB2%hSA^WS3Irrur)7m8R;kNJDo}=SbM==?v9&OB5Y9i4 z5Dc&err7@gbp^ANkq16q3G~o%d078AQ)pW4|!_-l-P=ItWg zMST0r4UlTJ{k@R*FJ=%95!KfUOiIHdoCoB{ae9Q}knoW40HIkDe-m+a;vs0pxK1U$ znhx4Cp9I*rdp5>H-_A1j$ z*gw1R33M|{ccX1J?e8+wT^iNRXQ#0n<)0g^x{8eUHC^qyfA*bKApG0k(3YF9e-?0T z!9RPs3<3Vxt#GBs^Us0{^!b3w2HYL_L`8uxb`?RB?>urASA$?mVJQPxy5C?40r9}n zU$T^gbtqSs3ZNSWIoZHYQHjXtZ^KGAgk!X7K)G++IVf^td zYX()9neN={Eqk!1Pd<#|Lxpn;rq-Pq+0$9lQ;PF^z=+i_3ylLYgb5-XoBeBE^h_*2 zr}6c@U`b9mMtIR*Iz`dr>F7Qll5&6~ULX+Pi7xxYo--p6RX&MZ8q=1_YSO11Pb8j7 zJTQ~Lo`u;Xh<;!gWphy2jXa|%iHqvf1+M>lTNKJZ_^(0PbT;L#tnYfOnOp~VeRFiR z; zW9x$`kk0(ffV3BzbU`{lQ-Sm_bRPrK@<|y9B^R02eOY;FQ-`4SUTppI_oFDk=yn6o z4QE8Qp2yb3Ke7y-c9E$DX_IJPa^ux>Ss;==l{9Y!^HO|Swd0Q05rgiLkF#q4&fTvn zf-jcy9-19x6xpYx`s_UH#)HxV*>Cq!QyJoRC82^?W?=NI3MEwV*%xK=+S&t~S6#jw z7kEIuTEkb*saG@AtLO1b_=_`7y)RMk|G}bFcva19CYk$dq1pUygis$FUieyz@#Pu& z;y=iY=Rf$@KY@iS{u71c1)mrk4?bOCp-?uY7kete^trhij%AmK3L9zWUp<>W?S3x` z-{WsH`2Mg@WKY9%PwU_*kHPl7`d9N`2D%SitNGhLo*&ps(F8P|8PC7^(qAzBuz$6e z_TsnbKbZA`(8!V#faQmV7%V#%{LSFFng3w_4T)Y?g=C}J-2gbI4=ib`i ztA7>R09Gm#vm7TAsVS(altWk)b|muCzWP_ceF((#)Rri+{pLeMwsTG;F-7=STb*q9 z$HXbkX%~`1A!U;m{HrtASFY|$Gya!m8p6$p?dz_S)GG0)o-kvVQ#I_Pe|64sXQ1-tz`XTS%pyy)+64bd{HTtipl zDZ*!P6#Yj?htA(I(=yjK!y&5uadJOppE+1+jz~WW7RwY*#SxHBNMHDNqOukf8g+R& zi49NSC%n#5sh|0};Y(OUh;x}NaF+pLBX23F7j$v>3T_B|2ll|y*z&P24(c1oe*Xlu zZZClMUKYXF3@u%w@FESmybQ~|@hF!7Mh3IY$nW33b;SI`^<0cy_i z3X&Zs7)YjSNT!lb2@G^T5bAy7fe~c&DInn_*Z7qUN}rfmbMAgjjbZ%kMYP6lLdMtx`bE1Tf6N;0p+ z?jg6IJBjGEy7A?3Tk)RMP;p(ZXHLz^I0gPd`&oDFPVww#srzU@yKx>i#gjKiNplM- z&8FD-WNg5{(|&f_A_#DU0MPK^;e~{>7!iK2{cP;XR7C$5_On}#})k7p?8*kWGkiH0#btWv257M5|$pFq{mk5YlQ``)o(8AS$y_27k zC2;=XM!)WtE2{V*>U}oeI~jPTHUj9^Tl3B0_~xfLoL=eIX8|*MeLyt0h)w_{4F>~uMKo0PX+lH1($-q5UF#`((q#VBmG0OkNaQkZ;u_pC877XZrA?- z``hVYG2l<<{Yw^i*`Zj(muH(r>@4-0CEU{f_8R!NUcZIh-ypsZf;NY>8N4vnNj;j7 zkuOKkXOQ8v#T(J=z<4`uhBU{r`BH{Y1yV|j#E_eNuXRpK*EL}B?zoy;BFg2sHL#(g zU9H|g6-13zrbZ@eoG${Sk5(pO7*sFa8p@}U>C_*KaVm2oje|-*>gF?(?*vD1GYL`g zueZbe3$qxO9GH}!pyD$;GalepMD0+!uEf~xsk|t>88PXga(1EHLgTMc^@K0dyT?XrN;R>l9iL{iK_weW*5rl7koKJI5a( zjiy{&4NCz?$$8tWTWDM#O+t!(o{ym)Sk__U`1Sbo9JTFGkV)KaWxab7@q^leww)3vInNNHwY z?aSLA1ARR4>~FI#PnKP&1^e>F98}o8{DyXfw`gDP`H0ZR1)V@2d3{~_*m16*kGS?_ z&x|JARvHqNf*D zMdA1K2?oCpLJgvT?hUOet$Bi)xZ~HXjd&4o&$p$jjB5jAr1-{zo(2)=64l# zBh8g#Vt1r${@tkP)R!&Zw_DqkQD2hM317YFcKC zFzTaD#2s}kh`|*gf|leIAM{FyoxVqf!bexxMY?`{`PP4oAU@?V+BZ+yZOa5c56fh@R!MMl^Y|g zToGC2f`}^4AX7p0-w$8o>z~tdHP?*QKi5QL?E3@t&svEwYaXB2aUb>1PBXCEz4lVn zZf6yn-R?OkMdXwq-2IME?DYUPxX=If=jfjYccqr~zp$^Ka1b{%t$)sgZylod?~6}d zd>Ke3l=Q~EviBiM@7ZSiZAt%(m9N6~R4iDU{vv_|OUYy;w2{1wjh8` zF4vuCGvEi;8$uft)yeV>s*}@HCvg?55@QU6f(84kO2HbH#zlBXsL#{)f&Q*}tR)3Y z8(Aatt8Cr-;*0iMznXkVgnsqaTtRTxwm@*Jzqklqa+X1G3-a@r16}(<8RLwV9Hc@- zb7)8RRBQx)6E!sab=+-A5s1Winyzud{o+CzeH;0d#fA^Vb=;%7#kw&|7twH5w5%Zt+Cm|p@hIwt>aKaK)}STsr~0MK*u?;4|q zT4BS(V7>!K1f#&r_|E6bG5fzSjRNztuNW|&4~;4c%q!cmU&N>OL&tlA^OdG2fwSnp z?5U0JNyEAP8UyFXl$f3_l%7(YH!p0lqrD_Kjsdd&9soJ{kzWCF&ln)TldOPz9)B-!a6k18Z@c7`Phu|ET=Z2PDS;p7ed@%>c&_i=zOa^|Ar{dr)@_1a32@j(T4|U`o6H`o_-5`zj-%6AA0ClKp&f5dNfA? z`hE+};uz2ieIr7)8GVOh!^}zF8>eFSv!0Iv^P4XkFqa+_1Llw0YWg0Hj(;0{U(KG< zbx#`3^RF^+J}|bYiPBSw^XJS6?YxGz? zKEFk9v_RkAOh!jfKBqd;aL*_*aK9tAqeON@{ykCk6ld$s0ewTSx6*KMLn3L-<}LZt zV_3_#a{&6M9%vc#%)u#F=tXScQ`#uV{{R;?Aa4bW;XWIe%=GD^>?8Q3&oZ!Us{gQD z;2ebLR>~qiM*K@1C{~(nLKMD9Kug6V24ngHy;IaODF|chY^Wd2u=V650P(74qp%yY)TMDBQRFr zbU3g%x~PrbW6-7V)9a-cSoHd0{*z`H+g%2XJ-;vtW4o3ZjNR8R28!+V_yfa!E5>eT zM?T$=USDf2Gw3=swxb6V_4+zY^%M_Zzh!;Rz8&k!f8XA*C0Fc4VCx7D0&D!vq4BYW z19g2iixyr&%@LWxBCutVK1a6``M6AC+}DRhKHjnWQRF}AE{^r(>eVNF^@e)2K)u?4 zSFnGmcXQOcmso6pdNobGdYrHBRImQ7Ufs=C)77id>Qx0_-GEn0mv_>88mPYOQ+F5teAt6%O7{US1q+az z4-1Z^vrQHOGqaV54RaqdvyG8~(GUe=lB8~npP5b8@A3nq zKO9Aza*HvW(bLn|%K+}r%FlLnDb`8)Q&9_Y%p$WO4}@+N)={VYk|Ff@!;tu^@mK8s zCFtpeC!-kX>6e%l`Cw9HPY3Isf~u$evj5M*3S2i=tw4Yot`DQ8aGWr{fXTwR%shLR zH`Jz+W$$w4Ni=jz_Wz$T{jh)MYwgHx+5Ug4vj6YEVz}%mcQJJBX>b}>Ki#+Ze%jw$ z`cI0b|G(^&{(k^t*7ToG`Y$B?!=)?mfbV-4paXiwB4}+j)q*BHp#`Wiz_X--g&eoF z$wpVhH8nn!_P8bLDFMm9W(3+kxg!WMDNc4C9 zNfFvixXa^h)Z%dGlEVtJM8GOG7a{qwthA|@p}*>}=x?y@Pj3LLFEZqIN>qOj?_qzu z|7c%2Z1@c3SM;X^Egk|Z!0Bh`Pk!8^lE?iURJF-xZ}iz~&4o47f;WP{_Pa~(2r_c7 zz0zy1_3~mB!GcT+m7zOd0q^txJH49^4hP6r2+D2R%`xIuqODHpV1lI^QJ{{KDb@1t%m{oQ?%p}#L<59sb6|NX304E^;nJ;dj~Ezw_^ zGUW${W&9cRS6&Qy=(iw>{%(HS(BCnMk@R=RE=7MG;HuwW`b%Md>mG|@cjt~W^!IE+ zWPis>f1tm4@a+F;hxd-R>F)fhzDO3fa-Uq|NRwSEzSA4}`3?^1LV80prO3>5yZ{GMMV-NFq*3|T zc8nEosB>F;b;N{i(H$xkgSrp6L)l<6cj&eV7wA3MoZ`4ZVN;x$UM^C>BC#!^5tV(1 z$2scp1OMcucyRG@zP#cv%y}y9COuR9JrM^xS~!xTszn{_h;Req00ob0U_S78%}lSs zr?UZ)qI))lAW;50;}ATZf&ObaEb|7*%-9Gw9yY?EJ2PV&fdf!3IW5Pp=8Ow*=bmxV zX9xPA8M*<%GYOOhERH_`%0fI45G)$u50q?k0x;lazWmm5YAn_zG^Ct%mB+XTceY{k zbPs-rrwI38e{m01VboSA>Kum3s^{Ddag#p6B9x$!vpO$_@!6LaQuIYI!+^1rgKj)UU)!Qa&pA%a=v>LJbG~}UexF4sj5+c$0 zZ4|+TUo%`)mv9rWsWLi~jP3~W+jn!Io7e&VWT4ydP|cBYaPCN1#97}~A@W&#;lQ@x z69apgU(I-fg9;HoRUm0(^75HK=FC?xX3V`$uMQ9}ubD-LswZa;Dhy;_@Lh%o$@S+5 zD~BSPuMf{a*g{J>XUsM0{x^~EL{f-=)D#`>@%2B#9~U30&idia&B$( z?%3k3-FK4M@CPa zqzS0iI;{~?11R8W*8nhOdsIdY5U`N2K0OtaL3Nb9#xw^+ApudmS3ry*Ac_fyLIVg- zMLEWx^V>Ct2?B{mWhj`WxiGn?8BAKwAIJ6UbekCkmdrqQ@;3@B^nWYKAWefMO@XE1 zpcY{Ab$JNn!B&L2`H@ zSeypB+uC@1Y-*W+oXSVSvf#})AGrdzE7n?xdvHc>%I8#2iYZcK6FX$Q2!>Xu!{JuQ zdjR!}G)Vf#mqX65*AaeuY$e}7qb`Ax7dq=u)WW}E$fv-vu-OGttIBVUFKs+CKEM~t-fh)3rQ}qV zwQ)nF@N1H1#v=Tx+Dxv>hv#rtThEL;qz1ALp~bd7d$o7RCbW-*w(S7w*HB*urFs)< ze8FLmf~kCMZ9K}?Cj9pn47wLkIy{8>NwJ-(l+{aKAABN)sAo#YCoKf?|s>JB2VeYOMb#0NEc zgbs5qP*CRtCF+)1c&eyAx#X!$aaUqBx6Wfs2x*z$$zQ?)w*Pik2?uN`GX-H+tBii*#@ z1r6x+(U;Iekk76Ird%IBrEmc$N%r!)qoyOWv&gDA}`kT-$c< zghn2awW0I`r2N|zney)dD{%{M2-xLArdjZHd)I*8Z&o+5NYyN@p#@S?t};G`=yE`8}42OPT-07ofqeg?zac&;4ndsCBAQAwKs% z^oaP}zo@#QU#!KzHQma?9~gg?i&Yfwd@B;e?o)oa+Y6z7`{qWe-)jaL_50Ls9>uEt zeeqXMPo(@;@#n-}&HiR5rvJZ)zk19eC7Sa;St4ovzWA%t!M3oh&np%6zw9HZ|ChIO z)&Hf3Y3hn|zLom_8i=YY#l#}RC#QX}klSZ)Y;v;7PY%b2zmcQXZ~3xnR7fc8Ld|R^AMq!eSptSyzKrR;^{-3?%0Kxv zRd8o=JU~uhGD$eV7NysqNQ4!pNO#2XC>xL)qyDu-f+0pd)MdIU%e!R;x$sel} zaRbsy2$=Q-0uxa{@^``usJ*uc zMF!}m5L8`;iBng=CK>lQIc(H9&ay@_7SMzh8sd8Gkz~`u^%DWs=ddw}aVym2Q9Zsf zL;<=*X)AaWwqB$UA^6JW_w|s!BkI3_okrEahzU0_F_F(dXYV{AKsipT^+QDiyAKWEn`3O*1_hTtEB3Ril@`G7Ee-*KjyUza-JIXt!-90~By zpND#xmc8DsYV^Z!{in$!d42*|K}8IO@Y&kH-Z?JND3WbVq5&w#!5xhMs-4j-kB<6n z#Q44gC)fCsNOKJ9H;vC@#wVlUAUVE%9G^)98h&u`)339^&y6kN$07ZXpR5hLWDZsc z)K1chgzu^D_&XM{3^r>3MV$kU#fwpYBI}>$u6?W$C*a7q*_$ROr}|(s)FRNDA|)lC z&q66JpBIowu;^$78a9TwO@(H5rCxdzWFyz3uoYn=u(8Qf#A(qkSIO|{Qw)`m@5tH% z2X?;tFOkhg^kPU6LxFTi>}PG9au=la0(Sv`K028}4|N9}u?ob0bDSPK#>Ts84p$6i zlF--WPtj#yRhj`p(6raMip_BS==@F(7$8jhf;K)*J&nKs><59!feo=IJMFfiMIbLD zhW^H34^i~jQPCe4y-YUf1?%A9S=5phpW-f)2>QLvtS`_X`h@;3{NpphBS&PWuqH)= z1iv>>Y>t3O?4!Wv=rDXnSpZJH6`WMyT*{Rd0ht?3vyHEYTlrP^c8h7{B)1iTucj}< zngU-~q@+T^wSex7ZXa+1?yp!ZU<8W8&rT(x0AkN{b^3M^kh0EM`we6az^H)09YdB1 zQU!+w`SrEjn`2ZGW>j$Zw^#dU{Fr1}ygx?oGC*`mI&*1}i@|c718^shBY{#Q&u@W) z1Mz!1{sLnL$(a@dp^xy4i9u{I~+8qOuPG@7Zw5Bvk3l&glQDs$hIFxCk`Fe+I%R4dxS`x<-h2|pCWzc*nM$WWIRv(0($k(NEq znv=D{eu^@K!(M}Cv=w{}nx+-JUOv_E0DadA-d-B%A}kJS#5=HrN|+!%Q!aLxV?M3l7dy4 z9E=4??`294uWTyG5Q8wkYWY}f4fF8by^W%TSFzyM3b_~<6dmJXJMk-ps*Axh=%f@} z1STdYdTvVvucQBIpvyk1;rU7ORKAFDAnbJjDrhg7zP+bL-QL6bTS4taYw`9T0w&gl zrhtqiY@KCdYcMF@-ZLV70ME7cL9+G%i6sX}sm7CWp+b%jAo~;2=B)@9LVm`2HFIf9 zlF~S8IK~Q0v=U0K#!Kkm@>FI4X{2ZiwTUY2wvxsSty)fdG>63kcO`yLDD|RS7fNoX zvacY33x8=i5F?Htn)r{}tHcINp5YJ*-64#@gfOJ#W&nkb{e?o%qbS2cP++^4&t@?M z2Z1Y(Lh^dZxp_!7AK^jz@*Aw2jFPC8GbWJTWiwY!iZct2axry{Ezlk$h$Co8)((22 zwF`!0cn%|%%)6UV+f#7{sKfE0g~(;o&>e5%Pa1Dw6k3jTrjU#;|Hc>f`Vl-qxH3%A z`MzBwYivj|S=ZG5Rv6yjGL`+`Q<+HmMFTk!@`|l3%?e%EM(sGEq$|eIg1;I5&#?ps zIV~;q9Z;z*p+lIyVJL;I&JplpHwqi>jeITkdtM0E%zl3-Uc!FQDm%8o+<$i9Bc$zF zLGa~xkypeY9Gd3OS^+aRE*aQZax@2vjjNufvP#)2MJ~h8R2AEcxEn7lc~`wlY#}`c z^e1QQ34$_ju#?vwjsl5c<22IlGljd_2d_T0HCRLy5oyNMpry3 zWH{F)Ydkd2$@`l4U&c?BZAb0pChyUTcQ8oU7d%duj4;Bc44Af=G63e|n0w&@wRnLT zC%YKxOoz^a?3>sI$a2T=oFk&Y^I?GVQakiP%a9N6Tvw`rGfl zUm{Ur;F_P`JaixJheLfZ;B=^nGT>C5ZVWizz4s`v^84(EH(Uu5&56Z-j{R`he<05O zPwa$UJg#)yhA*b2-O~;E)9-bCOXh)xB z2<_IWPWHU1Iw?_|#0gUGi@;?!GI8(cH^06N^!NDnWVkTBnAlheM1*!~lH^5%r%%#%Z1Z=wiX|gja#z%f4~(+coi5@XH(# zT1W3o2_Zl18QuK`G2n5=q3-a8({LM-I)e?l`TNS0#C$ZP%;v0UOp?1l zE8aA!ZEpzCM?;8KIX8}_7-AtgM{2c_pdo#xIbA-A(2_00+;xJEo5uYeHcpVZQGVg) zRq}&z`9hA^jKv!v$`NEr-<9>*EkWZZR_DDeEMG+C&wb)=(fM;Hk754YgW}}Rt!>); z`}61SuYB1C!xZ^)>s4G2(eh>3`~>~)|BHNi93(p0aKM|I%a;edPLkL1<>VuU^X#{L zxfScil`q%xi;*vD@kPm(OYo%S%MQP6mVqTl$d{fO_khR8kum@Fnp&Ih!hIaQHYs6V zj@X4n9lK!FO7KE!tKGLSeg0%+y;=%}1X(k59%ar9YsY2_e*3_OkkB^=vXi7?$&Wf& z+HOhqY*GH~|FfP)ELorQr^%nwu+C`z1WiTVZ+6H&%AXr@v0KcX7`0m@pKNxEac^R` zAmb)~fB|!V?l=2-6!-rt{~Y=A%{Q^p|4-!4|E?w3Y58;X;eUYqIsPc1E|hfJNZG!Y zuEh5B@aOLKwR5*w6ZBSEpA;8>{7$<3x5+1aj^nCo zK|cAPORDR)690KH% zja_4Tpwh=__Yfhpa&0M-3NvgA;XCiRHVI?_-eQF&;vEGLn&HLigk--czqau>5e1a# zoF-kTJp^jlzYxuc@(D}`+^Y9ldkti4+8e+epr1#Zwfmas#qdJz{|()u`C-`ep`O(K zJKUJI178$J#CL)X6&FZ+=Sj^C9mO0?RD5UXh<;XRG)&3gO!<_-8s(S{#|o2CJ}eHW zbw=bS{tatgUY43rf<$Cx&@T?T32&0Lk9832M`B1yO6O9w*Wv!xOVs|ZB0V1fi0TqL z#@df2oEo@4Xl3-TvfB7UgPP!4c#s|=NLMuTC{@}5G z+$B0Ai9-lp3pVyO!&UoNo#+kh#uT=pO#iA$iT=vfE|K=ixV`98MnZ=8Ffa0$~OLi*zFP0ky> zHCEKPc0*TT2}Dy~`*p9qI*dfmjLuj@ji-B&bR7R+Asn!hOyOYqFPFnV4$kaV5uIK; z!At&X;#aXqeD+SC-Qau&{^5#d$K#8LW;mZ1`TijD-f4rU{#Dl`M#DEZ@JTBLTwm7K zsYfDkGyOt9b^J*K>`xKf_yxdu48b{JRpWt-UbHtfbcC4i_WN%{uqcu65j?rC?{;5@ z@Z_`WodFybm;$C!>y)u9)`xt#mS4nJuJVhI=6B#!ejI`?s{Q_W(jwRspW&u>f45e#;C%S^qr_0aAM$;YXJ!`+C_)<5!f3m1LpT1E^{q$l z1NST*-o^?|*yE;nPeOKf#D9P$E4VCtq1-*btQDRR)igJU6nsG9PQrns`7*~6hOUc+ zXoJ^tUcI8VP*UkoVONfSwA%d&>42j5h{3M-ml??JB(q3yZiRzhw(@~G?0+D*1pnb2 zf|a$Y1SznQ;oA9_B8$iY@`G-U4uS#>vy!KfNWUDGw?{n>oN%Px9vl3j{5|2&RbTfv zePFx((4~9IZ(<^>Z%``CKfQsUT6tzNKGw73kj|9my`i#Qk+&pa{k>bX1J^WoD(Ut| zxcV-H(!S}>diCZT$qBIX=&QzREH2vcxo63%Wa0Ucwi0g`hv~0#vPLPGU^j7Lk^`9F zgvigY5VI-HcsSJ+O!Ntnfqkiv7li#Gy=xkH!VJU}ScO~&zx7j1vjXEs^zXr(rayGf zFX52=R$ll?fAK8YGB|V=Hn4R!k6<`_p|BTB<*xG}*>o!4JXESLc&{dbhmyTy)rh&^JPgD5}0y@|og6{*0f7pWsX zGuz?`P)?SBWgs->Bo7w;T5sYC(7zuia&D_f>k!yLbW!J;z#<_lxhH+b2;Vk7-gDlC z3myDx@`d49Avzz&oyNSZkn-U{8Yy}C`g{s7sAr5LMmpLb8zxQ?!HZRZpy<&0CuWR@OJS!Gf zbmZa=9)*5ia3s$orAqiZPE{X~2LllHtKAW&oe&_7{y?t3AVPfVp*Z0*zBi7pCyqbL z3J%G^J}`D!<3WD=H9yXU*n1kbz@zBQ!rFA1*))8?D8K+G;7KvF7}2W;=WoB#+$~1< zYB)xi-5=@ykVv`a`ln|f_0OTFLL2CCZIu35b)?Y-zJpTqd-cy7d{`zYUhwDWpTkz| z6o&Zc->-euaxMVl|2Xgu&_91<;0gR6mZ&FvpND#K?0c?yQuc+}AY0Nu-v&F-`U%#c zx*7;P9P*#1qExYpJf7vKN!Aw$$oagUD&>nu6l{^v?`K7 zCGyAtf0$PbvNisZg9Zu#oben8;Fv8g0leE_2!PUBSUAFyl8>H`!9N&%+P?TlAbK?S zk9d0l`faX?!m{;ugXP9oBC&kYQU(3D;ghZ#Iii|XmyC90=u zRZsh4f7pI5u=~U?jop3pk4)~O% zjqx>1j$Lt4%TKSr`H}dM^RJ%DlZBVY#J{vxSV8>D04fBGe>sozX#5krcdRZUe7scq zCxBvMtvGg;*Vb>>;vi`Xj+G`#{(2nc+ylt??KL?11`W^B=U3mwOBCV()@09&SMbd} zqMGaq`1rA%X9h!MP_!LwAnq~M_HsHkB3Q*^Uleinx&Q}h*kXa->4GDzj4!ZYV12&$F8lwuJ%*PTGS{@FN8LktbHEstVH@e zeneKK(roSX_%X`o(O!HWouo79f703B93Cw?J z7KTadOmZw3ZfFjM==?K5(2k7N_89?vS_*~%9lP>glp;SatDBaFM})1alFsa7b&0W3Le~$J^@WVR7C>^I>7fhI zTH;pg_gDRvK2-PZl>;D}%lWIyno=YMy@=%C`ZsC7t0q&tT2W$i; zld$u;L;w6F8H}fr7m&DbM`Y`_dGc1x$J@eu&Xuv1W7G=f$x=sP&bcJk#en_{C^9mT z%@GZniEd$xH!-(Zek6cydG=>S|LXR!KC9&ymBGjg4#i5iFwF{%%TV5y;AGGwVnk@E zDTCF(vLwsh@xI_tgmu6c> z!q4et8oej7SzR0$4YxV*uDUB3V zqv)=mxT;`NR7Ei@+QDrL0~a1`6$G+Nqz+s%a^eJ3*Vx@j)Lo20J+FNZ8pL}m`0P%= z1S};5O<<7I`L$YNTW%SIlltV``$~zrWOF(tUvMt{kLCsqUE|#hs~a1_jE>WX?_ z@Uk4A{fMMT0x=*p#*^xJ0FD~@%+*bSJsnGjd6!>%<;1ir%Ze|>`t)U`mUf<2mi+f| zSKmclDKjFG(w6!(CD3>c3w-uJoXyX=NS8Tv^(-yzHPWN>1=DA9v;0@o1d+ zH&RQ-n_}1NVpp<%OT@)a8k0S&E#(I7 z4hHss0(A%+XIDZ=U(E+`^#)wvXNHgb7pHxFiv$&~5dyhfz{-}*X?BckK3|5CwhB#e zcAm=xZJ_KXzQ)hw>>ebcDst{Y${qf~HOOBSbC@Yiqj!ySc%>pL^)vS57d26x1p$r( zh0OrG@x}CV*2fnxdUcMT?wM-5lpxJ5UMvl~F#XS$(wn{Z_r@)f+w@kP0+I+PyriN8 zCJ~2alOyOeo!j1RCO>hApjt#7aQn+_crD^?C2~;8$7K+kl?e55TUS07D1i4Vim7l} zsaiWq_~RDs?0$jL%34q5Rixoim&XTAK-S}W>~8jEtWWUR&6F_#8b$w}N@}B|0mT%M zgDp^IC6r7i4(7^F&y7J-)mCtMAwGSHP@}+#3s@_>?5lUc(D4h}EkYMup-L zz!wL(9O^)V)BB%4Q@~d&Qy#WU<7(S*`6ia8YGbD6pB?8807THVDZWs5wUeKrq`q5& z3Cq3mtl2BXB~$==%|ZUF*FFT@QaJ*5owkZ-5%(9U$=>C@pr7rTo*HidSe%ac)C3^Od$*d#(bQ-spo! znmHN#aN&HZpP)Ot&~&y`0c;%R{K8av9s1K`g5S_9XZe8#3hmqPWtG~$qS>{)UX zI9nMO(j>$qoeQAdT#O88$lP9IW$i@fcIY_+Jc~O(K+Q=QfU^RhfeC-#6Jh&lf`HA= z>b?p%YHVZEtknZE%ANC{8sc1mfAZu)D zW3qWso;~Ys458Xnv4cP7PMc)4Ze2Q_teEbCRL}I=vFXCD>QL>3nlQ)-hu{G$N|qQL zYQwCL$+^pt(Fy``)>@$>JI|UH4sfxuR(dJ|_|ciYhe&2ydQ7H~#;YQF?Xf7bJ=^z}<5eL0rFrZ<#W@|l3lZN` z1|uhlxXi33%f7!D4Fr#_?EfMmIm=LQ-wtOzI?5eqV4rG_JFhvKI zssy6L8xC2d`YOi4Dg`dRwdur2cJ+LzpQAgw2ep)-p};j1@=Llq{>k!dXUnb@m|zvl zNbG6?ERem2y8s6-+>2k|oD8N9G4v2gfSBw<;f`!cmvLVq8~U*IvP>7fny=dkqTm3!UZ%y4&_$_OOo>j^HZknzPNV%;8NU+ z-lez_O(7d>rSh{ZlKrA?;Him?#nX0&Hcp;d+8d=#JY=#e)e8+6DAeWkPQ-6L*@6+J z`;q@n+x^HVo59{&v2du%^?gcI9fUY@QRMG!;r3{zWP7e>_?y zS#lQVrRGOlCy#gQd6o2&0AE5~IEMc--4n3CoX<)1z}xRA)`dZ;Qhuky>m=5jW z(Vj{G-pNjY&-wV2y;Zb>{#rXQ^`S-Ifs1?m_9_@P8*bUv)U+&>6-58tgY_rkn$sKH zMLnH>r)p6m;6GiZb%%xx-^IjkDf^o1pUi@I*33VNon5#l7}H5SRD3)sg99_J3GV$Y zLHET{e8P0{X5)Df`%8M0J|XxaClMl)>$HvDm{C{0K(j=xWq%O%$?!?p>b1+I2Knh= zZ~p)h&o>=QiyAg8i1)aL2%-+WRlXp^AIfa@o&mi-X&j3~&7PP>Kw60WR&IUT>en3x z5)XAre~xApW(k*-8%nAh0V|ghH9($*#&G^2&NvZhl;Uk##rgTNKJ&~P4h75?ya96L z+5W88J(W`g9`w+OR>DIcbjcM|jY#i>(+fU(4>KxX`tU~Hf1w;F?r9Fovlykwp9RVw zj)jCa%%tGP3dD?U#?&!yst5vnWHit51=$b7(s=_`Da<<4&Kz?}=_%g8&&j1ndS4n- zQc~QjchBDbtX{}$^)3Ft>4}+|rVj@+}hMUgtEIDgLpz+xjKz{Ng+N4AoA=Ct)+UiYHmvLEIy(w_K%9KrC*{+G>uEg9;n4n zo(F0uFwa@huD<)4>XlxkzR%ixQ{}lh%Q6a}ae4M%Z0w=cB}dW{2GKzjzZ@tv78I-;oN8;BChAg`dsXFm z{D>%eE{atV_q-aToj+JkGU2Q{+6$MeX)ww;$e$XQg@4zJ2 z6$uPh+5x?5s3a$Q5uI*tpntCJrYi>G>_r|R*svau#R;)QA8sAXW#a|lZ&$!t4R;QH z0*mf*AbN4?Vmc7wMQN}%l$PtqE=sqG2HIET|I#=I$JZKflXZ$9gf5>W9$36P-1`)# znUh|Q#+5QQ2@2ZS0)H^Ckg8^gmeEZ+euBU?bQUEw4|gKgYCKZ$$K~(q{a&Axfm2;u zi&Xwd(9e;cB`JhNagjapGUcD21gH!v=v`CI{AJhzm6GsANR)&HZJ;Dveirx$w3EK* z3p?TJqgB|bC<*7@DcT9C0B%N_MUVoXOab$6b1v59&V-Sr|E1{y#)(nKp;3L z=>4U?^2^d({PMK=Wuf}zYWz}-pGp=r7WZCT0X-R}@}`C!_>X7AvOb==${##=EBZV? z0gLJdD|qDn!DAujB%Sauq!^%fAnZTg2EEnfSq!L{)f6UMETihi$8=k>Bipjk)-cu9 z)`xUk&Iag{Ew|J#nw$+Jo$OS-r1=#1LqoTgefw(tKa#!_;8HB03j|kff2+ZIu&_M^ zhvh@At_5~r=jgyC4IOG5pdV|Z^Bf>GrnSH_OY4RcN z9vQE}YyRM6;MLcqgA2n3fQ_Yp6nysQ3mAnjYnvy; z;8Lu(DFZMFSk8J&YxW^AIIH} zk0Kk(8kV<1T_&AJemh4*Yub;JF*_@ys;OkD_GX{`wa>;GuWddp zgF9Dz`x8Q(asYYYZ*nN#E8QG<^9 zQi2AsE(0$R2(71d^#+zM#8X0P$Eaetp2hh&kXXezLYiuXh7S@Y{IP<|U+Ie{FpXLG zK(Vu#4!`^bd5O?F#Gm|9iu~ML`zZdOi?ZPV<0eP!L$Ayd{;$@kH<*vDvkY4&!=jW0 z$zHYq)sX-37V7hzomp_u%PErE=i)v0NuO=YW3alMZ-Ps!@PQ^^(-{icd14v-Uo%)a z#TjZU4@E>4YkFZvtyZ;{&X;P+%3~`lmo0hv1KD$>erKnXsegMp3hU10F(|efbiP!z z!a-vS_42W76Fvgj!*na_-Z4{HgZH`>J_@+2h8700PmrSB)%xEm<-syW_GMuNlBM98 zGD51)9tdG=U`Ac;rADb$po~J}-o7w$e9LB|j5)oQ7+viDpu~v~N&iiiyMKHGLe%@m zb|C}od--Vymd)@iIlai{ebM=NJh;dn3PDAF0jIwy#}^z3!XA&&PRjAY2_48jr;NpDP+Ps%JJQ~ z?JdHhv$Zjv96(xU);~9jn1kKOyHU${H=1R-~ud?v%>XHVlg=~ zk(EN(FR+H*TAYrwHgFU3NEH*Nfmp`C#Dav9Yn=`_LPucc@OS&O>WJ~bEAfPCa~IUe z=02=|3DwoE%}Oo=l>8P^|88BsX(RXRkp!t4@K9iQY$n_X_#BpD+0T$0S@yD}_y}Yl z7Eo({_C^JqpjefaVeIw=D543R1j&ux7`&7&O8&^fEL#My{pvo5(A9a7SsM+J5*OFUQoK;|)rd~+`l!J!3Byz>WGsE*N6Dd9uu6JlT3;k4 zgW0MscR0j=Iq6jdH%gZ;<6yz9fWv&xV!IY!0^cMug^9>x(rA8K)u0h#^m11l79Os^ z@~Y*r#;HRqW_c_SQpavApV7-B2Vi#TGyA>p`lx3|dVMU!*aF$Jr|q@u3~Ad7*5F9TCG>i z5CKWj6U!#x{6{a%5~R8@$pWLewgLM$LObAw$OvR#Tuz`RJB#5U7h8Nj=%Et?!T+e9 zj*93>Zlr~|5kglIm+-!T6&QVta1ew2J! z+Xp5WI?{Q8Sgi%d-nl0{avZvHj>nia{~@#M!TPAmVMbCF_6N@_CR70^@3OvM{Sq&#-D8jdiObl+XHBd&A4@2V`iECR{^sUm<_ z$63Ob(*-RcMZ|PgGG|Q4!4yMHWhJy(D3vP&j$(0u{yTcAVyRLFt6$1MR@Rj@OWmih z;aVC4QP>`|3^+!9ukjgB!LvWPI~wDs(d3*)fj{T$(R< z4zG+roNI_7uA!T^yKK*Wh~R%0V1rZVgDBU4QPY40T-G}~4n?D6TaOSw7#{n=RXAy| z&t;m)S^*Jap-TK05fYY?Y(<-RcD_`by#ODLIHRC|gX5`ha_a%<0=bK{7jhb?HFs%ZMhFV9<12J1bh=Qv50p zYgi0zZL6%-4|N=z2Lyl?O>qGQr8xOH>7-{Of$;NimD;6M)*oRvfOg_52FVfwOaNIwfzAMm$^;#dVIKvq4I4` z*IkUG(sIiu7jq&Qzo+78sia-p09~ehzb}0oVWw%VE~gL%=0Q0Gc@B6cVQBFa<6j`< zT_`Lus{m7$qBd58T0e`Vjtjt8_)XO{oeYtF6r^Ay$%BnV?VZSIk6lY^3h3Iw5aGD$ zZ`XM3_h2JN;wn-gXTX#)HZGw2+}ZL>c=DEg??O(?zLgSWAbV;Vpbx$D$2G$EeZhyg z#^_|m!5%(VH`w@}@jIjlSWT|u?b4Glim?d78VD9K1PB?K=>@y+1}A6ugQGJo`!uY7 za0~|bV*P)BYqQ{z!A{rTcAS%*Xn8naO;E$Rs-@wWfq3a5!6_UV#ipX)QuI3@6ZQrU z*%zG6Ir@V4a*p7X2faN#VOd8!JH5J-O@a?`G6uIU->G;AlqMnVC(MjEUk0u^h{Z!4 ztNXdUa|=myi_1HUQ9z|fGOgmI4FcMVs>gQoEEx2h%J>pL-s6;81V95oXf-GF&EUA63zE5SaYQ+!Yv}J3hx?&s_}W3 zsuSj2QWwL}yz90zqj?vn%~96#Gn910lP&SC)9;VqU9r3tYc5$Dx-UIHa;*87CiLr4 zHBTvmc}kH;_AH@wNdDz_90;w$2u;HgMB-^Km0>ib294K z<(%|l6vZY5CNc<2WLT!pZj(-D8W_h2Fb*&}8Jt}Qx4hS0>shQv4JuHpMx8o#=GJl5 zz)ni5rWjy2Zp_V+@oSRc0XFCQaRi}?b1(r5EY-AO*(p+4A7g`jHRo2^hn=m1A$X## zHM;FIwi!xl^LZ(L&Ov;9ccs0k->qcGzvD7YTonr=q-nxR0!&44NL&?|2ZP;io&;IN zMPMlD+@~nJ+$Vqmzo`lFD>PrU;@nXqs$XetwZRtXbXgTf706yZ7Cn|gp%lxWlZ@`f z3^T19Kl9Jn(6A3eB6fRhT8;RMcc-3Bx7khby{;+!!d~OFTlW){j|!k)Hk^fODNdD^OQh_>?8ztY6DXuQ8$6biu|3B9}S^W^F2@hDqjIT_n2<wGtWdOolp|P{Bvhd4GRQgw*n!16P4+7sBPcd-D=6mz5K{)VbU>Ov z=*QN0KDNd&c%F)X7vuZ&nNWSPzIdc}Fs!g=Vbxv4Rd*e?Yo;{7B24RVZ{x(-xEBVy z@BWR&3RYc1ltSW^%@u4{F(b2>FGKU!F;oH>1b8Yom9q%qC@59sBMpH%-Z>ai-Vg3>2DHrs8kM4;(rQ70eG zK^Fm?=J2UW`S=@{)Q7!h%BPM81iE&jDKDY}fEATAmc!4L6V%9HXW5v+J2HdtzQ}ed z^QwW5!oY_^mxfqjd_uYxOk_J+&sBDe1l@7p=C#qc)ZW{45vO2gY#^i?b_fgr7^@~? zSi>-^VHg(tKiC#o1aM2?7%(i7OD=MN;HPAHHAn5B8fav59IkMBoGejovjO(Ssgw92 ze~z+{?(g1eDSB%?J_6ZGug5qb#P)ufOZQah1e@gN!C1Y|s>c_$Ny%Bd9?ozQ8VH~^hMJIz2TGYH(X(R^Yo~4J~PMV4{x9e%^!$VQWxPuT;$8AVFto4 z<`M@`Sn*4OGmhuzDEr>df&eUk6=^q1EDR8H$MBa>mma+-=GK?CwUEDva&GwiW;N<~ zD!KMZ?b3B{WR5Qc?+Eyl5K~C4Sj*n-v+JVwf8p}9zpJ9YVEF=RY3@S#s3MJ6k+Q@l zdEu&77wHCQA$tU}Hyh%JtgKOKp2`){$kXr^b!tYp^`d`&new^(s8pl#7mrVoo%bG zI{du4X7Q(c{}KIHvJDR3XN7{A2E~zuTU-9x_`zXygwxEbzC(ypqsl;}TBR&Qo7MP= zV(R?IgVdRLiKYh3C8Am0V#k6E6X2~Ft9iU2U9>tHiLKVMb+tHBYx+-)#AF8tA<%i$ zZ#!O{&tws_kML7|uU`}Lf@7zOu_v(w6g2%S({>U1hipsR_Y$q^qelHgd0X?NaR~WW z@IiwV;lR|O>Gkuq<9<}opY?Kj(*}cqv$zCVpV;{mbaDr&G-Gw8f9wz=JhQk!WfD3Z zFrMR$$9=Ca#3(O#aETEk*%O^Al{?px7>ee;D8mV!&k0!<@ARAB1ngH!MgQpPU#vcF z<3V|Lx}w3bs@B^3cha0059lv4`0K6a{-^cj2bU}JQ+Q8V(RU4emv$=%0uMOfql8(ZuRqgh(RCe9ZK;`3lI#jMv6~LgA6(Qhl z3f~N>umuV_)malC>865K5$*E^byg^Z_Q@)^+t54dOqxkEX&Q-!QAwfVDM@URNz7H2 zCe%-a)g;y{gaqFGJr}uIv|c4bY})x9hfPx#?ut#m>+CJX(d1rC-`M(a`WDnY4Bxlh z@ITlg`5vj@4E5QnH=lb}7|X!mRkSV|83S?h>=YrkvxB*aNPe2PFiz29Kau{YkGQZK z`n3F~yP;3J#CH^bza>qdrlQ&QQ(UWgfg{X2?Hf=WAy2aj4<*Ctk(Jlp7)Mbj()#+5D1J2_~Ags%evIfK+SJkdHP*QUi@T z>eK+cc#ay95uQ7JIsO(rwcifBKhL|8sjB8YC%MFqsk!FESbs~gD;p)q_%J3}xLQiY za}r%wn^A+Z==&F|?^%(#S4uoe*43*YsXkAgCwAj?v}`$Q*hw|XeV~?vtGkZ5{cOf% zi0X7EwhqFwI=ZeYx(`9d*F_uO>zsb-ntsYjKjo#L3iQhTn ztJ9shP%ac0c7`L2!;|WB|FDGO)ASxB{l&#{KK8;JdWH=!6P@>mP%xc*kk;b5%QeBs zLXLMwYti_)klg*u)LN|io^cx1Th<3_?>Grn>LUtj?0a_zv$%$!bJgB;Bwefh)n^BS zl#wuN|5dhr<+l1D<5o#LHC3`pTup^V%Eqq$EiW_W~?MD|6?6?N)|n1S$&XvI94n6Vf6tB-Ak)@ zul>3ABu>KR>Wz7*bmu1^eEU_Y$KX$bd-qc_#W{UdC;rn1X7H>xezz5q2wrh_J$Xnp zs`!x2mkPefbr(Hm6s9z3PIEfVSCW_|NQe$?qJMHB4J>`oRF|c=&Xp!E!gcO{R0rJH zK~zziI1(hQQ2EltWfdyC%@-CBWLgl~l{)Xa(!|}u#rTj3ssgLj+>Ol#1%LgWug4T^ zcCc{n#?r+7HDq-mAvrO_0;uOV_i|KSFd{i2Z|JNYcA%?AEY;`v(ba_Pf8B-LZ9c8M zj*oUStrs8b{yyD(tfhGKAqGFb>i}AHcfN1gIa%MUt`@W<0|@^2e!C4B3V8(R=a1Ek zbPPLpR88p1c!cH8%zzw?P?l6Xa#VX$205~YDQ1n~oQQB=k~9~e(&XK1DO;MHwO&=g z2C!CaQsnwTtWQqz`3<&~_8eJTX<3IW0#qhVTYrgYn!Walm|4rhLg8`_kDwlka^OyH z=yUwxPd=xx&&E*zy0KWz6s?>=)({+7DrM^}Q@*r?*UJ5L^NTK6amfz$otEm0LSh9{ zYP2PZghq@0?-GFM&Sx%tG{jDg&SR$yRAUsV!A_x4xb-$2C~az}>O!YgqmQZV1CD~~ zT(hquOZh6eqBxIF`u43tzMacA=*B?)P0LfQ>Jm$;=x>vm0Pd@qQ&_{BV4p#+>jEh| zv1%JfKfRrNG3)e_FjGeH2`Y}l zN1wk77IZ;3M>=iPY%XjtC|UQv7?`>9BLYivPs8tE;v;UC(L2A(&~^>&P%J+_P3{ydeuINxqH#5p2)d=zp!-35y@{WN zs@PVhJmbm55AI3ljBks-5BVmvsmYL7D%fB7WO|imDi;A1@P>_c7~-OI6msW zpJdtje(xB2QH2z=j2OQzQlkzh<)p(k>b?8wxnRp_Z`j{ke{}S0Dy&6Gft3CYW-%y!V4b`7g zQFBJ8DmN^SQ9O~oO1Z>Bhw1v2*K{A@q*h4N+7F#rr&(6p+~Y_h3;(o$q<9XBhto`D2Jut>3Vc4yb`$T;Cg(mdzZMi_4AQT?^z97z&_vZ)OMgH$L2p<7 z)8{GwySC*O{wZC4US|1p&yv#t&&XozQYb8@42&htE{-L};6(S<1%fC3R>QfwWM3Bf6RT> zGQVPy18zCdx|}4@{Q_NV5xsB&v1f+mvyi%v#-|b?f+Lz6!QZAGIY_B^96oV^c^p1T z!a>Pw#?XIbe8|)13ru;zfQJR8-qg|0>7yp}W6@PTfCS3}CQRw9Ba8MSLhj|fgF;N` z7g^N1JaG|pfGj$@j_LCU+drb?&VweJnAJd`_>l3|#(}}QhpY`4D`B(K>fNo!aPTPm zj7>V&E4G~f=Vw){$~$b!+m8qn$Jy`)9IwP3H+4#ERPim%-*)q{Vw}xK{Tk+DViz|b ze$77fPR5!&^Wx0;0M<3?P0Mqw9r6lttZQY%VG)YnxZ(Ox=Ua}8PBHMFP>!{47#O~P zlD+%=&NLT7z(OgTu|=|nRv0&=3`4#C3g_@5i^dfe*OkK-W)DrQZLUFJM@jpXVV~oG z`!}$^_QoR-gILogYy$mXESHk-97?P8;moh@;XWJCCw2rM9ZctCp*Vu??N+%O$1^Zy zUl!K!D?LWybSR)>H1Tm=dAucm>H+-iRduMIs}8Dbx+j~);w=XgOeNmZCo=aIeoG{3 z5U7%sWwGR5_@J^qCZ`xh%IBnwtTdjg>W;}bz3>0j zirDQ>>4}TSfx$FQN1(Ea9ZU3@Bffp# zszm<$m-IU5IsPFw0ggG$rppT{7}e%kOMzes!c7La3Je@mQIL8s`S8YmPW zGJ7m5NAXi+-BdlqPx%l7b@&tWRV;biV|)-Dk0ox>qnc^3)G3E7WD@V{?cK@1urKi& zb2!-8%KrehySr$7hL*}1oc%w*EF|NJ2^Hv;E8|19oa@%|_vnRbl*Udn2`e#dlBtj7 zeJH7IB~_FrCve#6tcsH4#LAN7In!JKl%>TW1|d(PB!oOE(=U0M4vqYzF}Uteu-)>J zorkoi)>RJP{min<9A*43Yi2=uuFJ?4PAa0V%To(7fggWy8Ei4g7A5(Z$;3 z(8aTMqH9C1;F+}F_-l=AuRi+1HgwU`^W?SS7c^U)s>cul1W$8T=I@33NXa!y5|0NY z@gd(CBhXp=osB;iLU3KjweZeUfh1I(DGD>*CvgPU}DZ?fN;4BJ8KX z9G$VB-grS~KOw`c1b6H-q;4+4*P_vGKScw1pEFCg?x%hqH=n@Ul`oZDLF2)ZzTG~q z-7^z6F+7l2yv*Kh+6}jEt0LyAI4a%$jbFI_`+Bz4X4Lb{`EB~I0FR)iBNV=0Wi%gb zE!|!J9l!9JzNfMuTSmXX@7wF=`u)&J8T;LsHtmHlaC_!FSI5<=<7i*UX|9fQ)@9VO zZ)P3N{b)W5BpQDXe<60r*CMGSI6Md^0{uHDFUA43SaMF;l-nrif4yg*BEKpF?rCKj2lhrTQ1zdlS!wliKvzHb_xRgR_qky5Mj8mJC7Y z0&>6I)Ze~8r|(?G6GG)3CNFKDIb+|nd@9$EcJT$O4~p4wpL-r-%@dGoF$of6 zo~HyVVKQN?Xmcbr58NZP;_>?qt@(FWbrZo9*Q!*}JpoDe>5_u_im=LYMEpoGuSNew z_Rt`%B8IdO-5L8Cp(B`0S32)WSm~2HK>4h%cO}(op*1Jk+2UATtM_-aWq%?U| zPDyflUP=6E(~Wnk9^rZ7_K^xU>2BoLUZ*BGaDJbO3x4&SDgQ(L3H-x2UN_6#Tg+fYLRp3+vy*B%fiIQzI8mg&^DDHq;Q?g*$#r*7hN|y&5*2o*8$DQ;D@N!67UNtW9PgI${pM+uE34-AeehBvl&DCM#R=o$RE2?n4 znT#khg$NAKq$4n75l+I}^5=dg%g2DypUk5%nAP0lmK|mR81k(rABO=Lw8pf@>b2-Y z(EHVmZR0OQZqKF*n)-g^kxSJ#pa$a#L=;XqpM+owho#M-9bk>cQ3z({mL>-;tAp$u zMsN|xPD`nH`+hKKrO8X7nGYJy$Q`g>Y0)LzadDgXBGqUKXn~CPn>u=1nw(xnQKBeW z^n#Y=eR%9zy)W;oBXv!vFI>&{DX(1rM!GlE`yfuZ^&!tdO(Wc3o^&k=RdM8am0 z^j)X|4c3P$C`BaU3_21wO3dAaDwy-fOt6K}3P%+~U#bQjP1k@p;rim77bA0jrL(kL zbj2;s2!mmWg8eXUXZB1I)dD!`;ElrmA5RYA z4>g&l6^3>oSw&tpS<}u`=D3rh5#nA#7f^q2Y1T4Z8R$p(A_Q=GbCoxh{mxQo^8KGU znrwF2RPO0VWmvxE#xiJfh*eEjb2&paz6}%kK*RzmuVz3x8@mP$Q1Eh3ndBe6mjIFL_XfT z%6QYQ3S>MNv`AeZZ}oeZQto%4ZOM2VY7jf$$#|A04dn3Tj;kXaUZ#wv!d}J`M7)eA zU`WOb(S}fjA+9Yy`!Wz_H2Rs*<2hj#jV5ld*PJD8UqC|q*P#rZ_`U}QMR$k;$I5>D ze7-1%c`R|49>Mw=64V%4E>totnix}weih4bT*akd-SJ~zdQ62YdLdHQZ7NQ=dP{z) zZHo4-mc;G)#r?M-@YEH=P?rMS!}-+s^`>W)GTrPdVa-+d|s@M92iWd z7Ddrb-oBFeE)@GBJxX1PJA)$0b+m{-hvtmvzrp-R*AS9!Mi5!}T+7P3#^A7~ z^YK+iJ%)bzPI*%46vw$dVP=Ev4j#VNGu?Gf_i{d?jYX*K4`*Nd8y)iYH8fPiB}YoB zj6}??@hmi;XPs!k8*)ZXd=wnL>Lq;NYAEFPB=Oo&N%JmYaV{2Q$zgzOS7i z)HIwse%C8Z9vq@orTE!9F!yR*>Hd;kqkqq^d^y1@VXjKx=p83Ij{ZH$mw3QR4089E zd};LWd|%?)bO{jaOQV0kGg!UvZv6Y8bSZ}UmGQr=Ao0Jg&{xI(R%T~euK~hX)?c_) zXz8r)W?4_i|E?#4B7Y>Wg7x$m|#_pz+LHMx+mdoOQ+c&}gdi$y{-lByvJhQm# zG{f;BI|un5I5P!3D77BApB8YWuEE!-wTj#8Bd?e_wd!g~Mz#6|VoV~0_jwx+%Tk== zo@06N;!9#3^y%BJ@w@BE@A$Ou3<_Ns>|G@vf^&JNWj#quhE*M+rS0Qn(N?Pba9Hk8 zww4zTG8{v`CE&3nY3q-x47Tx$9&<7~IOINhOhM)40;6IHC}+fnbk^8i{Bj>qGe7vD z+0ork(>Y#8OetLsGHPJEm617i$bCI^J2lv?r|)(U&R9K>&bPags8|cTl8q&%NTca{ zR_5hWAfZmxn)9Cfqj6Gs}49U3nlZ%}2)*;Z$AN`N`ljglz7 zPb^W~FFxc)14V3df){JW2D{zq3SgFw`OFWI*(ikW`sLP9 zl^}jo8TM6nMV=RyjIE81b*~c|b9tgxNo0{bV8hQ&2APvJfsi&6KP8TnNpq?BI&4Q( zr{MGkhL!5`iO#n$YMR5<$>w}`;dto#*&w`3b7Fp4hkr7%eu4PIy|i+gkE)s8x08Q9 zcsVRD9?m8|1%sqT3+GhgLocg`-CY=f{xGKcF&k}BcT>4*UYjE4vTEW~vj! z7oB08nbyQ5&($nlK$V>$bAO?n(CT_iB{QuT+CRcqLM)ygA9DY!hcb$9tcU3a}}%3=L7y8G)P8Qsk&|M37D z?wUs^f0Hl&EpjJf&*Gb8!JA!8-6#+&peCd-!qb{eR$~w_M`mb|hQ}0*h}#{t-}98Fq|2;Im+7i9+uD`^)1WOZV?`e*pb!_q>fD+1;k*#pWf_qPNoeK| zX+m(+`SM8oRI#+lx?)~L6Mv01Zsx@CQiFDKc(9-l zEo!XpB@)O2UW*Ta;-@VbZY)bp#)#~`#iH}_tGp}ysfar+zIM?$ebMKvLS<|5Dkm3M zJ)ZJAY)qDAKvr^`deCj$fe@kwyxSCy{}%U7n$S5Tg{ zXXW2I>r2`n8ciB&$@#0IWG(X=c1+k`==ql>9A{a5l{CBbV$-TXP)g0DC( zHAl{YK8n1q3-WoaYZZ}$ipxCd)P(0XZD@C8Z5tt3_Pf^e(W`UPBJx1>2^Lbz(CG%k zy>fno&5_NjG>vY``i0(dY{|d;7{24#MVhzp*a(ZrAHhsz7heS%*=42zn411!t~^6S?Jok+a=~bFGaI8o5~)fwk}XxsXh@Z)}C%T#pXE8w^YokFNmBe zUIboewOKISp?FU6m&C6x2)Ubr3{Izq=X8P#hEfm~zB3GkRJ^I}mbgIdUWr!M1$1e(E-W0=njM#%8Y&`2RV_(;$c7VG02n{U-XN9}qx|L5yzxU` zKh%6n1Nl%~7|6{OvS_SSyxpyq&OFpGOx9d`Bz$xke1Xo)(hRg5EbWpmS z3+Sp3^gurLU)_TRo74k$nB9C^xl-QkK%JBn)yY$;>Hv4n{rclI^**zoM_?%3b|D^k zTxXoaaP1*Kd;s94(AF1?S&HsF|BRUUpcxxt$t!hrFX2o0qPtO|vBV>$M_05C6gN-1 zlO~+OHvc!N4qBG$U{=v5ldlycwpdjswxNjgC*eK;mG&Ksru&`cPUv(wr0IU?I68$h zQ*4IEf+HLfbcTS0=;?Z7Jy8!#Uuef71l?$Y_EX)b*zTM~eCm;jviy$J=* zRQ3&noa$SE2+lpjslKf?SOZv1zoMWL3)BQ8;xW?p{YZ7EHRtN2io6krd^;JE~m_JqR=TG4E^Cx(ktC|IRi)PM4#&9Qz(zc0M2g!eU z?Me?t`^SpnKYq&4e@jh;3On*oZ{u2&&=H4fiixuH=%PKu;V0=h#t1d6N)2c%QGODk$Z486eb30~a;kCyW*IrjF z{bG9O^t)wZrM2zj@}#nJo7pYC?PZ>eVR9uricKgTLvpx2aP-A}4;u8-0d!e|6!{fixxrpLaL!)be{hughy}oNQzRQ8r{Y5l+CAXQHRO>zh=E+;51Pn025pIeNcz3a^I{t;APzk;8r9bSl^z8&>& zy9vyWYxHr~)AdlZBW}34(~={oIr!&vNLiY8$acdtPtx+K3~GOk`HoxI&W3-k`TR}J zN2GG^M9I~BB%M4*rx40tq?0Q;;r0cTMZ0y1FqM0|G+|U~FbmnYEi}i87-ZLP=i@-d zETv&~>GkNE?h(uYmcvE4e4VU|_Hu~Af`4E$vo@gDsdD-6nNNaaQh~M&8yZne#9ch? zXc|gKEYawr6dr)>%ULND5=-Ro*VYZMPD@N+eT-s#9D1a1FE9AXWZN305B21aRzfuG zuPz%9lkLf#bt9F1&^t_i|KHf;AE84yl&x2T9ZddvCqr=BP`yp$OjAAgLmJj;YSxxz zx+kc5lNSL+?v8|kXrLT3a`1GZIPMWa5e>YD4Z&ejxh?x+l`UFXl`Y>qbdrJoYGRqy z$XuNI=qR!vLFH37(5IFemkH=-!$01pxFhS{i|&JZ{o`ok2Ly8PPXu!CPdVwQy!2Cn zo*Lg(Act3@E0!CAM24dR?{RuGHCBNfUNjtwrYe!nhSP!g&I2QHJEWP+y=xy7-*OMy ziv_ExZT$R9qDTyhX7RY4&8g=#?^%L7h`rqYSC+Kimb3D_;P*wV=Qs=YX?;P7S<5z2mn_pRe2;Bf*xw51S^8TT<-}!W z{RK;_pk%4+sz;%|sXnPg5N&IRzG^GRt*l))<@Tg$+FM}fyak4xFHdmTxj^IU06Sy- z3_BxphRN5dZFe%_HY#l6S+ajBbmP@u61s8eVOn5+R_Mn57}eoeGD9~$s)gdZ5{7QP z#R}vFT`V_qo)NckZ_yj+B(?{0Sg>`@g0-P6+<xGQ@Z%5L1g{yd2^OZi*|jX7oGJ)@aH5;tx!ttMLm?di%m<65ktrl2>V5QT zJFUT(Gg?bYw&zZ<3|)Z^)ou@xXSU`+RbcchaZ5d|$A|p3kC5TO;AqBds)AqC@!koF zv-P+;g~88;?W!<%c1W9s3_uAVH+zINWamScUK6$@NcgrKP&Dj&)T}1klBeoPc2N%; zpKd)URiki|m2K4nwJO%C9uQPJR8X)_LtoZ9^?(X_^}wGE4^1zCdO%u&ssl|ufPME+ zQ7+Hq`x$GiA84Q+lSJ2s51V+9B-%g<_S*AGQZ;Y-fq)0eca_o)s90J*u-<-n{lF%E zu&EU6Mn6!m&+YXC&BwvSEMMq&M3+PQfhT%v>LbDNSNrK`ryp>_v3k^je!w8rRzFbW z^aB@LwWc3ntv&6wOQZvv)l~Mk=}a``cFLf?-D46$(hSw%0th2OxC$I(TKkdePHRp- z(7=$rd?~Pb`ErvzaukZa)1MSe?kY`!R}09vOZ@ZRYvy!XB9||Tn8z>kBIYTE5@DDx zCt`+p)n3HhvO27Rg%1Qn5mWoe#^-#6kJ3WeJ?RHK#C=WyG*}X!RG)mBJffl3L!)=M-goo?7mf=^ZV;8}hszFTV` zk}bSpfApcfa3^UewW%E^>Ww^Di=wTl=S%Ot(EeXiXuT8gTIjO*qT zoacILNG=B;$_c(74bdV?4uLW38*6!REXFaRop{#!3#_@G_kC~}GRsl_LxL@|;_|ey zbMwsZvE<;@7*tQH{-E`I#y!yJlH`T?vDD=-$i*D}`2zmS={Nj~ z22;y5W7gJu2MIGPN0W;MI$9n?8Ls~8(IcAZK@|7_6CVoU?T#UoDulzfVBB%8Mu&Mm zDnP4@F`y1nymA@yPpg{*5^=G#5M2Lre#qvr&am3caS5S)Xef!IXL_P1Q|JhYnjlih z5oUmQ$CJ#}A&kU{;dCKIH8in7Xen%XnK3vWYI4()dV(~(P(fBw?#u^gi_!;#+Qhe= z`a{i}J746gwDUy{YT@~!ZPb`94*ko}DV&xr?;1w1q;s3B3loZwC-J}eOAldcUNGW2 zew!QSqe2WLv?#}KZn4}*SBk$W6e0fRMZ~Ev5mo1t!}0#d@i&*&yFzXIG2Hs0_?t_w z?646TL)4l9r zB6auwELeJ^v8)+EKpoh;8;tvr7F5EYZ6GW;ITHC)cU1tVJ+uX0Dvgz*g(6;}* ze0eFHuo1Xfaoy7b5Iy!m3jV=LllPkVtBH2~Il$eZiAm+Id3krh&7p$ogCmR1!itgG zwaJve*(CixYjW4o_+U*4vwhW;2ZA#*_Q>;L=mzr1q=l&E@l(wl>4T=;%JREdzf-w` z)E|C^*>m)o-(~hWyZ6YnmzJv{?WpzUY38UUJcX$X9ks%rJ_@B{MWHTY+Y*QTv?yvL2$-FQF#)|ZSo zE+o80_LzMwkQMF))@+eg2-I+X|puRz2W!N+tVEjNMyGYLQ7aLD21iv#Ag*3KO~Ol z%8eNu$HMU|PYPy7F56vnV;&akf+d$a32V+%)F{)G?S}x`xRVeo?Xb^n-393I77G_0 zR=Ib*-e%bey56R^Q?TQo(nhvkIvc2wRCZz9-*2<=DPY>lYURX-M7y(u9jm3xc76%06OtHS%MyaY-AT znzJDTr=B?=V|?xqRP55U-thjxe%EcfYgfHtDC#-+?pNT5m+#R0c&)G#@di3a^tHhq zhtVzVl7=g(p0fd${O8tI~JQgA^8q8vd;Jib@R@)Wsp0$Wg`j|D=)M|hC7}(my`SHUq!~v z#3Ltpo+^OhC0zWov_vhWD3B)IN1qHSi!ZB8({1-0-=t!+aLZ4y zkg@-&=fdgUC6)eoi(|ePg-9^#{aW>tTUeQ2!YD^>y@5~MqneM?PEPsI#>N~TRz>5_ z?yM_8T$?*opaN|~gQOO~`6k36E(|1_UXG7$eO(5R_?!65NMoG59_irCuLF9QSSt4y&;Jk+oS-Sgr43!J>=inO z*HYyIZg6~$FtJpGlno=F{y|gUy@95Vu%?Q0iq%#s_wkQx;Yx|Tfhz#IMws=)au#h^ z33A7ozZBCmpqRvnNJbNUJ=}dgqNA@8-L;DHG-OU)a92fe|3Hr+=EkW0=j$k3K~qi! z!f5?Z`IcY%*vYbgGn2lT|Dg@OjyW;|Uq|g{_)5%9qu+yQrFqFNcon{I^yNAzWn2A` zn@sbP&tA+OyGw0K5YCeI63)gIR@yDmh)w0@`}Kol zHO<{fA|($>n`mcl;C$vp;9er_?UpFFmyYY}LpVMmTut>{_PStb+$;1! zEf8c_v6J_ftq}Vx(IKa*?qtttBqhm&kWr!RISVQ!(Vx_F?jZ<1dS{!AjFGurZ8;c8 zlhO(MMKRi|1D*t?hQ2i0FPgfDWpFVr->K}yKauCbhM?}}8oG{{P%l_MrhtFwvo6eL z!$as^d%jl>UC3bxU5|WrKKjK~k(-QXl~P4DmnK%1G;YrsUW+!98sgitA~*eAI7o)! zwPP8`n1VEu#rodfIWpV%&ZvShtk=e!CHl8@1NEFaG`_j>s8rW(B}J=C?2Z*J7A{rk z7BpTi{8CR@B4yzOS||ypQ1UpeI~o!@v86aIQz|Q86s;3sp#V-M;~9I2}9yp?>j=*8roeugDzNy!HT9hu1hraO}ofXPft+u*L12| zF&rV}$PwR-K9%^*^B?Z~+f(yJ(TEz>x(3ATk( z#i_f%sp-=Unvn^n4EV&EgAU;n>dbs+QrRo+V8IuvV_^L~_lW^?ov#!00O5_BI*?yy zFwX|R=u?88U?)KJjXot13U>P0&!z!V9!96vRTLvV{6cdB66Pr2H{HYUv^9dC{}_KZ z1AZaEpEN73Vgm@Cg!s7e(KhfL@H{odcN8wMQAJ{FR9&5cer*-!V1e=4pbp+l(`36@ zI5lizVkm-n;9f-NDlbNYr?V?puPY3_gWUW>GUnFWt78%QDZST^B7`$vUmFSOx zB@cdNgsoWgjBOng4Y7u=9sCw?yG4IL(V3Dbbs#goY?`pmzl%t}5G>WW{RdNxo2Gkz zJL#MJQ68tn2bz-VC48prT%x|m8<`{JZn6EjSVN;_*I}f&8=pWm(vNZ;-`Tf)6Lx?P zcOc#K$ujMFpoREt3_iU?P@18-S5UXO3>4;JjgBaTTxy78P|I%^??^c?V81v!XLPDN zVGVo5idId&*RW7`kN4F{o-%sDc0?Fqh}vIoC$eVZ9=F5w6Q|Kv)+}yrl$*H4DD{K2 z?&9<0=$AsI<_q9Jy-M{Gzb9zyw*fb%aAI{JmX0e6TnyEc1^r7?@AOn>F5C38^lvN4 z;z(S^`Gv=r>1fj8Sj3Vy3n9>_H+Ly%Y2?Vz%z+~#i+YTzlYMJrRnJ)RUJ2WZDYj26 z`G8ak+Bc7S<~11y`ZSOb%dM#_2VzDDRzg+&d~XP*_=ocN=lN6j=Wnm7Z|J!yzp0FG zJRV$y1xF7AO&!83(TE0h3Sn`jrQGypDObu^irh&WOLkE})f}SdnST}MP8aQGEW%=v za;9V?CuNxu0=J@{>U}g-O27YCMHpf=s*O2W-2d=z+*a$@b}t(3x7~BO_(9w5(463* zb3S$Imw8$#sn9T+j`g)-oX|=7yJ<|y_;mEuTw#Ce)V_!02 zvEG*gV=kO868R64M??FrF9A+O(>hWee_n}SQSi-)YTo=BFY2mgISn@BT&fbmJ?1Wl zf76`)`o+ji4>0uQow~s5!z(2Cp*XuE6I;uT{i@6|A>gJf_)uIstuw#6L~e=-Tuez+ z{Z>=8(JnfCw)Kr@Z5?ZMFq+*qAyi&^ZL?O1(1#aEITK)3#VnJN(YcceSpDg8WOQ zz}Q%QbUEv0c<`%n`pHc$c80upfH;OVxOPB6A0xYrX6Z+BIa5@RVDbf4Dl+$Uy4Qcz z;LX*0KSl0N&Dn$BjNJLG9N*Q!p##tD9GUwT;vtLoEUjB21LH#Hgk^JXXTs}S1eBMo@?enT;<*oI3)qv`?`J(K6D}x}V ziq)vn1*F_Ti9_Vm*4UpU=8Cs{1rxDmyPs-dJdi){PFWEY&2sLPXNA6$QB+;#OWAT6 zeD5K@5~G*)rL6G2lxImFMt@dXKU`FHaoiS_eXo6u;oh4>Dy$lMQHnc90U9Z3tE?AL zIp+?^DIt^7<~WsZVx2B8MNGR9P8XuN1?AH>sUX7*?x%xlI|Z{})S|jr1bR*w$mzG0 zAmaDrNd`vqK^GHk*bW_#y2+_wQ8)E9%enh$K_Xxy`ka!*coL17xI^WYs(he;mdgI< z6rj;vmGiEz-g%rUpHrE%5{`Jaj#bg{Xf|I_xM~ zUWK{v6SqHayg;PHS8LU2%@T=m_7FOYb0v*TM{r=rj2+V$J7zgIrhP#uxst8xOSls$ zcKCC#RM$bV)VW_MEK>u+X8jIg{f@T!6}b4OCf>5LSt}zFYtSz=A-!}z%)WDf6EsOz zhz_s480k2^TsPFFsZ8gRtS!|2d2^Ro;svW~t^pRPmEdFDxHD&HZ9iAXrFuWF?Zsq7g)0Ao&*YZ~S< z+{c*c+`s#Huc*kNa}Ulf>BJ$F?VtTY03WMSuM%PItdDz3X5a>Gwdfpa5C zsKALYD{vAPyyK0ml}b*by?|cAuaBYeOOj|2kM>QOF3L5U9P+`P)}IeacIgk5hWa9djDjll4X*xX$B+?6(6{M> zU6@JnkB_DK$0j&DF9M3Lm*QJj65rl6a_f|A{VK~JT5~!vNKfMzdd>-5N>f*KEhSp* zt^4t&gu6;(MQ=uC-$N~-{D*%?*U0Sac_U_N3zf>Hug37jQNvhj81&}Pt?=wxdd!B{ zF|Wr`)4!0BV_M19f0Q(~oLPGKyQQhiz9`LFdroR_uZ;T9Z%$)Rk0q`wtVFMQc@`9C zSx%jk-^+)_zsR3@u##R?h4!nePg5`Qw|+mkYF~YTPi+B_McvnHJ!4c0EPc{l^p$wT zBt5O`3LA$zt*3Em{cE#cz__#zPqN>kkG(sd8BLzz6`d2E;%jpkZIXT7RFc>-Jh3?# zb12PPEE4qtqOE?+=^P)@^Akt;Z#yfb{IIfr9Efc~%nz*5We`o_s)D*k;vqOCYHvrY^f$B(T znDhoW6mV0;=`1Mb)5zNR;#$lad`gaX`oP(Fe8s7quUweWvMSor%C|#}y6zP%dI7b= z3qpjbfX8l_8>~YP3cFT5>+~*Nv_D2>&(ZXNDW(&PH?lob*#^!toQdX8-LF@M_=?X% z?TJ`rA^2HD9EZJgyId@*F&b~_JmZM+#s)(`EuC009#A-zoF~qH1p0^P4Y9MoStq*I z=V&FfmaQZ!G?r?&@f1zYvKEtek01Mw-ZP$6F>vlA`}jpQv}C^**dA`_H#q z1Iv}PHjw>W_xg8jUWbPWeBo4fMLFB%kw0@gt+Ad&)ajq$LbLZ)HrtG9FLc$8Z&PhD zyV$)R+U9jCdmmN5?0?!+|6ae0>KA<0w)$y|bGp(*Z+)`PP*6h-9WvIL}^SZef6X;`4W zX(e(ji_1hD^kbNy_o9Iy}l~1K~L+B_>02?R0+zfP2cG^HXoeR-VAlHb$Kb=@+$i-DN z)3WH2lc_L6oawROE!@AMW6{8Vl8Aa4EkUFHaRr!i&%Iy@xX%ZPGu{5>DV1|^L7cg0 zh}O0HnQ1-0?9&W1GWH=vo@g@r!CMWd9#WF=I^|y9mib!Hqq~j4W5uC*{$ZX0g?89=u!Ocp~B~tA5XG6`yp+A+}q?sqD>{S3}?L zmD3lzxexWUIhJ8Rzwwid5n4Ctplq-^)h+~(l7d{bIZTDM#F(y8Z; z=p(T1hR5{kIq1*Q3}!QAIx|wU&t2|$Pp|})KMWvn;8>^~6^!da3N- zGN%23yW0?m505tj(Q03bfBaC|zM^7nZ2-m*n*1~I(2j@EbUCJIcYnboo}B*h-vG+< zfB8Z|RLF*kpkzOOx9Tw54$!L0c-reFyjvFg;z05nRcJ8m;ks|n32;$untMS1*vc4O z#)c@yKr6W~rArfUdrl663!)h(L#`}5Bg&Nks?zgsk-6`vqrB7>!x_SFGK5yq%k^J1 zuIFn>d|780($108Tz&!R8zuqiqWKQe=1HB(o%!>*3>=v%x8Nht3lwfpW*cx3pdgJ z%u#gr1?=p>EqAq95POYs3nGlp)u|}-2A0%~Z1m3Sr=;kM$<<=J z(Vncdcv734+eK=?x@o8~Z;dU_ko>JJ}l9rNW7o= zCDN^aY7W*aRlICc{b#6U3}UM1e5O3DTLESDS|~7|RD5FtsWcF%{e*?8A{f49tK(AZ z`DK+o#sh}s@3TXyGQHPUpgl#uwF&6ACQ-jFJHIRaZvnQ0##Bx4+J{@gY&4+CgK3)J zX%3rUi4<#pRdY=6*OZKR=m6D?|t%r2!3ab0WqAVk_kT5`;@xW<=keZ2&qjFQ8j zjULljnzgR~iy|ayf-xaG5#RSEGB>@bl5FUN?~r1Or(*D_WeQ9yh^y5m&GHL1+JlB$ zTs-m4sh%@Al_Pt|cy-_5{aAEz=Hd||e7F!i4M5{nA@W!(Yj!l68eTX)SokgIzepau z7CI={xX_RD1t%(hBmD-yU5rQc!JT*!88V`H;AHxm>J!`a5cl)!tplc<1g0bCKj#$I zFg(U{bn(rdmL6fx@GfcP%C=mTE9}5TRV&U3-rMWdmf#_I-=wntbe&cD?mwvXMc&(< zkf&{!uA0SG=1c@@xD?!q1i@l${853i%;@WmgB*Q@wyP9lE)Xw(CP1Ya$UwmXV5k&X z%9;|H@u-}B;t!0{?-6DAEahO<9|#Hz7eTvGlM|oTkH_gYPZrV8Twbt$vQlXZ$Yy=c z-9tBA$e?~T5h`)zyf#E_!98=CM-jDi-iJ!inMu(^H|{_DrxQj7U|P2mkHffuNOzVY zP~sv%e~WE2HPZ-xd2za-vVxgoXz5I~^tqgVS~ut^BSLz#xjD0?vA(4>7^i7T23#*p z<}}@>DYJ8YWgIN&+KY3pd4%Yje7q(YsIQF4(`rCj6$EJC8%2P4ZT%`iQR#51SQAFx z;hHNDuO!u#gQ?qtjkc?p>90zIzJNJW>BI#E#J_(_%oLs?Xg`~K1}AyLdDJ>M8i7yJ z?nq>^Wo3qhw^bUxEc!e6@{6vak9=@p55LDYozPyv5=*81v+nAW-dsh3w4)e>V!nY! z9-G{;RaZ~$U(UmcrxZ90VA8K|o&O=!V8axKPP5sFKZ{rE=X=eZz;rxz5!3PgAGewK z-^~vve(Zai4zG*Q+&8@G=Dz5Zj_2MSS!l=R{_1pVMNIy;X>Ay-l_P)GwVD2@XNA-M zW>dTN%6xmPFlZZquk%U_DKEmt+h&(sRxt~P0To;EAead6|Ocu^+`IdG+=-lXA#i;iUXAXa}U@d`}+izw4wJRb)x_vk+~Q(hUtOn0X!(^7{*E>1yAS zXP1Ma;dGqWzNN-Zj9K>4BG*)#6}iY(tEwWAimfHY;g2jJr%Z+-N>eMDm^DfbOi3@a8)Qm#`fT}GqirjiPk*nrp+(Y zs9UB7sjD*KI7*LpW-hk#@MrtQns&%bWxsK?t=GL@XT5&hiA^Jwy~e%zbi+d?9|s$G zU1!{LP?r}jOu-Yg#1;f0tzWs9puhUQ zLF)PSKx$>nD_GWwI6PWM|laOk3?Q6H?h( zKVZlp?}n*b+il?&#zAw0Nf!^HpJG;xtAcgvdF6v@&`?%v4Wvn&PH}McF>pF=yGX2+ ze(_#b7mba(%HVs=YrwZ+=YIxY<1g;r?>_=>(-Z9>n~A?O08fa&4!%ZVFK?;S`OV2N zCPyvhKCqIam#6gS`IkIrp2_^}{W_DmFO|Tnay1l;XYd@i;iU&Enfh@p$yE0Dzh?uT z^QvE8*Z+GrgAE#UJ04k6)Fji){x50mzpXA7)_sLFyp(9*7N1uaC(GEed*~o(>DU|T zG&^QSr}tB*9h!I>cv*Bs*FuZ*h%lsOP08X>Dv2D>T2hnGBJ+*Hy{b{0pQT$=CD${` zx6yD!>tMVPrwsU1bS#<&%ewDo@cU*A9uTB zxgYCG@~F3;wONha^qO*zv&Pc4CCT>(@@3BWVQUmxBZthbGrsOa-7<+(A;I9v`&FM8 z46M>*C>Ut9xT{gb`cFK0hk?Azs}y|U2{s2OpJ@2kTyFT+^<|HLJ3ikH{$+S#owjeslhNvl)l}8- z^78Z3zzF>OjMq4sq$h2XG&zPc72gpgv$0{!yC~5RDaD^WUIr_ReM9uj7tY4=ha>&5` zViP9h5dsP;%+t!!FeEe>imnU~SKLH{@15W%o&h-;qLU-hA!-{s)l-KMyD)y#J4R*+lOt@+yY&X=Di0*_bHy6et0%#;oC z7;blby0C^`mcYXv^SRC*#SX_&4>nu2sG?6Wael)2waA>8nNM@E_=vqAXoBNvYSb%F z*NDH+*X#T9R6R)cmAaka$ZWUH@&x950fkxkQoYXaJ35Kr@ayAN{HhQ~+Q6uUMJq|g z!qi)OpQndz%h1-b*xoGMUEjJwav1TnA%8Cf3%>7!RjZwj zml1?6a`SiSgC=;A6wNhMjDEdj>)%Qmzd(KXa!J-Q4RjjUGFKf!pdaq+^!txVS`uhf zlgg?SrKzh6vq~EOb>=y#s-xhUresCe?W_}FwJsNZ9GU$uvc*zIo%M}*bWLK4A0Csc zwZNnrSzHY>DJGzfcOtv>qydL_#Y5YaO9Fr-nzR1|N}8sqhJqz+Z@~{THDP(jU{kg3Uok+at2@)cpy+ zlGT4}aqVE-fZY8PYi@iubHku)|J)c*~&z zd^D%|2xS^freNz0mZywXT%K?HJOIX-w9dc8xU!$EehB}}kKoAU%9|tDO%xUp6X z$@u$;6&)?61QqPMj$((u8O?gu)={+RB{^Z5A^`TZDLC&0H@$8hiQci(h*@a6EF_3( zfu#{yih>T;$S^UEaVKD`4PHL-Ya`tKE$hK`q3C~za7{mK-8VxF`!CN=>9^a@&(iWe zGe1upw}$!{@Ru3$em(Cc(gaF9ksqDv(M{y5f@QPtVqN6OstInj>F|+`pjQ>RB2DFh`RC27 zh8=LlNwNkbzw0JV?b*QyWrRFV(u%3nn%H7rxPPzrv6>e%I5{u2XzEbAS*OD2AD+zD znf|`A85@!crv~&@6K`2ZGRuj|y85BK6uM*$EFh- zO#Y_+@PsJ-BK2f4)_mrLM%R}wgRcL$+0*rc|6tDxp4+kBsQ!OKeVVvBEG^N5l*gt2 zW%~2{MeXU&pv(6R{W-CcmRvwTg4WY+dQK!5(r^K-)Z_VaV^q&+h~ z^N!lX`@?LfKs5#7+Mow+I$v{sHgDYn^P~O2-=Fz2=#1YVM4YrgXq`*nxPVmhirWV~ z9cEv6%-)Clh>M%9eMA&6RcFMK9ikkndgleLR5kc6b0T+-^71;)2RdTxKW|MQLg9d*s5mCc2st}`HssiVHZ zkj-zL=U-diE0K;AMx9#(bY!`Mr}!}pd`L- zvHA#UZP0Hct>tx|xK?BkR{`IMYr$9}uHSnG;(F>kZJ1^W6o|2H4wPotWXeBt#5G5( zU7lnKB-rqLM0=ae_T3U!NbG-k{a!P!{rcT_@t#?~FCD&z*YC6c%A~L3^1t@_J^a%> zuzvr`^Yc6?*;YOpG;z<&&nX3acz%wMFK?RveiApGuSs8LeY^+eNAz{El8zAAaJwAs^n= zrX^(SGWqa6jt}obR@o<)`uTID{U4qSZ#8LGh(#7XmoM{e-_Rs^rrJE;LS|fixEbh0 zYMT$2M#mA|0r!-_jh}C=WEM0Y+_B_7YnmZY!U5L_VKhPqi)v;j%^o&GuZY#*!H6C>@;&JXZml)y8lZ12HT4!qIG)- zHy06bc8Il1pcrxgbJo6Ya}ik=Bd*sW>t63l?DX4_|9Q4Av4F2Cq1T}sklSk>oo{>1 zZ!PKbJ4+t%mZXjucu{yHrl*~wF1yTlh9Jl|+(|R=2nu}Ao286??rBIA-C#}-29%(B|a=Y=9O5Yxn%3#OB(;p zS+7@0v)(p4j&tlSDf&m`=0B*+%^2PRn$zLv>_8pAW5=L;m+fZj#wg>69lj%$)hr=r zT4~XTQ?JsbZBsT_m`?OdODl&|Gj7HCo~Pfa{^f9}_cfOPL3gs4=KA{Y{VaXNIs3}L zVx8`Zo3*Tg{FmUFv^|!1FWBn<`I&D+cnSvD<92R)4z}#Cx26p`%HE=6dM|iAe7hlt zgl}IDmhl#65ry8^ZW*2peoq=aqW7un>`}%Vj9vt5aPS+RHJBEHWf!YB4;9vRF=gqe==cfucoUb`QL*LtD^D`PZ7O%fA3-xwRk8h&Pq-aW~k6h5IIV?ZXR+na+ zulT|owXW$TUB5*uKvmY~@uRbdSHO))_{5q`;6ORa_vx8Ek1B?+y{^tcpuJ|`67$ncJQrEyq{QaaRB$g9Y;*lO%EGYV(uV`s=9<>iKailqX~3*O~jJHTYX;ZyUdQfwD< zkkH90o{GgmpoBCh0k#s;+11dLJviDYzcEN>efU2FC{v)*6}IO9M1wmFul5{4_Wuh1 zSBBYs`HjceFPmQV`(>r^3_;PmZqtK{V&0o>N&9|E!}wpOkJpT7Paijy?iu>{61;_0 zhar2J*5>$V;{S{N>Df0j>EpP4zBYY4{OvtPAOCCi!ROCvKR<(FduD!45o5O}=jVvO zXU@-)xWRnQ{cF}+du)Ejz%={)3p#6lZt{^d(tr{R851QHku{QIS>TGE0eXU?I`Xby zDpN3mD?bDP^d)}_z9Hl&pEZ4amoAfsle2)FeRrSJ`PXpC#cu1Oe6fYEy3{S!rlkvP>m4Vv zeiZ{tTtLl65icl<4;lD-@14hX$sv?qV-DBXfeKBOyrI|y2e_cvki*=A;>(IN{hZWn zzUcykAH3VwVwcBm9_eKdS9;st{VC6=JhR2 z-^+9WaP(JKLHhndv_s=mXeD%ZOSZ3*=+07e=0))8to|@96*5@XSSREctf=WJ=bS0| zGh^ezwUPl`!~M1L9iq@C6-u6r3iw+I6U$Gtq|ZQ-XrgPOwvQY^A4t}4K9$(Cg~znE*LM>AlsT}5Oo#Y}8uA4XZE_P?X?v2SFum>|e#_T_Pvp!D_`DhY zn(*lZi8uJHL}A4&^8Yh@=KkYr!RO>w`ZG<&+)V(}ov$#{?c}Zm$>i!? zcS5;SWX=bCANV`RO&Q|XCfc>^U*FQa(9xsze;t0y``Nd_G;Pbekr>hqRlVVF^{cuc?cVk9jh&X7%n)BT(99_l)#gkCcTMo>&y|x__i)p!;O3GtMwlYI@!dRQ%{%P(AZKKbn3h6;yIm`>ef4% zgZie=l3v}}LeIMv?ysEHX{nAy_!d&x`!~_%KCN${KRLnrzj>K;+VWg1*;)JH2r=|{ur)Z~ zqz2SIh4k?K5#ctF(7lQif6eB`y^1e?zTO=$?d;B%b|yBoQBA@PL6Cb)j5fa6)dFdy zCa#SSDYRn8o1>hXDP~6cQ$5J^dROjo$o?a@0{ z*iFp#>HM3X*PQLkloiC1vo*LnLXB4U2`mziH_izrjzaCES?^@SI2<902{|2Z3k0a45;5;b(}c``lbo!TlEU5V z_*6MDcQo=_9<%Y>v6zISPP1nZ_4G^1LD8cacz>FH%;$${(Z^^CA)8H|lDykFR8{cO zxo-xyf5Z_x-7PeX*CAmd(0f5?^2ZB!RqC#{v+nxXF%*~a0%PnrwPxqJ-DVd}iQdrO z!1nD0N7IgvA7{<|M4bo$lB(Ngii*mDX!2((ts}Rswd7Chl>oqZN4;qqn4{@q3+T{O z$`T*)$S;Mi2Sk&zRZ{Zv4y^1tVYtHH(2$=Yn=Fm-F>AbY%UUfk_#Sb$vzBRwK@i_5 z?&&+_K@NtoF5&*j)~<9n5omq0Dmp0rzYl!v(m~_Xuh<%CU#roi;p;=Bo$zJmUz2~Q z92L^1(qwr->D+%-6O3tCj_HSjjSqv2Mt_2`*P!Enjo})cUs`m0VfE`J`29A&94>_p zQ^lXFVA;4Oa!n+?MDk26G^enD)Nr#wa89)eB7%M@gMT~x-x?CT=AyDg${U}}(Lw5% z>}=x-W9g_Nk+}ne1Yx`o;v>AhAHSJLkqqv-PPZFBp;?)2X5C-tb8-U!h=FHc?XI>MV)OA)! zM|@ktcgD&`B)TI?gpMAri5Pg!l?J{4S%qFY#X3>K(@Kg3Zq}mXo!>Idrhfw!bzHSfD zce;iEJ@-rMZW2Z70H(Oo?FOdg2OS4IeF`w0dd6;Gx-eFF&WPIGgS5P^X{3keD8X|S z0aDZOJYHRDg=a5hhRlI`crHDdF;6+S4LqM3AHwsJU;hX29G6*b2+uQt=cTIq5MQ^4 z=TEzY@XY#>x|^^2zX0=xCj-o5hwL7hqrME7tov_->wdIb_oFkwc~V<&KG`h;oZ+$; zf?k!+ppPnR1JLhX7y`8Wul@soo}UJ&D$ayxt}0(Srp=Nc-Z_Nm?-uO7@(v;Tl}o-) ze;~SkP=^pzNYK$lLO6A|E8ZehvAH*Z>%rso{>D1n@KU*#=L10KpWFX#HA1c5+WEv0 zsE|e75z$sAVsrg1`QB$q-!!M(%gP53;Mz@*u$>)c&eh@OzuC(6uH%*o% zWmKCE;FO+y(Wi(SSzX#@_D6OKXaDyP@4gXFpF*94qxrGaS#WfYKE;ZjP1Ah%|8*fx ze&|Ucz-vVk^;cV@6c1!a^Px{Aglgs#Br#6~W=Q`gOI@uQ^eHOfMvWjfkORQBqfbK= z<9}Dc_U_4;UyZc^>>=Yq!2a=}-H$m9*xk~nXL?ZgbYHipPoM4dA(3-0`;xk~n!Y|T zUpN6^-ZF6az>IzwFl&C4pRs?QEqI=tfvj_{Z;Pm}Bg=FE&ou`!=9|uG1JBiCLwH{E z;C}$m-R_@1RNcq=x;;D}{&xt^{lBE{ray_g{vSX(<9I-N+G!nvG_tU&@a*E+Q+JD= z@aIh<{Nf)ec#h1(&*Rz>{HZcf?uwt+AHbNuHL49fr=J_bv(E$n0X%n$pNFaL*Gt;0 z_Y1xV;o10$-PhfG?f(UsCmjbc-y5)7V2=DUU~*CJ+CN%+dXQ@3Zxa_(0_>6d^UU%L&D_5_h^dX`qm{Da-?O>XsTC?H#pBC^4R#l9?x2dZ!Qh zH@nVq-QqxVN4?Kn=`&CBnQKVZt2)vS?Dwbmp2bqxBiY2%oN|goRY&!EzOSL)(kFe# z(|X0yPyE<2w^rHvU7Nv4_xtTx{pF11VP@0!R~7kjYm3l0+HB9h4qgY%^;?-c2cw$l z`JGJJ_H<#56&diTI)*or{iG(rEnO4ee26}M4(@ML)1jTJ24e3yq-z(Ql)h(eM!}%h ze6DKr>_hTy+sOO~@ejDi^`}7vI*h$ntfE#3NN!WMqLow6`Wo@}2vCN$D5i)Nuf+&$ zG;5iJ*YJM5_klU_UkXjRI`hXUS1T4Hn5VLbx>r}})%ot#iSE^fdNs_w>g`?)*Q=A< zs~q>LKd+Ea-MdeZwEFufTaJ6R*}dwfSO2@nn*6JKwY82{Z}O_nG=;%wD}@*644bYY znn@cu-RTG4Vrsk&fTcgDutreQvB~8BqwP!JqpGg|6JRtTae@#CA{roS5XA&U6ETuN z&^MB35UOly+z_iG%M3(WOqc{R9iEPgih?a#wOBXY5JYPt6arWbpe#}qtJOCSRuqc? ztoeVx=ic{bCJRb`{rmYy-n@60bI(27J@?#mAFGka-_`Mt$qYDWdC9zb%SBRU1v%+{ zNtHEU=3h?4Vk_FoV5L%J?e7S2`CMU~DE@YYEs7s_9OBY$m-)*Q9;UA*#k%WD?OKe< zU5CMxa$TD#sj`qiN$2E3s;n!4`uXgsK=-5--P;Fk!JOH&r-vU>J-Jm+ahbASl<~Kc zDJuuzekxPeqSLu?yxA(sQkk-_yN6U|k||38O6N0*V+T=!d0R@8l_KmbsqAbHipysA z?IM7wve`|-M&k8)e;s18EmDWaX0zj_lj*AIB{UPh7u4{<>kc&p{;H{g{^jtIqq>K5 ze8dw#f~Jp2Bq{FjfjC}SF35R+)<0ECCQeaLrfLBPcSZhkoI|@jMRbnV1n^vnb1)ym z=LTIVzX)UnH#4lyBC{Zo59w>TCZNzk@&oIxrQ~on>R%6sx%4hutwk9Kddb~7+k}70 z&ckCpx6Y>Z0w@Fx|6w$z;V&Wlm=eN24T%_WH)%gQypaISXx!x7ftpmraAoY$GWR-0 zgrS9>MJplTHM0Y#>+=Fd$9*{rGx^8qlCJ`vlQ%v_LKfF7sQAJM6>YtW-FBI%XkJ8s zT|yt?dDy7I@NCQsn#3mYMlb_%X$>>7zcGFZu_Hqww7^p)6)2J|d^h_k-2+-kvL0A# zBZm8*wh&PK|9X`Fp?QfKxJXZy6op64PnpDRY4jJDpR#>>pl4lv9GfQ@Hk&{9Xe@S4 zc|c+3A#7{|JK*DE$xr!*B=j^+_oUf;$M-gy7sU1S%KfUReyXQ99{-j3DOZ4>tlQ3} z_!CrP=#t`K7bQ`?X7Hx@DF=T`v8+3B=$-`1=j5ln58LCMOQShQlTb|8zj_Ks zcMF1}+q~j%^c%JI)V7$PvRXM`Gwn&P*tcIOjDrAafLVFjB7!kMbLmLp|BZarc{DJ) z$k#d*1@1xt$sR--5=F?T;bk0}1lG0e+Tr1&H<_7w3i z$5>_q5vN7}E@ZyLqxq$;ka$eihbc)kA^}c;Q2A)lSp^*JK&RUo|#vUyflLn|Oc zWrUwt_2(wI@1qNln1LS#(TmWOB`{(iKoQx`wC)Ni{Gpoh{B^|Fvw#i?rVpG5IDs-|x8Et>M=p&gwp7T3q`0lebd;$$7F`e+OS%m&8)-6Mem=@>3nV&U(vFB%M zYx5)LA7{)G1yHdsMA&$NCoq;0ilLuZzp(L>JW=46zz<9!ly=j3vCa3``tLjR3ofzR zD!AF3CMPS!0d*o(ll-UT@4YCc^%J;?`I~~5QAa`9Vp6jAL~hosN5LM;k7PHnqCplZ z5#GuI``jYnQ|5pbr9cjuBFmcmASaWJXl8)U6J|h%oc-MGvmb`eu(v*iKHj$RJJJE# zp?(!V>Fgf?HtG&!zgM@nvi=cLx8J^GDaks)ZZEQq&5(cUm3;bxjf9GQVpj-#0~x?Q zwx%%&DdKLl0ztHh$&>y4nE5*(!BG;Js_2hQFN2jEni#u0vEQ28C(1ZE4Q|SNC|z60pAFt^ZlBzm0IMM* zC(b^ZG^7dwD+$)y30O{%8A=VVL1qV()$s4#|BZdp*yv5L-n>Bdr0tXQzqaj@C$LJ3 z_H>f&DX4lP3mt3z?3C`XPd4}234H&0`(%kweJl3Koa#9HJbQlo-4~1Xr3=*j zreb8rZhxM}o<15BH@{a|_Wagj-4&hR0lKH>u!-Je9q?=Oqi1!){6=~m+x)H(t=7u? zK0ZHge%*lWsP^aN&N9D`lw*G9{mGf%3*KmTe!2f&iyI$8{MrlL`kN!{9h#+i9d2l3pX4q5(?G3x(!*f zK+5{Jvvj`;`}yvbU8_fD49B7vSLQ}sa)B=O#iYt@-VRbB%vdq^N)#$Toajvnl^~D0H z-QhsVses>?q{fG=LFSlr!&FC1taB>=)9Bxy$XiJ;D(D~Nr956rMlLr@BQvCTG*xlx z|0P&IRMz-9N(EICah>YBxG4-%?U7njQ8L;#8&($(%T^R;0Q0D)Zdfy%9Q)MKbI}F! z2g>;gF^X#HE>Tm5>9WV)0^$6xdhbg8&HkrK|0h-#Wn3!#*H&)y^%9*N@^-h8WtdCl zJiN8>sh^2an53>x8X!O)%~AriCsAZ3Z+lCN>Yn8R2vB`xFU19q-;UmIanFAh%8Gn& zSGLC&vTPk+;Xh&7dOU>KGa1>LCKjrbSWb+1ytRTV!)^Uzs}|$~)V+bode2D5^TyjDCG;@wLMJ>t&7R@N*}oqi z!2Q_C$Y3K}Ke;P2VL)0Bp)u@cU_WHP+RZo#Z-Jn)NjKom&5#9G(3s{=D1nQ3k^o@7o4LslHI9R3cur z?>sPWl0R>Vl&1KR^PZ>sM>tVZzS2*#i71>l1X5Nc;>kRv^-K@L*M(awwz?q?|G-$UA+&lcU450UoJ$MUIvHg3@*}Z4Q&Dn;P_MG|rP3H_%ma)qC_$rH>DnpxBfe@KgUdAYm zc^n32I1`h@|73=<@I#cwV!Y9Yz(OfvJ#?>98sq4A3og|=#S7)itn3==s;eC&K30dy z{=8wch{P_)FSyypVhuiMEb3RSrej_+su6XDb{>zr_8sXS~K6|az+{}7crK5{&b9vhdSKzDam2KHMDWh zFH|qvy62yRr(jn%f&egAfzU2ORdrAY_R}amQN9T2Q-6xCvytQ-2&(wqeo)2m%s8yf zea*(o*%eK((iE?kvA#>!KS%JD{7I5t)b-qlrB4&A+PycQqQ-C0)SG9Bdk$q0;sK7NTcyq&B}RRQ|A-qy#!2<4f8 z0dR>NBrDg6N3*$fqTD9wO<};b2CH#11ot?AMg1lP7(zJ)5$Vt=vcCg&x7BXBUea?sDa1%xIIC&!0Nj+yfAb{}qJ5lj$skI=2pZ539{AUB zGt%*}>R)^J0iX}Z1~=g#1xjEqgu4(R!%Si|Eo8Xg+&g4?s$#=go(wG=1IT?R%z+YH_yr*|fLi@?pNWIu-Bz|NBaLOro z{}iFNMMqqJ`%<%oo2?<GuZbU+al59CQck*T zaFpQ0Os}7Lj{?sBkRA+@0ziaeZ`J(`vxi%BljTxl1X1|cm9l4CCWEaGE(LO!Dm_1X zhfIle9>=1~sTA={mQ;hcR;~c6UqV9hW%wrTw&(ssgW7-ShM)rl=(=)NRtQ$Ej$bBcn68qBnYe$k z7uXAR%lvuwOe0a9B6nlyIB=Z*WTA;wT4C@{{m44S&<{Hxqv| z*C+sXTa&NH@z$!1-n$_iAORXCh8nl77RR`KD$nd$u|1GrRmtIQO&enX+iMo2 z^+7SbD*Mx^fRDT9$aR5hZ?fMdQR0~g>jNqFY19kvqU4m*sQb#fzCj{6g%MJdwd72I zgjzVEHWYGBnOlf$OvlB90C5+urexAD5TCMxa19g}Se$go_W~v}U}iG^+7y5}{Ot!4 zR;$q>y*%uHYw*Uyg3o+X1AGmJskn6X!Ee+$ zc!l!2)!{@Ag!2DW?D(p2`ekgUYvEVG)1{{YPdJ_{OkpNJ`HEOCHbVNA#UW%B!NrY> z)>Oz2{_TsuG6vF@)dRmmB#0yqAcbrSw9KaL_GV<#MSutugf>~*o@k~qj3CP~B!x_y zMW)SZG5?AQ5VVW{o>Y=H#^Z}I0ai>B(G9+b*!cPo#0KU`3=FxDorj>&J`k%*VtQCp z;9r8KdGxcFH8o7JvPX#(ti70KA+%PDwtRKIR=>uS#|sexqr~M~a#qUvVi`vpFI2=$ z&F%nQJ^r%)a1SkLqFZ`#Pn19VmHgqcMnQsof6`JdVN_;WcsjG(3%N;Zm?QT({41j5 zC5jS&NTQ^%Qo~Zpy0aUxkD}_vOxF!R%;fr^M^Ey*c3S{(D_9j0M+vpfM&GU2D^53l z+-=kz8X^MN==Gh=Cq^O?-{Hn3+CS7Eyz1CvOYMqv)p!M`9pR}_c@-K9+JkYo$RQs>fNFRp(=R|kaZdiknzD*Iw`$!7i zE88U&X0OL>B<&A?1kz`RBY&|6=*ZQs6O>#{Y1)Kn0WEp-u^WGFJ?D(>*H3@C6O*vn zdgC}KCZd&62GU3ABrPPhUZW7QCinghwyq))kH2=m_<1;!{`HWZA}`ql+F=KQ_aQ5l z{F0XOW;gsyiYi3xfC8+;2(bB80%q#tzfQnB8=K%sGS7@jf;|cV%OJVxvk&45?X@-& zD*KhU>1p|sMMUHqaL4hgK~YonIK2xuch$QbDZXYBp_oxISUeyv28x)jkwtSsf89xc zv}yy;PdO_H1I<=bEn$RP!`XD~2KW4E(Gx>uo z_KhaL{w>a={PtfbJblfNqet}L`Eb?q#sbOkp^0kw}n#kf~~tBX1) z==b9{_Be;YnFYH6Kh%0%OxIv1`nR!ncqLT%#I=m#d5<6`wn}){{X$3vJOKUq?2mc)UMoiM#4hD%GK_KwG zOgi;uT%3P!eH-s-{xAQNU(H|m2QX+Y8ANgbZmY0RqBqt5<^r@9 za54daG0F(5LD5cxvpf+F3caht(+T2nu-tDkIY|Qq%p&#CU5EqH@4Dw*P5lp)aBA!o z_q=N};89#%jYblD*y4~alRE3RFKIsUmc&3czxnePPozXaK9YsfbEJoLyzJ+zpCYAX zk*efWbvY_wQ9&%RJ~(g8r4W4EyC^<3L`oG(n{M(kM8CSwG}7IAaV2>O?}U}rYfoT2 zIN4rRk*mj)tj|wLM8iW~M5NB$Y}ia5)sNjm0ETbY;Hp(oLr)lV$O{x!ZEHG(tQXX6WoGN=t+jx7mHt$%!{NH9i z1WS{NelR=voE6MJ7DhCfpmS`N=7)TTD)9s56#=<%!1LmRwWQ3?{)6q;i}8OfT`Ksb zOrp1||FfU%@0u?8{iu{l_-d`4tDvH-k$0VrDp`*ys=vqPD zDZTn|%c51pEaht*?dKU~TDHp2KuwA&nO0LC46(@GYK)Te~}!Z{~tUGexjrhKG3p)WqeUSbctF* zeFOQYQItbbNHUPWcDxW!gx|vA20tJms6_t8oe_Ki^e&l3us=39XD`Ox=&rh4H>Bum zsa_!2D?ps5=68rXc3`;EWHTjBATGPDZ_C;@co=i zdwr`*0TEIP3w4$XuWa=Y6zQu0q^Ia>BRtZYzRHP1&{q;vFIg^&Di}_{O!@m(G_OsF z1u=Vzt=DCU_nb=aS) zWkcjGv9S!}v?hPi0AhwK^G7xdFAg+`WJOj92e{{U#51fo zH_2Vq1+{QtPgzpIXm{1|_)$<^)?v82>L;{Knl=nx3BI z39Ky+OxR}eY_cJ`h^SqL#=^e?NyPRIap~a}777;UZl8vQohlfLj3;pj=R)(9+V7S1 zY40O-`x@I@Cvl+42FJjNM%IdU;^CgwW<7K@UmkN>qfz^1JJ|PGu#Db^YD(~SEy7g< z!(Y(*O&M9mfg3Rr7`yGV!rPhI5qo`{pak#PghuEV{2+9T3FFykh;~>+94L`&gm((g zdBzFe;!2*#cUaW$AA$d3xfIn=j#L|-7&h8wOrB~1p>sDt@z!qhf`4aqP)oPjtYao0_pvP9L@qYvtQcO3yrLvH zeb=Vzf*Ya2E7p-^=>S%}NE3SnaPWyW@N>XnrY@XKmq;{Ah9%v)p4judgf%{SR!Ni8 z)CGRFX8HH3W9Lnw0gB@J`)V5|2NKiu@m8!(7q?eK93<^0fBL+*Yg-(mgLlXO7u6p> zz8pK|VK>B#nUjxwOSr*{;4`KxhwQqG{XqyAG+y#4yq4jOL=Dx;f#=$Zke_?C$mqiS zAE4z`x>l>A!*`}&M~|=va!Wobr#z(lk?6&&c@t2-&_H+hh--JpcG6pHq*d)|Jefi zUUi(J@3T}JAKxNJWsjM@yS)@k-#1LH2aH?n!TaeEewZoYX@6H^jf3{}Gwd zHn#nWMsxeDh3=~Jh(Uyk7@Wb~B5CWoHAo5*li(NZVYDZnXAR`73-+e;%- z=x@EHqhQI`kIPZ@u>h++y~Pk5n`RA132i?@TZ;{Ax>o!RL%huuhs@B#){!ae+o*il z37rrfU!QB^@i&T%pQszx_ERUiD|#0@u@F%BX8sng1@{=4^E5X?`L<_ z$9%0%Bl!=f8)n|kon|Qir;*#>uDV9Pj{p-4MwEy;L#i%ts3vCN6?f0;4uZrk>RxO# z?DhP(%TwDhq`<#79VthT$9`)1>U5O!xQlS6oPO@yU35<#P7g&g=^QJe@FU?{3tuIY z_(lK`pSX_hhp5=k?sQ-v8{~5WfaA088p;+a5jY^-iGDjWaU0@ey!o77G3sccay&5Z zlu7uSGV-DmHD43D_%UOY#fr_G|F-e-f77p@|L5Z7e?rXsfPY4@@e_69_WVD5O!FVt z{@U^J?H|~L_FrtHfbT`znaQiB%m;t)!U+{?8pTOV=QFy+wSQx5`_UHEO2V z+{FoMxaSZsGx_(QwNBEGVrt3$k&q>>e`)g#8yhqJRq1Hj3O!?oO09od_MGf($d=cR zwn0Q2L1e@Jc|`Ehmy)*OO#7Xc!fOzV6uTkNnFrTihEB*V@=?l!_vMirwS&nu1 z$RSbs>YxK`w=7azjyMHjpB+h{O#savAoj4)ePysDrQ&eTyPsZ&jTkevN5>gZO7-6C zNN&a98$R4H#Mc>bt4^l|Bu@G>5wH}Q-P;MQHy|e?|K@==SwweDadWYP9c(YyZv5Rr>>*w;w?mj**Tekk}*~g}9;o6vkhk zO|nBwM@>win&oc5Z`i7X)Ahw1a~CDw07a9Nosu(Xg560`E|LbZhmq`|qwYatwfaRHs|QBM_HdK* z!1EV-uq)l9{YV+w242Ud6`3Poy$?-c2>w8gR|&$$AVKtluKgHz?QW@szad`d-N4ZT z=}XXyTa^1xEDUr>D+*kO|Azvz$rc^bwR4!Rpxxt7`q}uIex3D!ApHjrOnw zv6o@ksYl`vJGPCD*q=tl4*L$>^_SQ)ZZc>=>NvY~K`Kf0r+3l%8;9fM#=sYB zr2amxb+>N4TD6Xa3>+7*`T|3fBDdj}M(Hp?DK4&@euhTrS~~;siGK$^H-72h6W$+S zk%>^xo`^iCz#nMzGT`v35yT2Jr+-VYg~`JMlkh0RSEIBPWwN+ChgBr?E{pzRnePNQ5Ozwo(eGjsft~t ziUEv;s#u;XcAPG@LlrxhZ}s{~`X8-IyH#me=F(`5DxIhr#o>THQVfxPM1!X-0+Wz5 zKlx=AGhGk-2b5OaunnhZ)_XX+-4y?0+a9E91bePFdMB#QM%RmY1lIo43s~!yyqA9h z$xjT&U3tOO$M_2oNAp&Yae}V9)z>vQFs3r~E&TE4-7FpO{G+w!QQdy>{rIHl)iocF z<$0fuBpB`8D_wkww8^ficD+9IOnmvL2z`7>{uodAvavdOseHNeO4d22Jnu3-Aik-0 zd0xJ}>t3FhD-Zg->ItZwi5IH&b*NqK8i#+ajkF#?ed!djr=AOe4Fz75frGHF%deZB zVBOkrd*k|qMEROkgSR<&OGZhTVwNZ7dp~|pi~rs?=KI6{tAy^+DzOqbUWBt zjzm~(_;ftvtktjtPsj1;Uwne^B*FTEPxAF6=WD(5bv>R!iocJP;mV?`Vnd4Jcv#sF zyU?U#KbWos*Gx}X(+lsA&Ug)tTbgtTjXTK*hy{|4XfBQ_OZdCjoar?8fc?}LXF%GT z=XEe@KWm3HkbgL9Iqp;_O2U~sm@UP@E_fKt&?0!szXRem2!IcnYy@%n70lfI zurjQjSIZh1{%DR){8&guBK3{jOVYgUvTGtpLUlP6K)Utpq-~94CV-a~yZdUD0MMwZ z7rve#3w&4VxdD7IaXRDZaSR-ED@=issmH#XRgAW=TJJ_X5s)Cb3m|0~xtFE57uAx} zuyAbJ?d}<|-A2r2^fBYt_y4zBj=le}zu13abo`x-+!Wv0aEa!QO7dmEumnOzr3i+B zohkT#1PDoRQ2%SJBla~9x3C&+V^Se)r3raPAT393i9X ztbGOcbu2=tz@O98Yf(zA5lVd%RBBWFIl-hKYpMB!)lUs<@^6GWvo=tV_D_IpW4ek} zFnAKk@N3yplE`1V=w+=m_qIdyF%NO{k7UrAzt%wZHsWrhG`ZTyWu+Dh*eP0GTTf4o z!%w<&(<*`$#6LJ647q~eE zKM64w@^Ao9*>Eol0ZCIJZk+g!$6-l|{|=VHBqPwyzCMnbx}&9L>QYwkdqH>=>(~`W zGx~XFG@dCMx3qu5<1rCM=JOeQ2@-DYaaT>l8;(up*EtB)!r1sq<~K{@A0~*J-^)3g zE_QIxA#3FY!URyq*5>DIK&a<2L9krpyomMkof@vFCx)(}^vDt-JyVeWC!w?_qQJ0c zyI16?sqrS!E1ta(JzdY9SQX1_+(z^dsrvV5Re2Kl2Wa?lPnCjy99u%z#4ZVLIu!WP zT6CU_0In;meQP6_i15Hn>+8ua4}+^rSX=}sO8{CT0Q~~}2z;Y8d^Z2MtA2;sQuYr3 zJvRhf@6}hayqO$P3u)Sx@Dp4;R(xh+;JdCYgze~G2Nts~{c|gG5IwVF^=V}o(c?Ob zJ{0}jo*^viuDV4NPxx9q*z|F(hTqYz!zi3E?Go-SmK6LLBX=}I zY2+CqG7bC3nA(>Glg~Ao+UWddH0>XT4XnC+{O?JR>(n~i?ke(E=|I{?q#qRf=2qMP zHRH=X%J|;6{r}(iGULZrWOsEe;~S{)=kRwPX9yz_Lmim{5mdxAN4<5&qqwK6sR5jG zTkP;6&l9nVomUBBUug-k`km1KukXJY*-D!Azv{RDegC#Z7!$(U1s4C6N$xj4OPHQf z4u_fdWIQKM?@)esc7iVrYmfoucMrtz20Ufrf0P-(2`9oOh1DDEU6j zmOq^KbSzZca)F9_C{K2;?2=S|IDML{{P5fvUn|k8g-n|lKWmhHSn79_r>#1`8C{1( zmd1}b{ujsZp8pTXGYvxtsSfH-js(A!QBFyR7?m<5tgVix^EaZ;KZQ(ur!8Fna9kKx z>cw0H^NbHpy)dOImNmPlU&3bcLAQ25$BXOWAAEM3@(!fPE4DO(u zIPk8an|hpBm!mZ1FobmMZO3g~1yfNQthOhxvJWl_+;tyGwYDta$nh*u^QYhvOvbi% z#4T!)=^N1CXPj0PiEKSQDHdaF0ShsxMiIv0UD54|c;w-i!rxzkC5=CfO3qk|)i7IO zGD{=x{XRsV=4|*IT&MbwQLy_zp;XZ26u9p(q`>(clAK(dg!rvwYxjHthxAeOAfR@R zcripYh-fFArfXmuTn>8gMVJO`5Ydpt-xU5u{EM_GNXm(Hv7VLourVY^(#M|=GS=Fy z*9t|`Z#f!@{@ogiguiaqxJf5&a;W<~9EgpURlQ?q>b68hQ(0CoW*)@mEzU;h6Ghw# zqhf)Za4Z2%=lM~XBk~CO7&pCE?Zjpfhwo5YGdhg|-!;wPyEqoUv{?8yC)n^+3?$71 z93F4OI-a*wP{GRf8-S97^8~pGTzy-BiyomUP%%#e-$fd}OyUm&1|gv+Y9iLputgk( z?5}}Kx1J(Hic79(_kX^*8CoKb#`GBfDE-^(qfF}@P?T7cBnlW9)Jw>}v%}4k_4J{E zYmmg6u0ZJ*{x7?`$ZPQ}t6yy2J^!^R|CCr8@xyVDgIL^^_mP}cpqw`&A2}`d%*57e za?ROiCT4HLNu|gjb_Twf0HtZVmh-*N?KFEWB+dm}AaNMJSx0FFEQ;?35E_jcfzsxY|9Po>KNd-)pQL?$A$2=Ha* zd64zE6?i`{PzxNvX=1DDK3<4DI^$dh6rK#`;3(DTwBXB;llT?uh)V2tH)bEiVod*_ zNFZtcsBVi!a|;vc4_z zM>XGT{+Lh${^+*(zu}M1OycKP@JG(|HX@tf&rSZ&`NxCs5NQ4&>8brw3G6vh(5W(q z*degilh_mB_;EDk6V50@qlH2s1;(fqJ~(VKKOx?-M*a?H+(CrN@{SQAtMJx?yl_Dy ztEiumi9of)xut8`;H@<*n>@m1y_aB@Jz;pDw!mMPUf{3!LqT~%_ZdAEdX0LZ*G-&@=%v^d>o|Icr1cL? z()LG4xzqnxm9XYi6qPs;L_$x!YHwr9O(B7!ky|^r(f z4y&j`b7K6c$Ozb7DG>zm8!6T~7zrul-jyUdO(E6=JZ?rpTZXsxG!`Rv1A|V(xdYt6 z1|P`Q>F9X^V;Swkl(=pO=Nja!fxgn)929vA1AS%#2dd+SWkdWy=q!ezbOeal48lIX z6I4KY!C{JeIe-8INVg7QT2dS+NgKAl@Z`qy>}_E*0J-)_*n_{09)TI|o_7bo{W@<%I zgS)Li-vijVXxS~}8;_rIf!TLf{oGxRRuI3fOXOue$#@N3#_(rHoaq5H;7>qf^XEp* zpB_N4X~sD4=IBJG5W@bRzybaQ6b^q*8;J7L`Wk)T6^7iZFI6&n)fXk!$iV`f*cW}N z5MupEz+S;W0_axjOgx67cB3_OJkd?-8dI7QHewEhD*dzq)S-1?8td^s156q7GN_$a zF|)8bOaYRtqyaclj+5xOL%v>=?%jD&d+&BKE-b5)Z~=;uF#AeuG-k^9SgwOyZid^f ztM<%oZ#3dKW+L)?`sqdxCk)0J)kx;JVWW zGqQv}(o4Z)YJ52VI8Ki(oQ-1f$``-H{vD&omPK|*4_Rj(vX4XcXHZ=%YWU1OX)tH_d_R4Qu4kZhyk+ZZZ?I0T~cb zY7Iw6GJn<@Y|22FWc1e^MlMku0x2}2*(J>DQp3Li87yaKV1xXS=f~Y1B)ci_V-p@^ zF{#)b2N8o~WyOh~QJ&;`{72eP??rok)d@TQI3=&c&Oa8wy8H28M&kF7WXE}OxB2oS z$DsgTd(0~jBA9&K^zO#0ziF&GMccCINhq?^s5o2+;Xi$RQSJ`!RnV_Pr_Eq~j9DM5 z)p?GA;6XqN8YqL;;`1{omL&I8KGx`iWb1o0K;s%6wq#%nWV?jB5gke zbYTGdIdznz4#rX5_DWbC#>6rkDJCs^u+{UCLZ5eP+Q_$xdB6WaM>_LRdBVhJ^9IO3>u21m32jzgXyv8J1N z39$clbu75y+nX>E?K`>u$31_OO~m>RAgIY|fMCI;DRfp^Js|_@Zd`1|h~IL23Valb zoJQ)qm{cY96kkIF5hPi}m2!M#9A8N#48U*jIYdpumPP)~`d;xW_(ohZdc~TNNM7Z- zj(Yv~(yCrtPeRm46=2fx=O9f8o-;zEu0bg{NfaB_pAGlVO_0bp>--mx7y|e!!O@9% zbx$SmwqD{7HxL5r5SnGy_W$fq?z(V4pa?@9qQB^}bs&7Zi6LmhdJ+{F-8m$D7|KQ5 z92_zSQL!$B_IUv&*KgkIkZyiF#vx=IymLl^wSJqLPhbZ`E9WapK(zfcNVM=p0-(rA zia%$`PBmUg5=Q2%!RhlsHxJWdp-!Y*3<21E$Eb%fzlkG(_5jzBqnv+zKi7MJSqQaa z-!eSXOrqY<>)(D{|E4>3i=%&|J8uu(&2H{Uh?Idl3o%TY-#uFyaW=XSM}~<~=XsEn z;&a(yRzG3usiYJm5zxrgJQ!sG{%2tIlA&PDigkpD(ofci>Gm2C{6CnWf}jX0+&r>M z+!ekXb0`?F#*fy64|i%p`ho)`zZW!(Zzk1_QPv`KBGevT5lHxpBgHk5?gT^hAsO{k zaa(XX0iw_S&VBDYv{B(RaB=+Z$`$+x+D@lxec>!ot%&I5TeJa+od#DKl3d* zre4$^w*zb#s=S1voD_HIw0P;^*%--1$*K_AK||DFO$uF26rdFh4F$lSWT$i^_vZq{ zD6@jlS9l3lQ|#Y&yWJv}S1q>aVz(Vsw^$3dTxc&Xt)q1t?#muy0Scd>U_h$pzoFS* z>|zeOfDjR_U1lWAK^m2q;YIF5oK7Z%Y$=7xYHlBlJ zuv30^&;PB!h>U#sxYE4c#VDhVm3(ci#B^wnwqR8H^TKH%FI^c_$5ley7w zVBXazUKDhVVP%N%GiWF04o&j)^ykew6@ty%u?R-4RgW!WTpi$yoWXnamcfq5q3miv zRHAho<5A>M$#;oQQJ+fiDHN6491KPTrnMfvB36Qn%^}>({3tC&O*`UU*~e+x{z$Qs zu{5wUi{pb$a_rV4TcZ{A6ZM16|2i4OqZ(RQPAJQik2B&n0^kr}une(^26DncR+bWY zgL9G}vKD`>RQ#BD6<=_Oi)_kS9?y|e$#CYJTAtJ2*F8GFJU?GqNuGg|1ZxY(Oz(5S&ERJD$a&e(M|bqQQqO=QB`-z5w%XY+HQ==fZ@G zvA6TWDVR-nB`pA}H+I4$?DG^P#TuU!?n-&8a_mltlsNh?H#v9tsfpeW&Zj}3zy5ed zUp2azLJI6U#HPT!9{dy>bPE2E0<}dxML~@6`7$y?{@v8ez8|QKwUKezxWkBsXZHgWmw|4=QltHxmPA}Iqt%0 z+;;=bfCf~x&a^O9U{r*u+8*#Dj0mn+$AMk5c6Ek~&slplHq1}31{{E){lXJ~!0h>D z?$a1ItT|oXuE^7Cf|H8%Q>f?gT~MRV8WLw|q$Ac4;xMddULnN{`WQ1#(Uwcs+VN@j zeCrnG{nl{bM@FHaG(u#8c_tAXbb`j_wyWdsVBQT!gph8;AIPSg@W*=p@Mn#~D>u3; zZ;|?5a-d4T%ng(h%MInj&n|w38)i9L;_BDH<;@TB9afIL`C+kiu{5Jx{*ssU2*c?h zE+)HU2~Xoj#BXhMFC5&Cen0h+V1wrE{8I2p$*P)`cf0Dj34ft=VV&_g>~Y)cp8Id| zr5N`*$pG4~k)9C&1|n+sq72}w^d;7F-MFilLN8yrU8Xot>*?Fzsi?^zk0PI*dw8v6 zz%K4v$IR3VugBo*MGL-rkqa6#Mg0;ct;w(As%`Gdccn>1nmAFEBpF1wkfgv}% zLWTr#Z7d411Pj8VOLdMQJA>VHovop00QbMU=^-mWE!?&Z*m@>SEJOd$e?`HJ0UR?~ zoFEkiI`UBCfX}0|Xb&Ft`z+?y#VA84DJye4SF2~Nh)z+Ru>hL_8iKOVt$sE`gF~kz zm%XUKy-0TzJ+4j3TFxxUl6z{$s)W_2uuG&nS|xvx=FaNb!K~gt3&3+u zXmQN_3GA~=WyJqDuf-8ZfyIoAC~}0O>FU1_L3rV{s1JhfgpRQa-*L-4Of2F$d)A-Q zN{goJ-$7Jd5nu6fr{W{3A|SW>!egLT@Y@5yG);{rYvLu%?4|HYNYK{Iym^o7_Gq+E z^Y3bX_&kQ9ZKxcoFIY0NkwB|4&<=URCNOXX?o^zJO}o%KzTdXS;qI#&Z!QX+cX}4l z;D;5LFy~sFFQ@;8B3GFoG=HpJONj8)@6N_)I<7ORLbJdzpKe%?uqIQmh(Hp>!PrL% z|8{Sq)sA&UcV0LUSQQIXhgyiO86RqK)$r!{=nYwE$H%-AH$H(bNo(CYYj-NNF3l|o z>==_}^c#ca74n1&{@36u%z#dq5pCukpveo17DcWP!EHy&V9wPX8SL!5%|D3RdJlh~ zw*H1cR@x8H1}NR1$&!37Y}0xBxL2z4F?5(BxT?K!dQO9P%0E|4Wp0E_x{nA#t zqtLdM`pEEf{Le?x@nPyV^7M=UAI57Bo@CtB`i_q~5YVWgJEguWm6u0SHy zJlppcnjXb#+lqU=>sf;`35RcQY+KyxBWwjI7OeHGf>E#m9baACtG2lPCis7#RlK9% z|2Yx$|A3O+XSfln9yCY3Q+~MnOn)fSL+L@oEW}y%e?jJ0x1wo`X$+SP^oH?Mnzfyu zE{}dv1#~fcwyisc#ZEN(4=PfWXZhIs{!`fZ+j`~Lj=ZflooQl1w0VdVWjoKGC0Ad*w=6ID~D~O#qR!LL-nej)TKjz=7quiG`9lBSw3BLk{7UA1dNB`Rg z7#h#A6_@HoO={51vuw<)?JCD3y?gm^EZ*L8dDMG>`Z1C9SBL>}2V^>yU~q#WzCDFJ zh;4#*@j!PBmT3NlGv}0YbP!__=mMoBi}JhC6{H{*;VIIe>xnO>!M{B#mH0#UYASz! zUOxh=qU*9Ezo-7aj)(!zN0ohKKJ);`cg^2D37$t<|U-;7j zRh@PILzKYD=RQse%%DA#lX-((1xI9XEb(a@`OCN5G31I|jtW@!awFbml7ihd_+Zytk96i7M{QENPjvJtro^#Lvv`|mzvZ+| zCHn)TPkSVjaNX9TYyOMq(@#2*n4IX-60||iYB~DU%D($(rvj{#E^fx5%A*RmQD*ox zP$1*F)i$zQ_$%}K8;$!+JKB0O@t#lp3bcDciGt;Hjpa4l^NWgO>277_TU{^!|75JLPpJVF^g3X4H zV$XW@Lja|=Z>_Qxdf$Fgv)&_5MkC>0l#U&;bO2EF83w&+9OY{qxvS_dB^=P`jN>JJ zQZ1`rvYDjN25#QPtYY8&NVGxCvQj!&H{XNk-odNE`XCCdSsC5?Tn9(~Op3T6e~!q$ zZ#23$OQfEJ8S4EwHuakwWw2jUFagb0a$}`MA;K&~_imQ#&>-n=B7hb zC9>D9_2T6p+Qir{i7XGHgdLe6uOX-t=iqmmK>s?U`9Q4|7d9JSNT1Kr^x6D;4I#I= zraOVf?iqUIK3Uy0YcYT0*%Rpu5kNR9^LL@M9dYzE<9t2-G_&MW|KV$=G1KD7p*6US zJppWn6xVwz60BEBX{FYS8&2O@o`YuP;$Th4a}RTe`gPd&L{4Fa7ivzuyU4m;2$WN7(#q! zB)OU`f^}m%ocLh>s$(-N|%0OyM&!oeZbPDV+tt+htMD1E>!6+MuqFFdAyDwdDya z7u$J&V7OfzzSM)FLOta~p{t1Nar(4M*+U}2h2S`@XKO0>xKd(@7b#aIfFw|M%k16; zmeu*2fbzQx8>8OlJ*mj7l%GiXi&2kEMS)gFy;OC;lN*()Ehx}lwo~VVhoLyXUq&~Y zMiT}gJ%T6*+4{n^jpwqenqjP6ts7^>%tH&a@M4#v!PDw2Xy;#=9ySdI30mSTgdS3} zU=Y$~vmjM43sZ=FWoW3x?XAxO?b{;~nX9Ihh_)v}`BPe+i0}x2C#z-n6Y$6w7dX3x z%;9~N>)wE@1`fhZ&b<;0<6WQ_#$3dg_D5aI>U#Ilk$HLNV@Ku)a&$THN7Bw@uNYk% zKJynTd^Y^PC45R10H~Vy)r9?=1Op#CVT&9CS-X&^5@)0j(o9@I=uOv{(47g4`2NnC z{5WZ}GGmNj_APahwt3Iqm{rDAq93u!0O-=D2`{7+cTL$f4f5lC>T7$yf1xx5xpZ;- zbb=3Z1Z7Fy6gO-eWI>EZ+<~_n;C4d7f zHSB{dQaG2Dnr1I7*07x+P3G=*o7LFp*G2f!V>u+QIlKUa> z5|_3h@L-H16}fILM*0o5;cF4FYN+~Vfc;8X-UM}9z9q*1OF9v^3d804n%g}I*vTSI zE8Hg66+_^(^;5~y{&$;uvA^Pc*LAHYeMgr$Pw@CeQ)D}1YE^)%EbvsLlSpwCqmBT7 zAH+^Iy5KP-aQM-Ky%(iMQ)Kp~UK7EM*{x$c&D1FDhrzNa(`Q@IVVSfNl|L;h(vT4x zO?TvLLNo~9Z%YK_*1JsxigEf$S)mZ{2ZpAmRaA&HbD%;W!ZaM+3(yqR+V+J*cx*;= zC^YRwNcU&c-llso-&K#cG~Y2mNpPOtJ=A14lv?<#Sm>~RZvnn{J02^1(_9#QPO#9ID!ZXwn$J7&oDGF(ZO_R$^GwPO zA($q150t^iZ~+7wr4a1an#h?VfVb2By$sy-^gT+QFGV1Mq9PU2W#Fprszpr)+=PI( zfnA%A)*hilK;&4PfE>xSa3Mx`=_4)8NeuPaQ$UL8Era<32-=wh?7B9iYEp4)K(Qjx zgk;ZcVxc;l_~R6)pu+t@!1mn3O|Z|(s*IWfDgkmcbp@^4%gl@L+#q)GR_pe$T*F1# z*Jfu`qZM=P8aOoK^|y^WC{En036Ur5Sa2))9Zy;oPCH@g9r9q`A zKwchhnzcKwprWB1@Xk4|$TSio*bIfBH!;N1fJ39x%y1L1T?6XLl_HyAmLCdW+Fx75X~$=Ky5)8dLA@$$U!tTYpLg(a z@<;GG0-VM4NtE%iO}nF!TUZSZrY+v8@@kRAoYhcYj^~R9TVOFQ*vM5AIKc{iF>?>X z2oJz&9Sc$Sg6AshZ=*d4_y!6}?13d5nc zuBEl5cx9>NN@w_lIq0ft45<@`WV05ws##2n#{HxN@TKBY#h09PX(<@t z)9oJ~&Q}QY27}aeP1;hCApWL89IiDkSIX&eD5q#d49nWe3P1n=2r>#T#?@cR1p%2b<_*RI|kn*V|Io5iAQu{1%&Ca(Ro8 zqS>v}3+ZYqr8r3<6>IWS2kJnxPgdP2{-KZ(ETsg2^obLQI4LJ<2dQQY4O_4*wFS!w zpjqT68+Ggo#UWb9*jFM}d0NsqoBt){{tYx|Ro{1X$~~P&B8KB=OU>8q+$*=)xGyqO zpFMG2LIDnWo@CF#Qo%IN^I;C|fXr)c4jdI2?*Y1?dUVF6wqcr0*!JDq95#Y;sUjJ` za5`YH?Tc!jl=JV!{*fYvOQA1QT3WgB5X3R!>})d0B{p!2z*^Q7EdVEQU19@-I&C53 zR4kEUj!Yy|YYPp`E%Y9~8R0Ot|5GG&Dxqs#QlDs#D3%Jgkeynkf@6@<2|~q`(ktd+ zjJKJjciX;>lhUfBZB4~nQHCR>&nh`~f)DrDFH-Vfb4BQF_y_{5O=m|WzQJ%9(^ap& zKFhCPoFpRgZT0G5zS^o@{aL;8;}z_CYmIulNWHy-1()-cBRj{b#;2eYqnRcF4sT)jF|y-MJ#!Rl2P_3E45c$KMMC8}2+@l~pN^{+W< z{Cw3$z1pK*y~bDHc9KEYsaH?n70$=vT}XCex#msb_HUYXMsLmmcj&oWD!cLF0SGFM z_3W!>wLjGdG@$no&_ZEGx|Na4<$b*qq&`!@sJ z03ZCE;Hu=o@2Z$D>1Fpp8@?!-t##?K7!JPc6P)YhyqIDChU|ALQsoN9RLR??sWu^4C?_& z>FV%Tl~7!yuxE5u!oR$5YNL$HcJ;x2I{>_X*&l1yXD5FabN+$;qlZw|+D3m5e_bRs zwI7DYJN0yqL;%w%D?I`FEcRq354+z+*vr+QHOh9<0jZxXvPTYbRn*<;PH3OO+w~tBrsn2Ez76CQjx1)tV>uQFqF%vF^Te5Idd6>DLsNd zQQaDM0I~B3we9o`vUV`kK`kO9r>OPYEZNmo@1h|hM6u~=Jf4ZSTW;REfw=;)u?g7O zeFRU7)RgKsG|6Sz2|xuv+FJ|tX4!1G$4u8JwbK%;-TwlBd%Ob?;Q)ETm=`!ZRfaRf zmmy|DVBkbpC;q&((Z3(@|0q>iMrqe!W{A^3^`vy?u(xL0QcT~%10@6YaD-3CC>V7pMDJWBZ z>erldIW@^vBHb)gw#XMsqj3QQ;m;|@K)E4lSIq>;RrRAz0nm~X5f`1GLO28(Yb0o` zx+vpZN@xa1!R3#3Z%eaq;s# zF^gGVjB3i_@63g&{8T1?3Rgui_V|iKAb(L~1%A`vu^fMS6B>uOjAe2^ntl<*Wg$VChx(Y3ZR1TTtKNM%995Y}fz=Ypc`F5qjbz7TLqsYRKgLFyp%~|0*beG( zTt#}Wi+t5gNAxIJ|)uxLpgj5 z^dpr@3EDq48+mf;XWmIWL;8j|VI=#?H(L>U&|kvLjOiAU*YBScc_$FhY#;=g_vj$% z1ob;k=8=EG5xIB$px0$heFC1~=kX6Z{O43z2>j)5u=)?V#OmLsUOmTGU#eH{s8@^m zYCB&k4^lNkdO|U_YFgJgTlH3Wq#RpS+5ek>cWwVeTO)oRKAq&+YHe9%A1qK;ZrnEn z2B`lC4g{O1z=Bye-+{iij-}gYk9QJ^B*D;m(>MK`>!;s%>#ewwz?+VjF5ih2Io$s6 z9amn~F2~!Eb~v=HUyhf8{n1)MI-*r^zbW=UguY0papmmzWSkO+tseUv9Xjlb9;tDI z?+8beGk82md|+2ScEq24gqt&9;P{#F9pg)~_H@zlQ6I)ubDkCc0#W>>aTx|;U;we1 z{B{-$-iDirwuVNecYx0yaV(@3kXbP^=)`zuVTU40&M-S7b2W_Y{eS{dS{xZyaG8|V zS?V3vcKD5sB) z0q)X0xum)pw{kWrQ=hwn&?m86#gfB{+Xph_tD^2_5zYMd3(>7M2vk6v1xhE=WDw ze>57bYPn}qmr1OqoJnL+rr@|#T7)m0+0CGg)hN^e*yE&2tBcYa!><6x<%g5qm2YDZ z4*oj0D_`KCsQJ)ZyCm@zbt*D(G>7{qn*je288uZSzytjF#PWcDG~t(v%>n*Xn~e@*oC+IpGU5tcD+d_{208bivGB&*L-W(Z2K#^W!jWzp>- zQ14*oljR8_P%G4{aeVaiD=pR7rVUnLX`7%SJeX7Y!pK|UFg+F%oM@V3YtX5T*tq3oXjg^Xrp;i-aCqIAX? z#3tl}AoMu=cs9}*|Gwk=Mw0a5*&ESP8)@QEyNNc~Q3rMpx1Z4mPneLyu9>J`BK1p9 zU;mc++X`^e*YNhpf4P&QwPOwr>!HcEVIK5W_6@$Ag%mCNOJev`&I{H5*6bR}uRSYy zv<$h_{3?GoSYfO6Wq%4KdEA3Xh%0Nm{<~Q|?XuR&-~E(mtJEhxz94Vw`1m9qLoqb} z{Rwe2-v?qE@{9hQdlxVV z*)veW^Hdlo^jp#EbLRi^}p}CZ$w}xpgMof03EA>G$(>u#FMSc8(PV zJrE*D_kuiuydSbhDR>8l6Fo~5U3d?_A%0ki{9^Vzd^0E?O-TX9XRil4Je}AZ6kLc> zgEtdQ75Qvkz8qDsY$440{1n%^yzwP=C{Fef_`jn0t=>A<8P%6Bs8MmbX_$IcBcH~o zej6PXhUDc5DU41H33_B)l6Bd2@dLu!LgXJC$k%4ivs)U?8wtG=t!bNL22v%yX*Cdt z245fq2cDUF#s_C4O1?7OS~LJhS{c8Od}5|686T|rUAqtw1K&=afSpY{u$nW z21rWpT$#}@0Rxmudc^)jbhaJ)FN&X~z{97*0Y}ie!N_sE=T{K08VgXDrsbL zUQ4a)YvU0!g(7Sc%doul3O}1YPq-;&y3M?wew>UkaLTte_DZyhH%5`9=6}4ns`c3h zB&(=Ah58*d;E>)pz|n~VuNF|$T#d2jedXjY?#wEHTVRC@F6EC^EDg)PhJQf=^4oNc z02l!CrW+Z62mj8Iw{|t+@+h1yO)Vj;2okDdI`yI;lE{ugsO+c|xSq|_f%rI_+0r*6 z#hAw&i0pJ zRH*#G&zqW|yP{r~HK<+@)n{{O!JJZ;;h zAT?5-?cfg>GoS>JRtV?cgFTPuyTC5%{RYV4U}_S720O^bJ-n`IF?x=yj9nE(pP8Sk zPAS*95NBGsDqUd5-!ByjhqK=2Zasr%z575~WZ)5OTAU68ebr84R+kQ{(&X@EBnWUg z#Sb}Lew(hoM}))YT_^D^Jyw&yeFF?!CVLeM;$9Cdapj>&lQ`6l?Mt-e&A18{84f0- zUW_&%5qv;QTRFpvbImAXbJ~#A;Is>W1G(2&TZGh8w1u-krm{?R;)}}N{5y9 z5Y*ZZ>ppXA5f1QU1?GRTnR?IdoBuF0}n1{iH6Ee(HarpXdtci^N!N4gW@2gHgJ*pGdzt|CSq;nxgp(Dl_JjJjy8g3}^I^ z@hNQ9f7msrUG_m_f5*fp@r~K@`Au{6m4M?uQwvX6GWIq#8Udl8a5rA`Wc;@%T z<|UAWP2i62Lz{Uq(<#;sr>QeCX6l1=bI}=iNJ9@6mT^Humszvcb3O2ptfv+#R)(sa z!oq?}6ee!1QH8Ojr?v!~;uo8F64+qDKzGELmBj zBn&B689RloHg=Y3tWQggZDC`#qA@Y|k}ueFMq@013dTHpoMIRjvD~kT zt8b}91 zZPWFMG3YKH3pts4ix_kRq(d~{qDhAo{j}yfzDH{gXPjRXDaiN&>#kEsTN|{pHwyw0e97ixH5?1lzT2oV93(1%6`0zHLi#zLX&rUg21kwsh6| z6GyWz$AeF_eHl8kvoW%TXT{UxtT-+t!nKDVL>p`2N$ktBDYpH2cY^PbtHKDnF4+VW z)t;p2TtJh^P&Uyb=HwlNfPj4mKOZnZeU$a3+TUQ^wR}_uc+5IL%!t z;YFC~WdMQVaykA&o>|#X?|?%E>xP=c313*8NJ z)K23Zv=5s$+<9dQc^mCqoN*~z$Hmz}i;J@rACuKMJyP5*8D%o7|Djmc zB7KC%w`RF00{-Ro+Y_KqwSLQLIClP`eN?UN`+-sB*iW>9E{Ooe97GZDaxN$dY+*gU z_*3m4gs1&3LE9M2dwsqg&Ly6dZ-AA_8VKxi+&{FRqW+Cnds5B{e@xs${-DrA zJLI{4y2%-|u)r4OfJNAXhm{B_nE<;`*0O9sf+O z>(P;*wqER06-W-@h2^)l(msqQxH@U!HB}G<*F#WBQWFx?&Hy!}I0AdiDXW}qAX$>-jMDBB#;Ul9*g z{RQmf2~I_ht%Ea?J;B`aA$@%JhnM3mdcwACx9+?2Q!<`H)`pM73!&hQA@3^=#*;Vj z8(#8%r0+eycj&w1-^WhhI9~xW97Sb^)A`01o**Pn~eMk(=ctMwO{n;y z<3Fxpz)QQ$p|vSnRc%%W^p^RjAvW8Y7oA5UA1;x;8SX=C`Xq&y1whR$%PvNjmtRVH z^W@iKavb+QlvaeWf?2FT{}YJ(K&nvqnFD)t3_qs(?)ej4E7MRGIfEabLS+Ua*Amj4 zdiXs^cCHm5wgV_;_1u8>4S^Icy~F;^Yhvq%bGke0hxsEbz`SYr;uL&A;phcRpIL^Q z(5}ncg%oP6f@i28|EW}gSw4;QY3)7LspkFCuw6~VlksYHmO9luW>to%yF;>Oxk2`Q&n^48jMK)rr&aJ9g5w9XG zRz=TP6+g|3cjbjuP8I7L5|R2qyowLIIoLQn!a?ftgeta8aI2Y=Jl#Kq^Pj}FH%Kp ze2>CE&A3`K{iofPb~XF{5JyVKSdZSat5J~L$!eVOT^g&Ta}1Uj5-M3U(Lu{Sb|uU` z6!!OycV|+piogHCf#cT+Rooq`BHOM)(b*pGmAzuliB&P|Cx^;-kWNl8JoM-w0AKxRcIwVNfj z<5!rMB!4L8NQn>&*KLT`t~bT6VKYpz`hSo9zzmoY2_{N(k>3y6u%{_Oi^CMBK*fj5 zMf!CFu4PbjhMsjfDgxgChn}T*NmddbBbH`wX^KDqOD;o+JoTR^cXk?=Ju83?zc2&4 zf}HkJlknqw!B(Ke!e>D3D#J3rOPs;kRz_r0BD`&fz|;=m(8$SM!p*6r?r^iW>?E=C zBPvWKU8H_#pKtj*k`PEoE5CUK;}!GmK+oiY9zhx>!F5hMEZs=GQJO_+rRWse)?}dt zHw=!~@H+YzLZOgVT=X|B0})u=;NbR`4vDFl^n`n=FF^rZAv7sdT_GsxOkBzNb+GTA zg6qNNpikkVzuhyFT5seG`hyJ(IX7YL+!)_PgmBNGS%jf)vgIR}9vB21*=C<-7=Fmx z!83axzQ-wsgej1OdeL?^9^ndYpDoU2Xrb&9l(O;E9;K(y;L7t>_|fU;lvs^8!A}bx z?%=7q(XJH7Vc@XN`eQh<@>oc}!HZPtS@BcDIus-|;{3;z;KN!Rskj`D^8y~JI4q+; zheu2wgauUl4Xdpt9F6=M#CQ+IclGv8dTe7vLg7MhFlkpXd?d+JwE|i|$SBGP8Dq18 zEt`Wa8$&p-Fr?$|(0>H$f5Q1?UnX5|_Bc1}U%G-aGR?YFAVGlcSU|$0?KtTW=xtdO z=_m_091w%8IWuUeh16I{k%R@7wQPL^`jT^6QMVweP7=O8R6*k=#0!!#wt4!uo(;b-~=t8!y&%+NNm z9jt}J3cVyijrfCa!80p_N@ZCR%&v=5T(D1_V2Rw8jWiA~W>$b8hMURB1-?C=s;>Bm zGC}N`V;w6>NWaw!&{F|}@F()SPfPB%7e-E__x^UReRoZ}hrK2Z7pBLO%CzufusJY~U)49w;$& zEFLgKrf|>C!xcRVA9d)r7nMgl_1i1`;BC1SBr7kz?hEk-AUz(t3bDjJ#Ci8RtP&PBIEL3c&AqZaXR z4H?VLdW#$KJ045z5{=i*J=?14YaLJi3{-8)=i}~yKJ(+`#;smvujm5tPNFCm zK}j>U63&p+ks>Vp;@CFR&qPx(6r1TMZ#yYznAu}HA1xFNyT3g{cdfiqu3KXp__J32 z!_gzSR38tE1}8_(*RAi6-Iwv7w8+~9Y!$<~5AjUd?N$`5Z1si2gTt4E&=Z#=uI}oW zk5X_cvvj`=$iIs6%V4%~SqE@c+eRT!uK5SPI!-GP*F49c_P4f5LBhT0H{Bim#^S2f z)<?%XyDOMIi zw5j-GJQ&5g;9hVBiWT9e81_T^mLV0;_U`$i4Ew9^WKM6_5)ghFd}*`Q=1UMM3*l_N zyTw(n9?Omi^+u)pR#r3F1B~3P0D-b+Od^w5a*M<4l|rq`6R?%MLZ zemkl3xA%=J)qE+ERLL!)q-K=VLFyCh0)7B(u+uUo{*U@B-+CmYg9c(h$bz+Xs(pi{wLC>EwPvCdZIthB?z7NOQ5vwa}%#59O2p zrfa^VlKx+AFd+p!`MaPkAlF77^%Ymp6T*=QKWd&4hq%MF0*@rtXL}U+es0HzBTRQs zf%vVFxg(^1!W27=D8=neSpdTcoTAb>AJ6F(tB_yEU#{YLFq?97K9ER4W8TG`);wU4 z=xk8rS9jovqM5MsJb_blVUuC{K?lruO~gqIv<+qA z=vERFG(((V=mn?f5OK~C5}c!>ui!p1iuxZ0WItbGQZKYRGCwL_tIuzOGJ{}T^Q~Nr zKb6GUKc=vx{T`TJC|_3F{&jcq5&L}1m3GwISiz_5Jm!ID>X<}(OwD;dRtz1$OzpfG z#%BO1BVoF)UQS!|N7lg|kf~s^n=!yI55N>|pR%A)WMXw=5;f?WI7s9085l z70T2uA*9O?fQ1{IDZDF2>3htzC&VYn{a*vSs<5qj^~_TH2`z`yFoR_t9ML0|Kb}|D!Nhr zw(R6AjI5?XeG-)S4iZU#nGSJx*zjxGIXp2NB8z4IWl%`Q^V_m6oRtYKJhVHHAw8LW zD=VF@I3S5Don-VtF+&2aqTqjvHs9lh0w7#*=9%>FQ7&_5b*uQ*pJY~$sN9zyM4oQQ zNtUyoLf-pjl$4RTT90nXoY|FA8H0zdsbN*MiwAC>d#O4p< z^ss;D>m1A!D+k5oweqTJdLha!QH*ciETUbw&`f<9ds+a+C+{fMda^0bTElbOuvQ7> z=rW=MET*Jl`Xwk7XRVB_G1gM=Re8l)B@Sx^DKOB9`K$_Fk4NVTikAo@X~qbIiVn$; zHQFSU3>nC}KRFFcv=F|@03L!^b%wIn2la_L_F-kgKKr>t4qcSd%3d$)?hUUI8)?=c zxY0q31y}@<7z^}4FnwX+rv{w^(kK8pThvvm*oY*z2&=#&@ORlj!pxZlIxZwH77S+U zYgbpeI2}-bdFJg;M4gc-ne)V{LS%M7Tc|_=K*2lusG*M{B_6R$@w1R|l4eXx)3PBg zkZd%b)~YdR_98P|KbE2qR$ffQ1puP(mideF2f?qiRcG`j95rgXJAvs}x++i?uVB8e$y@NNz(3t7xl`muJQ(Hyg84bQo7+zylcMTy7ZV2p8yifv~^xt7`nJ zj*y!B7Z`cDG%E!43GkmOOya|o(1k-Xg4k`2=UB|E7;03Yg_73CmP2K?lX%!Q9?g>$ zGSc6Brw@z{y;tKW3eS-81O|-`R_Rl~Fsg6DsH*QBs3cL~UY?#eV;GDFi5ex_tq~$} zrdKD((k3ckT8PY6aoFH1ERUI%Y~TnSHsu18L1PpsM2Y(FUubn!;@`SbCjYkbK16w+ z!vT!T`^{eH3JupOd9U74-Y|RX1=IESN<3B{U6MLXSi?BAXALg8~Ky4a9|(DOCM)TjsUf?z_7})Lj?!e zfd{}=2}@#XmoF;UaglfL#s7?O+&$ftbBAH1iqq8sY>(BCXv?Lu8OT@TXPB{|^Sqfq)Sx46<+l z|FASZ*RumfT6QBTSQH-2D(r}>?ET1Lp4E~76cZ~%zI9h4$rL04~D`PSatzRQy2uVL+!k+SVYySOs`rYYknlV)~SLa1hy6OvDW= z@BS^(eiM1+yST}Q{+V6MxKf1iw~Z?cK_##vgSbi&a$=kWi**_!PcQ=x$`a2MEVJ-J z-H=he9qMaYa`pD;-3*h-s<|oiY(#)sFFwxsj9-L(uF}r*Or4EFIhvjn_P_iBrF`t+ z>DFmKa9V)zcqHc88&mAkn$GEnp$7;S!+Ac)vWXT-eZlb6Nz)LA$>jl4$h1yzR3C{?7oY>Yt7xh zvnBEgum<-} zp_gEdN8KN+WZfZn7ctJ|Xn5|H2SF-h5G1$pT(qvQm0n?=PS=-UMEa(Jc`NRQNG<5baB39*FjSn=uAXJA-J5;nk!XT&=(sKwE*P8$Yh*P zU7*M_7jOdsEG&yfB4Nh%1SEJ0fI3ic*gx@E8wr?|frNG9sKzzzujq6UG1(Bvz|cTN z4tUu#n;T;S;qQh7;Uy~s;bDK@cwI%PtK6=uNb1s3phuLaDazC}FYcxQr!d}@OXb9{ zJS#!<{tq3rPC6$Mtsf>Jhs1itR)<)B-#Q*n?Blt%eH=rX&+TvwkOC?ZfeZTF%ZTS2 z@wBmJJ51-;sAun5#}&)tqnP`C%NDyCQjc^YBl^b}FSK_d?U&l^!%ahTB18e$(~?9D zWK=xO=v;ONjfdK5$C#-3F0&1XU2J%~fJcmn?(-*7E~R$WoCuMdd73VbhfLuHS+tI2 z2|MgR4#<%S7_#F)6!?DAE_`=zs0BXN>RS_})xXWg)|M2!6aKdLGC3dHg~_}Xr1txx zL;sWUvkpL(@u7{vXf=Uh`<|I(avKH=gor1s!+ZPhs&Xxtl$;O`rxs&={_E>4XiY@! ztr=ned(VJqOM6+9zpSl+sMz)7P%D)OVzuX6Rfpntsn`WX8YGI0qJGJ`d z{d{@8z_#xryuf{Dr)jRd<&c~xzjZm*pBPwjo7wxcf@!or9G!%juj6*{p4K*O}>cyvt80@pqGOWX2vxg_gxEDfI!2w&;6qZvN`qBU^ zY<*FbrrhPN_+AP{WrzuF3KY}*n~9EnYo$iMR349&E;LVIP4`_F*!%MaT+aP@aGoxd zzS)WV%;`;P|6f9Ua-Rci8HxpJlfuwYxtf+ralOd7hJ8y6TlSu1XOh5*uMS11c3b$R zgyQvn`#S7@^eLehK=<;5hd|m3GAr;-GnH}9n(#U)*@^3SoD*kj=C9FXXJP+IEb`?z z_%}hx68I@^9UCGxry;IH12QS_Fj}LIAvvF?iV-uKIq{gLAF{1o;jcQ-M_&#D2mDp| z=oo>+5Es%(sL{3{ik0ck`tTu_b=^?<&{oZljUW30TjI$PHGaGmc}uZP`<4Iz!qIZW z{u%NaX1tp+%ORk5TKoprVqGj0?WT4yDE>nE5+gb|#23=YA z;a8Z&x(ipeBI4rWSvgZL*uc(EZpUP_I8!4d+oa|ZSt#=FcQN@V97Q<{dlJs%6Fm!} zgg%)YAWHUQiU6K+H2qc>U9J_-)2wCt6oVNPGn9>eScVu9mDB?Za_ZlaAOzcj{6J&- zAk+Ulx;?2A7vq#a%ar`FfGu18)B$}pDx(IusR_444&cVDXVqL!mX!?z?gb}5jPnKZ zNlPX3NK5FgXdB8@M*GliaUbI$$I&*SseVdMpfu5ufNPKqG%f2@fB}8gGh-+(%=8sB zIbu9ODuvK9y08_PZ^NinELDYAdGHwLK#pfA(xC!WI%@tc9K%WA#b?5<5y`zRA`$q6UC%l0(?G-W_CY|TRDa3N;98g; z?qbr~Kc4>pQF0E5>! zdYNMUejnIeV;O8BB^)D_DKGE0eak! z#~ufsi1j!JJ%0QP)njx*d2r-o@>|gZAUmi>mty~;eA5+oL=Mg;MSjQ!@uBpePFUMb zhxdAiQaJp^P+t|TKc=D{?IxjM-M|}H|7WFZIbt@DpZ-PJe1-LM@5p6h7yBANs2_~M zIzTVEwnxWKBt!{`>eE<#hV{?2HuB<9Q}nyY-k(|g+4|e$bK1&Ja8V$KBC}R>YDf8t zw{5Y^re`5_RPG(5pCgb$~iuuQb&og6$==|YJmqOs;?w{j*nvO@FNRf zyEJBZRZ4w@K-XM)2WM1KY=p}-muJSEB0+A?(Js6_3uI_L^8|t;fv2$?uo5xa7}HAN zp(qa-b1Kke$hbKWGH%ykQz{G@cjEeYMIqy%u_0`}48eN{H|dm2sHOi5>FW_6QJ`-t zV4%bo7L&rMO7%e)n_IQ8|Jz#fYnoO3nKPpl+A~U_h}8Gk#qdLf^KI!Z;bM3eB!+e1 zafWfqn)JbX11MgBTNDuZ1=Z>%!wPe5PtifsMG=l1nNEZ>YKj5BNsm*a*W=*-33 zUKQZ}syu{So`=T>*Xt`kXaZgtG;xg$?z^9gD-K(nFh@*+D=rVcNBAbz|B-U37oSA# zwmT=w1V(U$Nup!Mw*u2g&Z^A4@g$9Jqq5o!$?>k zG9ECB^o@loLJ@Svs%+m2fdjRvmgw=4mO;y`PkCX-GN~=6CsbdSF0zH5!%kw4j^2mJ z(cgJyo`YWC@Rpp4Bi_<(h}$mhT3m~u?NWEekuC^#0+6ogbrnZ0F1t#jJK49R47;`{ zlu%P=O>Je3;yAbHS)Q4jz>zQ`<|MJa{cR_^jO02!pEj#jnOh;6wwxiNX)AtY&~rId zO4Lh;KcJsJQVDy^Ln0rZd5(guESoeAyb{gC&56(vJrxzpJSQ`x)QXVzkp58t60}@$ zw``W3dY^Dig135l7C#zGz<|8gv@~K2pk*f z2_zm50KpzFZeiIwoQ+0E(3nTFKho-tA#?=UD5!NM9pspEcoCO`0T@AHIT z#(U4wfu|8afr=Jy>8bdO(Zt`>(v$GFOIeEgAg>m87nk+d%xM_U!>z}&o;pJGEYx}C z=p~rr~BU^k5@c zXG63XE#WyLAzaqOf7}M#-%K80&#$N{eeY>ReDD9@5AqAYOp{wfzaNo`f*yI;Ngi3m z&7`z4BCT?*G6PxZHfSl)H)L9k{gL(0D7${Z?7r?4gfaHrCNYquXDnwF#QOpKu`Zi0 zVUW;<5&wAdvb6I-q+!{YDM&Kho%!WOTNwaJtjRmXPprgV$fsiMwY`w`CI0}dqQEk~ zw8n!j`|VvW@rj7AVr>@Bw2U{GV&$V+zDbF`*S5-5_fo%;zsjyZ1@*6_v}@f&zcx*L zw!&#*MXM@X-EjT2U#-6wx-W>V{6-e)w!NojOy;$uo+45Y2oZZSAW!{3by~U%WjFlP zVk{55$g$k%jHOlo2Er;JjYJ%feyP`9OV+@AS6<$s%!kTKiYu?a_~J4iv~%y&YS+qM z=!7z;A5-(^%0-`mx?}1yA;V0$J=zicQ*%@1HCn<(kT*Hk0?HE6pVUkS;tvpfSkL{Q z9uirDufOY}9`$pD6C-GT;KhN<%)=rXV23X_RKW70M}%?s~D zM06E)!FPKO0yg1aiuTcro52@^j#%7bb$N=Nm3}Hw4Hc=2WU-0-1>cM5x;)+;YsD#8 z4VvjYp5smd*jOB68Aj}^s}r`qmB;o7q`cYAkg0mr+#-mAi3$3Jwen7EykD9sZM@lC z?X*j5<8O!1hB|f$@%FJcUVNjSHXv6nI+Zk;dNF>`R^>WHFEPZnU}u=3LJ~Ad(R%26 zsC8J~Tod+RGLtJJSRIv$5UbHX|nbq#e1zEmfGCjcJ+AX&#WFD z{qO()vSnxnr;8kL=2#gY_?)KPO-_;-B$sW0ououb5wu}hll@@5Gf$RpkP5VI8-rwo zkw5@?05&zv7E;9|BD$|*Fr?PN@HrT%U^B!{Q1nn)u3HjLXqA0sFezdm7~FtYBlhW} zyozRT=^my3WM4`Rx}U)dj8;|~mo1+RlYNvF+8_8pJu_aA!Fvc^o|Ys}74y$yi%%9j{<%T!&4Wwu zA!MDv-J#vV`oq}O_gT_#b0B;apH`{G;HVwspaJ|!t=}F3g*>F$>o?Ro5n*tHpkNFu zjMWI;1b3}!ObPqv*fn;F)fljAgv7H)9o(x%{hYawb3#wDGC-<=oSi$JeJxfdu0=oZ ziHlkicnZlnk)xhpd;(HPNgxHR|3D>0;F?CYp|uT-DEinOrw>phWv@8WZh`+FM12l$ zK4d!fV&qdh<6D`p%#oPP=zRZC(zD&rjKjE6b08>@3ZXX##Z0YORSlsG$PtO)K2U@C zS7|ix+oH7eZ!e=E@kOTk;>+7+#=m$!_664V*oo+w(~MG3&HGojRN#t7HV;WcrbMWW z=;1Dg0AQ7;T}#BsRA>9&GxP>I36~w<)RJ#r|Gv$i;lpQ4ejfMF4R z@{$nZy&q9me1B@VoIOd90x0B#jpk+ zdDwqJg`(O&HIZr&a-zZZF&ro^O0%_6rt)Y_FV^I@jw6*w2cZ%*{*`FhmJj0|8si3uO{yEUcJv>cR$VZV{qr z&tm`V^X_0>yZ?u3BTKpVSD5V1Wh(^Hef35R- zf1VsuVGF@>@i4P$JHij$NvKf}@#{~=88A^143GJ-;8Ooztg4BzUTC1ld`$H&ZM?wHVls8JlY(e##k$X?*FVx7-nH4f^B59Z5fw z&z0K|Yktuud!+eS*njHh2yw!8H}-|`eCTpH;=;JZR`xgKUz#dFmCLp`!31`nI&no0 zfjtnoh1zc%N_UXLymgXn=|FXi{((~jL8ml}pxEr{IE{c(e`QTo$H2u_ZP6x08fr%X zHsvBcH_FZ6XNV6a*!E&w^c!pMLdE*!sQmj5a4!5V8y${0^7lRj+|j!=S2&0JtP3-& zmp9p1R8Pf$X5_&33R!zy26SvMuDz%w1MOk(ASV&l5DQA`G!M`?yb7(+iA!=GaS+E7 zUkmxQA^570OBJ#h5YB4C6S??QUfDsgkh(=y-z4&{rIgIa7 zmlXZyNvi0le1)PGe@%Dqa2(w+mS=T&;u}^hf5Y#<@{_hIyf5U3HYtpkG*cKq&9~n( zyDum$vIQnyb`RqUZH4W>nmF}DzG;(#k@7LVKei6y)?VU!amk86SJ-hTH%sipTvw^X zTw(Cd#dARsp^^(ys$A6Jg7QFc)7lZZN`jg0#W5Djb<1r8{Lb2nwH~ft=ck7Ivj;e- zs75Ff2!wUdi#&TnJXo^GNL|TNjQv}nphCey7QD_bs1Xra0#XI)m5W+wKqL(+v5H!t z3Bu{>Rzt*M93mxF=-9=WXIYo2QWx5#qz;st&(fxQM@sCd5aq#Co78by$et}2IKUwD zS`iE(?jeCH*Gh){aQ--Y7Y9s~I!RUM9<~&o)WLm0HB|8te*g*d&I9BUaXvEOtdscD zVPz9noX~QbX4>|5d{x5fKY*5QzYcPB`BY&z#_BM%je#$SOSqF&Vt)`Sh4D7p!`j}U zw6^gQ6$3`2(;9~@neOC2RJc}l#aGq{0apA|gc#?Sz5`(ApN9r8CS$2bk|Tjk-*D#S zfoNz4s>VTp>fCmr+C1472aM7?o%k7Gg9XnE^8YwsDM4sgZk^7k`q=h{81=_jzZ7y= z*8V>yvI6@JQG&G_^`xxG!FJcd{fi`?Wsyw?aMwN7lPZ0mK;}WM1$DD2OW$+U)(G=8X zx;F(d_R$QMerYJTbYql`U=<2b!r`0J(P20e1VsNSL> ziv6_2*1geNnc_>SBw*T``c*IjS8m3uj?=fpjQh7spy#C0B&3c^FN@ zXjo3|n6$ItCsymD*!SSBR_jScqoL!$O`uUOY#hy2{i^i?m*aLHfM^X$?1oa``aCMJ zBPG`7?67~rBw$xU=DgN=IHieI1iIo&7mn?PcB&#Pp;vRv)$w=G)MLw6tKShJuM1p? zyhNS_*m3lpf%df5kM3aaEM%-jZcJ~r-f1MQ?cxGaRChL!BJ0o5FWTc1>33Y`&_&fh z8i?%v3EFcj%2QlrLDrHZaiNzGFzi&xPlZ2uHu5ARcpVYBx;4`QCy>%{_f0&l`MKg;{cHZ!2nGbK&@tBaQnai%|+b->xvmbtm%H^H3V<}_H03NmJ|_t zpkA00_HQeRaeoeSWQ-FhHe5`gQz(6)uk@z-?UZkbss;+`af{)DJKQ?$1uXmCigR^q z{7(L@ja!KOG|kt&3@%tPSc(S0*f*}*rZon38*AN*O>v zte)@2G%;8Lf)W5UTsT$#LE(S&<0ojpL#y_q^Wr#3yps0EwrO8GA%4DnOz?BQW5)#= z1V2L*gjgxx3J6DJSnE)*U9|juVIo>;BM-Na7Y9axFRu-JaF!RQIPo1frU-K2$}a&l z2#i)EdEJQs`1-j-0HV)2Ew%qE?Fa1kW9Q!lV1X$;8^RG`;Ty`}NWlgetYKiU!3GXF z7bOMR^n^bi-n-4VA6g|&%hA6`5_8HwNo4+(Br<=kJqV%=ofwg3WQF zRbqzZY=uE%j73OqusS`7HJ1`>l(X$kG+YVi2>m{rhz^Q#44|VFiSa#Bjv*qzIRb1o zfsGBDz~|&|kHMGECUZ3d@rw`7`#D&Uzvcw(M_-CJ`Ahg2XyYf#!Oz3Q4<;y4tEqed zKZP;;g!C;|rb1CxBFnbX7X?MKYt35v$6rE{?A?moXJaZC#90jqh>hF6i!wbk?!|LK z8}#SaQ$Z{I#o#YcpeNw(=K!@%|2goY3y8>E8M{}6&|XL&GzVkTiLnGqf#LZ_CgFtm zNjic}YT;u^T%|+)m_4qEo`U-hWtZdL%X`gNm^KYkG5wT7y`gek;lU5WXmAP%oWTb6 z!ek!-SK{Co$(x?O>qjZI8$Vo}!yIy8En!Si$l_^lgj4t@ava7IfXAf+|3eh*;6?0p zL3X~RkE4AZ|G{Aa97*5J%g>IcF%M$dl_JV<5Br{Pq5}O!1=LLf6hWT|&>sTm2w~qJ z1HHE@b=C<$McA(~`&Rg+nsy;~UNy!$UxvhZIMQH8ypPWJF!y4f%EKpl zX{x;HpA734^3^}$U&XJ4zWTS7AD95apR)ddAVZiL>wb z*LvgW_W2+>KhCT#3NVgXmG+(eNiq2_wypeP)PU_jIE*a=KNnT0^yJJFKq70os4n2d zVShlXIO|+loe8LbMt0Wn@ReNn_Rd83MQ1dID8&$t|Arcx5$%NM zh->;9!H*u32f%Q;#{7dWd8%IGJzmUW6busSBZr8VeTZO$`oPr-KsSYw8gP`=1HUiO zHwUw~1@*sc*$1`yBPj6oFtb;O0^jZePiQxie3i}%>30!OS-dtA)be#|d%k|FBaevN(N!5=W9PTsfX)jcs{FR1(PvSc#uP4hwkD(i6epXY6`rT^FZXmL z;c=ud4;1|mL^m8BtVMU$uVHuakdbP;kFh)XkU^&VV)iA==?e?6FZd1nAG^z5Kaku~ ztuK}k>$rBp)zc7JcY4T7UQwKIt~`B1 zzFxoMi;BbE!DrOv_gR~#?<%g3rg+}n8#2@Lf6`rfo~6CcM26ow#0(~<<<)530FyYR}Z}?c6$Gipa@^LhM!MM7RufbF0!@V|cTgbP@6FvvmA+zg_;=G0=FpAj& z=S<#^+|U6qO@|xW_tEqY`azOvAOZLapao6D>|0xwb40kYewF0qk@-F0{aee_`_<^L zD|%APdiLLU&@=l{+y}$WNuHS|f}wB)|LErw4g7<8wf%#u())PK4o^HzB4p#V{vUTd>G$X;CrMx)`u8l=7#br5i;2_z05zv zxNEMKR|&f$?k)uYa|;2Q3&+`y+vw<*>U$o&a=qDAN153IWb_63c!+V&-2B15|Cs78 z&^HC^KRaoJIlC+SIn)^V)DZnHyfp7l8mebLRWNQdvloXy#>*i_Xj3w%Tzt3wp8o0^g?6oANRA63Uu|j%Nnzzw8jw z8$yV; zB6on3G*EQ?SD=g~m$OSok9n9{XM|C*8hkP|DL8JI3MC$x4+1oY0Xf@{**a~~X&A}J zhZr}_EyVmbc*geWpG3N$J_PM9Ps7(%XGkXfrW%~8QeRv)d zgZMPL+ofL3QLmW9IGj+*nw)s^TiihBl`pV9le=d1{RrIHn-=S>Jl+5^p!j<0aw&!h zv);0c{GPt!*<)ihe0p`eC&s4K7BYPGCVz<&%^kM*54} zMiZ;~BW9PE{R^~MEBp5t9$3dTyr_9Rl=v2eh2ng8-!{*jEdV^<=<&q1ef0Q8Fixdk z7L41j5^5Lt)_SV0Lf=GrAxCEwLjgXmARGDR$7Fg7n0b4%#2Sg5B|fH)Q_^@|KsYyyaMXhx98_~*Qu^1^@yji6oV3_? zO_;#*F51On3dYV|d|$*@&}7gd$uLX?$%@eThq(d!4MN7rpub8?a#vq(CRY}ifeyH4 zCYU_PXXJ^7lGHf$ZA^sg2YcRywlzE@-@F0S6;4yzl&^2g(|_8rPiCy``F(cg=|_s| zzsHOP1Hi?P|4U}9DSj8GtnCbQzaX#vb4*z~AvzwI2`z~F(glchk;~npAMM3$yMrxy ze8L+0hB@tzJG+W-GNKIK&y93xHOr~-?*;j1>kma#-Agdu14&`ynR~!hb_eMJRDd_Y zcjIzs7iY`p?zSHO5!wY%3RCBGUU}GXT^4__|854?HI)Iu)Yn`1`jcM8G~V)?iEC-@JN)p-pp(& z9;|oG9IB6LN)EQHiS9s7d@O`_d%|cOwPajx_A&~ns^m3bZi_As`nG#!{TuXU%fBNX zrg!SMA+j1zNUaFnXC#DPEAA$}cA-#W>1cMPyY=mBLW!DD!!-i~mpB4ok_uTvnDf<- z`-AtmI~4NOdS*50l9*Imyfq3F7-+Ky0?dHo zb@>yTIk^LL2>gypDsDIlW^NrW_}wAjwyCG%wulk4`=xJ#WT7pvm1m?{>lU{$gJj&yzGC^N8p0Xd2D5Z~QR%0wc6P85-~Y5SjzipNjuGgX+@sP;+u|zJ9WP z6W%8RP#gom8vXO_|F`?^Cwzn|n^4vIwqer_AO%Eik>Po+HCDEP4HZ_b^|(|>`G3^^ zcvGWeO|`+ix~2S?+|Pz0OOBkdYTnx0viw}(#|BOR7&b1mcPKi;W!;}6v38CvPvqlh z-KM|jlJ**q`djTE$z3kt;qfrO87GHbR*%+Ii{VD@~u(1EETPRh|7pIT=?U``we*0T2GojbXSJ3Om@+)J3 zBtXZ4HdiytAwM@RPnO!&_pAFsdkx&pWWDRTE~o?6V!AisPgo!9AW>rd0Bbvr5X4uA zg8~+OYo_IejO4Wl`YLn7R1(F6-cstu8fKas@1vb1U3UXhcl!>*e1h}QxKLOQVXC!M z|HKxfOXx7Yl*H9$4U^dZjduHppu}#ZXqM{+twmfC%ElXNYixzY++o-Y5^do z;9;0=r=N^HgJ~1@Mto>BPt?ZXj?Z9=3>2KPy`axF9)EEe z&9&+95$O;lI&#+@@XUOUh%{CR?B?Z@75sYW5GXTr2zf7t-h>{jP+^?k3jZ{^4GKHN zSn^13YFc)*nnT&3hUB0bz~sNiGiNFLXLMalYc%MwF8ZGsC=gsPX?4ox0M5mM8kWB~ zfR|eRrx4b`{Zu6rRIT3UeZ|gpQ^Jje$pl^+!5KuV_us zgY@Jl3(Qf6g8F7mu6ggFHdk;5JA5E=TnCFLDe*Tv zRBMop@>(rOFn_PaZM*Zkl~hf6ar{Cel9I59Q2HbHyV^1wL;zD0w~sYKcg*TIX{eRk zQxQ3|zRFM2$P?$?K%T$`Rp>`>Jxd(;V-{X1ws?w{T6j4NyGq}|)CzYX?ERhS^ws_RTl#kE?0+#{qK)tD@eIllY$%wRzGP8K~Obm zxRs!DGj-MIa}oX~1+<0=zTiLW1K6oVKZ<;gTb}(iqn6LVrPPCh7VpZf(nxn}2i(O! z+Yir-CsBiDj)Xb#sUi^#XUVtcSUcrg1iijRK&c}mGZmI@Zz(`0p|!{OM$@0-6QI`0 z1b|r6AbAY$Zr&-OCEq{5Xh<%9^hXq;R~0JZbA_}375ou}WjgGuco}tD51xuD1;wI_ zSe>ivap(LI>Dg+z&}Q~?;!D1XkH429GoS<|C?SV_T|R*Jn_CU&7B!<)=5n2}kLWNK z5m34RK<;ZBd2h%W+xT1yFH=;o99R6*RraQ4)Gm}lHLvi87W>}-0MxZe?hkmX3gmuS zE${Ujd7OPP2=({S9$LM%J_kca&3wKEQ)M3r`J}2c59ZiqtaN?FGW;cFuuZ7${ z;+DbFWoBe=g|v)XHi~{toMyM68OsQOmW_E{z05{%lzMjP6XkE%swEu@`!|hH5atVn z{qdoK@L>$N0E^Xn8CYVzpxvk?pr9b`l(HS(jrP`P3De;VtB8R)*ymMI${f-6Pg=R1(XKKC#N>_oufxsq=>>_@hID|bR$qcE`8L9UQ< zr%Xz-3Qq$r;Sb!0R?8u<3cdPA;m^+wnN>{X7p!ci&3XFxJpDlZcW%AJ8~zIKZcc*H z>#XTM+W2Hz#=6SOHE8Z&eN$e2qzg8DdGhL`r{wE67z9%8AP$~Ord0-sF%jQ>Bf=&! ztY7Vb0FWs7=p@JhX`e5!zaaKzTkK7~QSQwP@9T8EJ}{b(93Y<)WLwV|msqxf#vpB|DgnCQ9F~X}fjl3P7 z=e2Ac+-GAjX?xy|NWMP8t7VVK8ew)#lg_|4?V0@oKIw-HF0KeS$|qvn+SueEeCz}V z;m|B6@doR-p|NMmUoE7{Y#lWKE@(VOjDpU9P=wb6;1E+to%ID?6M-e~6UkQfLA8Gk z+qSF!Ag`Q}TO>8$LSj*jO{Lse z!k<>D{f1%r*4?;?vl7GzbdpRkoi}EN#2SxFCMt-Y@E@U1THS5X8x-gv-LAMN>w;=4 z6`z6|HThWM9<*nh$f!13GFnM`f7Qc zy(UqgS)(Q4L`Xz9tY+1s$Vgl3XD-7%+|7BIE@w95I;783%FMzcR29y$eDJT!maCcj z@mj@-&TLedX;{YcDH!;&Cm%!G@2*m#HYUY;H3`1zd2+PpwTd)z`hL0zWJt0M&P}Bi!_j~~8#IG5k0akrtLOq#uL&&5=^I0#3*DXpREro3egvnI`F-sj;efgN8+as&$T;b z>_-8$SvSl}Y^mto#89-jAq3)BX3kBrDwLbevVL7$YVR6!`<)Nl#YWDBilGcxd zRIl$BSTH%ZPg>GCCxl7Yb26yMbdNAZWZ7cZWNlFxMP5NtvTiTL7uYqYOU>AgT^S!M zdlgRpHl}&iUWB|IpXTX@cYGf*N20$tad=yvWXcKd_yU=15vK9w;69(`wKNXy(-`WE zkd1x%G-wY-uMt@cn?UM!i--6jkg8IK>@mt>`Jj;UvcM+bo2ZsTd_Gfq&Py_#_@)BCR z?Fe9an9xHCCCsjTjqogF8oVbHF0kZtL;Cj-?y$vLR?wB*B>X|EFASWugbmE0@LHqL zjuNoX>|#h}9Z3icEE0@oBg39tX@XJ5{)%hOSG-L8=4+fP|iV4rM;n)(8PqaF>7s6rx)@wOjXIbOn0hbA_W zfo0S*s!L30YAJ4}-cd_gBQIe3X~KI9fIXpUNCtNYWDNXY_zOE5DBUW=B^5zU9vxKj zh4O)VjC;~>>w3=84#Pp#KaM_%OyS4Z zd(;Nl7tk!NRA4Iz%JdO<1QOtOD~x;YSlP6J#XxUAUl^&^$PX&5#kn1TA)s0S1UZ`i zw3-I<{6H=DA1ycS8KlY*8st1E0vvOd2Hol1rv-fdW9`t6V&BtiP{=dmD-j<7kP|Fr z>u{qPPm63Z9wGZeIjAOngrBOqVy&ndRf@lm59pATe_Qd_Bl0*KrjJkP!N8H>S|3C? zRIwTjhua`Ukgtl&Cj7O6kJndGHUk5XG_#PtLa7Az4^+fr&9-Ux?frPItY1&_vbJKy zF8sju{}n+~pgMp7mjD9DpYxc!e4E{Ye1NRHmhe)M=_i1%XazWA%>g?FI%iGeZNjQ0 zHQV};?`=Zd4(v}W*dI}_FCL&^zer%`6slksLntqy%oH}r;Ev>vUZqCyVf(v(!p$ve zK-)nK`-`Lq=%A_*^;oY;NhquCl-U$8@>C7AroU}VR*R#j9$HV;%k*>Eoof0iifNQB zS1Xvy?Hb#g_CY|_GB7Wqt*jFKTCd5?9%~$aZLZ6`$Kkp;$L-No{C7{B|77*ENQlF> zkiz9tHHeF!*nBJFV;f-+Mhr_r4veTleVd(8DA?z~aPxAIc`1T$d|Rh>(R@26r$qim zGSy+okqyw?VI61dLg1^Z4s8AVHDqfE(Q!g0D7mnWt=YPCjN)bHdWAqx$mC?Ct_&ew zEvW(hmP_!zaC-%j?dx6g0T>;j>697b$TQM^gGX^jzkZA`I`X6TzKJi4)L+RDl5r|N zhZ4!eoRl;%J|E>%qqH54=yoXt!#tL@0O4OS9&?FuE; zX}(8@ixYR?ZN=^5G(lOF!ZbPad+!n`3`#h@eDmn zio_Ut_bkAtF_4JwLZUxYx>^gY%OjDx|fccI+FalA*tC-E_OzC+&cw@$`;#h2>+ zGvgiRoNyd-#^%R`K%hN8W|4iM<-z*Q#N$CP?4sB)hZW2XAaQdINZe2A&LEw8F_%^0 zQJlo@86_m11`?mZ7e?wt{3s_4O3Qb=DVHlFyPvm-+u!6+VBSme<2|RGj%sg&}exU&Cl4D0W(+R zHFQ-!SoxKBUrQIK_Nm+c50Wz)dD?HqjWawWMkX4owBwk3jqA$r0UkXf7s?e%7?5iI&>7smdp zYzXu6torYgV@a9=x2=Vpz8K7vuh&ukB7Z7+XXnza*M4IY2mw#4jqLpy=Md zaLpf`NviUj{S+t&zGqGj`eUfMGfJGfIoJ%9#18r-*e|S}@1gfFiNa4ZTgp`2(; z*>kLmN2Xav!t8x_tsxIx<>z=mL*92M{72ivCIl6Bz^4w~@z1d2=elV5)D!16iR1j?ya~{z`}+dR`)}kah-$W{?DPobx+oE`LRSRT>&*kz!Xv7?@>v z?woT8CXoYoEIi{i;-3WOKIr8YU2yz_sp_>-1~UjM0VA{}t8h%HRq$k*OQd1ppZNZW z-&67;zA3_hqFSou7=hkB2ZHQ?)ES3!oct;1 z1tKcTK{{T%TYsO+dVJI0RicmpgPb&Ci~2>p{Yp@}?9ag00cHcxWZ0N1KrRFzQ9f*1 zpoB)w7v;Ecuu~huj;kL>l!tSi4#3DRSg2#IVOcys1hoaY=)-&vJDfwq(hmw&Ou1+c z-*C=Az>kC4u>aW{wvc9>UTF(}VaN}|33L$V2mEiQrqULrcM1C^*+svpaEgK*q-X*= zpyT-1+4897x0QD!@;kxKh@2mv>8O8BcH;BWYK_!qF6oL%HRt3P3<8QE_ElRE!nV(Spo!`9*Fanv6i1^X0xe zvqXNEWY)^>s>~Yv%GNOu4^&hH2QAM8hvF1y3AQW13E*OUDKMU{K&vGFW%$KyjeT2( z-#ky6=y{%Q)tQa<{X+cmewTeuWsdg*K4kXZGyO5CP3brtFXhk-pr1E~l1{+K`7xJG zK_ToO0&&~=1BkS+O9(S!ocRk_u7gV! z*oB{{B^XASP=*YcNhwsOVgy{J*VBIHB`8oTF!fpcrYVtW8vIBz7V}5efu{Sl+mR;? z5oG5ITryFrCMbWrgfIi>6O6+kD=5fO$D>-f|YeF8$7g&cD_)bHF8ck z- z8V%uB2r~XT7Jb{PpgaPis8y~bJ1`8Q9%>`yr}Z#+U)r_$;VNOKX7d>P>jG_bzC z?Kp0x5b}y~i6fj7`CXj3$)B=6_cCyht^bLRQ%DJ`N&81>yfWRTmrik6kM2>j7qcbo zm+Wt$b(Hb($e(lxQfA(d_hG+vAqKS!7zDA`;zYVpQ*4n$Rx!jUtERrn3KA7^Li5}H z^6l&LE#?Buv(dhs-v>Bf({^JlCKC&N7>mibxJ-jTf=@N`imRqj|Cbjw(ZlPa7)IzN z><_X2QXI?G(uWCRf6ZYS8FK;BbU!p&G0Z_f8CjsfCxTTX^k=w5*bZz$ zQq^<;gaLvT;FcTE?WC0n-14_|G0h=P+6}^C{2=Uq`~t-)Ckv=x6{%gZN?5UZBA-mW zC6PzM!q2W!GLA!qT6m@K&@YoFV0GV%c}Di%C|Z0844XiUR@vx8x{JIVQyLY0@wAaR zePL@42Vg9xB2bzv_d#w}?O`FM&KHB!GIt$MYPCFw-gE~q0=XpPJ>*|DNlj9`<$%(@ zhtFBonkS;P`}pYw1mlJMgZQb+4@X)%*V^uU{9honEf4+@p?#5M6B=nHMr~GsG}1ny zbsMD!O&{=oKxi@fXA|6wKwRyz1cDp4<`)RA4|_oS=u_o3R)3!2JXL!j+Y+e`+%Xm& zd64h4t8K9?;`q-jhsD--rt_{`FGBUu$Lb)JgM5Lxr0Z!Sh-;%r%}N4E6vM0K3r}c2 z^(WspN@Bz=KwyeJ_<%JY>!lc{;`w5dyyja>a{n(;`{~rGgxZxLwtfWDDZ+mpR|$mQ zMhIK?7A5ilLC=WG-^ll^M6c*a+@DYc5vueeu5X1;D!=g}N`V@VcexkpvgkI5A4-GX zx{ga`2H%T*?XShn6l)oOqTS>*zErRC@hcG#Q}!+663l)N-$TOt47|X5{@Cwh)ywy6 ze#$bSO8 zbDr=Y=*u_Rrmyrjvts$bUc_ZB8eI@h*!chE`=D8o+NQf>uLohk!upT#a}9x%v)HKy zXXF1}tX&BPZkAtK#$mx=&;W?6jYbMmI3Uiq*JB8I!2j5(*0Jd?tK@vyKnzAwM@5IU-`_{v#T4YY@;qwVSb#C`}xC8-taej++>&-yPzfKgT z>v=b&*mrVS7eh<-4NvyWtwS(m;$ACa&B>9{jq79tP6ZHcZFNLmtXk&ZNRt#PUrPRs zj~%qfer>EHMX<`O6l5JZGz7LO-;PO$l_C~C1{Y1jey#4{yDi1OZVCIf8tGuU3KBrf z9owvnaB0m#?kQ>8TPuyfCXK5D-(oGRi?;2LXZyD~?IS=s$C&al_j7%W{agaa1xEfB zgo^aog56wOTJ7e_|CqbEuoVLD?cH1g-uwq*;F-9ztXc=WVg;We@Xcrgn%tfczkhNn z`S0O(4Es0I=^xI6kp2jjqCSP*bT5?__ak@_4K6Dm@M9I<@5Q7T_FpdF zon?J!mo`#II}I7BMd~sQ9}mVQI&hk*>RQ~@N~9P}5vQHmH)$579*MXG+2JbC1<1^! zDIPNeGXghmD@PR_6)URun6H^Pf;5i^X?D`|9Y}H3)fwaU z)W5>VQl{?otoYnD>7;F6_uCk?wtXG_Qh4-^>vy)0MI#*j*1eA334cE9^qtJ@)qL*n zdi6;vI~S0C*fZ9%HMm62{`5OQI`bTMO5tS1?PV_OUx@k(`|stMBY-KyfeaP?FbLvh=aFzSu%zuaY9ab$4jC9pLySa&ws80 z>3^x+|19=D7e}Xc#W#TRlhCY_xQXN7U7*XyU?O+wzt&0s=xG$6g+2%y z;Yu@ejVnD{pb__C1b(l4eGrN^Nq%dXW%{+?lmq2E;vivvS%K4YW`SwbJI6lopMWPm zMl^JW4<}DasT@FvN_lwMlE;x=_Wq4Z7t0p#Q(ymSCIpU+@f&e;hfO%)!(Ge9tD(jU z5KC!}N~3i^eAuDPEMsJ{XQQu4>K(&+Pq*tmTh;r<+Uj_{N6&HUHG(Og4GIxmY_}K3 z*K}vFjvWl%gPwS>TRm$->kR&Lh(kc}cPD$?RgJ?Dr2%K5sUnY-io z^K!|6%sr`J_2`T9eFtM>?s;%BeR&2b9xkZ#C@w+<^ihPiFjZV$OB2xMMMr$Scj8^? zNr#YWFgkTGLfwbd<{R!;Gx{bCMo^QFz!Lr(X@P5^LUi81Yp~5dcY|%NKYJHB5_S|Z zPO|`vLmFB&Pta=Z+Uky;rI&Z>w;mBrKh|3*P>1^`FNXbV`d5c+z(_}JP$pKD{2DZ6 zjUKL~KpWhNK?)mUX_4A>Lg}yQZ*tJ4J@kxrCm^tp9Ss=R@j%)+hEPHYT-Y7bH^IF% zi{bX*lYox%8@TI4oqU-?!`kt{TFZvDKfckb&6|y%V}5Xp@b7Ild;krx!(i?sTG;F#;`RycpP#gcgH0S;q%N~66X(qL;thst}47={DXEF zSs}NupWJWzN*4qkW}&{zq4mIRYl+Z{^7UkF&R&BwsPO;Vb5}vWk^C4C z95P2Fb5Je{`8G}3MmhyiQKIU*ozeO2pYMYWf0NbcZ3tc^Z6&^CH+d4AQy6^;r4i5* z4a?A2<(eZxFNt@|mZV(YTe19POB_A0@*Aeos_@@KEyGh?gXie-_fKGYzu*H-Wq-mr zxJnV<+!GFawZ1%%9#j3k!X?VT&+{PsuD?PCuYy zOGt(Zp;p49k^7zV&W4D@x>v3vY@|Dy(U9hlq5Tv`ut|T6IO6)xp`$Vfi#de*yfXvg zX73qweb$1EF4B7;rkdl2=PC5DrLjd`WCT#DRRAq@u;-SR--L|I&&%N}!+i#zgFpwS zH7%(LB37)`IeM=}985jAZH=rbUgJ?%E85n$wMVNO>CUI&mg)?u1pR{Q9sN|P-JaQ} zVCW)WQ*fB>^Iwo;P76KATQuNGp1bsiA<*J-+L2TAfA3Ppn?rG@)zDd&tbn!_63N&un$3!pGq+I*DtVDsITUt{GklNl&M9HbfOQd=6}uXgF_LIaya_ zHcI{KfF&XbWQ@QEV4HJ5hP4kCo;EnK4`V|2OXNtx^H@DRQLLU@m!w8>AiSB=n;EX; z*yGmY3uvBQ5kVhp<_7|T+3T{1Mw-=s5O1!guga_tm?RC6I;EX}Vc@Aip`hb+lqpp+ zXVozp)qFw*lTIr}iAsPfgVoTLT+OVk5QFcN>Su8U&a!1s1AGlpi%W)>|1yb)^exm;P~mG|jVgZ~yA2 zTq(Hyq5iuRPJR8W-=e(Xo8+hZ=V#vaKlx}pqYP-MgUto0#EGlQdV#3&FahzHi$P*G zX4_ztc>j5f7EubCPrM@NRv48>KvWE)OrfZmPpY5ADjmjg7^QvC8i!pqt!T)`=E0!;WbhiB}8%iw_-Q*H9RE#K!^~DA)8g8|6)|z_R~u?UAGWufT8UO0%BCU zH|tHt#vpF=SrHEtPJR*lQ+i$o`2d1MrL9QZx^qywice%C9BOejTg`tS;H;I7Q{f+e z280IpAAJHaD*S_Z>#5$38}8Nc%$~(7eG6i*f_h^xd%p;cm*t_TM^Ka~5wgf{MTeT4 zt|v%|B*@WLJ(tOi5;6-SVqy^lGUO({M$90hJ8gGquut8g?F>o=vNfLS9qoWA0uccz zu)l|ScnI>T-t6g}+IF?`BU7wH zO;Fv9ZvC1(OGkD>9zf612`BZRyI2Xa32t73zwk7fm*g>UUPk}9VHeCO2mCu^+x(> zsnA~>>YxUfPT3{P()L*C^lRH4_b3v*w_pFWUE9?E4u#YS>wou}pRd2%p&ihTp+o1I ziIBZ^Y*HZSfG<-N^%AJ^%HK-M(*Jn)#uV=2`KDYtqRF zJ-PdlRSJjJuIH1aNv9O!(E+4nigeJz>pSpahe@fDbcS{ z^0N+;I@={t3inBqx;WKIRj~HCrA11i6Iw_JKO{+42pcTspeEWeGEfHdp|g!W7(~l1 z`P*6ko+^I>De@CkKR2kKK$?1}er`w$hU+qri~;|z$q2S=Dq9Rl#)F^k!Hig9Lsb0# zQTHz3QB_y_cqSwekZ^(o4L416(8MdKXhzIuMkhKWGY}OmirOeN;ss4f0w{8Mg|Un{zz5KYHFXz%M35s`2Q0Bhe}=Ao$E@q^IffYeZH$re%s}DPtsTTcpQI9Gx&Q)Hh*WL^z&WDK>qHR z-;RMO<$PBY9`?PC|LypHuhgmS+rytt{CSf<@9+oizAb<$4mSOEpbBC8>z5X67C5X$ zirlDR?(u%pVcx%nR%gsOjqo1xgGm6%M)XbwAi@8^jCHlu~Uss#T!uBVeih6yRH;UoxV1$j3D2AJb~HkSdf0>lrkD zPy;x|rS-I*QU2n2sftBk5@XRvaXkWmt=QOVIYh_}&q>7-T?f`IR9pu0z%-nH*_V?U z`W0>{C+;X6V$RsRvHtHKMr*y9AMBmv2R0+G6oNePp8_|Fz;KBUoPJ;tK#0bVKKkbr zBjNuSWTj80$@&lPzaiI~a#{Yfs-QxJS8buz$py0h!_Q@b)($yyZ-N&FQs#_lCEjD*BC3x*oz^)#eF0sE2JCCIbjkc7p@&2iG zi#ZbxyS$k8l~xpQuHhIC$iRrOxD^ii`UJ2cZHRA8)(+)pI)e<~E?e+jhadPVLcVXgpDPQQs{HiB#pP z^V%-RAs>qA{5{?#kT7P@G*7m&R|h}5=jL^v^C2m{qgSb`VLMls0B{wb>7fTQ5x zpZCxmJh2#a#%C-@V7fP=A1B;aO|~wtAGm>q0xA(S&LlO#iFs zOrZLh9S?#wY>h#MuiUcXk~7mGs6?I?6(YDN(RuGM)_)KW9j2uUlJ`6&S3Sos%}5zz zqD6S<;hBH1Nz~6YDB^!DBw9g&s?Ui0+?PNUm$_*OpwZKv+oEF}H@}?Mn)n@>gidq= zkxWX0^PPj(8FzUIRM8^9`U8Hc<6(6`EG8bGUxf-INye2yAA?)K-yO0;zlyyHHP2G5 zWzrP?%S?TI<~Hssu+@{wW^icmN3Bv8?&)%!jjPu9LJ+SD>sHwF z@yL~pv{mf%Y7qV;c&KO}P*H2Fu%B1>&H5CrT5W5+7M*h$I)}12?2&cone*;r&&YDP zP>PeoW37HLI%s#q2C2y~aonzBv(3fq+GPTrAnf29@K&_qvftNjkM6he@k1zmJT5%s z(aa@iuC@nT{e%8`ED21v*}<4%OwFdnU{Q0;@O;dP7Hi;((Ft0D290|_Mc_Pf3C(iV zN^xeU#_4d_(0^G8U9m}Xe_M;jpC43>7uw1-iz^TMhkKwo{xoHpjlXlD)%XUp@x>69 zZp7PIq4C9L^0>x7(Usl3@$s;jO&|YJLem-ciK)1wq=Q#X zS~O1W)8REuFh(IjnpSea%vn91YeGo-{P)T!|%mUM?N zS*un77-BOAEKBN5H8W`cIJ7{ak7&9Q@f9=#`m5|1{+wyH#Eh?ol|LUX$&r?{iwb{> zaa6P=BQm5V=>yG{SW(%;8YIc1EitKD=2E5W_0-3!F$u=76&SCTOlp?q4qXmT+C2O{bPd~lM;K{ukrrcb9B9vSNv{;?G+j&F zfQ>An317Ol)<-7(K$R!6$~86YxF;l`F?b6RJIWk`zrN@@ghYaWM~3kdEZ~Yg27gU^ z$u&4H9xGw2^{F!-;h2w@#Y^;cHv)rYsl=FmhFX?N!U3RK;`);eO=H6PW1&U89}7L> zK7!pdPfmwEJxNeoO+2Fbel!?N%NTd4j=U3>>}_$tw6b}eq--+MZfR+kPA154vg4}P>Gho|(2eUVvCcGhG+kC>!$}Q~$ESdZV zPiC(j&Vt!~^wHUevTd%=WkOyBj9`l*E-tXO|J5D7>KUXf5uVo2dr9+17Ab+Tw@)@bG4dNn79Q; zJ>$>6k}N2cvj_2uNF{6v{{jW?cCsh2QCUXJ7zI-}y--^GY#INA_weJ!4Y{CBu7^KA zyBVHRls}AIZn+5c7vUf=bG&e%;E&^9A`>nC#q643l^XE#1k6Fka@dqrh+M*_=E7rY z5FTJkB2o2&aP60I6B}q828Ko~ui-37|BGCR4biC*8exA(zK!Gsr--05#Q#005G`No zWeBHOz0zZS8yB?|7w9Hgx}m$n zgyIDlsyRBL7ZeobpadqmC$>fK+$;o}%-At%ip1KB!yxH$5QUtkQ^bD&p;7E>cU!@^ zrzoqSw4Wu;Q7MXKLec}8!?IwlyT<^KQ~nR|5P?17n*0Z1&Q*n%&5e6?aK$| zUpbH`Sb7krd|a0HFwO_U8M+&+Ft7rtbd5360#`cZ2>MTf?@ANCT-XEcm_VP8c zL^LT_qwU5_2M+l_Ah21(AZWZKANgM7U#1kzFbv!;^OI4Bc`7CyeqWNSbiAyL`?9~&ug%ZLD}U!2ZT|6cv#0zPsC<*>Uad8j+4OmS#EAdf zuHH7M_F`snp}(uJ{EX(kz4a7?-!6pzep4aJ3tWnvIJo-ryZhP@K|UEiVt7Ho;o>y9 z35^0lihBg|$)|dM=YB1)RK6YRr7c{9yI8FkCe->1)QWgcRh@naN?L$tHfoKNlJ#=G z3EB6BXbWFU z0K0Cd*;yDL_7@^l;(H?WU#lF+=-ybr-YRLLg-ich%_V1op6Qj4;S_1^F;*iLg&sWZ zE*XRj41%E2;RYer%p(oa4~$+cBkTkEn2y;}-!Z5!Hp(xt-@zX)f%6H1$aBn$`{V8d zxR*4>U2$)xN8e7t9eIdm;~Lx@_5_xn2*2Oj@#FA2T{ZP5!tb9a)cRB4_w-q6{{4^Q z_p{RHh?>Y-*@5eu=vgOLtF4B zCVzB|lVyzyoW$>j2rA2*EO=iqJl>)QNh;<)j9+phApMB!3eDB_Xn4GhZrd8@6=8>i ze1<(=G>>OecbCD_*^p2ly!7%ETV!cqj|K~I$AHR=zz0yY4qk+}?oi6E2y6v|tMI_D zHfXa09qAQ=@S9ozcxdfIJU5=xxY8sD5=0&JRzj#lO5SN)%vQ&(sM~VlS&VQBGII@+ z_49VK?b%E}iYsvbdbkcJ;b%lrDHc_1t`c?+)Clj57Bszjcg5*k`0ufaaM65at*ue`+!htW4!AR< zO-4!w*-$S^(g$~Rjf5%WoXhHPnBh5>VKZBeDt?wl=dJp~)l4v~ISSAqjEv_;$`MC>gGYO-Ghz|?{lgO(`aNZx_=}(j zm;LC{qMEf81CY{X&v4Zxg+GSkRlXb(_a&2GUc;C5NvZhA!}$(0osg|nucQT@d@)7> z*nrP*PnE!G*nX{#@*o}-Dlt;VJt4x+OIYn7e!8&cEpY;`;q&_tu5tLznTZHg*xzzo zJl?Y#v%-C1Dr3R_@#feAEdhmp@-ImE7TU9 zh+k8_!@z2Rv3SNFx>opS;MyON?L9W!_bswD;|Sh^FjDvdomMO7957zl=L8mAl#5nn zp%O$t&EN%|KKgKnPcQc4$Q+#d*yat@6NvG8N)qDui$1}ztNdJQIP>XRG>QmPh>#VK zr@^Y6J{OvPV*%|C{Dwg-q|y*^ELz>(T-4+ zaXS2La255si9hfyf#U9^Z1jjR9uEqMjHia1coV)RhArI&507g6?um_`D1R~O86*>0 z8$XJrHd|OnXm#r4S$T3&=iY#4I2*flWehbw8Go@31O;%=xqW(MFTf8-(M+B8+2^ zUPxJ^RoV~3m!z)!JyPq%Htj_mABsqD4@llXo5I>5IOw4F3*HR9g;rT(0 z&m6cWSs#o$;0*IJ;Wa)i!16D5kK<0pEQ9nqi&&ja%*tIWvCj_46f)9 zWtk3GiYdT!s4<_Q6o&KS$6Jl>%|F@r_Rr$@R-~J41pPnia05*?gRpfQ==A77tMyF{ z_RCDHkMUI=X0W5&s-=r+uQ-;~W0*P$Jwi?6DB8_K%roka0OuLcNB(`|(-nQx_@?HweQ@ z$!S(;5(a3>m=u$GsG#QfV1GBjqoQ#6QXoq<9)6#tUb4knu#W#E1>)4Ca;Mp6F542h?t)2tBe8IOpdD}dQ#_P-Z zz>7{HD!|?Kc%NenLVa)XINqr^i?kV`z6}PS{tE8C7F5xaF;_s}rgB(R3G5g6<$}xz zTo?IldwKQ_>O>#Rn&R&A^B&)%Sw;GdDXzK(wvfI8g*cl$Tbus{G_a9j?iPem08544 z8h}jLYwH%H^-?xoO8?Et-_bQbbbEWp_~2>nzTgMGn%(mj`}8Sr5+ncQ34EJfK61Q{ zZ~FAkqI@5?TY4L^su?XSSqyaqV^E4WxJQaLa^;~NhvR{N-7OFA8xP^ib<~d>#(F%+ zOjeA(Fk|BQZ+Hi*sf!Uz&~%2&d&b7#Y*qAkFM1%xpVNmFT?kGITUtovF$O?Qt#P@+ zh3^T2R{L9I;yRp z^%*IJbc@1Z)g6oGZ#X2nLXq6C}s>}ew?PBjiwm`@ZjZP#qS$y)e+7LB3{!gRy%CI=al{tr8m=SPE4h35nZ0Y0;Zb#g~b0$xZD zp5ksv`4aVDjqd-Y)_9%$UVnFkLx?38of);64@=9#kJ18qg~ z_ZK=}UN@@$TA%j(7El_bLonTmcDqxTIL*NWYJJV#)x~8BgO-a};as1fEa;_z=CL>; zH}+%B_|C0g^BwK)YHL{FV~AT=lP=R!1|YB9rDrx?q@VK$IO@~#4pg<=IFK~6**J7O z$_JMXKe=ZiRJ*Jide6Y&9xOSq1}Ax41HVG+IGn&<#JC{}=_zMbwLJX`96r^ELRMny zAh}1N%}R>@a$B$NjjPVuq0SvL#^FxQ6u}-@deEiW#?}Gx;~*3faAk+@J|cst#^-ma z&%!T`O_m-~BeH=~E!KorI3RBA`7hD!_PjT4dt-RsCLnL7dkVrPONv)H6iCsD)6496 zoAv&$>izG}<39Zi{eH%j#E#Pmu=R09SFL65aV5zz#;SLjRfnYiGOO0IN93D~-!Obv zh)KZGggktbZZ=iOgCh~+qNpb~s(qiu@DJ0U`!`{WCG7$NWb-6yXde!c(Zs_eB|)5CA{iUk-I@!be!i;6fpTKBD}Vhg?r=e- z0u~-R2NUd^4pd@`EZ`XC8pnb+094o>Pu~=DOR*c{b#k|KS9)g@4-0rzmif&M&k zLr_Z;RiPAc8Ca}jeNoJ`bAq0k=7BvAxwYDNkRI!^5Ai>1*W*4;r{%*r#0!?;-6dKh zwD`Dj`a9pR%)!~0Hf;eHaeSywqOuG+lW(2=j%ux%$B`wSBTbZnnlLT2 znx{|*$QyY}LS=JzwS7u(=^llykI&Bjpk zTJ;hZq^G`{26q_8$}L@?G?*X|BpX>t`A~>Zc9~A#pLr;!d?M;@5ciT;N_>wc58qA< z1OriihU$%!cI;pZUoCj~9)bOnB1jy%pfIZDI9kj5r>A20_0+XfWy9ax_NTCap<^2l z?orGCMtoO_yCD1nj8%A4cAUT94yhVVN3j3o%X6)4Eup=5adWXkY}zBzc+u59e)lI``& zam$^~*(e3Ns>smDflXQ&aIXHI@Q_<}>Q1PTYl$opu^P{o`t~GwfMjK!B!A`N$ zx)FQTzDHy2%jWzXMY;<7!urj*4{i@G*=#}vn?NHE6lZH?ec6p}FdBi-5c9L@uCosT ze>{}Z|1ffg!zulb5b6IoSyEXh_V1!3a=8P^dmXJc&b1FB1C}XhKNxlaul*QVv|!%` zIBBt^T1XMW$(1>V{cmU$k+ZwNNP3w|t=*^}!TP!#GS#w z=pQ}MxjaS*d#XE?vXTNej8zRK{h)|$%tUNt;1)5D_~i_43+!!b`ZU=Yd^4~yrEVhd z3pjFIX~A2kYx7@1Drew>3!QpqF9;GqrB6Lo->G70K)Y0HJnfXC;67*5=gF?R+wH?} zj&iS}zTY|nuR)bE6=hX*?z?P8r3)C01w09ld&ZULsN#~T{Wi7d4Xg;jB?Ew=ks_GO zda3+?^*GEC^g-5t+6VuwOz0C#BTOhbN^K6l!KFg{WzeTeZTi?rB!-51ScnIh!{kBc z?;N~1to7TXe-wVB{B5Whhb3&~fs5`e_-}8Tbq9_B$;Q5eVEr^tLVpiA{tG|~d`m8iX2h9px`5wq)DY?z zX)p%&ik}7HOQKXx(YGH5f5+8_hyP#RC>U|@uV;=U!#{RHG$Y`DeI&cT-S`Kt@$g@j zd_?%q#e^{XKMNa<*#BB}H3o%aAV=~Yg%t3$%Vt;Ry-RM~iqL`nPdSSs+uZRWuPJAN zUHNpz#klpJ1^%nDuhV~Ux%SYS$np5_`HT^>a`ECfGX__tLz#3|vcGew_TU--z0>ccOlt(A#V7wOZo^{os)G>5O6$ z`hGT6-hs-SBgf-4D?bk}%*ws}lKlr!c{5!Ap#UBZ<&%*3^vTsgKiYAI62R^1(Vjz<21(>+Ba4*>)Ax$uqds<7W1A zuCL<9q)2vA_3lcT6-2EFc>>8NLct!`+sjOkY6u9+oQ8uBs>of5QGgGv@}R5&p3nmg zOc+7{NjXmPa8?0dsEQ2-{ZwXwNgz_!fHAn1jKO3w2G@}>xLz288>lA$3#od=8?0lS z(Suxs0tGL>t~jf+VJ=sPLbBu4CPA~WVQ`PCxvgSME>`-yPK{$-F3Sb~QQ}TzdzJlg z2?WJee)JQxHE;(-yGo2&$ZD4UuYliX9YeoRNyP-Q+Taq(w?-wsR1kmhT47pWd>u^d z3IE(?ahkKf->!I+u-={1l$`{@oriU^C4TNv_NOkuEJUE{v&E>>9a`BY9aYzg3lAJi zViXFPXFKnq{Lp`(Gw^;BCbPc+2iR7d`=wy^Aqxcte|fuf2f6!`klbsB5d5JJ*jN; z?w`hP1p0M&%TWr}!FrfYwCWL94mh%f3M**8hOP-cIFYKf?e09WT$?5sckq7c*Wjbl zK`IcCn}0gLOmGm%Let8yW}&J%Its<+%c-U>6}j z(zx&E75LbMD@Onb_JqBG4?$Y|6-1*qkSLUZzAnL*5E86gh@B-~8}_4EKr4`FiS#o& zP;|DS=sqb7sRgM0c#@kA>n2T_u6C&rQPuMbb?8x?;nUnxlZdNo1A5&P_6Ja0-9kHA zi^96qcAoLgU6FMAbJbPbe}yZ^+d@12F}P7qrU9tWwD^ZfFn?Z~M9KSM)Aa)?Pd4|e zZ`Pz~53iyBJ62w;`aTNKX3LGIMVDmt6wJTZpn)=Gfr9&5iCZX8#tr+!vWTD9wh+Uw z7C(oSe+bK4K9sALd^Gl*fLB%Ph#I0;@#0K+PW7l?(KhB0CChM>;0@O`CPI z2RHF(-!9K4+Vf*P+8grGM0=J+v^UY+`13pQ$PU#x7FrtJ5pHP~QN+*mCbe2&Zf;zp zsMRBh)G7*(tus(CbG=$a_Z?%dp|21DJV6}A6?{adx4wYGLH$voTINhFKz#b4AW%@g zt94F?kBlq0#~TbA$#{>ex&G02hHmBn&@kk|beS542a|4<9k7?Ia$g`UqF zyq$L9CxmRl{^BRo52KDd=SwW^P3%5QG`E^)kgdESzwkjgkhnU8BE6x8HYD;n)@k!E zK;b@|#8{ilo4i(E-uvPn5n3t$`*L0zulGL*A;dh|gbuG`qgMSEO2B~AH4Os6F(;@= z#=)WkN&~-A8Og(}r0JM%8TiQK%nRx4uox-W{;-%CL(5n4qhq}`e@TW3N-b{C5OQjO zh%3f^pyoJ?MeF{|g4q%yghp#@?j`ja)Bj&KrM zEXjkrjdKTaV!~%5N|}L22&5f^p9!L)9r6YD`GVj1f}1>IUG`$pQoSnk!e>JOk;eLG zP@4ol{F6Lz*3;8xX7UU(^*Pkg z&M^r#2-dXtIkWf|?v2-Uerm!4@h?k~J!>xTbsRAER6efoD&oLu1FI#J0v=n<$6{Q; z4=Hh?AJK&A$qE$8b)gEp158mVSJ)@vy@|sh@6N6*SY)|!V=3;-%R+lUT(}fd7Uoh+ zmmn_1>A1>LJODRbePzMNny{G9mb_tMt=TX={gy!wV9>A@pU2fAOY&N+wEDk6(VL}q zKRUy|(v;AiO=r1N$sIQ~@EuF3aN6F4vko7f{%?<)IbgkC2-&pir63xNAJ>Wf;Wyzv>fwVH?WB&VE~Ej2O8|hEA9Si zY=$*1Hj$kzcQ&qmtRXyH%0-+}UiBB)Aaa+vc#IR{g8Pj%=3Zh+7k5@pfd@7Tv|VL1YY6LhRndD_~(ejG17#D4c(YHd_D^GL=Z}^~4McQv+fSt2ZR@ z`}AwEIa#{F>sYL+IuVv?P+yYhdSA_l6_}CBI4^vTceDkg;O~hAXlkY{av~C~l=p9I z3)008blGw|^YdT?&Z7JQRPt-{lhZil*Ptfw&F18<1}u21=D)V6E)@@GS36#EeA?vt zu*7cws?{m#;kBO&z*z|wtrA@0rtmcNNKiSWXX6^3!k}hPNP13TCS>=N$#u1v5^Or2 zqf=Ns2CHSGIHs@-pD=|PUWZe-mt0raQ*h-JPQ_KGFo_RwC<#|_81f7KDu>!CsS*K$BYW z96k=lwdm>(`W&6rx1kyCRE6%FgwFz}UWaBNpk{EH;sFC*1n@FGR!Wl3P)U%fnM-W5oG|YMwz~CS`YkPG7kHL~a3KSMdX)|IIKK91 z-me9}J&r>a$05KEs1&4W<2mu{wYWk>n5-4MwjaxtF2a)8y^GqR-|+?`(MFM=EH;s7 z8KJ{SEawPtA_NL9Ud5Io;2FHqkt%|?I_l0HdWFq40!OjUW3d;rsvmLRYPaH+cz;uy4Zwwm&TD5YN_F`ZLG7TJ>ze;-(8^v+>!nJvqh5 zWK^)ysvrzPB^A6yiUnQ;AEcf)qaKmlP|s0t#Y8>p=n;us+fw-bKTvpd0Oq1Nx4xL| zd({tsjGV1Xq~`b<53_r$2^A=Cy=0DtAhGdCUxncMmcY3 zjG_A^9h@f4afcq{xVgcw&!0`ogx!g?Q+SgH!G1?{KO*)g?!?B8FvSAk7>6RZKE9#N z&$aR%%Nu<@`;dsrvXL`xR{L(!cyvf_?;ik>6-0<)A{vCA%G)-P(kMY|IRbJSR#M z6b-SMnh5ly(tBtY{=vkNi5l8k&(+; zlo|oZUWr5w$g~ol0|g5jiCjam06_oKTcK`fCFu%feh_^NgH1URxN?4Uj_=auzb6Rb zM^|Dd?$TlWsDy0=&a~} z5q3r%14rcOOq6m&U3!p1Zp}i>lE42gVH#>?Tl6un_lcVyVw`~vOYlC{B%r^LEkXZ} z0jd`cYV#?$c5jOpyDx$MN)#1J6eZx2nekjD^8(zsb%7k}cj7;?#>Ugjjhn+YPgRE> z31x7wkhPLToj@klngDLlD`T(t=+d1MD~o(lV?1l9iT_`+Geo|Qc8OB9q=8aE1d{d9 zn1cu78@RIIjd2Gb^3-QhfWd!To^~4BR1&;3-0GFee@NbMP$mDFE-^4qo`e+c;FpvS zmzb{xsaM7(JWIN9+~r z7yli(cBpzD!vkz9FBFPxW%3HxR@T2shai;lzOf4aA95Qumg82{^0B;B+xU!~^boNe zrCGoAAn=V|IeLGp+yfa$rUG9g*2 zdbygqFU*z(JV)gSQ3bf{vteSq3ns?9X=0p16XRT(81E4i<2>QuxmxdGRweTLSCTDH zQW5lNU6@T}c1cun^MDd_UmA5b=AqU7+VJcA~ zG`O01l+cjE_yHm;)Z{}08YtMjJb~Kf*es@_B{@p%B4a=n|B#rl1BPumoq9}TEFl(y zcJ!#pHi+tU5Pck$+jrf{sqhyqL*z&oN9jv-^ObhxlzU?s(qLav5^?6 z{S9$Eq{;t97p~V(zK@nS!7{ACdCf7G%QaB%Lscp2eXnCPlz9iE{NqhdGHB3mAjSM8BB!qxAdmFg9hYZ9;TFaXH5rf8A1jKL{5S z>=K5EZS+YY%`s`_-E=*%RNtS=gHnAf`Z|nn^wfWi73%ft=Rsf6+APa3;Gew5n)CyI zXor*XU-=ziG5tTVc3|(TiEnTuT=Ml(7_Iat(1EV5z3GsHaa!BF>2_5FdqPKmf-62(P^e;;)i^ z3BPjZ#1?9C$1y_hS?zJ6=Mi6Zsl6?#-@h&`O2U>2aw6g%uBOgHq;u?S$7X*Os8ei! zkVIHJ^$`u|24LO8_TS?MXzYUipTE8qMIsHA*f&F74%T1R3<7GOa=XwR$ihfoc zFX=9|6fJ?(@Uk%N$6 zq=Z4nGiKHpKW%1@ZlMrLXH+u6nka?BZs!EKOJPcKa`X$>RaNnJ6g{sC9L$C`LY^$R? z+bZ}U}Pti224mYF-@+kO;zIxQ8mV}zqDT237UX=!2f1m7TVX~Li}GV*A@14xDx;W zfve#EdfX5Xn{fRB{O9X>;wSa{UVCL6exhZHSShAOEJbtxNU#)X0hdsjXj1YyQKJ%! zl^ZJiaTEWCAlZ?du!1TJWh*o3gYO$77RurM=;nGU6d^_WWX5aQ1Q}Wq*8U0!on2Uv zU))gd0ov5g#S5SQ810kXw=A2MHvw-Z=>3PnL_l)`{9qu8a8`5O6GQhXbgkUvTQ_dp zFi9b<)Fr9srKX9-wBbMb|R zvM^#3%kl>Mi~Gq++>gfW*dX|C410wp`D*)LBq_x;*h%MunjjHX(OfzRJP_of$;~@qT`Gzn8QUg`w&M~X=Wc%Li&{%D2Z>e5O;QvLWTH& zqS>i$i)MBiYEvFX@*e&KWHP6N$5d=7X3cT|=wV@bWICdf8CMgt4Kv$UlP!`zU0J>>q{<(NK6Vqtn$m_k;9zC^`)_V zRZPC((n)T{+e=YQlWJ%{b5zO| zrsOC70_a=P(EpBr#g!B?6;{ZiYDWPIB8hKE7=BV>x@cNR5?+;!-g*oS5%}*l)o(hj{i&f>f$5FS7XI%`tb5q zpPx#;I_n#fg(k{ZPvbT!Uk$~B+mf$zd5D*rgLBu<_ zLf5l>x~Z_z@7)s@WxJC2%2S*;LRyB6Yj8H}%5Y}zeiU1YZ)gn|E%|`0mi*$D2Zcs_ zo+K%)egP{i&*IVyfJ`{TZV-n`lYTvJCc77S%l2;n~2y9*AkaNW{-`Q00%t zPw^)Pl42ypZFF!J0?i9%?h$;jdfr5d(BSB@eb})aQ`7Q*M7=!dGO7wWTd+1rQB<5_J(z7dB!gDc5sT$1{Nzk`8-2uA zftzxIHX`d&L_IyV?LG{}Gj3HbwA$954-h&<@b29c$JMEHvg!2Yi= zTLr4i)jU{?4=c>^Da#5Je7l&b;YI=n4Zs=6FvdxG^+^Ab;B1gGY_36fzM3ITX=R>@ zSB2txq~7YDe7{hA;|@&?A4#FC*+~W zMH&p$J=m$H%THYAeFf<3ae*xM8UeY z;*;=Qyz2EFeYg>F^r?F$!bkZ>xKXJ`OBX<~kUpp~EihY@JiFT7fcG4G^%brQKQg#4)=<nvGR4889kmkQjfPyXFyv+zldm)1PnW5KwIU6VFDJQrcJIl}I5JUQ` zHaCQT^kEY;G`@ct3F`QZQ7QzjP{KMX9tk|be~^YkMf9xQFIB*WeVm?hCW0N%GviE% zg{HYgbf0QN2K}_#xvC%sryXdz_}jI0xCe7lx4kfJGRZ;fqbeT7fZ*7>e%tXNw?Z|j-u0qr8JCn@gRopLW`pC zbid*J>rnG=nzeWb*7-TpI7?j6WD;{}ol>Lzgvk(_u1HWra@J4-xm?mI1t=n?p9?J` zf(AxBT=d4W2$>dK2-w38_4eofYX)gipVb2TiYL!yvgr zL4rX(k6XmOAu*+M3ezpH0as38A}QP^L?;Ws?;o$*p&n-%cB|b2gZVCj)bfeN%X6_U z`Csub3q>=2E`BH4U1IftXR$cg4iLCkqBTj8yi)P6&8DIVlMa4hlC3}~)R9BTFT87; zu#8k@$;b0t`Cj|2+WfDjL6A!#8e`yVHTkHY=ut++F2}~{zbg$p;b@1S7H@}##jxV| z@EUf6^(j7pat*Ct0{AWXz0Q6s_pFq`ROrJwtwA`3t)no*3blfU!x%`R}Mi~ zh)wi`)r#OUWkn|c%un%J;+yjptBK4X8Tr$Y%^P}F2Fd3LYXNG*`GTVdbK+@vPXBlQ z8JohrkdSRGVI*`GV}U@vsm$Zp7zG9Hb5eeIIzR_T1x8VYQ-2 z$R$;!q>X>pQ;!`X%9o~kC|^$f3-z*~7GXsnhQX-?jg@w~KnpyMgXM$SrX2Y$4SO$q z3ces0iR`BzBoGu5WXy90w}C%Gu0(wiRN;^o(x~b-j%|*g&@ss{76XPDme1iPVj@e} zZZZ<&&kNB5YKq^U8eL+EPIU`q*9j-Po7e?*y%^VOj7?Pant>N_D{7W{v{uwyW=rsG zVR}wTCgg0-mK3YaeYh)Rzd>|%Vx}qs7SRo)<^f**8+%S?V~*a1iCZa^#kQK3aeUdd zsDk!tVfSJwO5%02Q-73>R_G9PyA$o#NA*_;I@(H{S0N$FVBeev&DcWe)$j*soG5Rr z>v$J4U>JCe>*D?D(duIIT3iffbLC}H7RWSYx;x~mj-#W{lg7lsOgm`=hZ6n^PXhfx zUBHAuw!o_}?R8j(i2(Hf2#v^pQ|bTYQgFUp#*D><`afI}^?!flbTSdftR-@kaKBO_ zh=5Xg8Nd52cAi!@F_?s@8#F6j8;jj*W-${0cfIzz#xwGySwp?o;co|^+9J2C52~Oz z^lU<7;`)x{3XfLbwX>-S=*jd^76#zA$+LMlHP(+kcs7>}#aRI>$y5U?@56aMAA{^I+4eHVA!sX0jp&yeH{g{U6w@j|)(vL>1 ze%yn<+YKzBkW_svX?qj{LL=5}5v*G)mx6V28S@WZfOYF}Nx-_V{}97EOSq4K zFI4yt!E98d3^X0i395IaU(W}=q4HSmR%-C)h)jpQb-ToN1~BZsNoBOefM zXS&u{ZXVxuH40>~s0=y2?NaNQF&Bz}{RfMV7MLI~j!OmvNI4uS&5C0c8T-J2uEKw` z;y9?xL%0PBoRUUN6aT)zL7b1)z^5oQtu7N9X&=s$n-x79O+b;njpgcWGz;iU64P)d zqQiOtT=;VjPZn^GMnA>CQ|td&!i)}!!5nK)Lbt{m(Cu|xBcX^nYFZy0LXmQL+*``l z0NhxbrGHBN3;p7-_%~{24FBwL_gT1C z_%{G|-SN-3rm+X=g@12hoyf=5`IQ-gLuZtq)ciqjt#ON<0`*%V&VNjTWvl!o%#1Il z3S>@2l>%$Gg5v&qMYhdYj0vG$zQn{vUAqMZNM!~nZ>I6q-%J>2S|Q=hjMNB~{U4#P zH}402zc~D7KN)>J1_i?7J_dE~!njhtEUSeV+Hws0RzE)Z=bf>RTt~FGgjh&y^ZMQ&q8Wv}Po?Yt> zO+vWeZQ6ndSx0CTc1b^igEo@2#tXfA$|ElQGMk=xtbTAYCDa5+))J%L(b{AO|WFB_2X_Z z4${(4>YTG_tW2NFOE6XcbG9u|u>BsT8=vro^3MvT-h=nFc)5e=GjNOGqF1VX6IH%n zNWR~g`Hqd|yDFCNGUjVZ{q1wvwq0O3ar=aM8z}gNWW;9c)VX+Py!bln?S=7ty(^Vq zmEtWvUV5{@>Xysk(YypxZ{@dO`fa!b3Wl2y{7OoIx-9i#yjPG9&S%P&)a!A16kHQ- zuQhM6|938%ObE`$J7Y`~g3wdFS&N-{L#ZE?3Ird^W$B~b9V6g0>f z6otTs_a+42JezI9sg?(x+ukLi;o}4+^H%tai6$22Q~&N36Nnh2b0MFO?IrflbNWJb zg9wSt1tt*!89of6G1Y<&u;G`2$82y zA@%!Fg2&V7EYoGD)f!e9hxfGz8aMz=~bJ0eR(y>J7PRvToXN!)7$dRr#Jqa;#FF z+?R#T<I=VY=+;DqoZGegnh zX7J(Ti8>`#n~6+r!tY0#@O=DGx51uwvRf;0FvQ_fM}CG*K5sfYdF#pOWJwov!_I%v zUFc=RmyGY{`^6%Cn10^)iP_Kkh(3=!1>v~DekS5Gh~oebDW7{(RsQTdPCp$%{Zvf9 zN>{Wsh^yPie)0q22)qd5amVO9mXfv?*r4JKuvy_eAf)sUg5joU^Bd@}5m@^zv#K*> z1MjD}ZL}Yb9nSvSP%*};&8-z}WXG{G+;>`?C;-cT;|}SD@Gd663MN#cjQZR&5d+vf zyLYg$cLCHsP+a}0nG+hCWTb>FAzVIBF0%rUl?!6DXHe*i3W~*s{j`LvEL)oZ+D*WIYPBjU$GUq?KgB-yyCMlm>i- zp~PjgAt>@0TFqlD$+RaL2z zd?w>b*j4MB5GxN44ai712qp4HuBH*Q9uL%`PT~Nuf2i(k!qtmFr+UHQp-&~fg2IxF z58B_uzKMs0bXIRA@*#`L51#=KQlpCfNU2q?!LK5Jf5IK7_dtm&ha-^@)?-bWy9zia zS?G<4wk~X`JEO9%PrtkiFC)G20|x-=lSk1wG_9g9d@;U5mU)+BYF~E?ruKmoIkkCA zcW@G>_RW=;+T8yLRdXcWcu6eQxbHza4}4%v>GX4c^;A*>)+dBcFu}r^i}6qW$@eI|hA||Eui>E2$y&(87EAbQyI+b~V-*sci=GUmN85|h)3lJeK?T0FC<4JE z05D#HB(Xe9?%CXuSwWW{rGjT74xLcfiV8Olakf0q5?UF#t19 zP_z}$k+yzZ9vuJ_ZRCqR9u}M)12A*18UU+8xGX&L5LYW90GzY#t|l(b-KVdQXesFF zXr7nr1+I87Yir8c#n`{I;P=dm>FW!5Iej;1HIwkk!ggzpLVgMtG7H+_jZ9}= z%T9KAwy-cfMw46LSY5Zi<;XARCrr-Et-clhMfI-}{RTry&!} z^ZaDeJVq)YlYh((UvVs+VK9E01Hq6CMyv;hz9F77b%9N5V)n{aoqd2MtV(5iQT z-PPqEdq%~(;Vro9#zQl-LAH_iWDg#ij%(TBQOMDqhZg?+mr*Gb6e73ukG+yAydtn| z0)H?U`xW+R*r?JmpmJc~0}YzQlehGO@R5Q5y5K50Y!&_So60%ekzRS!O7={mI5;vX z3n*8Rl%_r0q`vS(4hV1L@j;KWjLP3_@6ujO;QPZjlI17=U8nf(pU3!b5*JQuvF&0| zX*4I#Nj{ux_vkKl%tg`YtrE@^J0(Alco+tYDd;)D9PmK^SFXJ{*FN4CgvZotV0mx1 zkHgx76^KaA;t?uLmYMB5g4}$^gF(hw{&iclMJvHxY4aQV5(o+EfISaH50jbavIFNb z_{UhA)Jx&7FrNMjSo2bIz8Vg!e#4yy#>HAdW5+XWciX@uDaRZhuL%!`+!Hx9s!;bdNkkl~&8>H3JKM^}@LFsDIoKk6@t>P&4 zwPreC4y|@M#veONJb6v@1)4TNM=UXKaJ?Ce)|-RZ)e7@$xSa}bA;-5f z;ET+~5MLTlJ+WB`s4SBrR~*oeAx3MEk-_!#Uk?l1*KnNJ|F>=@ZCz5(nk8(t!ZyEo#A zTZW3keML91uHm}I>E+SS87N3ZR8ws-H-%vSv2NpJI}n&yN+y?eBn}IuLyF26o%-FIL_M_!BUSAuJ2z9)FlB$D2oRto^1ei~dH;jan$Zn$3st%A6OP!K4dsJU3Kicb%3$8yD7 zg_U<(-ypwKNGCQSVZ>?Slm(&j=(3$%#ufY9z@%Wzjxe%VFi(YXzZ*0P5IC3%VBxC- zfU1rr9D&di-tgyuK@dXPCs=U|md+oK75@=RJaG^s^0Sm9p@ccmCTeh^`2k`gN(^qn z`u1-+$LdaYFH7JE5kI82x((839N(vAg=i!gH>W>oQy%(|4l;w8!k_ZH%mk_0oCZwIC@B^Nj821-S>@hja~dFT!W>X;j|jZt)knNj`&5!oD|!c! z*%w?!*OzBy<;AOy*qtOtvc9X8ojpp@hR_zCAmXwCP#nOKxL8wIDTtEy`qBd}N!eQU z0_4K}pf|9mm$XVv7?sg1T9h*38<392P0pXmo4hZ81%2ZO;tj;}1Gid^Wyi}dQ=Lh2 zqKI@G^daz>0Vz1~z;yDz#%^0Y?n$OyfSl1e0Eo)P>5SDr%3h4)iAq6)NGe2pHV98q znO|<&(Cu=w2REd24ZH%Bc3e%DR}~e2WEPBz8T2?%aBlGk8_sv9mm#(t<>1L3!ln=9 z&`xh@9)d?ehTacwcz!+O7rg}57x70HybM;m3O{6*?lP~x=(jovSGZfxhGHtx#b;m(0LU_L&Gg{n2CBLFmB% zD#vpkj}>-8O!JkW5pL7#y3~vjp{t(nO~Xx6@DK=mU%vA3*a*QXB3GA zJgR1ABvszZ{w^d5DOPVo8Dh}V(?9R?RFc>XutTz?34#DCG_+UW6Dou(*Jincmt_YE zR!tcRJ4uFd&I)Cs30;ez#goy>i!zXdq^_82h#O7BV3c7nwwI&*PHbO+icH$LU~VqWB@h zivplGMZheed`C-H7dZ3*gtm~QmJh4J?T}Ajy&CfAwF47$BO7l*gE^GYc5;8&FaRwN z3>AW1x29qrQrhG#b1|*mfD?P(QXiTRsZ317qnk}`4yQe{>2#&2#V zykb$ByqBbrF*u45Qb1xYQb@EGD3+}}mi&aW(zNO@P?ZoM)}PW06kRn_@lVEXEus6z z-N^3mtGZuf`~Pyd{(on4eE$!svicu`aS|W&5!)`d-kHvA*)Ya!gsV+`H$r4w^y^m#R4 zJ)1fzp`M#!^~~;twtc|1g$hAhT!>J-6b6gnnvuOSfWQSw8PdoMR{l(SLL-MIRzCf( zmH+Ma_(py-&uS#acx=9hUdH72xLa3G&v|pMnjOZqUx6qFI=U)z5)yp3%}U@f6I8$s z!U!pt1CvM-b19^qgwP~iktrtrC5)@6%&Afu3F3!nP{PLu4e;h{1`YTx)|YQQj>Bz; zMkp8ph6c0NNNNj4@!Wc;3XBNUPa{RGluCo>AZQm#aWrgTPakKn88JPIpb*o!6%Db> z%0NaKl&tnT+%U@Wf!&ONQxvLPWfF@9*vX}nX+>sg8r?96bYEqZ@v&5jP?rDh6l9;AL5-iGCsJ@%4S+oSTn^MEWZI z5ZhGq0*DGcd!Zu3Z%XA2m=GTplfZyKn{!kGzC^Bz(w9jQ(wDJf5l@(z=onCs^e0>6 zG3KvxEsTkcCHa?Cm{zbayhKW9{F!qMa{eFW3N7RYV>0L$uiNmdJJ}KbNAF2_YNN+9 ziGHqK>F4I63L!#OpEVFd@QurP<>GJxV79p2=m$Oh2AjFe8<~Fr7E|p~&n(pQS^|b+ zOGPQO)Jd6?VfEDYpH4^kFzLVDU%!d<&s0?e4t71$koAU8vn^C@5PA{f zNAG^cjr&*q_=y}(nTLIINzlH`O6Cgg#<7LLPFL^~9$>%d1S(NLrl+wZ*~8A@Zs%&^ zk@N3%{D#kCf~w9WtRtF!3nWQraGfi!9sBQaGS*PLePx$1&R{6B&BcA5(@)#nn zDDRy}x-+=8**N|Z{j@CSmhap+%Y=h{4<@23Xh{DD4s})bKG2RW*S#J)aLB1oOobd3 zUXOZQ`tYr#^?}Y^TJ@#KKtix5xIHnwOSkuNHh+-p((gD4F_DAYoq_MH@=_ji9{5hr zv^lF_>de3i3iD7XwRwIt2t?ECLfAU+eIkOG!Y-R0xd;sOM2<6`lw*oMroxz>WZe0$ zH+ihO7i4Q<&z@H$yP&^wx40H_&oSC?gUvT3;>96f^Jk%YoWtbFd)*uC@-%;vjE=g{ zm$T11<)5^zbYV-d~;8cSKO`bRJpUh*Tu&4QbGh^6eYesZMx8{A<2l`Z< zNzMerw;1)x-enGGnF}jJu^V0F1&78HEH)W`Y$OJn3DNvAHi;xzHZv=1vf6^o(x7mo z7@)A0Z>Fc*7Na`Z(n*%QWE{N*rOlrzMD++#R^&k?@{ar(59TiL2mxok~{hBtX zKLSxbQ(AmeKJ;kMuX9g9B*SLB@gUJ_lxhh7;VtxZkTS%AmZVrxuRG zoZp?=ea^do)_u-D`t%Xz{JZ~%oAc?jy3cvk(|#H1DeqCwo~ygpbLNrinHgWt?`Qr% zJ!P!ts2=sq?om(6ACAzT0rB+|{7^k&bO-eYd6Z z2io+62X&p-qpqb_b?>{cet(2EogZJ%Ej{a*vemgN(lFpt;NLbJm^CucWH;jvRCTrh z*Y15Me7cxVQ~ML1r|A=yuuf$5fM?2);Q7+<^mFng<{4oKz%+uL*~&C%h=Hq-DpI5MQaKW`^{jwP0TXee z_;Cdp2E)QQ06Q@-F05Wt#VcS3zJX+Bra4uNK#t)xGKR`?i2OTzK2(=t7>%|JH3gO- zBbK8hB?4vlq@^q09bf_W%mLyOVh zleo%W2OF~URUqEIkttaIit={2FlBsGx_nc%V)f|sP1)wDS_5L>$2mk%1+oukVlP~c zdM}0X6hMTtkOCSRu-v1Y$X_2iExOPW>#kqx3~mPcPjvyb3i>}r<~?vR0(In?6E)S- z^^eFz45#d%NB#k7Q2oeEajVCmvgfhLqXAs$OI%1$!MXZQk8yTvp4Zn2d1aBBtfC*4 z_yFX8U7%~5zi$%?K&()nIu{g2=`2x~{BMJThmSq^-&f-3nyoBG*HqKJj@{a#>%r%s z?Pciq+sVRB<0xE5wj#@^&fdHSeXuriJH2oeGxV^qavaAd)GB?m)7YC1H(qokr%^p# zqjPRY+Y$c3!g!UP{Ucp7%?0Cag)<0cm&^f{6~$4hlDu&(vfU^hnw{i0*c zY2~4F>qUvEe%yON^_^isbpaln6BA+PusV+AbqecMORWh7%y+y|In+0$#rd+yx3_tk zJHfYifNx(D8Bi4La5nEd9!S~8xurAkeV0}}72vq^OF+-oyMk?=;F}udCx9ByaCbQM zOoZDAkCeojTNVFq$CI;pFWB^3PYSLT>GE;P@3N0tbiAiv|SOz)?p$K~%T$*;R}u31;bVcHP+58FCfYCNl;=zM z99a~5)!RU^nV-A~^CS{jlSJBR0Z+Pt$sxD~!m$zUXS|H54*AzI8LTb|~FA2{Hy~|v_g6WUVbG!AF zqd=n(iOtx(RAC=9Su`0UeId*)ldfNjkSSjK8MH=>^5~h^1-PU9658s?>%_XJT{c(% z3|Q^PY~Btq?t7oYiE<<7x~I}(OU~xQ12cp^3Bj+7@c@SIJ!e$yO~UcXpbs#*CGDv= z3(EA328@Mh-Y8Ltt4)f7pTkRtC^UJqX*=C{*kA!kAaacu51{CU^1W>)Y~^?f+d&3E zgY97S_c)*n_uL}I2E&poZ5HqLHsh1W*e3w@g!qr%WA2}?p*|_*|-a>ws zS0YN6$!)VS4cGc^9;~t?#UfA{OK0|QXqCl@CXw9#kGOXMkE*)*{}UiEC~<;-1c4ef z)le@Dikhg=1OX?QXcSr_S{t?6RI4H+5EUgj2{0X|Mysv2zC~MGUwcDq6~qf5g@CsJ zRZ&{+)iWL2daI(e&HwXV`<$6c2-v>;J?qjC`zs)=E5Pa_f_5!N&4c! zipa>{W`9Pk(Vtk}Onr;xpTnPM#Zqf%n3rcQ=se<4y!TH7mhgxJGTF>&z;D2uBttDe z_*?$kL%tHLP=0Et`E>cyCI2Jk(+iucM1>`yTwLokT51U1>g@Ah>5_B%3z}iR&MeRa zzAXInq~augk?)qlExN8S`%s{F0bpdrdvcBsP$1a-zXso>K73`h@r#R;G4gU;2~EHl zQaAyzE*uJE;=LO-p;RXFmvm{Ho^@7n+HdPCYqo`EX!hu!df5ow^czZZ@1ad_Nvu*%K&0f z&UG;;hj}~e`-ne*Q2dZbv~>|TmZkA8M-tOmYMjH-=06B)>5SyE7!_F>Q@b;Qc7ME^ zc6~=9kr_L>o36nA3#Z;7{;eR^XOlmGRV$`R8$(B*8=A*Ep6X~6Pnvou(pqf{_#b(W zlMhgH!fNcz?FqG!I62qVUmK1p0bKHW-g5Y^ds770$|tYra^&dSxslxW73@LrJ#d7;Cb%PS^P0$ zezKM)844o`iRlKC4Svi>^d0c@sc3#g_@Q!CO2bn(cw&E}l5+e_Wg~&3I2T0m9Ypc{ z&5q=kd2P)*WN3Kz(mppF+xo1=|C-PNFj>L|2d1ilwX%e9o057`tq{>HTUg6aw;z zPvK}8BL8tp>y+sW5{V5}y7Wo$oNLndGaY(q*CkLoB-Hj(J+OMQJ{rf6?~A8K$2)wU zbe#9i8NGQ@bbfJR&irzgRATJeZ{D3_dEJCMD1d`je>o1as)5=LS^)`l8Qy!M~R zk9@v6bqE!CL18VbM8*2o?smr*4Qvrj#5;38-;igER?(2pW!5hTH~iPQ)a)rUzh2Ab z*|VCghT_vRX!2uk&7C*lycfC=&(kQK@`3_xeqRM_e}0S9aH;+&6!ny`!`Qa6CC3|< zLdL9w5W8~r19&$`+(Xcn?!n`Uu65>Sq+$T~)Cv76JQrt1!H0g+)Cpl=u}&IyO{Ibl`P*ZxjM1 zR8auFih5`Uk;{7E>(gv}1$YVm%D&&>;uEgV*!Ml7qc)fR5poaC5h-3+^3TpcaOg&s z8Ko$cgOS*&MyhcVH9|Cywyi>7ysommZen=R(gEgl#;;rtHTnxE9>LleX(0IWfH{+E z64P;oY@RcL)m{_Z8rWZse+r%aID;MXrDZLxmXl?! zU%>8cVN%I|)r|OKA59HbQ|o@eho+X$RC1(k>TdSu_U7W%z#J}Ub1~uE6VU1Z)*OfV zy^Y_k+$O`HoTec)@t@cz30z=KGp$H!XScG<{~ffloZl+1_mTeop-6;9&|X#fjN*ym z@2%ye{3%%ErvKX$LArhK%XUg0jLB9vJ!lf?*$fUJbt6UCYeL0}HK8&C8WroTwI;M$ zjJ8_LteWLIt17nDQ#e#GEkxEbtJ7vhE6y*2A9N5}`_dABbT^-t0q}py{ESSfn9&uzc{Epv~U8 zn25H=1nt!wVS=PSG$^Ykkj_4VU=Ze^UeF~xQ@HOzr|zPz{BxV<9NDw> zw^X}$&$W%EoBlVHS=ue2jUBxq{e92A{<)66Ry^k*B|$-7;v==pALUU!>#m_L_mk|o zvH_~;IG**=$8;P&(M`vLZM#f|>Bq@A=(qlyl(MEfGI~!&uQj`g++U^Mw=c?;?M^+B zhHG{c^L~}~Vc%cDWcvC~nL3C_FrgaSX3v5d(Dl^;d~(EX4~sA8I}8wRqVKjB;DkXf zhFC6VZ%`wp(mo<>ES6o%8YDVj=#6$Y@Jnf9OW5@&?Q@31cqUjs)gkh%pu$+jqfX0# z$zzb6)ZXr@=w~71oNs(SLUi;!PE(qBl@q9|4zTC2gbyoMZ^OC`3`@K3_t>>2EL2IoV9&wi&Ncx}Q%2te&(QtbVr1VHIPH*~Zy`%kd~h3Vvp0 zX++|bB{luJYsWuXi(Mx9TLEDP8uY^rQZ?D)r&~=vL90K>v>LR93V?~*+B!F<8&yvO z%;8|X5kbD?E~?}WG_X-urFb>-J zN09|W9=K2qh`&U{U#dyt;shqmD3TB#sw5Y|^fT)}yr?c?Uu=2E_=lyZya5{@rCM7b)yyAdC5=N!Pm%K#dKTp1X~ha z3ZYCaklMJJj4K*Kau94MCq0C^U+L$J+Ijex`2p=j`i=Gq7jU54DrGDhs z&L+#FRr|f)IUMY%c9oG*k-vyTeTfyXh4 HZa*g*n$&lDN^|SKcmBq2;?uxS)3BnK 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

Vg_Ldk3n}K+G+;iT`fXuE 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 _cG?mKwLISCV-LY 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�a1Qzq9CbRqXkJJmcnJPObeYp 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

86Kyj1UX%EPr5Q{9VE{h_8kN^U@1EOq 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

N6r&K{M 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

;fWx{S+Rjirnt8t(ns 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

( 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 z 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 |qL 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≷^OcL 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%0D)H{nzs^xw^+cB0V0s#?><) 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 =cU* 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 Gt@EBB(*vQehdaqbbu4#EF$RnlbT={s|*Zn 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%0Aca%t}^rr5Fkki8>dMX5ZVX}#t}l^uTq5xil9GU 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

VNNu9Yb@^iZU*c5(dJ;#T^k28&X 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

@&4&Iy0wf7x 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

U=uV`gli}jO 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

function validateAndRedirect(destination) { let url = inputField.value; - let error = ""; - if (!url || typeof url !== "string") { - error = "Please enter a valid URL."; - } - if (typeof url === "string" && url.indexOf("http") === -1) { - url = "https://" + url; - } - const urlPattern = /^(https?:\/\/)?([\w.-]+)\.([a-z]{2,})(\/\S*)?$/i; - if (!urlPattern.test(url)) { - error = "Please enter a valid URL."; - } - if (error) { - errorContainer.textContent = error; - return false; - } const redirectUrl = destination === "outline" ? "/outline/" + url : "/" + url; window.location.href = redirectUrl; return true; } - function clearInput() { - inputField.value = ""; - clearButton.style.display = "none"; - errorContainer.textContent = ""; - inputField.focus(); - } - document .getElementById("inputForm") .addEventListener("submit", function (e) { @@ -319,33 +294,6 @@ .addEventListener("click", function () { validateAndRedirect("outline"); }); - - const inputField = document.getElementById("inputField"); - const clearButton = document.getElementById("clearButton"); - const errorContainer = document.getElementById("errorContainer"); - - if (inputField !== null && clearButton !== null) { - inputField.addEventListener("input", () => { - const clearButton = document.getElementById("clearButton"); - if (clearButton !== null) { - if (inputField.value.trim().length > 0) { - clearButton.style.display = "block"; - } else { - clearButton.style.display = "none"; - } - } - }); - - inputField.addEventListener("keydown", (event) => { - if (event.code === "Escape") { - clearInput(); - } - }); - - clearButton.addEventListener("click", () => { - clearInput(); - }); - } diff --git a/handlers/script.js b/handlers/script.js index c430c4e7..fae22781 100644 --- a/handlers/script.js +++ b/handlers/script.js @@ -1,8 +1,12 @@ const labels = document.querySelectorAll("label"); const inputs = document.querySelectorAll('input[type="radio"]'); const mainElement = document.querySelector("main"); +const inputField = document.getElementById("inputField"); +const clearButton = document.getElementById("clearButton"); -const handleDOMContentLoaded = () => { +window.addEventListener("DOMContentLoaded", handleDOMContentLoaded); + +function handleDOMContentLoaded() { handleFontChange(); handleFontSizeChange(); inputs.forEach((input) => { @@ -12,7 +16,36 @@ const handleDOMContentLoaded = () => { } }); window.removeEventListener("DOMContentLoaded", handleDOMContentLoaded); -}; +} + +function clearInput() { + inputField.value = ""; + clearButton.style.display = "none"; + inputField.focus(); +} + +if (inputField !== null && clearButton !== null) { + inputField.addEventListener("input", () => { + const clearButton = document.getElementById("clearButton"); + if (clearButton !== null) { + if (inputField.value.trim().length > 0) { + clearButton.style.display = "block"; + } else { + clearButton.style.display = "none"; + } + } + }); + + inputField.addEventListener("keydown", (event) => { + if (event.code === "Escape") { + clearInput(); + } + }); + + clearButton.addEventListener("click", () => { + clearInput(); + }); +} function focusable_children(node) { const nodes = Array.from( @@ -95,7 +128,7 @@ const toggleDropdown = () => { }; const handleClickOutside = (e) => { - if (!dropdown.contains(e.target)) { + if (dropdown !== null && !dropdown.contains(e.target)) { closeDropdown(); } }; @@ -292,5 +325,3 @@ const handleFontSizeChange = () => { changeFontSize(node, classes); }); }; - -window.addEventListener("DOMContentLoaded", handleDOMContentLoaded); diff --git a/handlers/styles.css b/handlers/styles.css index 5d9bccc9..42346184 100644 --- a/handlers/styles.css +++ b/handlers/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark a:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}h1{scroll-margin:5rem;font-size:2.25rem;line-height:2.5rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:1024px){h1{font-size:3rem;line-height:1}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd,pre{position:relative;white-space:break-spaces;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd),:is(.dark pre){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.-bottom-6{bottom:-1.5rem}.left-0{left:0}.right-0{right:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-auto{height:auto}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:shadow-slate-700){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}:is(.dark .dark\:ring-offset-slate-900){--tw-ring-offset-color:#0f172a}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark a:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}h1{scroll-margin:5rem;font-size:2.25rem;line-height:2.5rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:1024px){h1{font-size:3rem;line-height:1}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd,pre{position:relative;white-space:break-spaces;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd),:is(.dark pre){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-auto{height:auto}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:shadow-slate-700){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}:is(.dark .dark\:ring-offset-slate-900){--tw-ring-offset-color:#0f172a}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}} From 8e6a6aae09959f9a215e08fea2d293c6b840f53c Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Thu, 7 Dec 2023 21:39:48 -0600 Subject: [PATCH 131/178] fix tailwind css builder for github action --- .github/workflows/build-css.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-css.yaml b/.github/workflows/build-css.yaml index ced8ee68..8d8fa707 100644 --- a/.github/workflows/build-css.yaml +++ b/.github/workflows/build-css.yaml @@ -37,7 +37,7 @@ jobs: echo "Changes detected, committing..." git config --global user.name "Github action" git config --global user.email "username@users.noreply.github.com" - git add cmd + git add handlers git commit -m "Generated stylesheet" git push fi From 518f4d65d2586c4dd504ea58020e1224e8dbaa33 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Fri, 8 Dec 2023 00:42:10 -0500 Subject: [PATCH 132/178] Migrate code and utilize api/modifiers endpoint --- .github/workflows/build-css.yaml | 4 +- cmd/main.go | 15 +- handlers/api_modifiers_structdef.gen.go | 128 +++---- handlers/playground-script.js | 365 ++++++++++++++++++++ handlers/playground.go | 41 +++ handlers/playground.html | 432 ++++++++++++++++++++++++ handlers/script.go | 28 +- handlers/styles.css | 2 +- 8 files changed, 928 insertions(+), 87 deletions(-) create mode 100644 handlers/playground-script.js create mode 100644 handlers/playground.go create mode 100644 handlers/playground.html diff --git a/.github/workflows/build-css.yaml b/.github/workflows/build-css.yaml index ced8ee68..06e77718 100644 --- a/.github/workflows/build-css.yaml +++ b/.github/workflows/build-css.yaml @@ -4,6 +4,7 @@ on: push: paths: - "handlers/form.html" + - "handlers/playground.html" - "proxychain/responsemodifiers/vendor/generate_readable_outline.html" workflow_dispatch: @@ -37,7 +38,8 @@ jobs: echo "Changes detected, committing..." git config --global user.name "Github action" git config --global user.email "username@users.noreply.github.com" - git add cmd + git add handlers + git add "proxychain/responsemodifiers/vendor/ git commit -m "Generated stylesheet" git push fi diff --git a/cmd/main.go b/cmd/main.go index 997b655a..c8c6c80a 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -3,18 +3,16 @@ package main import ( _ "embed" "fmt" - "html/template" "log" "os" "ladder/handlers" "ladder/internal/cli" "ladder/proxychain/requestmodifiers/bot" - "ladder/proxychain/ruleset" + ruleset_v2 "ladder/proxychain/ruleset" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" - "github.com/gofiber/template/html/v2" ) //go:embed VERSION @@ -129,21 +127,12 @@ func main() { rs = ruleset_v2.NewRulesetFromEnv() } - engine := html.New("./handlers", ".html") - engine.AddFunc( - // add unescape function - "unescape", func(s string) template.HTML { - return template.HTML(s) - }, - ) - app := fiber.New( fiber.Config{ Prefork: *prefork, GETOnly: false, ReadBufferSize: 4096 * 4, // increase max header size DisableStartupMessage: true, - Views: engine, }, ) @@ -167,6 +156,7 @@ func main() { app.Get("styles.css", handlers.Styles) app.Get("script.js", handlers.Script) + app.Get("playground-script.js", handlers.Script) app.All("api/raw/*", handlers.NewRawProxySiteHandler(proxyOpts)) @@ -175,6 +165,7 @@ func main() { app.Get("api/content/*", handlers.NewAPIContentHandler("api/outline/*", proxyOpts)) app.Get("outline/*", handlers.NewOutlineHandler("outline/*", proxyOpts)) + app.All("playground/*", handlers.PlaygroundHandler("playground/*", proxyOpts)) app.All("/*", handlers.NewProxySiteHandler(proxyOpts)) diff --git a/handlers/api_modifiers_structdef.gen.go b/handlers/api_modifiers_structdef.gen.go index ae24f523..b6ae548f 100644 --- a/handlers/api_modifiers_structdef.gen.go +++ b/handlers/api_modifiers_structdef.gen.go @@ -36,7 +36,7 @@ var AllMods Modifiers = Modifiers{ { Name: "AddCacheBusterQuery", Description: "AddCacheBusterQuery modifies query params to add a random parameter key In order to get the upstream network stack to serve a fresh copy of the page.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/add_cache_buster_query.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/add_cache_buster_query.go", Params: []Param{ }, @@ -44,7 +44,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ForwardRequestHeaders", Description: "ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/forward_request_headers.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/forward_request_headers.go", Params: []Param{ }, @@ -52,7 +52,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsGoogleBot", Description: "MasqueradeAsGoogleBot modifies user agent and x-forwarded for to appear to be a Google Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -60,7 +60,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsBingBot", Description: "MasqueradeAsBingBot modifies user agent and x-forwarded for to appear to be a Bing Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -68,7 +68,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsWaybackMachineBot", Description: "MasqueradeAsWaybackMachineBot modifies user agent and x-forwarded for to appear to be a archive.org (wayback machine) Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -76,7 +76,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsFacebookBot", Description: "MasqueradeAsFacebookBot modifies user agent and x-forwarded for to appear to be a Facebook Bot (link previews?)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -84,7 +84,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsYandexBot", Description: "MasqueradeAsYandexBot modifies user agent and x-forwarded for to appear to be a Yandex Spider Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -92,7 +92,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsBaiduBot", Description: "MasqueradeAsBaiduBot modifies user agent and x-forwarded for to appear to be a Baidu Spider Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -100,7 +100,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsDuckDuckBot", Description: "MasqueradeAsDuckDuckBot modifies user agent and x-forwarded for to appear to be a DuckDuckGo Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -108,7 +108,7 @@ var AllMods Modifiers = Modifiers{ { Name: "MasqueradeAsYahooBot", Description: "MasqueradeAsYahooBot modifies user agent and x-forwarded for to appear to be a Yahoo Bot", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", Params: []Param{ }, @@ -116,7 +116,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ModifyDomainWithRegex", Description: "", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_domain_with_regex.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_domain_with_regex.go", Params: []Param{ {Name: "matchRegex", Type: "string"}, {Name: "replacement", Type: "string"}, @@ -125,7 +125,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetOutgoingCookie", Description: "SetOutgoingCookie modifes a specific cookie name by modifying the request cookie headers going to the upstream server. If the cookie name does not already exist, it is created.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_outgoing_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", Params: []Param{ {Name: "name", Type: "string"}, {Name: "val", Type: "string"}, @@ -134,7 +134,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetOutgoingCookies", Description: "SetOutgoingCookies modifies a client request's cookie header to a raw Cookie string, overwriting existing cookies", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_outgoing_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", Params: []Param{ {Name: "cookies", Type: "string"}, }, @@ -142,7 +142,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteOutgoingCookie", Description: "DeleteOutgoingCookie modifies the http request's cookies header to delete a specific request cookie going to the upstream server. If the cookie does not exist, it does not do anything.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_outgoing_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", Params: []Param{ {Name: "name", Type: "string"}, }, @@ -150,7 +150,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteOutgoingCookies", Description: "DeleteOutgoingCookies removes the cookie header entirely, preventing any cookies from reaching the upstream server.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_outgoing_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", Params: []Param{ }, @@ -158,7 +158,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteOutgoingCookiesExcept", Description: "DeleteOutGoingCookiesExcept prevents non-whitelisted cookies from being sent from the client to the upstream proxy server. Cookies whose names are in the whitelist are not removed.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_outgoing_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", Params: []Param{ {Name: "whitelist", Type: "&{Ellipsis:12348 Elt:string}"}, }, @@ -166,7 +166,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ModifyPathWithRegex", Description: "", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_path_with_regex.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_path_with_regex.go", Params: []Param{ {Name: "matchRegex", Type: "string"}, {Name: "replacement", Type: "string"}, @@ -175,7 +175,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ModifyQueryParams", Description: "ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. If the query param key doesn't exist, it is created.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_query_params.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_query_params.go", Params: []Param{ {Name: "key", Type: "string"}, {Name: "value", Type: "string"}, @@ -184,7 +184,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetRequestHeader", Description: "SetRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_request_headers.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", Params: []Param{ {Name: "name", Type: "string"}, {Name: "val", Type: "string"}, @@ -193,7 +193,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteRequestHeader", Description: "DeleteRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/modify_request_headers.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", Params: []Param{ {Name: "name", Type: "string"}, }, @@ -201,7 +201,7 @@ var AllMods Modifiers = Modifiers{ { Name: "RequestArchiveIs", Description: "RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/request_archive_is.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_archive_is.go", Params: []Param{ }, @@ -209,7 +209,7 @@ var AllMods Modifiers = Modifiers{ { Name: "RequestGoogleCache", Description: "RequestGoogleCache modifies a ProxyChain's URL to request its Google Cache version.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/request_google_cache.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_google_cache.go", Params: []Param{ }, @@ -217,7 +217,7 @@ var AllMods Modifiers = Modifiers{ { Name: "RequestWaybackMachine", Description: "RequestWaybackMachine modifies a ProxyChain's URL to request the wayback machine (archive.org) version.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/request_wayback_machine.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_wayback_machine.go", Params: []Param{ }, @@ -225,7 +225,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ResolveWithGoogleDoH", Description: "ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL using Google's DNS over HTTPs service", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/resolve_with_google_doh.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/resolve_with_google_doh.go", Params: []Param{ }, @@ -233,7 +233,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofOrigin", Description: "SpoofOrigin modifies the origin header if the upstream server returns a Vary header it means you might get a different response if you change this", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_origin.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", Params: []Param{ {Name: "url", Type: "string"}, }, @@ -241,7 +241,7 @@ var AllMods Modifiers = Modifiers{ { Name: "HideOrigin", Description: "HideOrigin modifies the origin header so that it is the original origin, not the proxy", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_origin.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", Params: []Param{ }, @@ -249,7 +249,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrer", Description: "SpoofReferrer modifies the referrer header. It is useful if the page can be accessed from a search engine or social media site, but not by browsing the website itself. if url is \"\", then the referrer header is removed.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", Params: []Param{ {Name: "url", Type: "string"}, }, @@ -257,7 +257,7 @@ var AllMods Modifiers = Modifiers{ { Name: "HideReferrer", Description: "HideReferrer modifies the referrer header so that it is the original referrer, not the proxy", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", Params: []Param{ }, @@ -265,7 +265,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromBaiduSearch", Description: "SpoofReferrerFromBaiduSearch modifies the referrer header pretending to be from a BaiduSearch", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go", Params: []Param{ }, @@ -273,7 +273,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromBingSearch", Description: "SpoofReferrerFromBingSearch modifies the referrer header pretending to be from a bing search site", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go", Params: []Param{ }, @@ -281,7 +281,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromGoogleSearch", Description: "SpoofReferrerFromGoogleSearch modifies the referrer header pretending to be from a google search site", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_google_search.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_google_search.go", Params: []Param{ }, @@ -289,7 +289,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromLinkedInPost", Description: "SpoofReferrerFromLinkedInPost modifies the referrer header pretending to be from a linkedin post", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go", Params: []Param{ }, @@ -297,7 +297,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromNaverSearch", Description: "SpoofReferrerFromNaverSearch modifies the referrer header pretending to be from a Naver search (popular in South Korea)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go", Params: []Param{ }, @@ -305,7 +305,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromPinterestPost", Description: "SpoofReferrerFromPinterestPost modifies the referrer header pretending to be from a pinterest post", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go", Params: []Param{ }, @@ -313,7 +313,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromQQPost", Description: "SpoofReferrerFromQQPost modifies the referrer header pretending to be from a QQ post (popular social media in China)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go", Params: []Param{ }, @@ -321,7 +321,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromRedditPost", Description: "SpoofReferrerFromRedditPost modifies the referrer header pretending to be from a reddit post", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go", Params: []Param{ }, @@ -329,7 +329,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromTumblrPost", Description: "SpoofReferrerFromTumblrPost modifies the referrer header pretending to be from a tumblr post", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go", Params: []Param{ }, @@ -337,7 +337,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromTwitterPost", Description: "SpoofReferrerFromTwitterPost modifies the referrer header pretending to be from a twitter post", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go", Params: []Param{ }, @@ -345,7 +345,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromVkontaktePost", Description: "SpoofReferrerFromVkontaktePost modifies the referrer header pretending to be from a vkontakte post (popular in Russia)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go", Params: []Param{ }, @@ -353,7 +353,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofReferrerFromWeiboPost", Description: "SpoofReferrerFromWeiboPost modifies the referrer header pretending to be from a Weibo post (popular in China)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go", Params: []Param{ }, @@ -361,7 +361,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofUserAgent", Description: "SpoofUserAgent modifies the user agent", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_user_agent.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_user_agent.go", Params: []Param{ {Name: "ua", Type: "string"}, }, @@ -369,7 +369,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SpoofXForwardedFor", Description: "SpoofXForwardedFor modifies the X-Forwarded-For header in some cases, a forward proxy may interpret this as the source IP", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/requestmodifiers/spoof_x_forwarded_for.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_x_forwarded_for.go", Params: []Param{ {Name: "ip", Type: "string"}, }, @@ -379,7 +379,7 @@ var AllMods Modifiers = Modifiers{ { Name: "APIContent", Description: "APIContent creates an JSON representation of the article and returns it as an API response.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/api_content.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/api_content.go", Params: []Param{ }, @@ -387,7 +387,7 @@ var AllMods Modifiers = Modifiers{ { Name: "BlockElementRemoval", Description: "BlockElementRemoval prevents paywall javascript from removing a particular element by detecting the removal, then immediately reinserting it. This is useful when a page will return a \"fake\" 404, after flashing the content briefly. If the /outline/ API works, but the regular API doesn't, try this modifier.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/block_element_removal.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_element_removal.go", Params: []Param{ {Name: "cssSelector", Type: "string"}, }, @@ -395,7 +395,7 @@ var AllMods Modifiers = Modifiers{ { Name: "BlockThirdPartyScripts", Description: "BlockThirdPartyScripts rewrites HTML and injects JS to block all third party JS from loading.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/block_third_party_scripts.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_third_party_scripts.go", Params: []Param{ }, @@ -403,7 +403,7 @@ var AllMods Modifiers = Modifiers{ { Name: "BypassCORS", Description: "BypassCORS modifies response headers to prevent the browser from enforcing any CORS restrictions. This should run at the end of the chain.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/bypass_cors.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_cors.go", Params: []Param{ }, @@ -411,7 +411,7 @@ var AllMods Modifiers = Modifiers{ { Name: "BypassContentSecurityPolicy", Description: "BypassContentSecurityPolicy modifies response headers to prevent the browser from enforcing any CSP restrictions. This should run at the end of the chain.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/bypass_csp.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", Params: []Param{ }, @@ -419,7 +419,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetContentSecurityPolicy", Description: "SetContentSecurityPolicy modifies response headers to a specific CSP", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/bypass_csp.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", Params: []Param{ {Name: "csp", Type: "string"}, }, @@ -427,7 +427,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteLocalStorageData", Description: "DeleteLocalStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteSessionStorageData and DeleteIncomingCookies", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/delete_localstorage_data.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_localstorage_data.go", Params: []Param{ }, @@ -435,7 +435,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteSessionStorageData", Description: "DeleteSessionStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteLocalStorageData and DeleteIncomingCookies", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/delete_sessionstorage_data.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_sessionstorage_data.go", Params: []Param{ }, @@ -443,7 +443,7 @@ var AllMods Modifiers = Modifiers{ { Name: "ForwardResponseHeaders", Description: "ForwardResponseHeaders forwards the response headers from the upstream server to the client", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/forward_response_headers.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/forward_response_headers.go", Params: []Param{ }, @@ -451,7 +451,7 @@ var AllMods Modifiers = Modifiers{ { Name: "GenerateReadableOutline", Description: "GenerateReadableOutline creates an reader-friendly distilled representation of the article. This is a reliable way of bypassing soft-paywalled articles, where the content is hidden, but still present in the DOM.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/generate_readable_outline.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/generate_readable_outline.go", Params: []Param{ }, @@ -459,7 +459,7 @@ var AllMods Modifiers = Modifiers{ { Name: "InjectScriptBeforeDOMContentLoaded", Description: "InjectScriptBeforeDOMContentLoaded modifies HTTP responses to inject a JS before DOM Content is loaded (script tag in head)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/inject_script.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", Params: []Param{ {Name: "js", Type: "string"}, }, @@ -467,7 +467,7 @@ var AllMods Modifiers = Modifiers{ { Name: "InjectScriptAfterDOMContentLoaded", Description: "InjectScriptAfterDOMContentLoaded modifies HTTP responses to inject a JS after DOM Content is loaded (script tag in head)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/inject_script.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", Params: []Param{ {Name: "js", Type: "string"}, }, @@ -475,7 +475,7 @@ var AllMods Modifiers = Modifiers{ { Name: "InjectScriptAfterDOMIdle", Description: "InjectScriptAfterDOMIdle modifies HTTP responses to inject a JS after the DOM is idle (ie: js framework loaded)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/inject_script.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", Params: []Param{ {Name: "js", Type: "string"}, }, @@ -483,7 +483,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteIncomingCookies", Description: "DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server back down to the client.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ {Name: "_", Type: "&{Ellipsis:16319 Elt:string}"}, }, @@ -491,7 +491,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteIncomingCookiesExcept", Description: "DeleteIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server to the client. Cookies whose names are in the whitelist are not removed.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ {Name: "whitelist", Type: "&{Ellipsis:16864 Elt:string}"}, }, @@ -499,7 +499,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetIncomingCookies", Description: "SetIncomingCookies adds a raw cookie string being sent from the proxy server down to the client", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ {Name: "cookies", Type: "string"}, }, @@ -507,7 +507,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetIncomingCookie", Description: "SetIncomingCookie modifies a specific cookie in the response from the proxy server to the client.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ {Name: "name", Type: "string"}, {Name: "val", Type: "string"}, @@ -516,7 +516,7 @@ var AllMods Modifiers = Modifiers{ { Name: "SetResponseHeader", Description: "SetResponseHeader modifies response headers from the upstream server", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_response_header.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", Params: []Param{ {Name: "key", Type: "string"}, {Name: "value", Type: "string"}, @@ -525,7 +525,7 @@ var AllMods Modifiers = Modifiers{ { Name: "DeleteResponseHeader", Description: "DeleteResponseHeader removes response headers from the upstream server", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_response_header.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", Params: []Param{ {Name: "key", Type: "string"}, }, @@ -533,7 +533,7 @@ var AllMods Modifiers = Modifiers{ { Name: "PatchDynamicResourceURLs", Description: "PatchDynamicResourceURLs patches the javascript runtime to rewrite URLs client-side. - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy. - Native APIs capable of network requests will be hooked and the URLs arguments modified to point to the proxy instead. - fetch('/relative_path') -> fetch('/https://proxiedsite.com/relative_path') - Element.setAttribute('src', \"/assets/img.jpg\") -> Element.setAttribute('src', \"/https://proxiedsite.com/assets/img.jpg\") -> fetch('/https://proxiedsite.com/relative_path')", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/patch_dynamic_resource_urls.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_dynamic_resource_urls.go", Params: []Param{ }, @@ -541,7 +541,7 @@ var AllMods Modifiers = Modifiers{ { Name: "PatchTrackerScripts", Description: "PatchTrackerScripts replaces any request to tracker scripts such as google analytics with a no-op stub that mocks the API structure of the original scripts they replace. Some pages depend on the existence of these structures for proper loading, so this may fix some broken elements. Surrogate script code borrowed from: DuckDuckGo Privacy Essentials browser extension for Firefox, Chrome. (Apache 2.0 license)", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/patch_tracker_scripts.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_tracker_scripts.go", Params: []Param{ }, @@ -549,7 +549,7 @@ var AllMods Modifiers = Modifiers{ { Name: "RewriteHTMLResourceURLs", Description: "RewriteHTMLResourceURLs modifies HTTP responses to rewrite URLs attributes in HTML content (such as src, href) - `` -> `` - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy.", - CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/rewrite_http_resource_urls.go", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/rewrite_http_resource_urls.go", Params: []Param{ }, diff --git a/handlers/playground-script.js b/handlers/playground-script.js new file mode 100644 index 00000000..33522437 --- /dev/null +++ b/handlers/playground-script.js @@ -0,0 +1,365 @@ +// Export button +// TODO: Parse JSON to YAML +// TODO: Download YAML +// Injection scripts +// TODO: Javascript syntax highlighting within textarea layout, styling and event listeners +// TODO: Textarea handlers and logic for javascript (e.g. tab, newline) +// TODO: Javascript escaping/unescaping as required +// TODO: remove tailwind play cdn script in head of playground.html after syntax highlighting work complete +// Ninja Keys improvements +// TODO: Group related items for Ninja Keys +// TODO: Untoggle related items that may be toggled (e.g. should only have one masquerade as bot toggled) +// Testing +// TODO: Testing + +const modifierContainer = document.getElementById("modifierContainer"); +const modalContainer = document.getElementById("modalContainer"); +const modalBody = document.getElementById("modal-body"); +const modalContent = document.getElementById("modal-content"); +const modalSubmitButton = document.getElementById("modal-submit"); +const modalClose = document.getElementById("modal-close"); + +let hasFetched = false; +let payload = { + requestmodifications: [], + responsemodifications: [], +}; +let ninjaData = []; + +initialize(); + +// Rerun handleThemeChange() so style is applied to Ninja Keys +handleThemeChange(); + +// Add event listener to the iframe so it closes dropdown when clicked +closeDropdownOnClickWithinIframe(); + +async function initialize() { + if (!hasFetched) { + try { + await fetchPayload(); + hasFetched = true; + } catch (error) { + console.error("Fetch error:", error); + } + } +} + +function closeDropdownOnClickWithinIframe() { + const iframe = document.getElementById("resultIframe"); + iframe.contentWindow.document.addEventListener( + "click", + () => { + if ( + !document.getElementById("dropdown_panel").classList.contains("hidden") + ) { + toggleDropdown(); + } + }, + true + ); +} + +async function fetchPayload() { + try { + const response = await fetch("/api/modifiers"); + const data = await response.json(); + + Object.entries(data.result.requestmodifiers ?? {}).forEach(([_, value]) => { + addModifierToNinjaData( + value.name, + value.description, + value.params, + "requestmodifications" + ); + }); + + Object.entries(data.result.responsemodifiers ?? {}).forEach( + ([_, value]) => { + addModifierToNinjaData( + value.name, + value.description, + value.params, + "responsemodifications" + ); + } + ); + + return data; + } catch (error) { + console.error("Fetch error:", error); + throw error; + } +} + +async function submitForm() { + if (!document.getElementById("inputForm").checkValidity()) { + return; + } + + try { + const response = await fetch("/playground/" + inputField.value, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(payload), + }); + + if (!response.ok) { + throw new Error("Request failed"); + } + + const result = await response.text(); + updateResultIframe(result); + } catch (error) { + console.error(error); + } +} + +function updateResultIframe(result) { + const resultIframe = parent.document.getElementById("resultIframe"); + resultIframe.contentDocument.open(); + resultIframe.contentDocument.write(result); + closeDropdownOnClickWithinIframe(); + resultIframe.contentDocument.close(); +} + +document.getElementById("inputForm").addEventListener("submit", function (e) { + e.preventDefault(); + submitForm(); +}); + +if (navigator.userAgent.includes("Mac")) { + document.getElementById("ninjaKey").innerHTML = "⌘"; +} else { + document.getElementById("ninjaKey").innerHTML = "Ctrl"; +} + +function downloadYaml() { + function parseYaml() { + //* PARSE PAYLOAD TO YAML + return payload; + } + + const yamlData = parseYaml(); + const blob = new Blob([yamlData], { type: "text/yaml;charset=utf-8" }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + //* CONSTRUCT FILENAME FROM HOSTNAME + link.download = `name_of_report.yaml`; + link.click(); + URL.revokeObjectURL(url); +} + +function getValues(id, description, params) { + const focusTrap = trap(modalBody); + let values = []; + const inputs = []; + const inputEventListeners = []; + + function closeModal() { + focusTrap.destroy(); + modalBody.removeEventListener("keydown", handleEscapeKey); + modalBody.removeEventListener("keydown", handleEnterKey); + modalContainer.removeEventListener("click", handleClickOutside); + modalSubmitButton.removeEventListener("click", closeModal); + modalClose.removeEventListener("click", closeModal); + inputEventListeners.forEach((listener, index) => { + inputs[index].removeEventListener("input", listener); + }); + inputEventListeners.length = 0; + inputs.length = 0; + values = []; + modalContainer.classList.add("hidden"); + modalContent.innerHTML = ""; + } + + function handleClickOutside(e) { + if (modalBody !== null && !modalBody.contains(e.target)) { + closeModal(); + } + } + + function handleEscapeKey(e) { + if (e.key === "Escape") { + closeModal(); + } + } + + function handleEnterKey(e) { + if (e.key === "Enter") { + if (e.target.tagName.toLowerCase() === "textarea") { + return; + } else { + modalSubmitButton.click(); + } + } + } + + document.getElementById("modal-title").innerHTML = id; + document.getElementById("modal-description").innerHTML = description; + + params.map((param, i) => { + function textareaEventListener(event) { + codeElement = document.querySelector("code"); + codeElement.innerText = event.target.value; + Prism.highlightElement(codeElement); + values[i] = "|" + " " + event.target.value; + } + function inputEventListener(event) { + values[i] = event.target.value; + } + + const label = document.createElement("label"); + label.innerHTML = param.name; + label.setAttribute("for", `input-${i}`); + let input; + if (param.name === "js") { + input = document.createElement("textarea"); + input.type = "textarea"; + input.classList.add( + "min-h-[200px]", + "font-mono", + "whitespace-break-spaces", + "font-semibold" + ); + } else { + input = document.createElement("input"); + input.type = "text"; + } + input.id = `input-${i}`; + input.classList.add( + "w-full", + "text-sm", + "leading-6", + "text-slate-400", + "rounded-md", + "ring-1", + "ring-slate-900/10", + "shadow-sm", + "py-1.5", + "pl-2", + "pr-3", + "hover:ring-slate-300", + "dark:bg-slate-800", + "dark:highlight-white/5" + ); + modalContent.appendChild(label); + modalContent.appendChild(input); + if (input.type === "textarea") { + preElement = document.createElement("pre"); + codeElement = document.createElement("code"); + preElement.setAttribute("aria-hidden", "true"); + preElement.setAttribute("tabindex", "-1"); + codeElement.classList.add("language-javascript"); + preElement.appendChild(codeElement); + modalContent.appendChild(preElement); + input.addEventListener("input", textareaEventListener); + inputEventListeners.push(textareaEventListener); + } else { + input.addEventListener("input", inputEventListener); + inputEventListeners.push(inputEventListener); + } + inputs.push(input); + }); + + modalContainer.classList.remove("hidden"); + document.getElementById("input-0").focus(); + + return new Promise((resolve) => { + modalBody.addEventListener("keydown", handleEscapeKey); + modalBody.addEventListener("keydown", handleEnterKey); + modalContainer.addEventListener("click", handleClickOutside); + modalClose.addEventListener("click", () => { + closeModal(); + }); + modalSubmitButton.addEventListener("click", () => { + resolve(values); + closeModal(); + }); + }); +} + +function toggleModifier(type, id, params = []) { + function pillClickHandler(pill) { + toggleModifier(pill.getAttribute("type"), pill.id); + pill.removeEventListener("click", () => pillClickHandler(pill)); + pill.remove(); + } + + function createPill(type, id) { + const pill = document.createElement("span"); + pill.classList.add( + "inline-flex", + "items-center", + "rounded-md", + "bg-slate-100", + "dark:bg-slate-800", + "px-2", + "py-1", + "h-4", + "text-xs", + "font-medium", + "border", + "border-slate-400", + "dark:border-slate-700", + "cursor-pointer" + ); + pill.id = id; + pill.setAttribute("type", type); + pill.textContent = id; + modifierContainer.appendChild(pill); + pill.addEventListener("click", () => pillClickHandler(pill)); + } + + if (payload[type].some((modifier) => modifier.name === id)) { + payload[type] = payload[type].filter((modifier) => modifier.name !== id); + const existingPill = document.getElementById(id); + if (existingPill !== null) { + existingPill.removeEventListener("click", () => pillClickHandler(pill)); + existingPill.remove(); + } + } else { + payload[type].push({ name: id, params: params }); + createPill(type, id); + } + + submitForm(); +} + +function addModifierToNinjaData(id, description, params, type) { + const section = + type === "requestmodifications" + ? "Request Modifiers" + : "Response Modifiers"; + const modifier = { + id: id, + title: id, + section: section, + + handler: () => { + if (Object.keys(params).length === 0) { + toggleModifier(type, id); + } else { + if (params[0].name === "_") { + toggleModifier(type, id, (params = [""])); + } else { + getValues(id, description, params).then((values) => { + if (Object.keys(values).length === 0) return; + toggleModifier(type, id, values); + }); + } + } + }, + }; + + ninjaData.push(modifier); +} + +const ninja = document.querySelector("ninja-keys"); +ninja.data = ninjaData; +document.getElementById("btnNinja").addEventListener("click", () => { + ninja.open(); +}); diff --git a/handlers/playground.go b/handlers/playground.go new file mode 100644 index 00000000..a2b2c78b --- /dev/null +++ b/handlers/playground.go @@ -0,0 +1,41 @@ +package handlers + +import ( + _ "embed" + "ladder/proxychain" + ruleset_v2 "ladder/proxychain/ruleset" + + "net/http" + + "github.com/gofiber/fiber/v2" +) + +//go:embed playground.html +var playgroundHtml string + +func PlaygroundHandler(path string, opts *ProxyOptions) fiber.Handler { + return func(c *fiber.Ctx) error { + if c.Method() == fiber.MethodGet { + c.Set("Content-Type", "text/html") + + return c.SendString(playgroundHtml) + } else if c.Method() == fiber.MethodPost { + var modificationData ruleset_v2.Rule + if err := c.BodyParser(&modificationData); err != nil { + return err + } + + c.Method(fiber.MethodGet) + + return proxychain. + NewProxyChain(). + SetFiberCtx(c). + WithAPIPath(path). + AddOnceRequestModifications(modificationData.RequestModifications...). + AddOnceResponseModifications(modificationData.ResponseModifications...). + Execute() + } + + return c.Status(http.StatusMethodNotAllowed).SendString("Method not allowed") + } +} diff --git a/handlers/playground.html b/handlers/playground.html new file mode 100644 index 00000000..d5614d79 --- /dev/null +++ b/handlers/playground.html @@ -0,0 +1,432 @@ + + + + + + ladder | playground + + + + + + + + + + + + + +
+
+
+
+ + +
+ +
+
+ +
+
+ + +
+ +
+ +
+
+ +
+
+
+ + + + + + +
+ + diff --git a/handlers/script.go b/handlers/script.go index c35e6cab..4e003270 100644 --- a/handlers/script.go +++ b/handlers/script.go @@ -9,15 +9,25 @@ import ( //go:embed script.js var scriptData embed.FS -func Script(c *fiber.Ctx) error { +//go:embed playground-script.js +var playgroundScriptData embed.FS - scriptData, err := scriptData.ReadFile("script.js") - if err != nil { - return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") +func Script(c *fiber.Ctx) error { + if c.Path() == "/script.js" { + scriptData, err := scriptData.ReadFile("script.js") + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + c.Set("Content-Type", "text/javascript") + return c.Send(scriptData) } - - c.Set("Content-Type", "text/javascript") - - return c.Send(scriptData) - + if c.Path() == "/playground-script.js" { + playgroundScriptData, err := playgroundScriptData.ReadFile("playground-script.js") + if err != nil { + return c.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") + } + c.Set("Content-Type", "text/javascript") + return c.Send(playgroundScriptData) + } + return nil } diff --git a/handlers/styles.css b/handlers/styles.css index 42346184..211d48bd 100644 --- a/handlers/styles.css +++ b/handlers/styles.css @@ -1 +1 @@ -*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark a:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}h1{scroll-margin:5rem;font-size:2.25rem;line-height:2.5rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:1024px){h1{font-size:3rem;line-height:1}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd,pre{position:relative;white-space:break-spaces;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd),:is(.dark pre){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-auto{height:auto}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:shadow-slate-700){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}:is(.dark .dark\:ring-offset-slate-900){--tw-ring-offset-color:#0f172a}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}} +*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}a{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity));text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:.3s}a:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity));text-decoration-line:underline}:is(.dark a){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark a:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}h1{scroll-margin:5rem;font-size:2.25rem;line-height:2.5rem;font-weight:800;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h1){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}@media (min-width:1024px){h1{font-size:3rem;line-height:1}}h2{scroll-margin:5rem;border-bottom-width:1px;padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}h2:first-child{margin-top:0}:is(.dark h2){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h3{scroll-margin:5rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h3){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}h4,h5,h6{scroll-margin:5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark h4),:is(.dark h5),:is(.dark h6){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p{line-height:1.75rem;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark p){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}p:not(:first-child){margin-top:1.5rem}code,kbd,pre{position:relative;white-space:break-spaces;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));padding-top:.2rem;padding-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;font-weight:600}:is(.dark code),:is(.dark kbd),:is(.dark pre){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}blockquote{margin-top:1.5rem;border-left-width:2px;padding-left:1.5rem;font-style:italic}ul{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:disc;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ul){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ul>li{margin-top:.5rem}ol{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:1.5rem;list-style-type:decimal;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark ol){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}ol>li{margin-top:.5rem}dl{margin-top:1.5rem;margin-bottom:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark dl){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}dl>dd{margin-left:1.5rem;font-weight:400}dl>dt{margin-top:.75rem}li{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark li){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}table{width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}thead tr{border-bottom-width:1px}tbody tr:last-child{border-width:0}tfoot{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));background-color:rgb(51 65 85 / .5);font-weight:500}:is(.dark tfoot){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity));background-color:rgb(226 232 240 / .5)}tfoot:last-child>tr{border-bottom-width:0}tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}tr:hover{background-color:rgb(226 232 240 / .5)}tr[data-state=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark tr){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark tr:hover){background-color:rgb(51 65 85 / .5)}:is(.dark tr[data-state=selected]){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}th{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;font-weight:500;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark th){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}th:has([role=checkbox]){padding-right:0}td{padding:1rem;vertical-align:middle}td:has([role=checkbox]){padding-right:0}caption{margin-top:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark caption){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}img{margin-left:auto;margin-right:auto;height:auto;width:auto;max-width:100%;border-radius:.375rem;-o-object-fit:cover;object-fit:cover;--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark img){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}figcaption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark figcaption){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}hr{height:1px;width:100%;flex-shrink:0;--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark hr){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}*,::after,::before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-auto{margin-top:auto;margin-bottom:auto}.-ml-2{margin-left:-.5rem}.-mt-12{margin-top:-3rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-48{margin-top:12rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[250px\]{height:250px}.h-\[calc\(100vh-14\.5rem\)\]{height:calc(100vh - 14.5rem)}.h-auto{height:auto}.h-screen{height:100vh}.max-h-14{max-height:3.5rem}.min-h-\[200px\]{min-height:200px}.min-h-full{min-height:100%}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.place-items-center{place-items:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-4{row-gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.place-self-end{place-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-break-spaces{white-space:break-spaces}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-t-2{border-top-width:2px}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184 / var(--tw-bg-opacity))}.bg-slate-500\/50{background-color:rgb(100 116 139 / .5)}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[\#7AA7D1\]{--tw-text-opacity:1;color:rgb(122 167 209 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-900\/10{--tw-ring-color:rgb(15 23 42 / 0.1)}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.duration-300{transition-duration:.3s}.first-of-type\:rounded-t-md:first-of-type{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.last-of-type\:rounded-b-md:last-of-type{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.hover\:bg-slate-200\/90:hover{background-color:rgb(226 232 240 / .9)}.hover\:bg-slate-800\/90:hover{background-color:rgb(30 41 59 / .9)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225 / var(--tw-ring-opacity))}.hover\:drop-shadow-\[0_0px_10px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 10px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:drop-shadow-\[0_0px_4px_rgba\(122\2c 167\2c 209\2c \.3\)\]:hover{--tw-drop-shadow:drop-shadow(0 0px 4px rgba(122,167,209,.3));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#7AA7D1\]:focus{--tw-border-opacity:1;border-color:rgb(122 167 209 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.peer:checked~.peer-checked\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:border-slate-700){--tw-border-opacity:1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:bg-slate-200){--tw-bg-opacity:1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-800){--tw-bg-opacity:1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-900){--tw-bg-opacity:1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-200){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-900){--tw-text-opacity:1;color:rgb(15 23 42 / var(--tw-text-opacity))}:is(.dark .dark\:shadow-slate-700){--tw-shadow-color:#334155;--tw-shadow:var(--tw-shadow-colored)}:is(.dark .dark\:ring-offset-slate-900){--tw-ring-offset-color:#0f172a}:is(.dark .dark\:hover\:bg-slate-200\/90:hover){background-color:rgb(226 232 240 / .9)}:is(.dark .dark\:hover\:bg-slate-500:hover){--tw-bg-opacity:1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-700:hover){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-slate-800\/90:hover){background-color:rgb(30 41 59 / .9)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-slate-200:hover){--tw-text-opacity:1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-slate-300):hover{--tw-text-opacity:1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .peer:checked ~ .dark\:peer-checked\:bg-slate-700){--tw-bg-opacity:1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}@media (min-width:640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}} From aabc34bac774e34de5ffc96ce5724b6cc9c9aaf7 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Fri, 8 Dec 2023 00:51:33 -0500 Subject: [PATCH 133/178] Delete handlers/api_modifiers_structdef.gen.go --- handlers/api_modifiers_structdef.gen.go | 558 ------------------------ 1 file changed, 558 deletions(-) delete mode 100644 handlers/api_modifiers_structdef.gen.go diff --git a/handlers/api_modifiers_structdef.gen.go b/handlers/api_modifiers_structdef.gen.go deleted file mode 100644 index b6ae548f..00000000 --- a/handlers/api_modifiers_structdef.gen.go +++ /dev/null @@ -1,558 +0,0 @@ - -package handlers -// DO NOT EDIT THIS FILE. It is automatically generated by ladder/handlers/api_modifiers_codegen/api_modifiers_codegen.go -// The purpose of this is to produce an API reponse listing all the available modifier, their parameters and usage instructions. -// for use in proxychains. - -import ( - "ladder/proxychain/responsemodifiers/api" -) - -type ModifiersAPIResponse struct { - Success bool `json:"success"` - Error api.ErrorDetails `json:"error"` - Result Modifiers `json:"result"` -} - -type Modifiers struct { - RequestModifiers []Modifier `json:"requestmodifiers"` - ResponseModifiers []Modifier `json:"responsemodifiers"` -} - -type Modifier struct { - Name string `json:"name"` - Description string `json:"description"` - CodeEditLink string `json:"code_edit_link"` - Params []Param `json:"params"` -} - -type Param struct { - Name string `json:"name"` - Type string `json:"type"` -} - -var AllMods Modifiers = Modifiers{ - RequestModifiers: []Modifier{ -{ - Name: "AddCacheBusterQuery", - Description: "AddCacheBusterQuery modifies query params to add a random parameter key In order to get the upstream network stack to serve a fresh copy of the page.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/add_cache_buster_query.go", - Params: []Param{ - - }, -}, -{ - Name: "ForwardRequestHeaders", - Description: "ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/forward_request_headers.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsGoogleBot", - Description: "MasqueradeAsGoogleBot modifies user agent and x-forwarded for to appear to be a Google Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsBingBot", - Description: "MasqueradeAsBingBot modifies user agent and x-forwarded for to appear to be a Bing Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsWaybackMachineBot", - Description: "MasqueradeAsWaybackMachineBot modifies user agent and x-forwarded for to appear to be a archive.org (wayback machine) Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsFacebookBot", - Description: "MasqueradeAsFacebookBot modifies user agent and x-forwarded for to appear to be a Facebook Bot (link previews?)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsYandexBot", - Description: "MasqueradeAsYandexBot modifies user agent and x-forwarded for to appear to be a Yandex Spider Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsBaiduBot", - Description: "MasqueradeAsBaiduBot modifies user agent and x-forwarded for to appear to be a Baidu Spider Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsDuckDuckBot", - Description: "MasqueradeAsDuckDuckBot modifies user agent and x-forwarded for to appear to be a DuckDuckGo Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "MasqueradeAsYahooBot", - Description: "MasqueradeAsYahooBot modifies user agent and x-forwarded for to appear to be a Yahoo Bot", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", - Params: []Param{ - - }, -}, -{ - Name: "ModifyDomainWithRegex", - Description: "", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_domain_with_regex.go", - Params: []Param{ - {Name: "matchRegex", Type: "string"}, - {Name: "replacement", Type: "string"}, - }, -}, -{ - Name: "SetOutgoingCookie", - Description: "SetOutgoingCookie modifes a specific cookie name by modifying the request cookie headers going to the upstream server. If the cookie name does not already exist, it is created.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", - Params: []Param{ - {Name: "name", Type: "string"}, - {Name: "val", Type: "string"}, - }, -}, -{ - Name: "SetOutgoingCookies", - Description: "SetOutgoingCookies modifies a client request's cookie header to a raw Cookie string, overwriting existing cookies", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", - Params: []Param{ - {Name: "cookies", Type: "string"}, - }, -}, -{ - Name: "DeleteOutgoingCookie", - Description: "DeleteOutgoingCookie modifies the http request's cookies header to delete a specific request cookie going to the upstream server. If the cookie does not exist, it does not do anything.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", - Params: []Param{ - {Name: "name", Type: "string"}, - }, -}, -{ - Name: "DeleteOutgoingCookies", - Description: "DeleteOutgoingCookies removes the cookie header entirely, preventing any cookies from reaching the upstream server.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", - Params: []Param{ - - }, -}, -{ - Name: "DeleteOutgoingCookiesExcept", - Description: "DeleteOutGoingCookiesExcept prevents non-whitelisted cookies from being sent from the client to the upstream proxy server. Cookies whose names are in the whitelist are not removed.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", - Params: []Param{ - {Name: "whitelist", Type: "&{Ellipsis:12348 Elt:string}"}, - }, -}, -{ - Name: "ModifyPathWithRegex", - Description: "", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_path_with_regex.go", - Params: []Param{ - {Name: "matchRegex", Type: "string"}, - {Name: "replacement", Type: "string"}, - }, -}, -{ - Name: "ModifyQueryParams", - Description: "ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. If the query param key doesn't exist, it is created.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_query_params.go", - Params: []Param{ - {Name: "key", Type: "string"}, - {Name: "value", Type: "string"}, - }, -}, -{ - Name: "SetRequestHeader", - Description: "SetRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", - Params: []Param{ - {Name: "name", Type: "string"}, - {Name: "val", Type: "string"}, - }, -}, -{ - Name: "DeleteRequestHeader", - Description: "DeleteRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", - Params: []Param{ - {Name: "name", Type: "string"}, - }, -}, -{ - Name: "RequestArchiveIs", - Description: "RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_archive_is.go", - Params: []Param{ - - }, -}, -{ - Name: "RequestGoogleCache", - Description: "RequestGoogleCache modifies a ProxyChain's URL to request its Google Cache version.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_google_cache.go", - Params: []Param{ - - }, -}, -{ - Name: "RequestWaybackMachine", - Description: "RequestWaybackMachine modifies a ProxyChain's URL to request the wayback machine (archive.org) version.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_wayback_machine.go", - Params: []Param{ - - }, -}, -{ - Name: "ResolveWithGoogleDoH", - Description: "ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL using Google's DNS over HTTPs service", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/resolve_with_google_doh.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofOrigin", - Description: "SpoofOrigin modifies the origin header if the upstream server returns a Vary header it means you might get a different response if you change this", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", - Params: []Param{ - {Name: "url", Type: "string"}, - }, -}, -{ - Name: "HideOrigin", - Description: "HideOrigin modifies the origin header so that it is the original origin, not the proxy", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrer", - Description: "SpoofReferrer modifies the referrer header. It is useful if the page can be accessed from a search engine or social media site, but not by browsing the website itself. if url is \"\", then the referrer header is removed.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", - Params: []Param{ - {Name: "url", Type: "string"}, - }, -}, -{ - Name: "HideReferrer", - Description: "HideReferrer modifies the referrer header so that it is the original referrer, not the proxy", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromBaiduSearch", - Description: "SpoofReferrerFromBaiduSearch modifies the referrer header pretending to be from a BaiduSearch", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromBingSearch", - Description: "SpoofReferrerFromBingSearch modifies the referrer header pretending to be from a bing search site", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromGoogleSearch", - Description: "SpoofReferrerFromGoogleSearch modifies the referrer header pretending to be from a google search site", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_google_search.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromLinkedInPost", - Description: "SpoofReferrerFromLinkedInPost modifies the referrer header pretending to be from a linkedin post", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromNaverSearch", - Description: "SpoofReferrerFromNaverSearch modifies the referrer header pretending to be from a Naver search (popular in South Korea)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromPinterestPost", - Description: "SpoofReferrerFromPinterestPost modifies the referrer header pretending to be from a pinterest post", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromQQPost", - Description: "SpoofReferrerFromQQPost modifies the referrer header pretending to be from a QQ post (popular social media in China)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromRedditPost", - Description: "SpoofReferrerFromRedditPost modifies the referrer header pretending to be from a reddit post", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromTumblrPost", - Description: "SpoofReferrerFromTumblrPost modifies the referrer header pretending to be from a tumblr post", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromTwitterPost", - Description: "SpoofReferrerFromTwitterPost modifies the referrer header pretending to be from a twitter post", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromVkontaktePost", - Description: "SpoofReferrerFromVkontaktePost modifies the referrer header pretending to be from a vkontakte post (popular in Russia)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofReferrerFromWeiboPost", - Description: "SpoofReferrerFromWeiboPost modifies the referrer header pretending to be from a Weibo post (popular in China)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go", - Params: []Param{ - - }, -}, -{ - Name: "SpoofUserAgent", - Description: "SpoofUserAgent modifies the user agent", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_user_agent.go", - Params: []Param{ - {Name: "ua", Type: "string"}, - }, -}, -{ - Name: "SpoofXForwardedFor", - Description: "SpoofXForwardedFor modifies the X-Forwarded-For header in some cases, a forward proxy may interpret this as the source IP", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_x_forwarded_for.go", - Params: []Param{ - {Name: "ip", Type: "string"}, - }, -}, - }, - ResponseModifiers: []Modifier{ -{ - Name: "APIContent", - Description: "APIContent creates an JSON representation of the article and returns it as an API response.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/api_content.go", - Params: []Param{ - - }, -}, -{ - Name: "BlockElementRemoval", - Description: "BlockElementRemoval prevents paywall javascript from removing a particular element by detecting the removal, then immediately reinserting it. This is useful when a page will return a \"fake\" 404, after flashing the content briefly. If the /outline/ API works, but the regular API doesn't, try this modifier.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_element_removal.go", - Params: []Param{ - {Name: "cssSelector", Type: "string"}, - }, -}, -{ - Name: "BlockThirdPartyScripts", - Description: "BlockThirdPartyScripts rewrites HTML and injects JS to block all third party JS from loading.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_third_party_scripts.go", - Params: []Param{ - - }, -}, -{ - Name: "BypassCORS", - Description: "BypassCORS modifies response headers to prevent the browser from enforcing any CORS restrictions. This should run at the end of the chain.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_cors.go", - Params: []Param{ - - }, -}, -{ - Name: "BypassContentSecurityPolicy", - Description: "BypassContentSecurityPolicy modifies response headers to prevent the browser from enforcing any CSP restrictions. This should run at the end of the chain.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", - Params: []Param{ - - }, -}, -{ - Name: "SetContentSecurityPolicy", - Description: "SetContentSecurityPolicy modifies response headers to a specific CSP", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", - Params: []Param{ - {Name: "csp", Type: "string"}, - }, -}, -{ - Name: "DeleteLocalStorageData", - Description: "DeleteLocalStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteSessionStorageData and DeleteIncomingCookies", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_localstorage_data.go", - Params: []Param{ - - }, -}, -{ - Name: "DeleteSessionStorageData", - Description: "DeleteSessionStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteLocalStorageData and DeleteIncomingCookies", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_sessionstorage_data.go", - Params: []Param{ - - }, -}, -{ - Name: "ForwardResponseHeaders", - Description: "ForwardResponseHeaders forwards the response headers from the upstream server to the client", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/forward_response_headers.go", - Params: []Param{ - - }, -}, -{ - Name: "GenerateReadableOutline", - Description: "GenerateReadableOutline creates an reader-friendly distilled representation of the article. This is a reliable way of bypassing soft-paywalled articles, where the content is hidden, but still present in the DOM.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/generate_readable_outline.go", - Params: []Param{ - - }, -}, -{ - Name: "InjectScriptBeforeDOMContentLoaded", - Description: "InjectScriptBeforeDOMContentLoaded modifies HTTP responses to inject a JS before DOM Content is loaded (script tag in head)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", - Params: []Param{ - {Name: "js", Type: "string"}, - }, -}, -{ - Name: "InjectScriptAfterDOMContentLoaded", - Description: "InjectScriptAfterDOMContentLoaded modifies HTTP responses to inject a JS after DOM Content is loaded (script tag in head)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", - Params: []Param{ - {Name: "js", Type: "string"}, - }, -}, -{ - Name: "InjectScriptAfterDOMIdle", - Description: "InjectScriptAfterDOMIdle modifies HTTP responses to inject a JS after the DOM is idle (ie: js framework loaded)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", - Params: []Param{ - {Name: "js", Type: "string"}, - }, -}, -{ - Name: "DeleteIncomingCookies", - Description: "DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server back down to the client.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", - Params: []Param{ - {Name: "_", Type: "&{Ellipsis:16319 Elt:string}"}, - }, -}, -{ - Name: "DeleteIncomingCookiesExcept", - Description: "DeleteIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server to the client. Cookies whose names are in the whitelist are not removed.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", - Params: []Param{ - {Name: "whitelist", Type: "&{Ellipsis:16864 Elt:string}"}, - }, -}, -{ - Name: "SetIncomingCookies", - Description: "SetIncomingCookies adds a raw cookie string being sent from the proxy server down to the client", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", - Params: []Param{ - {Name: "cookies", Type: "string"}, - }, -}, -{ - Name: "SetIncomingCookie", - Description: "SetIncomingCookie modifies a specific cookie in the response from the proxy server to the client.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", - Params: []Param{ - {Name: "name", Type: "string"}, - {Name: "val", Type: "string"}, - }, -}, -{ - Name: "SetResponseHeader", - Description: "SetResponseHeader modifies response headers from the upstream server", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", - Params: []Param{ - {Name: "key", Type: "string"}, - {Name: "value", Type: "string"}, - }, -}, -{ - Name: "DeleteResponseHeader", - Description: "DeleteResponseHeader removes response headers from the upstream server", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", - Params: []Param{ - {Name: "key", Type: "string"}, - }, -}, -{ - Name: "PatchDynamicResourceURLs", - Description: "PatchDynamicResourceURLs patches the javascript runtime to rewrite URLs client-side. - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy. - Native APIs capable of network requests will be hooked and the URLs arguments modified to point to the proxy instead. - fetch('/relative_path') -> fetch('/https://proxiedsite.com/relative_path') - Element.setAttribute('src', \"/assets/img.jpg\") -> Element.setAttribute('src', \"/https://proxiedsite.com/assets/img.jpg\") -> fetch('/https://proxiedsite.com/relative_path')", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_dynamic_resource_urls.go", - Params: []Param{ - - }, -}, -{ - Name: "PatchTrackerScripts", - Description: "PatchTrackerScripts replaces any request to tracker scripts such as google analytics with a no-op stub that mocks the API structure of the original scripts they replace. Some pages depend on the existence of these structures for proper loading, so this may fix some broken elements. Surrogate script code borrowed from: DuckDuckGo Privacy Essentials browser extension for Firefox, Chrome. (Apache 2.0 license)", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_tracker_scripts.go", - Params: []Param{ - - }, -}, -{ - Name: "RewriteHTMLResourceURLs", - Description: "RewriteHTMLResourceURLs modifies HTTP responses to rewrite URLs attributes in HTML content (such as src, href) - `` -> `` - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy.", - CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/rewrite_http_resource_urls.go", - Params: []Param{ - - }, -}, - }, -} From 424893a5a36610b54049928f5da4672caacac93d Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Fri, 8 Dec 2023 01:04:43 -0500 Subject: [PATCH 134/178] Undo delete -> don't merge --- handlers/api_modifiers_structdef.gen.go | 558 ++++++++++++++++++++++++ 1 file changed, 558 insertions(+) create mode 100644 handlers/api_modifiers_structdef.gen.go diff --git a/handlers/api_modifiers_structdef.gen.go b/handlers/api_modifiers_structdef.gen.go new file mode 100644 index 00000000..b6ae548f --- /dev/null +++ b/handlers/api_modifiers_structdef.gen.go @@ -0,0 +1,558 @@ + +package handlers +// DO NOT EDIT THIS FILE. It is automatically generated by ladder/handlers/api_modifiers_codegen/api_modifiers_codegen.go +// The purpose of this is to produce an API reponse listing all the available modifier, their parameters and usage instructions. +// for use in proxychains. + +import ( + "ladder/proxychain/responsemodifiers/api" +) + +type ModifiersAPIResponse struct { + Success bool `json:"success"` + Error api.ErrorDetails `json:"error"` + Result Modifiers `json:"result"` +} + +type Modifiers struct { + RequestModifiers []Modifier `json:"requestmodifiers"` + ResponseModifiers []Modifier `json:"responsemodifiers"` +} + +type Modifier struct { + Name string `json:"name"` + Description string `json:"description"` + CodeEditLink string `json:"code_edit_link"` + Params []Param `json:"params"` +} + +type Param struct { + Name string `json:"name"` + Type string `json:"type"` +} + +var AllMods Modifiers = Modifiers{ + RequestModifiers: []Modifier{ +{ + Name: "AddCacheBusterQuery", + Description: "AddCacheBusterQuery modifies query params to add a random parameter key In order to get the upstream network stack to serve a fresh copy of the page.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/add_cache_buster_query.go", + Params: []Param{ + + }, +}, +{ + Name: "ForwardRequestHeaders", + Description: "ForwardRequestHeaders forwards the requests headers sent from the client to the upstream server", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/forward_request_headers.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsGoogleBot", + Description: "MasqueradeAsGoogleBot modifies user agent and x-forwarded for to appear to be a Google Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsBingBot", + Description: "MasqueradeAsBingBot modifies user agent and x-forwarded for to appear to be a Bing Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsWaybackMachineBot", + Description: "MasqueradeAsWaybackMachineBot modifies user agent and x-forwarded for to appear to be a archive.org (wayback machine) Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsFacebookBot", + Description: "MasqueradeAsFacebookBot modifies user agent and x-forwarded for to appear to be a Facebook Bot (link previews?)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsYandexBot", + Description: "MasqueradeAsYandexBot modifies user agent and x-forwarded for to appear to be a Yandex Spider Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsBaiduBot", + Description: "MasqueradeAsBaiduBot modifies user agent and x-forwarded for to appear to be a Baidu Spider Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsDuckDuckBot", + Description: "MasqueradeAsDuckDuckBot modifies user agent and x-forwarded for to appear to be a DuckDuckGo Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "MasqueradeAsYahooBot", + Description: "MasqueradeAsYahooBot modifies user agent and x-forwarded for to appear to be a Yahoo Bot", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/masquerade_as_trusted_bot.go", + Params: []Param{ + + }, +}, +{ + Name: "ModifyDomainWithRegex", + Description: "", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_domain_with_regex.go", + Params: []Param{ + {Name: "matchRegex", Type: "string"}, + {Name: "replacement", Type: "string"}, + }, +}, +{ + Name: "SetOutgoingCookie", + Description: "SetOutgoingCookie modifes a specific cookie name by modifying the request cookie headers going to the upstream server. If the cookie name does not already exist, it is created.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", + Params: []Param{ + {Name: "name", Type: "string"}, + {Name: "val", Type: "string"}, + }, +}, +{ + Name: "SetOutgoingCookies", + Description: "SetOutgoingCookies modifies a client request's cookie header to a raw Cookie string, overwriting existing cookies", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", + Params: []Param{ + {Name: "cookies", Type: "string"}, + }, +}, +{ + Name: "DeleteOutgoingCookie", + Description: "DeleteOutgoingCookie modifies the http request's cookies header to delete a specific request cookie going to the upstream server. If the cookie does not exist, it does not do anything.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", + Params: []Param{ + {Name: "name", Type: "string"}, + }, +}, +{ + Name: "DeleteOutgoingCookies", + Description: "DeleteOutgoingCookies removes the cookie header entirely, preventing any cookies from reaching the upstream server.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", + Params: []Param{ + + }, +}, +{ + Name: "DeleteOutgoingCookiesExcept", + Description: "DeleteOutGoingCookiesExcept prevents non-whitelisted cookies from being sent from the client to the upstream proxy server. Cookies whose names are in the whitelist are not removed.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_outgoing_cookies.go", + Params: []Param{ + {Name: "whitelist", Type: "&{Ellipsis:12348 Elt:string}"}, + }, +}, +{ + Name: "ModifyPathWithRegex", + Description: "", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_path_with_regex.go", + Params: []Param{ + {Name: "matchRegex", Type: "string"}, + {Name: "replacement", Type: "string"}, + }, +}, +{ + Name: "ModifyQueryParams", + Description: "ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. If the query param key doesn't exist, it is created.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_query_params.go", + Params: []Param{ + {Name: "key", Type: "string"}, + {Name: "value", Type: "string"}, + }, +}, +{ + Name: "SetRequestHeader", + Description: "SetRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", + Params: []Param{ + {Name: "name", Type: "string"}, + {Name: "val", Type: "string"}, + }, +}, +{ + Name: "DeleteRequestHeader", + Description: "DeleteRequestHeader modifies a specific outgoing header This is the header that the upstream server will see.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/modify_request_headers.go", + Params: []Param{ + {Name: "name", Type: "string"}, + }, +}, +{ + Name: "RequestArchiveIs", + Description: "RequestArchiveIs modifies a ProxyChain's URL to request an archived version from archive.is", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_archive_is.go", + Params: []Param{ + + }, +}, +{ + Name: "RequestGoogleCache", + Description: "RequestGoogleCache modifies a ProxyChain's URL to request its Google Cache version.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_google_cache.go", + Params: []Param{ + + }, +}, +{ + Name: "RequestWaybackMachine", + Description: "RequestWaybackMachine modifies a ProxyChain's URL to request the wayback machine (archive.org) version.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/request_wayback_machine.go", + Params: []Param{ + + }, +}, +{ + Name: "ResolveWithGoogleDoH", + Description: "ResolveWithGoogleDoH modifies a ProxyChain's client to make the request by resolving the URL using Google's DNS over HTTPs service", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/resolve_with_google_doh.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofOrigin", + Description: "SpoofOrigin modifies the origin header if the upstream server returns a Vary header it means you might get a different response if you change this", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", + Params: []Param{ + {Name: "url", Type: "string"}, + }, +}, +{ + Name: "HideOrigin", + Description: "HideOrigin modifies the origin header so that it is the original origin, not the proxy", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_origin.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrer", + Description: "SpoofReferrer modifies the referrer header. It is useful if the page can be accessed from a search engine or social media site, but not by browsing the website itself. if url is \"\", then the referrer header is removed.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", + Params: []Param{ + {Name: "url", Type: "string"}, + }, +}, +{ + Name: "HideReferrer", + Description: "HideReferrer modifies the referrer header so that it is the original referrer, not the proxy", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromBaiduSearch", + Description: "SpoofReferrerFromBaiduSearch modifies the referrer header pretending to be from a BaiduSearch", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromBingSearch", + Description: "SpoofReferrerFromBingSearch modifies the referrer header pretending to be from a bing search site", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromGoogleSearch", + Description: "SpoofReferrerFromGoogleSearch modifies the referrer header pretending to be from a google search site", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_google_search.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromLinkedInPost", + Description: "SpoofReferrerFromLinkedInPost modifies the referrer header pretending to be from a linkedin post", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromNaverSearch", + Description: "SpoofReferrerFromNaverSearch modifies the referrer header pretending to be from a Naver search (popular in South Korea)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromPinterestPost", + Description: "SpoofReferrerFromPinterestPost modifies the referrer header pretending to be from a pinterest post", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromQQPost", + Description: "SpoofReferrerFromQQPost modifies the referrer header pretending to be from a QQ post (popular social media in China)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromRedditPost", + Description: "SpoofReferrerFromRedditPost modifies the referrer header pretending to be from a reddit post", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromTumblrPost", + Description: "SpoofReferrerFromTumblrPost modifies the referrer header pretending to be from a tumblr post", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromTwitterPost", + Description: "SpoofReferrerFromTwitterPost modifies the referrer header pretending to be from a twitter post", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromVkontaktePost", + Description: "SpoofReferrerFromVkontaktePost modifies the referrer header pretending to be from a vkontakte post (popular in Russia)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofReferrerFromWeiboPost", + Description: "SpoofReferrerFromWeiboPost modifies the referrer header pretending to be from a Weibo post (popular in China)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go", + Params: []Param{ + + }, +}, +{ + Name: "SpoofUserAgent", + Description: "SpoofUserAgent modifies the user agent", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_user_agent.go", + Params: []Param{ + {Name: "ua", Type: "string"}, + }, +}, +{ + Name: "SpoofXForwardedFor", + Description: "SpoofXForwardedFor modifies the X-Forwarded-For header in some cases, a forward proxy may interpret this as the source IP", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/requestmodifiers/spoof_x_forwarded_for.go", + Params: []Param{ + {Name: "ip", Type: "string"}, + }, +}, + }, + ResponseModifiers: []Modifier{ +{ + Name: "APIContent", + Description: "APIContent creates an JSON representation of the article and returns it as an API response.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/api_content.go", + Params: []Param{ + + }, +}, +{ + Name: "BlockElementRemoval", + Description: "BlockElementRemoval prevents paywall javascript from removing a particular element by detecting the removal, then immediately reinserting it. This is useful when a page will return a \"fake\" 404, after flashing the content briefly. If the /outline/ API works, but the regular API doesn't, try this modifier.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_element_removal.go", + Params: []Param{ + {Name: "cssSelector", Type: "string"}, + }, +}, +{ + Name: "BlockThirdPartyScripts", + Description: "BlockThirdPartyScripts rewrites HTML and injects JS to block all third party JS from loading.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/block_third_party_scripts.go", + Params: []Param{ + + }, +}, +{ + Name: "BypassCORS", + Description: "BypassCORS modifies response headers to prevent the browser from enforcing any CORS restrictions. This should run at the end of the chain.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_cors.go", + Params: []Param{ + + }, +}, +{ + Name: "BypassContentSecurityPolicy", + Description: "BypassContentSecurityPolicy modifies response headers to prevent the browser from enforcing any CSP restrictions. This should run at the end of the chain.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", + Params: []Param{ + + }, +}, +{ + Name: "SetContentSecurityPolicy", + Description: "SetContentSecurityPolicy modifies response headers to a specific CSP", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/bypass_csp.go", + Params: []Param{ + {Name: "csp", Type: "string"}, + }, +}, +{ + Name: "DeleteLocalStorageData", + Description: "DeleteLocalStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteSessionStorageData and DeleteIncomingCookies", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_localstorage_data.go", + Params: []Param{ + + }, +}, +{ + Name: "DeleteSessionStorageData", + Description: "DeleteSessionStorageData deletes localstorage cookies. If the page works once in a fresh incognito window, but fails for subsequent loads, try this response modifier alongside DeleteLocalStorageData and DeleteIncomingCookies", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/delete_sessionstorage_data.go", + Params: []Param{ + + }, +}, +{ + Name: "ForwardResponseHeaders", + Description: "ForwardResponseHeaders forwards the response headers from the upstream server to the client", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/forward_response_headers.go", + Params: []Param{ + + }, +}, +{ + Name: "GenerateReadableOutline", + Description: "GenerateReadableOutline creates an reader-friendly distilled representation of the article. This is a reliable way of bypassing soft-paywalled articles, where the content is hidden, but still present in the DOM.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/generate_readable_outline.go", + Params: []Param{ + + }, +}, +{ + Name: "InjectScriptBeforeDOMContentLoaded", + Description: "InjectScriptBeforeDOMContentLoaded modifies HTTP responses to inject a JS before DOM Content is loaded (script tag in head)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", + Params: []Param{ + {Name: "js", Type: "string"}, + }, +}, +{ + Name: "InjectScriptAfterDOMContentLoaded", + Description: "InjectScriptAfterDOMContentLoaded modifies HTTP responses to inject a JS after DOM Content is loaded (script tag in head)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", + Params: []Param{ + {Name: "js", Type: "string"}, + }, +}, +{ + Name: "InjectScriptAfterDOMIdle", + Description: "InjectScriptAfterDOMIdle modifies HTTP responses to inject a JS after the DOM is idle (ie: js framework loaded)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/inject_script.go", + Params: []Param{ + {Name: "js", Type: "string"}, + }, +}, +{ + Name: "DeleteIncomingCookies", + Description: "DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server back down to the client.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", + Params: []Param{ + {Name: "_", Type: "&{Ellipsis:16319 Elt:string}"}, + }, +}, +{ + Name: "DeleteIncomingCookiesExcept", + Description: "DeleteIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server to the client. Cookies whose names are in the whitelist are not removed.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", + Params: []Param{ + {Name: "whitelist", Type: "&{Ellipsis:16864 Elt:string}"}, + }, +}, +{ + Name: "SetIncomingCookies", + Description: "SetIncomingCookies adds a raw cookie string being sent from the proxy server down to the client", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", + Params: []Param{ + {Name: "cookies", Type: "string"}, + }, +}, +{ + Name: "SetIncomingCookie", + Description: "SetIncomingCookie modifies a specific cookie in the response from the proxy server to the client.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_incoming_cookies.go", + Params: []Param{ + {Name: "name", Type: "string"}, + {Name: "val", Type: "string"}, + }, +}, +{ + Name: "SetResponseHeader", + Description: "SetResponseHeader modifies response headers from the upstream server", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", + Params: []Param{ + {Name: "key", Type: "string"}, + {Name: "value", Type: "string"}, + }, +}, +{ + Name: "DeleteResponseHeader", + Description: "DeleteResponseHeader removes response headers from the upstream server", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/modify_response_header.go", + Params: []Param{ + {Name: "key", Type: "string"}, + }, +}, +{ + Name: "PatchDynamicResourceURLs", + Description: "PatchDynamicResourceURLs patches the javascript runtime to rewrite URLs client-side. - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy. - Native APIs capable of network requests will be hooked and the URLs arguments modified to point to the proxy instead. - fetch('/relative_path') -> fetch('/https://proxiedsite.com/relative_path') - Element.setAttribute('src', \"/assets/img.jpg\") -> Element.setAttribute('src', \"/https://proxiedsite.com/assets/img.jpg\") -> fetch('/https://proxiedsite.com/relative_path')", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_dynamic_resource_urls.go", + Params: []Param{ + + }, +}, +{ + Name: "PatchTrackerScripts", + Description: "PatchTrackerScripts replaces any request to tracker scripts such as google analytics with a no-op stub that mocks the API structure of the original scripts they replace. Some pages depend on the existence of these structures for proper loading, so this may fix some broken elements. Surrogate script code borrowed from: DuckDuckGo Privacy Essentials browser extension for Firefox, Chrome. (Apache 2.0 license)", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/patch_tracker_scripts.go", + Params: []Param{ + + }, +}, +{ + Name: "RewriteHTMLResourceURLs", + Description: "RewriteHTMLResourceURLs modifies HTTP responses to rewrite URLs attributes in HTML content (such as src, href) - `` -> `` - This function is designed to allow the proxified page to still be browsible by routing all resource URLs through the proxy.", + CodeEditLink: "https://github.com/joncrangle/ladder.git/edit/proxy_v2/playground/proxychain/responsemodifiers/rewrite_http_resource_urls.go", + Params: []Param{ + + }, +}, + }, +} From b76a941164287f0b8e1310bfdd12083e275c7026 Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Fri, 8 Dec 2023 01:35:48 -0500 Subject: [PATCH 135/178] Remove extra quote --- .github/workflows/build-css.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-css.yaml b/.github/workflows/build-css.yaml index 06e77718..175949b6 100644 --- a/.github/workflows/build-css.yaml +++ b/.github/workflows/build-css.yaml @@ -39,7 +39,7 @@ jobs: git config --global user.name "Github action" git config --global user.email "username@users.noreply.github.com" git add handlers - git add "proxychain/responsemodifiers/vendor/ + git add proxychain/responsemodifiers/vendor/ git commit -m "Generated stylesheet" git push fi From b94e64a4d354ed530fe909dfd651a7e9d59d64ce Mon Sep 17 00:00:00 2001 From: joncrangle <94425204+joncrangle@users.noreply.github.com> Date: Fri, 8 Dec 2023 01:37:27 -0500 Subject: [PATCH 136/178] Empty array instead of empty object in null coalesce --- handlers/playground-script.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/handlers/playground-script.js b/handlers/playground-script.js index 33522437..a640b64c 100644 --- a/handlers/playground-script.js +++ b/handlers/playground-script.js @@ -65,7 +65,7 @@ async function fetchPayload() { const response = await fetch("/api/modifiers"); const data = await response.json(); - Object.entries(data.result.requestmodifiers ?? {}).forEach(([_, value]) => { + Object.entries(data.result.requestmodifiers ?? []).forEach(([_, value]) => { addModifierToNinjaData( value.name, value.description, @@ -74,7 +74,7 @@ async function fetchPayload() { ); }); - Object.entries(data.result.responsemodifiers ?? {}).forEach( + Object.entries(data.result.responsemodifiers ?? []).forEach( ([_, value]) => { addModifierToNinjaData( value.name, From 7661c66250dc94e4dc274973e998eeed8d109853 Mon Sep 17 00:00:00 2001 From: ladddder <151469127+ladddder@users.noreply.github.com> Date: Fri, 8 Dec 2023 09:26:26 +0100 Subject: [PATCH 137/178] #65 use full URL in package line --- cmd/main.go | 9 +++++---- go.mod | 2 +- handlers/api_content.go | 7 ++++--- handlers/api_modifiers.go | 3 ++- handlers/api_modifiers_codegen/api_modifiers_codegen.go | 2 +- handlers/api_modifiers_structdef.gen.go | 2 +- handlers/api_raw.go | 7 ++++--- handlers/outline.go | 7 ++++--- handlers/proxy.go | 9 +++++---- internal/cli/ruleset_merge.go | 2 +- proxychain/codegen/codegen.go | 8 ++++---- proxychain/requestmodifiers/add_cache_buster_query.go | 3 ++- proxychain/requestmodifiers/forward_request_headers.go | 2 +- proxychain/requestmodifiers/masquerade_as_trusted_bot.go | 5 +++-- proxychain/requestmodifiers/modify_domain_with_regex.go | 2 +- proxychain/requestmodifiers/modify_outgoing_cookies.go | 2 +- proxychain/requestmodifiers/modify_path_with_regex.go | 2 +- proxychain/requestmodifiers/modify_query_params.go | 2 +- proxychain/requestmodifiers/modify_request_headers.go | 2 +- proxychain/requestmodifiers/request_archive_is.go | 5 +++-- proxychain/requestmodifiers/request_google_cache.go | 2 +- proxychain/requestmodifiers/request_wayback_machine.go | 5 +++-- proxychain/requestmodifiers/resolve_with_google_doh.go | 2 +- proxychain/requestmodifiers/spoof_origin.go | 2 +- proxychain/requestmodifiers/spoof_referrer.go | 5 +++-- .../requestmodifiers/spoof_referrer_from_baidu_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_bing_search.go | 2 +- .../spoof_referrer_from_google_search.go | 2 +- .../spoof_referrer_from_linkedin_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_naver_post.go | 2 +- .../spoof_referrer_from_pinterest_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_qq_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_reddit_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_tumblr_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_twitter_post.go | 2 +- .../spoof_referrer_from_vkontake_post.go | 2 +- .../requestmodifiers/spoof_referrer_from_weibo_post.go | 2 +- proxychain/requestmodifiers/spoof_user_agent.go | 5 +++-- proxychain/requestmodifiers/spoof_x_forwarded_for.go | 2 +- proxychain/responsemodifiers/api_content.go | 5 +++-- proxychain/responsemodifiers/api_content_test.go | 2 +- proxychain/responsemodifiers/block_element_removal.go | 5 +++-- .../responsemodifiers/block_third_party_scripts.go | 5 +++-- proxychain/responsemodifiers/bypass_cors.go | 2 +- proxychain/responsemodifiers/bypass_csp.go | 2 +- proxychain/responsemodifiers/delete_localstorage_data.go | 2 +- .../responsemodifiers/delete_sessionstorage_data.go | 2 +- proxychain/responsemodifiers/forward_response_headers.go | 2 +- .../responsemodifiers/generate_readable_outline.go | 2 +- proxychain/responsemodifiers/inject_script.go | 5 +++-- proxychain/responsemodifiers/modify_incoming_cookies.go | 2 +- proxychain/responsemodifiers/modify_response_header.go | 2 +- .../responsemodifiers/patch_dynamic_resource_urls.go | 5 +++-- proxychain/responsemodifiers/patch_tracker_scripts.go | 2 +- .../responsemodifiers/rewrite_http_resource_urls.go | 5 +++-- proxychain/ruleset/rule.go | 2 +- proxychain/ruleset/rule_reqmod_types.gen.go | 4 ++-- proxychain/ruleset/rule_resmod_types.gen.go | 4 ++-- 58 files changed, 104 insertions(+), 86 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 997b655a..5820a46c 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -7,10 +7,11 @@ import ( "log" "os" - "ladder/handlers" - "ladder/internal/cli" - "ladder/proxychain/requestmodifiers/bot" - "ladder/proxychain/ruleset" + "github.com/everywall/ladder/handlers" + "github.com/everywall/ladder/internal/cli" + + "github.com/everywall/ladder/proxychain/requestmodifiers/bot" + ruleset_v2 "github.com/everywall/ladder/proxychain/ruleset" "github.com/akamensky/argparse" "github.com/gofiber/fiber/v2" diff --git a/go.mod b/go.mod index 52de4ce7..15fb7f35 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module ladder +module github.com/everywall/ladder go 1.21.1 diff --git a/handlers/api_content.go b/handlers/api_content.go index bf495b48..306cbade 100644 --- a/handlers/api_content.go +++ b/handlers/api_content.go @@ -1,9 +1,10 @@ package handlers import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" - tx "ladder/proxychain/responsemodifiers" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" "github.com/gofiber/fiber/v2" ) diff --git a/handlers/api_modifiers.go b/handlers/api_modifiers.go index 6242536c..cb30df50 100644 --- a/handlers/api_modifiers.go +++ b/handlers/api_modifiers.go @@ -2,8 +2,9 @@ package handlers import ( "encoding/json" + + "github.com/everywall/ladder/proxychain/responsemodifiers/api" "github.com/gofiber/fiber/v2" - "ladder/proxychain/responsemodifiers/api" ) func NewAPIModifersListHandler(opts *ProxyOptions) fiber.Handler { diff --git a/handlers/api_modifiers_codegen/api_modifiers_codegen.go b/handlers/api_modifiers_codegen/api_modifiers_codegen.go index 22edc016..c3c3a443 100644 --- a/handlers/api_modifiers_codegen/api_modifiers_codegen.go +++ b/handlers/api_modifiers_codegen/api_modifiers_codegen.go @@ -146,7 +146,7 @@ package handlers // for use in proxychains. import ( - "ladder/proxychain/responsemodifiers/api" + "github.com/everywall/ladder/proxychain/responsemodifiers/api" ) type ModifiersAPIResponse struct { diff --git a/handlers/api_modifiers_structdef.gen.go b/handlers/api_modifiers_structdef.gen.go index ae24f523..64e5ac19 100644 --- a/handlers/api_modifiers_structdef.gen.go +++ b/handlers/api_modifiers_structdef.gen.go @@ -5,7 +5,7 @@ package handlers // for use in proxychains. import ( - "ladder/proxychain/responsemodifiers/api" + "github.com/everywall/ladder/proxychain/responsemodifiers/api" ) type ModifiersAPIResponse struct { diff --git a/handlers/api_raw.go b/handlers/api_raw.go index 3895a1e5..c6327afa 100644 --- a/handlers/api_raw.go +++ b/handlers/api_raw.go @@ -1,9 +1,10 @@ package handlers import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" - tx "ladder/proxychain/responsemodifiers" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" "github.com/gofiber/fiber/v2" ) diff --git a/handlers/outline.go b/handlers/outline.go index 2960bd00..6fec17b0 100644 --- a/handlers/outline.go +++ b/handlers/outline.go @@ -1,9 +1,10 @@ package handlers import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" - tx "ladder/proxychain/responsemodifiers" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" "github.com/gofiber/fiber/v2" ) diff --git a/handlers/proxy.go b/handlers/proxy.go index 59842673..d08fe307 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -1,10 +1,11 @@ package handlers import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" - tx "ladder/proxychain/responsemodifiers" - "ladder/proxychain/ruleset" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" + ruleset_v2 "github.com/everywall/ladder/proxychain/ruleset" "github.com/gofiber/fiber/v2" ) diff --git a/internal/cli/ruleset_merge.go b/internal/cli/ruleset_merge.go index 2a7a75d4..40999c68 100644 --- a/internal/cli/ruleset_merge.go +++ b/internal/cli/ruleset_merge.go @@ -5,7 +5,7 @@ import ( "io" "os" - "ladder/proxychain/ruleset" + ruleset_v2 "github.com/everywall/ladder/proxychain/ruleset" ) // HandleRulesetMerge merges a set of ruleset files, specified by the rulesetPath or RULESET env variable, into either YAML or Gzip format. diff --git a/proxychain/codegen/codegen.go b/proxychain/codegen/codegen.go index dacca5ad..6d1292f9 100644 --- a/proxychain/codegen/codegen.go +++ b/proxychain/codegen/codegen.go @@ -70,8 +70,8 @@ package ruleset_v2 // for use in proxychains. import ( - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + "github.com/everywall/ladder/proxychain" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" ) type ResponseModifierFactory func(params ...string) proxychain.ResponseModification @@ -142,8 +142,8 @@ package ruleset_v2 // for use in proxychains. import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" + "github.com/everywall/ladder/proxychain" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" ) type RequestModifierFactory func(params ...string) proxychain.RequestModification diff --git a/proxychain/requestmodifiers/add_cache_buster_query.go b/proxychain/requestmodifiers/add_cache_buster_query.go index e60f2e03..d36fdd37 100644 --- a/proxychain/requestmodifiers/add_cache_buster_query.go +++ b/proxychain/requestmodifiers/add_cache_buster_query.go @@ -1,8 +1,9 @@ package requestmodifiers import ( - "ladder/proxychain" "math/rand" + + "github.com/everywall/ladder/proxychain" ) // AddCacheBusterQuery modifies query params to add a random parameter key diff --git a/proxychain/requestmodifiers/forward_request_headers.go b/proxychain/requestmodifiers/forward_request_headers.go index 41a2cfd5..1e8a4398 100644 --- a/proxychain/requestmodifiers/forward_request_headers.go +++ b/proxychain/requestmodifiers/forward_request_headers.go @@ -3,7 +3,7 @@ package requestmodifiers import ( "strings" //"fmt" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) var forwardBlacklist map[string]bool diff --git a/proxychain/requestmodifiers/masquerade_as_trusted_bot.go b/proxychain/requestmodifiers/masquerade_as_trusted_bot.go index b29159dc..eb8db8d4 100644 --- a/proxychain/requestmodifiers/masquerade_as_trusted_bot.go +++ b/proxychain/requestmodifiers/masquerade_as_trusted_bot.go @@ -1,8 +1,9 @@ package requestmodifiers import ( - "ladder/proxychain" - "ladder/proxychain/requestmodifiers/bot" + "github.com/everywall/ladder/proxychain/requestmodifiers/bot" + + "github.com/everywall/ladder/proxychain" ) // MasqueradeAsGoogleBot modifies user agent and x-forwarded for diff --git a/proxychain/requestmodifiers/modify_domain_with_regex.go b/proxychain/requestmodifiers/modify_domain_with_regex.go index 47db02eb..21ea69e7 100644 --- a/proxychain/requestmodifiers/modify_domain_with_regex.go +++ b/proxychain/requestmodifiers/modify_domain_with_regex.go @@ -4,7 +4,7 @@ import ( "fmt" "regexp" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) func ModifyDomainWithRegex(matchRegex string, replacement string) proxychain.RequestModification { diff --git a/proxychain/requestmodifiers/modify_outgoing_cookies.go b/proxychain/requestmodifiers/modify_outgoing_cookies.go index e1415a88..71869ec0 100644 --- a/proxychain/requestmodifiers/modify_outgoing_cookies.go +++ b/proxychain/requestmodifiers/modify_outgoing_cookies.go @@ -5,7 +5,7 @@ import ( //http "github.com/Danny-Dasilva/fhttp" http "github.com/bogdanfinn/fhttp" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SetOutgoingCookie modifes a specific cookie name diff --git a/proxychain/requestmodifiers/modify_path_with_regex.go b/proxychain/requestmodifiers/modify_path_with_regex.go index c2514a38..2c0f20b3 100644 --- a/proxychain/requestmodifiers/modify_path_with_regex.go +++ b/proxychain/requestmodifiers/modify_path_with_regex.go @@ -4,7 +4,7 @@ import ( "fmt" "regexp" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) func ModifyPathWithRegex(matchRegex string, replacement string) proxychain.RequestModification { diff --git a/proxychain/requestmodifiers/modify_query_params.go b/proxychain/requestmodifiers/modify_query_params.go index afdad39c..681ce8b9 100644 --- a/proxychain/requestmodifiers/modify_query_params.go +++ b/proxychain/requestmodifiers/modify_query_params.go @@ -4,7 +4,7 @@ import ( //"fmt" "net/url" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // ModifyQueryParams replaces query parameter values in URL's query params in a ProxyChain's URL. diff --git a/proxychain/requestmodifiers/modify_request_headers.go b/proxychain/requestmodifiers/modify_request_headers.go index 8c60e24a..8938fa9f 100644 --- a/proxychain/requestmodifiers/modify_request_headers.go +++ b/proxychain/requestmodifiers/modify_request_headers.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SetRequestHeader modifies a specific outgoing header diff --git a/proxychain/requestmodifiers/request_archive_is.go b/proxychain/requestmodifiers/request_archive_is.go index 90956e93..625925a1 100644 --- a/proxychain/requestmodifiers/request_archive_is.go +++ b/proxychain/requestmodifiers/request_archive_is.go @@ -5,8 +5,9 @@ import ( "net/url" "regexp" - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" ) const archivistUrl string = "https://archive.is/latest" diff --git a/proxychain/requestmodifiers/request_google_cache.go b/proxychain/requestmodifiers/request_google_cache.go index 457ed66e..6baa1deb 100644 --- a/proxychain/requestmodifiers/request_google_cache.go +++ b/proxychain/requestmodifiers/request_google_cache.go @@ -3,7 +3,7 @@ package requestmodifiers import ( "net/url" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) const googleCacheUrl string = "https://webcache.googleusercontent.com/search?q=cache:" diff --git a/proxychain/requestmodifiers/request_wayback_machine.go b/proxychain/requestmodifiers/request_wayback_machine.go index 92b9e971..81ead322 100644 --- a/proxychain/requestmodifiers/request_wayback_machine.go +++ b/proxychain/requestmodifiers/request_wayback_machine.go @@ -4,8 +4,9 @@ import ( "net/url" "regexp" - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" ) const waybackUrl string = "https://web.archive.org/web/" diff --git a/proxychain/requestmodifiers/resolve_with_google_doh.go b/proxychain/requestmodifiers/resolve_with_google_doh.go index c94ac5ba..0a698708 100644 --- a/proxychain/requestmodifiers/resolve_with_google_doh.go +++ b/proxychain/requestmodifiers/resolve_with_google_doh.go @@ -14,7 +14,7 @@ import ( //"net/http" */ - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // resolveWithGoogleDoH resolves DNS using Google's DNS-over-HTTPS diff --git a/proxychain/requestmodifiers/spoof_origin.go b/proxychain/requestmodifiers/spoof_origin.go index bf548443..b871048f 100644 --- a/proxychain/requestmodifiers/spoof_origin.go +++ b/proxychain/requestmodifiers/spoof_origin.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofOrigin modifies the origin header diff --git a/proxychain/requestmodifiers/spoof_referrer.go b/proxychain/requestmodifiers/spoof_referrer.go index 775fc56f..4735bf3e 100644 --- a/proxychain/requestmodifiers/spoof_referrer.go +++ b/proxychain/requestmodifiers/spoof_referrer.go @@ -3,8 +3,9 @@ package requestmodifiers import ( "fmt" - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" ) // SpoofReferrer modifies the referrer header. diff --git a/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go b/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go index 2c849b90..aa9aaedd 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_baidu_post.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromBaiduSearch modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go b/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go index c1e3ffef..25c01a53 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_bing_search.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromBingSearch modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_google_search.go b/proxychain/requestmodifiers/spoof_referrer_from_google_search.go index f1832928..0d8b5fd9 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_google_search.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_google_search.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromGoogleSearch modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go b/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go index 633b878b..7def19cf 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_linkedin_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromLinkedInPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go b/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go index 6268f83d..17d765f0 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_naver_post.go @@ -3,7 +3,7 @@ package requestmodifiers import ( "fmt" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromNaverSearch modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go b/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go index 321ca5de..929a26d0 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_pinterest_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromPinterestPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go b/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go index 2961cc70..6892838d 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_qq_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromQQPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go b/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go index 41030246..31c88007 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_reddit_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromRedditPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go b/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go index f44f0946..4860097b 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_tumblr_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromTumblrPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go b/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go index 5cd54abb..eeff10c6 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_twitter_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromTwitterPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go b/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go index e5551176..ddc96279 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_vkontake_post.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromVkontaktePost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go b/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go index 068d482b..d8453905 100644 --- a/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go +++ b/proxychain/requestmodifiers/spoof_referrer_from_weibo_post.go @@ -4,7 +4,7 @@ import ( "fmt" "math/rand" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofReferrerFromWeiboPost modifies the referrer header diff --git a/proxychain/requestmodifiers/spoof_user_agent.go b/proxychain/requestmodifiers/spoof_user_agent.go index 921d7ae7..e902f9ad 100644 --- a/proxychain/requestmodifiers/spoof_user_agent.go +++ b/proxychain/requestmodifiers/spoof_user_agent.go @@ -4,8 +4,9 @@ import ( _ "embed" "strings" - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" + + "github.com/everywall/ladder/proxychain" ) // https://github.com/faisalman/ua-parser-js/tree/master diff --git a/proxychain/requestmodifiers/spoof_x_forwarded_for.go b/proxychain/requestmodifiers/spoof_x_forwarded_for.go index c12dd289..c7762bf4 100644 --- a/proxychain/requestmodifiers/spoof_x_forwarded_for.go +++ b/proxychain/requestmodifiers/spoof_x_forwarded_for.go @@ -1,7 +1,7 @@ package requestmodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SpoofXForwardedFor modifies the X-Forwarded-For header diff --git a/proxychain/responsemodifiers/api_content.go b/proxychain/responsemodifiers/api_content.go index 28140918..c715bf3e 100644 --- a/proxychain/responsemodifiers/api_content.go +++ b/proxychain/responsemodifiers/api_content.go @@ -7,8 +7,9 @@ import ( "github.com/markusmobius/go-trafilatura" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/api" + "github.com/everywall/ladder/proxychain/responsemodifiers/api" + + "github.com/everywall/ladder/proxychain" ) // APIContent creates an JSON representation of the article and returns it as an API response. diff --git a/proxychain/responsemodifiers/api_content_test.go b/proxychain/responsemodifiers/api_content_test.go index dbfa82f9..9c60c576 100644 --- a/proxychain/responsemodifiers/api_content_test.go +++ b/proxychain/responsemodifiers/api_content_test.go @@ -7,7 +7,7 @@ import ( "net/url" "testing" - "ladder/proxychain/responsemodifiers/api" + "github.com/everywall/ladder/proxychain/responsemodifiers/api" ) func TestCreateAPIErrReader(t *testing.T) { diff --git a/proxychain/responsemodifiers/block_element_removal.go b/proxychain/responsemodifiers/block_element_removal.go index d3521d0b..7dd8b767 100644 --- a/proxychain/responsemodifiers/block_element_removal.go +++ b/proxychain/responsemodifiers/block_element_removal.go @@ -4,8 +4,9 @@ import ( _ "embed" "strings" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/rewriters" + "github.com/everywall/ladder/proxychain/responsemodifiers/rewriters" + + "github.com/everywall/ladder/proxychain" ) //go:embed vendor/block_element_removal.js diff --git a/proxychain/responsemodifiers/block_third_party_scripts.go b/proxychain/responsemodifiers/block_third_party_scripts.go index 398a6ccb..9af1d0c3 100644 --- a/proxychain/responsemodifiers/block_third_party_scripts.go +++ b/proxychain/responsemodifiers/block_third_party_scripts.go @@ -5,8 +5,9 @@ import ( "fmt" "strings" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/rewriters" + "github.com/everywall/ladder/proxychain/responsemodifiers/rewriters" + + "github.com/everywall/ladder/proxychain" ) // BlockThirdPartyScripts rewrites HTML and injects JS to block all third party JS from loading. diff --git a/proxychain/responsemodifiers/bypass_cors.go b/proxychain/responsemodifiers/bypass_cors.go index 291b6f8f..4a02c4eb 100644 --- a/proxychain/responsemodifiers/bypass_cors.go +++ b/proxychain/responsemodifiers/bypass_cors.go @@ -1,7 +1,7 @@ package responsemodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // BypassCORS modifies response headers to prevent the browser diff --git a/proxychain/responsemodifiers/bypass_csp.go b/proxychain/responsemodifiers/bypass_csp.go index 9d08ef0e..90e1da85 100644 --- a/proxychain/responsemodifiers/bypass_csp.go +++ b/proxychain/responsemodifiers/bypass_csp.go @@ -1,7 +1,7 @@ package responsemodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // TODO: handle edge case where CSP is specified in meta tag: diff --git a/proxychain/responsemodifiers/delete_localstorage_data.go b/proxychain/responsemodifiers/delete_localstorage_data.go index e214b808..6268ef22 100644 --- a/proxychain/responsemodifiers/delete_localstorage_data.go +++ b/proxychain/responsemodifiers/delete_localstorage_data.go @@ -4,7 +4,7 @@ import ( _ "embed" "strings" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // DeleteLocalStorageData deletes localstorage cookies. diff --git a/proxychain/responsemodifiers/delete_sessionstorage_data.go b/proxychain/responsemodifiers/delete_sessionstorage_data.go index d44be33a..b55e20c2 100644 --- a/proxychain/responsemodifiers/delete_sessionstorage_data.go +++ b/proxychain/responsemodifiers/delete_sessionstorage_data.go @@ -4,7 +4,7 @@ import ( _ "embed" "strings" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // DeleteSessionStorageData deletes localstorage cookies. diff --git a/proxychain/responsemodifiers/forward_response_headers.go b/proxychain/responsemodifiers/forward_response_headers.go index 1cdf0086..8f36ca94 100644 --- a/proxychain/responsemodifiers/forward_response_headers.go +++ b/proxychain/responsemodifiers/forward_response_headers.go @@ -5,7 +5,7 @@ import ( "net/url" "strings" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) var forwardBlacklist map[string]bool diff --git a/proxychain/responsemodifiers/generate_readable_outline.go b/proxychain/responsemodifiers/generate_readable_outline.go index f84c61db..430f1909 100644 --- a/proxychain/responsemodifiers/generate_readable_outline.go +++ b/proxychain/responsemodifiers/generate_readable_outline.go @@ -10,7 +10,7 @@ import ( "net/url" "strings" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" "golang.org/x/net/html" "golang.org/x/net/html/atom" diff --git a/proxychain/responsemodifiers/inject_script.go b/proxychain/responsemodifiers/inject_script.go index e9ec0248..6383b495 100644 --- a/proxychain/responsemodifiers/inject_script.go +++ b/proxychain/responsemodifiers/inject_script.go @@ -4,8 +4,9 @@ import ( _ "embed" "strings" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/rewriters" + "github.com/everywall/ladder/proxychain/responsemodifiers/rewriters" + + "github.com/everywall/ladder/proxychain" ) // injectScript modifies HTTP responses diff --git a/proxychain/responsemodifiers/modify_incoming_cookies.go b/proxychain/responsemodifiers/modify_incoming_cookies.go index 5ad63cc6..4c77468e 100644 --- a/proxychain/responsemodifiers/modify_incoming_cookies.go +++ b/proxychain/responsemodifiers/modify_incoming_cookies.go @@ -7,7 +7,7 @@ import ( //"net/http" //http "github.com/Danny-Dasilva/fhttp" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server diff --git a/proxychain/responsemodifiers/modify_response_header.go b/proxychain/responsemodifiers/modify_response_header.go index 2eca24d3..e76c7573 100644 --- a/proxychain/responsemodifiers/modify_response_header.go +++ b/proxychain/responsemodifiers/modify_response_header.go @@ -1,7 +1,7 @@ package responsemodifiers import ( - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) // SetResponseHeader modifies response headers from the upstream server diff --git a/proxychain/responsemodifiers/patch_dynamic_resource_urls.go b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go index 53d30d89..b418b549 100644 --- a/proxychain/responsemodifiers/patch_dynamic_resource_urls.go +++ b/proxychain/responsemodifiers/patch_dynamic_resource_urls.go @@ -5,8 +5,9 @@ import ( "fmt" "strings" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/rewriters" + "github.com/everywall/ladder/proxychain/responsemodifiers/rewriters" + + "github.com/everywall/ladder/proxychain" ) //go:embed vendor/patch_dynamic_resource_urls.js diff --git a/proxychain/responsemodifiers/patch_tracker_scripts.go b/proxychain/responsemodifiers/patch_tracker_scripts.go index 1d1aaa7c..21ca84c5 100644 --- a/proxychain/responsemodifiers/patch_tracker_scripts.go +++ b/proxychain/responsemodifiers/patch_tracker_scripts.go @@ -7,7 +7,7 @@ import ( "log" "regexp" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) //go:embed vendor/ddg-tracker-surrogates/mapping.json diff --git a/proxychain/responsemodifiers/rewrite_http_resource_urls.go b/proxychain/responsemodifiers/rewrite_http_resource_urls.go index cde7a92e..91c99494 100644 --- a/proxychain/responsemodifiers/rewrite_http_resource_urls.go +++ b/proxychain/responsemodifiers/rewrite_http_resource_urls.go @@ -5,8 +5,9 @@ import ( "fmt" "strings" - "ladder/proxychain" - "ladder/proxychain/responsemodifiers/rewriters" + "github.com/everywall/ladder/proxychain/responsemodifiers/rewriters" + + "github.com/everywall/ladder/proxychain" ) // RewriteHTMLResourceURLs modifies HTTP responses diff --git a/proxychain/ruleset/rule.go b/proxychain/ruleset/rule.go index 56f778df..221a4113 100644 --- a/proxychain/ruleset/rule.go +++ b/proxychain/ruleset/rule.go @@ -6,7 +6,7 @@ import ( "fmt" //"gopkg.in/yaml.v3" - "ladder/proxychain" + "github.com/everywall/ladder/proxychain" ) type Rule struct { diff --git a/proxychain/ruleset/rule_reqmod_types.gen.go b/proxychain/ruleset/rule_reqmod_types.gen.go index f8855374..a4445513 100644 --- a/proxychain/ruleset/rule_reqmod_types.gen.go +++ b/proxychain/ruleset/rule_reqmod_types.gen.go @@ -5,8 +5,8 @@ package ruleset_v2 // for use in proxychains. import ( - "ladder/proxychain" - rx "ladder/proxychain/requestmodifiers" + "github.com/everywall/ladder/proxychain" + rx "github.com/everywall/ladder/proxychain/requestmodifiers" ) type RequestModifierFactory func(params ...string) proxychain.RequestModification diff --git a/proxychain/ruleset/rule_resmod_types.gen.go b/proxychain/ruleset/rule_resmod_types.gen.go index eb42a02d..bce41d35 100644 --- a/proxychain/ruleset/rule_resmod_types.gen.go +++ b/proxychain/ruleset/rule_resmod_types.gen.go @@ -5,8 +5,8 @@ package ruleset_v2 // for use in proxychains. import ( - "ladder/proxychain" - tx "ladder/proxychain/responsemodifiers" + "github.com/everywall/ladder/proxychain" + tx "github.com/everywall/ladder/proxychain/responsemodifiers" ) type ResponseModifierFactory func(params ...string) proxychain.ResponseModification From 81c99821f083821f32a97d9ba63f0679732fea1d Mon Sep 17 00:00:00 2001 From: Kevin Pham Date: Fri, 8 Dec 2023 10:20:27 -0600 Subject: [PATCH 138/178] fix title on outline generatation if it contains a ; --- .github/workflows/build-css.yaml | 2 +- handlers/api_modifiers_structdef.gen.go | 4 ++-- proxychain/responsemodifiers/generate_readable_outline.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-css.yaml b/.github/workflows/build-css.yaml index 8d8fa707..ce6f75e4 100644 --- a/.github/workflows/build-css.yaml +++ b/.github/workflows/build-css.yaml @@ -28,7 +28,7 @@ jobs: name: Build Tailwind CSS run: pnpm build - - name: Commit generated stylesheet + name: Commit generated stylesheet for handlers/styles.css run: | if git diff --quiet handlers/styles.css; then echo "No changes to commit." diff --git a/handlers/api_modifiers_structdef.gen.go b/handlers/api_modifiers_structdef.gen.go index 64e5ac19..c0e26994 100644 --- a/handlers/api_modifiers_structdef.gen.go +++ b/handlers/api_modifiers_structdef.gen.go @@ -485,7 +485,7 @@ var AllMods Modifiers = Modifiers{ Description: "DeleteIncomingCookies prevents ALL cookies from being sent from the proxy server back down to the client.", CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ - {Name: "_", Type: "&{Ellipsis:16319 Elt:string}"}, + {Name: "_", Type: "&{Ellipsis:16342 Elt:string}"}, }, }, { @@ -493,7 +493,7 @@ var AllMods Modifiers = Modifiers{ Description: "DeleteIncomingCookiesExcept prevents non-whitelisted cookies from being sent from the proxy server to the client. Cookies whose names are in the whitelist are not removed.", CodeEditLink: "https://github.com/everywall/ladder/edit/origin/proxy_v2/proxychain/responsemodifiers/modify_incoming_cookies.go", Params: []Param{ - {Name: "whitelist", Type: "&{Ellipsis:16864 Elt:string}"}, + {Name: "whitelist", Type: "&{Ellipsis:16887 Elt:string}"}, }, }, { diff --git a/proxychain/responsemodifiers/generate_readable_outline.go b/proxychain/responsemodifiers/generate_readable_outline.go index 430f1909..1d9e4d92 100644 --- a/proxychain/responsemodifiers/generate_readable_outline.go +++ b/proxychain/responsemodifiers/generate_readable_outline.go @@ -68,7 +68,7 @@ func GenerateReadableOutline() proxychain.ResponseModification { "Success": true, "Image": extract.Metadata.Image, "Description": extract.Metadata.Description, - "Sitename": extract.Metadata.Sitename, + "Sitename": strings.Split(extract.Metadata.Sitename, ";")[0], "Hostname": extract.Metadata.Hostname, "Url": "/" + chain.Request.URL.String(), "Title": extract.Metadata.Title, // todo: modify CreateReadableDocument so we don't have

titles duplicated? From b3d799e36dae541048b9fc7da15fd646a315e393 Mon Sep 17 00:00:00 2001 From: Jonathan Crangle Date: Fri, 8 Dec 2023 12:03:22 -0500 Subject: [PATCH 139/178] a11y improvements --- handlers/form.html | 17 ++++++--------- handlers/playground.html | 21 ++++++++++++++----- handlers/script.js | 3 +++ .../vendor/generate_readable_outline.html | 5 ++++- styles/input.css | 2 +- 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/handlers/form.html b/handlers/form.html index ffd3500e..308dc86d 100644 --- a/handlers/form.html +++ b/handlers/form.html @@ -32,7 +32,9 @@
diff --git a/handlers/playground.html b/handlers/playground.html index d5614d79..fd77da17 100644 --- a/handlers/playground.html +++ b/handlers/playground.html @@ -80,6 +80,7 @@ @@ -113,7 +121,9 @@