Move Filter definition from dnsforward to dnsfilter, it belongs there.
This commit is contained in:
parent
a6e0a17454
commit
87c54ebd4c
|
@ -7,6 +7,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"github.com/AdguardTeam/AdGuardHome/dnsfilter"
|
||||||
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
@ -81,10 +82,10 @@ var config = configuration{
|
||||||
Prometheus: "prometheus :9153",
|
Prometheus: "prometheus :9153",
|
||||||
},
|
},
|
||||||
Filters: []filter{
|
Filters: []filter{
|
||||||
{Filter: dnsforward.Filter{ID: 1}, Enabled: true, URL: "https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt", Name: "AdGuard Simplified Domain Names filter"},
|
{Filter: dnsfilter.Filter{ID: 1}, Enabled: true, URL: "https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt", Name: "AdGuard Simplified Domain Names filter"},
|
||||||
{Filter: dnsforward.Filter{ID: 2}, Enabled: false, URL: "https://adaway.org/hosts.txt", Name: "AdAway"},
|
{Filter: dnsfilter.Filter{ID: 2}, Enabled: false, URL: "https://adaway.org/hosts.txt", Name: "AdAway"},
|
||||||
{Filter: dnsforward.Filter{ID: 3}, Enabled: false, URL: "https://hosts-file.net/ad_servers.txt", Name: "hpHosts - Ad and Tracking servers only"},
|
{Filter: dnsfilter.Filter{ID: 3}, Enabled: false, URL: "https://hosts-file.net/ad_servers.txt", Name: "hpHosts - Ad and Tracking servers only"},
|
||||||
{Filter: dnsforward.Filter{ID: 4}, Enabled: false, URL: "http://www.malwaredomainlist.com/hostslist/hosts.txt", Name: "MalwareDomainList.com Hosts List"},
|
{Filter: dnsfilter.Filter{ID: 4}, Enabled: false, URL: "http://www.malwaredomainlist.com/hostslist/hosts.txt", Name: "MalwareDomainList.com Hosts List"},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
|
"github.com/AdguardTeam/AdGuardHome/dnsfilter"
|
||||||
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
||||||
"github.com/joomcode/errorx"
|
"github.com/joomcode/errorx"
|
||||||
)
|
)
|
||||||
|
@ -16,14 +17,14 @@ func isRunning() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateServerConfig() dnsforward.ServerConfig {
|
func generateServerConfig() dnsforward.ServerConfig {
|
||||||
filters := []dnsforward.Filter{}
|
filters := []dnsfilter.Filter{}
|
||||||
userFilter := userFilter()
|
userFilter := userFilter()
|
||||||
filters = append(filters, dnsforward.Filter{
|
filters = append(filters, dnsfilter.Filter{
|
||||||
ID: userFilter.ID,
|
ID: userFilter.ID,
|
||||||
Rules: userFilter.Rules,
|
Rules: userFilter.Rules,
|
||||||
})
|
})
|
||||||
for _, filter := range config.Filters {
|
for _, filter := range config.Filters {
|
||||||
filters = append(filters, dnsforward.Filter{
|
filters = append(filters, dnsfilter.Filter{
|
||||||
ID: filter.ID,
|
ID: filter.ID,
|
||||||
Rules: filter.Rules,
|
Rules: filter.Rules,
|
||||||
})
|
})
|
||||||
|
|
|
@ -113,6 +113,11 @@ type Dnsfilter struct {
|
||||||
config config
|
config config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type Filter struct {
|
||||||
|
ID int64 `json:"id"` // auto-assigned when filter is added (see nextFilterID), json by default keeps ID uppercase but we need lowercase
|
||||||
|
Rules []string `json:"-" yaml:"-"` // not in yaml or json
|
||||||
|
}
|
||||||
|
|
||||||
//go:generate stringer -type=Reason
|
//go:generate stringer -type=Reason
|
||||||
|
|
||||||
// Reason holds an enum detailing why it was filtered or not filtered
|
// Reason holds an enum detailing why it was filtered or not filtered
|
||||||
|
|
|
@ -88,7 +88,7 @@ type ServerConfig struct {
|
||||||
UDPListenAddr *net.UDPAddr // if nil, then default is is used (port 53 on *)
|
UDPListenAddr *net.UDPAddr // if nil, then default is is used (port 53 on *)
|
||||||
BlockedResponseTTL uint32 // if 0, then default is used (3600)
|
BlockedResponseTTL uint32 // if 0, then default is used (3600)
|
||||||
Upstreams []Upstream
|
Upstreams []Upstream
|
||||||
Filters []Filter
|
Filters []dnsfilter.Filter
|
||||||
|
|
||||||
FilteringConfig
|
FilteringConfig
|
||||||
}
|
}
|
||||||
|
@ -119,11 +119,6 @@ var defaultValues = ServerConfig{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
type Filter struct {
|
|
||||||
ID int64 `json:"id"` // auto-assigned when filter is added (see nextFilterID), json by default keeps ID uppercase but we need lowercase
|
|
||||||
Rules []string `json:"-" yaml:"-"` // not in yaml or json
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// packet loop
|
// packet loop
|
||||||
//
|
//
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/AdguardTeam/AdGuardHome/dnsforward"
|
"github.com/AdguardTeam/AdGuardHome/dnsfilter"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -28,7 +28,7 @@ type filter struct {
|
||||||
RulesCount int `json:"rulesCount" yaml:"-"`
|
RulesCount int `json:"rulesCount" yaml:"-"`
|
||||||
LastUpdated time.Time `json:"lastUpdated,omitempty" yaml:"last_updated,omitempty"`
|
LastUpdated time.Time `json:"lastUpdated,omitempty" yaml:"last_updated,omitempty"`
|
||||||
|
|
||||||
dnsforward.Filter `yaml:",inline"`
|
dnsfilter.Filter `yaml:",inline"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a helper object for working with the user rules
|
// Creates a helper object for working with the user rules
|
||||||
|
@ -36,7 +36,7 @@ func userFilter() filter {
|
||||||
return filter{
|
return filter{
|
||||||
// User filter always has constant ID=0
|
// User filter always has constant ID=0
|
||||||
Enabled: true,
|
Enabled: true,
|
||||||
Filter: dnsforward.Filter{
|
Filter: dnsfilter.Filter{
|
||||||
Rules: config.UserRules,
|
Rules: config.UserRules,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue