AdguardTeam / AdguardTeam/AdGuardHome

Add plugin support

Abierto
#4,598 1 comentario 5 reacciones 0 asignados Ver en GitHub
feature request
Lenguaje dominante
TypeScript
Estrellas
36.9k
Forks
2.5k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.