improve /api/content metadata and tag handling

This commit is contained in:
Kevin Pham
2023-11-30 22:47:15 -06:00
parent ef50c81aa6
commit 140a38fd39
3 changed files with 85 additions and 2 deletions

44
handlers/api_content.go Normal file
View File

@@ -0,0 +1,44 @@
package handlers
import (
"ladder/proxychain"
rx "ladder/proxychain/requestmodifers"
tx "ladder/proxychain/responsemodifers"
"github.com/gofiber/fiber/v2"
)
func NewAPIContentHandler(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.APIContent(),
).
SetFiberCtx(c).
Execute()
return proxychain
}
}