From 87c54ebd4c51dae349e8630448ac0a6ad6210efd Mon Sep 17 00:00:00 2001 From: Eugene Bujak Date: Fri, 30 Nov 2018 13:24:42 +0300 Subject: [PATCH] Move Filter definition from dnsforward to dnsfilter, it belongs there. --- config.go | 9 +++++---- coredns.go | 7 ++++--- dnsfilter/dnsfilter.go | 5 +++++ dnsforward/dnsforward.go | 7 +------ filter.go | 6 +++--- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/config.go b/config.go index 38bee5ed..f79c4684 100644 --- a/config.go +++ b/config.go @@ -7,6 +7,7 @@ import ( "path/filepath" "sync" + "github.com/AdguardTeam/AdGuardHome/dnsfilter" "github.com/AdguardTeam/AdGuardHome/dnsforward" "gopkg.in/yaml.v2" ) @@ -81,10 +82,10 @@ var config = configuration{ Prometheus: "prometheus :9153", }, 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: dnsforward.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: dnsforward.Filter{ID: 4}, Enabled: false, URL: "http://www.malwaredomainlist.com/hostslist/hosts.txt", Name: "MalwareDomainList.com Hosts List"}, + {Filter: dnsfilter.Filter{ID: 1}, Enabled: true, URL: "https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt", Name: "AdGuard Simplified Domain Names filter"}, + {Filter: dnsfilter.Filter{ID: 2}, Enabled: false, URL: "https://adaway.org/hosts.txt", Name: "AdAway"}, + {Filter: dnsfilter.Filter{ID: 3}, Enabled: false, URL: "https://hosts-file.net/ad_servers.txt", Name: "hpHosts - Ad and Tracking servers only"}, + {Filter: dnsfilter.Filter{ID: 4}, Enabled: false, URL: "http://www.malwaredomainlist.com/hostslist/hosts.txt", Name: "MalwareDomainList.com Hosts List"}, }, } diff --git a/coredns.go b/coredns.go index ce46a965..05199868 100644 --- a/coredns.go +++ b/coredns.go @@ -5,6 +5,7 @@ import ( "log" "net" + "github.com/AdguardTeam/AdGuardHome/dnsfilter" "github.com/AdguardTeam/AdGuardHome/dnsforward" "github.com/joomcode/errorx" ) @@ -16,14 +17,14 @@ func isRunning() bool { } func generateServerConfig() dnsforward.ServerConfig { - filters := []dnsforward.Filter{} + filters := []dnsfilter.Filter{} userFilter := userFilter() - filters = append(filters, dnsforward.Filter{ + filters = append(filters, dnsfilter.Filter{ ID: userFilter.ID, Rules: userFilter.Rules, }) for _, filter := range config.Filters { - filters = append(filters, dnsforward.Filter{ + filters = append(filters, dnsfilter.Filter{ ID: filter.ID, Rules: filter.Rules, }) diff --git a/dnsfilter/dnsfilter.go b/dnsfilter/dnsfilter.go index 3153f69f..f96139e4 100644 --- a/dnsfilter/dnsfilter.go +++ b/dnsfilter/dnsfilter.go @@ -113,6 +113,11 @@ type Dnsfilter struct { 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 // Reason holds an enum detailing why it was filtered or not filtered diff --git a/dnsforward/dnsforward.go b/dnsforward/dnsforward.go index d9dfae5c..7a2716e9 100644 --- a/dnsforward/dnsforward.go +++ b/dnsforward/dnsforward.go @@ -88,7 +88,7 @@ type ServerConfig struct { UDPListenAddr *net.UDPAddr // if nil, then default is is used (port 53 on *) BlockedResponseTTL uint32 // if 0, then default is used (3600) Upstreams []Upstream - Filters []Filter + Filters []dnsfilter.Filter 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 // diff --git a/filter.go b/filter.go index 46e3a376..6a8a15c8 100644 --- a/filter.go +++ b/filter.go @@ -12,7 +12,7 @@ import ( "strings" "time" - "github.com/AdguardTeam/AdGuardHome/dnsforward" + "github.com/AdguardTeam/AdGuardHome/dnsfilter" ) var ( @@ -28,7 +28,7 @@ type filter struct { RulesCount int `json:"rulesCount" yaml:"-"` 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 @@ -36,7 +36,7 @@ func userFilter() filter { return filter{ // User filter always has constant ID=0 Enabled: true, - Filter: dnsforward.Filter{ + Filter: dnsfilter.Filter{ Rules: config.UserRules, }, }