improve injections

This commit is contained in:
Gianni Carafa
2023-11-04 20:54:38 +01:00
parent 890d6929e0
commit a1e5d540fe
2 changed files with 18 additions and 8 deletions

View File

@@ -166,7 +166,15 @@ func applyRules(domain string, path string, body string) string {
if err != nil {
log.Fatal(err)
}
doc.Find(injection.Position).AppendHtml(injection.Code)
if injection.Replace != "" {
doc.Find(injection.Position).ReplaceWithHtml(injection.Replace)
}
if injection.Append != "" {
doc.Find(injection.Position).AppendHtml(injection.Append)
}
if injection.Prepend != "" {
doc.Find(injection.Position).PrependHtml(injection.Prepend)
}
body, err = doc.Html()
if err != nil {
log.Fatal(err)
@@ -189,6 +197,8 @@ type RuleSet []struct {
RegexRules []Rule `yaml:"regexRules"`
Injections []struct {
Position string `yaml:"position"`
Code string `yaml:"code"`
Append string `yaml:"append"`
Prepend string `yaml:"prepend"`
Replace string `yaml:"replace"`
} `yaml:"injections"`
}

View File

@@ -4,7 +4,7 @@
replace: <script $1 script="/https://www.example.com/$3"
injections:
- position: head # Position where to inject the code
code: |
append: |
<script>
window.localStorage.clear();
console.log("test");
@@ -18,8 +18,8 @@
replace: <script $1 script="/https://www.example.com/$3"
injections:
- position: .left-content article .post-title # Position where to inject the code into DOM
code: |
<script>
window.localStorage.clear();
console.log("test");
</script>
replace: |
<h1>My Custom Title</h1>
- position: .left-content article # Position where to inject the code into DOM
prepend: |
<h2>Suptitle</h2>