Move Filter definition from dnsforward to dnsfilter, it belongs there.

This commit is contained in:
Eugene Bujak 2018-11-30 13:24:42 +03:00
parent a6e0a17454
commit 87c54ebd4c
5 changed files with 18 additions and 16 deletions

View File

@ -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"},
}, },
} }

View File

@ -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,
}) })

View File

@ -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

View File

@ -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
// //

View File

@ -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,
}, },
} }