Simon Zolin
a59e346d4a
* dnsfilter: major refactoring
...
* dnsfilter is controlled by package home, not dnsforward
* move HTTP handlers to dnsfilter/
* apply filtering settings without DNS server restart
* use only 1 goroutine for filters update
* apply new filters quickly (after they are ready to be used)
2019-10-09 20:05:21 +03:00
Simon Zolin
adb422fedf
filtering: refactor; change API; add "filters_update_interval" setting
...
+ config: "filters_update_interval"
* add /control/filtering_info
* remove /control/filtering/enable
* remove /control/filtering/disable
* add /control/filtering_config
* remove /control/filtering/status
* add /control/filtering/set_url
* remove /control/filtering/enable_url
* remove /control/filtering/disable_url
2019-09-12 18:38:13 +03:00
Simon Zolin
c616259e8b
* dnsfilter: use golibs/cache
...
+ config: add cache size settings
+ config: add cache_time setting
2019-09-02 19:12:53 +03:00
Andrey Meshkov
c82e93cfc7
-(dnsforward): fixed sigsegv when protection is disabled
...
Also, fixed all golint issues
✅ Closes : #941
2019-08-20 00:55:32 +03:00
Simon Zolin
d46ebe1c8b
Revert "+ config: add cache size settings"
...
This reverts commit 81303b5db7
.
2019-08-16 15:17:38 +03:00
Simon Zolin
68d5d595b6
Revert "* dnsfilter: use fastcache instead of gcache"
...
This reverts commit 6f51df7d2e
.
2019-08-16 15:17:38 +03:00
Simon Zolin
ccf72b6008
* safebrowsing/parental: split some code
...
* dnsfilter.CheckHost() doesn't support host="hostname." (with a trailing dot) anymore
2019-08-08 12:11:24 +03:00
Simon Zolin
15d07a40eb
* refactor
2019-08-05 14:12:22 +03:00
Simon Zolin
e81a9c7d56
+ dnsfilter: use global and per-client BlockedServices array
2019-08-05 14:12:22 +03:00
Simon Zolin
1bb6638db7
+ dnsforward: use Rewrites table
2019-07-29 11:48:24 +03:00
Simon Zolin
b66e370ffc
* dnsfilter: refactor: a simple approach to convert Reason to string
2019-07-29 11:37:10 +03:00
Simon Zolin
6f51df7d2e
* dnsfilter: use fastcache instead of gcache
2019-07-23 17:14:13 +03:00
Simon Zolin
81303b5db7
+ config: add cache size settings
2019-07-23 15:57:44 +03:00
Simon Zolin
57c510631e
- dnsfilter: fix crash when global setting 'SafeSearch' is off
...
but per-client setting is on
2019-07-15 12:10:43 +03:00
Simon Zolin
b0cfd7228e
- dnsfilter: fix post-install error "filter file not found"
...
Right after installation we don't have the filter files downloaded.
While they are being downloaded, we replace them with an empty filter.
2019-07-05 17:35:40 +03:00
Simon Zolin
134d9275bb
* use urlfilter v0.4.0
...
Now we pass filtering rules to urlfilter as filer file names,
rather than the list of rule strings.
(Note: user rules are still passed as the list of rule strings).
As a result, we don't store the contents of filter files in memory.
2019-07-04 14:10:01 +03:00
Simon Zolin
42b76ada9d
rename dnsfContext -> dnsFilterContext
2019-06-27 10:48:12 +03:00
Simon Zolin
2307f55715
* dnsfilter: use a single global context object
2019-06-24 19:00:03 +03:00
Andrey Meshkov
082354204b
Fix #831
...
This commit fixes panic when customDialContext fails to resolve the host's address.
2019-06-18 16:18:13 +03:00
Andrey Meshkov
07db927246
Fix #727 - use default parental sensitivity when it's not set
2019-06-06 22:42:17 +03:00
Simon Zolin
3baa6919dc
- fix tests and linter issues
2019-05-31 12:27:13 +03:00
Simon Zolin
8bf76c331d
+ dnsfilter: use callback function for applying per-client settings
2019-05-28 18:44:27 +03:00
Simon Zolin
f23507a554
* dnsfilter: parental/safebrowsing: add setting to switch between HTTP and HTTPS
2019-05-27 18:11:05 +03:00
Simon Zolin
ac8f703407
+ dnsforward: support IPv6 (AAAA response)
...
If question type is AAAA:
Before this patch we responded with NXDOMAIN.
Now we send an empty response if host rule is IPv4;
or we send an AAAA answer if host rule is IPv6.
+ block ipv6 if rule is "0.0.0.0 blockdomain"
2019-05-24 18:08:08 +03:00
Simon Zolin
9ad4bba9ab
* dnsfilter: return the correct IP address (host rules)
2019-05-24 18:08:08 +03:00
Simon Zolin
00e1b6ca08
* dnsfilter: use 'https' for safe-browsing and parental control
2019-05-23 17:26:50 +03:00
Simon Zolin
829415da5b
* dnsfilter: use urlfilter package
...
+ new config setting 'filtering_temp_filename'
* remove AddRules(), modify New()
2019-05-17 18:22:57 +03:00
Simon Zolin
3396d68019
* dnsfilter: remove code for filtering rules
2019-05-17 18:22:57 +03:00
Simon Zolin
bd68bf2e25
* dns: rename dnsfilter.Filter.Rule -> dnsfilter.Filter.Data
2019-05-17 18:22:57 +03:00
Simon Zolin
d918e5b418
use maxDialCacheSize constant
2019-05-15 12:03:20 +03:00
Simon Zolin
b3461d37ca
rename functions and container
2019-05-13 14:47:55 +03:00
Simon Zolin
24ae61de3e
+ dnsfilter: cache IP addresses of safebrowsing and parental control servers
2019-05-13 14:16:07 +03:00
Simon Zolin
c4e67690f4
* dnsfilter: don't use global variable for custom resolver function
2019-04-24 12:49:12 +03:00
Simon Zolin
f6023b395e
- dnsfilter: prevent recursion when both parental control and safebrowsing are enabled
2019-04-24 12:38:05 +03:00
Aleksey Dmitrevskiy
a860c8e6ff
- dnsfilter: fix npe in dnsfilter test
2019-04-23 15:09:23 +03:00
Aleksey Dmitrevskiy
0794704f74
- dnsfilter: fix safesearch issue #268
2019-04-23 15:08:41 +03:00
Simon Zolin
a1b1877667
+ parental, safesearch: use our own DNS resolver instead of system default
2019-04-18 14:31:13 +03:00
Aleksey Dmitrevskiy
6b223e2992
* dnsfilter: extend logging
2019-03-18 14:50:33 +03:00
Aleksey Dmitrevskiy
3929f0da44
[change] control: Handle upstream config with JSON
2019-02-28 13:01:41 +03:00
Simon Zolin
5cb6d97cd7
* use new logger - AdguardTeam/golibs/log
2019-02-27 15:02:11 +03:00
Aleksey Dmitrevskiy
86279f19b0
Add TODO
2019-02-25 17:15:50 +03:00
Aleksey Dmitrevskiy
d0f4f22e0d
Add safesearch test for dnsforward
2019-02-25 14:58:54 +03:00
Aleksey Dmitrevskiy
3916f1073d
Use go tools
2019-02-22 16:41:30 +03:00
Aleksey Dmitrevskiy
623c3bba09
Fix #576 - Fix safesearch
2019-02-22 16:34:36 +03:00
Eugene Bujak
f9d1948f6a
Fix data race found by tests -- https://travis-ci.org/AdguardTeam/AdGuardHome/jobs/489674061#L970
2019-02-07 14:45:46 +03:00
Andrey Meshkov
a0157e39c6
Use EnableAll in gometalinter config
2019-01-25 20:13:57 +03:00
Andrey Meshkov
d078851246
gometalinter
2019-01-25 20:13:57 +03:00
Eugene Bujak
368e2d1ebd
move log wrapper library outside into hmage/golibs/log
2018-12-29 19:12:45 +03:00
Eugene Bujak
d8802a9709
Use new log wrapper and add more functions to it.
2018-12-29 17:37:18 +03:00
Eugene Bujak
e056fb2eb9
Remove unused code.
2018-12-06 17:19:04 +03:00