diff --git a/handlers/proxy.go b/handlers/proxy.go index 16c29de..732da7c 100644 --- a/handlers/proxy.go +++ b/handlers/proxy.go @@ -149,6 +149,7 @@ func loadRules() RuleSet { } yaml.Unmarshal(yamlFile, &ruleSet) } + //log.Print(ruleSet) log.Println("Loaded rules for", len(ruleSet), "Domains") return ruleSet @@ -163,7 +164,7 @@ func applyRules(domain string, path string, body string) string { if rule.Domain != domain { continue } - if rule.Path != "" && rule.Path != path { + if rule.Path != "" && !strings.HasPrefix(path, rule.Path) { continue } for _, regexRule := range rule.RegexRules { @@ -179,6 +180,7 @@ func applyRules(domain string, path string, body string) string { doc.Find(injection.Position).ReplaceWithHtml(injection.Replace) } if injection.Append != "" { + log.Println("Appending", injection.Append) doc.Find(injection.Position).AppendHtml(injection.Append) } if injection.Prepend != "" { diff --git a/ruleset.yaml b/ruleset.yaml index f0a4419..c7bc90b 100644 --- a/ruleset.yaml +++ b/ruleset.yaml @@ -11,13 +11,17 @@ alert("Hello!"); - domain: www.americanbanker.com - googleCache: false + path: /news injections: - position: head append: | - const inlineGate = document.querySelector('.inline-gate'); - if (inlineGate) { - inlineGate.classList.remove('inline-gate'); - const inlineGated = document.querySelectorAll('.inline-gated'); - for (const elem of inlineGated) { elem.classList.remove('inline-gated'); } - } \ No newline at end of file + \ No newline at end of file