AdguardTeam / AdguardTeam/AdGuardHome

Add plugin support

Aperta
#4,598 1 commento 5 reazioni 0 assegnatari Vedi su GitHub
feature request
Lingua principale
TypeScript
Stelle
36.9k
Fork
2.5k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.