AdguardTeam / AdguardTeam/Scriptlets

Support text replacement via cosmetic/scriptlet rules (similar to uBlock Origin rpnt)

未關閉
#547 4 則留言 0 個 reaction 已指派 1 人 已指派給 @maximtop 在 GitHub 檢視
Feature request Priority: P4
主要語言
JavaScript
星號
195
分支
33
PR 合併指標
30 天內沒有已合併 PR

描述

### Issue Details

Currently, AdGuard Browser Extension supports cosmetic CSS rules for hiding or removing elements, but it does **not support text replacement** in page content.

In uBlock Origin, this is possible using trusted scriptlets such as `+js(rpnt, ...)`, which allow replacing text nodes in the DOM (for example, replacing all occurrences of `"microsoft"` with `"microslop"`).

Example (works in uBlock Origin):

```
*##+js(rpnt, #text, /microsoft/gi, microslop, stay, 1)
```

This functionality is **not available** in AdGuard. The same rule is silently ignored, and there is currently no alternative mechanism to perform text replacement using filters.

CSS-only cosmetic rules cannot solve this, since CSS cannot modify text content—only hide or style elements.

## **Additional Notes**

This feature would be useful for:

* Content modification
* Satirical or personal text replacements
* Accessibility or readability adjustments
* Consistency with advanced cosmetic filtering supported by other blockers

### Proposed solution

Add support for a **safe text-replacement mechanism** in cosmetic filtering, for example:

* A limited scriptlet-like rule for replacing text nodes
* Or a dedicated filter syntax for search/replace in visible text
* Executed after DOM load, without requiring full custom JavaScript

The goal is **not arbitrary JS execution**, but a controlled feature to replace text content in the DOM, similar in scope to uBlock Origin’s `rpnt`.

### Alternative solution

* Using CSS (`:has-text`, `:contains`) → only hides elements, does not replace text
* Using userscripts (Tampermonkey / Violentmonkey) → works, but requires an extra extension and is outside AdGuard’s filtering system
* Using uBlock Origin instead → not an option for users committed to AdGuard

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。