AdguardTeam / AdguardTeam/AdGuardHome

Add plugin support

Ouverte
#4,598 1 commentaire 5 réactions 0 personnes assignées Voir sur GitHub
feature request
Langage dominant
TypeScript
Étoiles
36.9k
Forks
2.5k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Have a question or an idea? Please search it [on our forum](https://github.com/AdguardTeam/AdGuardHome/discussions) to make sure it was not yet asked. If you cannot find what you had in mind, please [submit it here](https://github.com/AdguardTeam/AdGuardHome/discussions/new).

### Prerequisites

Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**

- [x] I am running the latest version
- [x] I checked the documentation and found no answer
- [x] I checked to make sure that this issue has not already been filed

### Problem Description

I have a lot of requirements that require some very complex logic, for example
- I need to apply a global dns upstream configuration based on the query name of the dns, if the name exists in my list, then use global dns upstream configuration, or set it to another custom upstream configuration if it doesn't.
- I need to update the list I mentioned above based on the data returned upstream

### Proposed Solution

So I read part of your code and found that it is actually very easy to implement a set of plugin functions inside Adguard.
We just hook https://github.com/AdguardTeam/AdGuardHome/blob/master/internal/dnsforward/dns.go#L98 this modProcessFunc
data here to insert the logical functions we defined during the dns processing.
But I haven't figured out how to manipulate the plugin's configuration on the front-end configuration page.

Do the maintainers have any idea about this proposal? And if it's possible, I can contribute the code to implement the plugin functionality.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.