Commit Graph

192 Commits

Author SHA1 Message Date
Eugene Bujak
c499c435c3 Fixup of previous merge -- fix build failure. 2018-10-10 01:13:00 +03:00
Andrey Meshkov
2113bb5436 Merge pull request #60 in DNS/adguard-dns from feature/342 to master
* commit '8503f76747d47160d5d8239e275a7d6d8965dacd':
  Add default disabled hosts filters.
  Change default filter URL to github-hosted version
2018-10-10 01:05:58 +03:00
Eugene Bujak
8503f76747 Add default disabled hosts filters. 2018-10-10 00:59:37 +03:00
Eugene Bujak
c2be5917ef Change default filter URL to github-hosted version 2018-10-10 00:44:39 +03:00
Eugene Bujak
a54984f688 Merge pull request #58 in DNS/adguard-dns from feature/348 to master
* commit '5533b434dac98ba610028ca98327992d18078da0':
  coredns plugin -- give out to browser last entries from querylog file, not first
  Update .gitignore to ignore non-gzipped querylog
  Makefile -- Fix bug introduced by 93c451cb0c
  coredns plugin -- Increase querylog given out to web UI from 1000 to 5000.
2018-10-10 00:35:58 +03:00
Eugene Bujak
5533b434da coredns plugin -- give out to browser last entries from querylog file, not first 2018-10-10 00:23:15 +03:00
Eugene Bujak
4984c55bce Update .gitignore to ignore non-gzipped querylog 2018-10-10 00:05:48 +03:00
Eugene Bujak
9b489c8ddb Makefile -- Fix bug introduced by 93c451cb0c
make would always run webpack, even if output was generated already.
2018-10-10 00:05:48 +03:00
Eugene Bujak
eb5f66ad9e coredns plugin -- Increase querylog given out to web UI from 1000 to 5000. 2018-10-09 22:53:19 +03:00
Eugene Bujak
75d74a017b Merge pull request #56 in DNS/adguard-dns from feature/348 to master
* commit 'ca794aed6344cf0f5570bb359c731a96ca90739f':
  querylog file -- disable gzip compression
  Implement online stats calculation in coredns plugin instead of scraping prometheus.
2018-10-09 21:16:03 +03:00
Eugene Bujak
93c451cb0c Merge pull request #57 in DNS/adguard-dns from feature/354 to master
* commit '0545aeff3fb8368238e8c61d43589ef8b4a6d8e8':
  Fix variable
  Add hash to the static JS/CSS
  Fix tooltip width
  Fix default filtering for query log
  Fix textarea width
2018-10-09 21:15:26 +03:00
Ildar Kamalov
0545aeff3f Fix variable 2018-10-09 11:00:48 +03:00
Ildar Kamalov
814005021c Add hash to the static JS/CSS
Closes #354
2018-10-09 10:25:21 +03:00
Eugene Bujak
ca794aed63 querylog file -- disable gzip compression 2018-10-09 05:02:16 +03:00
Eugene Bujak
37f6d38c49 Implement online stats calculation in coredns plugin instead of scraping prometheus. 2018-10-09 04:45:05 +03:00
Konstantin 🦄 Zamyakin
165722585f Merge pull request #55 in DNS/adguard-dns from hotfix to master
* commit '7dea729656fe60aefcd81b7c1b808866d3c334a7':
  Fix build failure of coredns plugin introduced by previous merge
2018-10-08 21:30:47 +03:00
Eugene Bujak
7dea729656 Fix build failure of coredns plugin introduced by previous merge 2018-10-08 20:35:22 +03:00
Eugene Bujak
16b1a343a0 Merge pull request #54 in DNS/adguard-dns from feature/348 to master
* commit 'a15f21ca1cd0acabf77a4e9750dd77b2b870a6f4':
  code review -- move constants into named constants
  coredns plugin -- Cache /querylog API result
  coredns plugin -- Final fix for deadlock during coredns reload
  coredns plugin -- change rlock to lock when loading top stats to avoid doing it in parallel
  coredns plugin -- Fix deadlock during coredns reload
  stats -- Clamp number of rotations to sane value and prevent from going into (very long) loop
  querylog API -- when manually generating json, don't forget to escape strings
  coredns plugin -- don't reload from querylog on SIGUSR, we already have it in memory
  Fix some lint warnings
  coredns plugin -- Calculate top for domains, clients and blocked both from querylog and running requests.
  Fix more race conditions found by race detector
  Querylog -- Omit empty fields when writing json
  Querylog -- Read from querylog files when answering to /querylog API, it now survives restarts.
  querylog -- Add querylog files to gitignore
  if coredns unexpectedly quits, restart it
  Fix race conditions found by go's race detector
  Querylog -- Implement file writing and update /querylog handler for changed structures.
2018-10-08 20:15:06 +03:00
Eugene Bujak
a15f21ca1c code review -- move constants into named constants 2018-10-08 20:04:36 +03:00
Eugene Bujak
a15c59e24e coredns plugin -- Cache /querylog API result 2018-10-08 19:51:43 +03:00
Ildar Kamalov
5718f55b9a Fix tooltip width 2018-10-08 18:55:30 +03:00
Ildar Kamalov
6de0871f2c Fix default filtering for query log 2018-10-08 18:44:12 +03:00
Ildar Kamalov
6a90efe957 Fix textarea width 2018-10-08 18:42:55 +03:00
Eugene Bujak
763dcc46e9 coredns plugin -- Final fix for deadlock during coredns reload 2018-10-08 17:49:08 +03:00
Eugene Bujak
3109529dbb coredns plugin -- change rlock to lock when loading top stats to avoid doing it in parallel 2018-10-08 17:14:11 +03:00
Eugene Bujak
2c84cd6448 coredns plugin -- Fix deadlock during coredns reload 2018-10-08 17:07:45 +03:00
Eugene Bujak
0440ef016a stats -- Clamp number of rotations to sane value and prevent from going into (very long) loop 2018-10-08 05:55:33 +03:00
Eugene Bujak
182fa37e5f querylog API -- when manually generating json, don't forget to escape strings 2018-10-08 05:07:02 +03:00
Eugene Bujak
ea1125f57d coredns plugin -- don't reload from querylog on SIGUSR, we already have it in memory 2018-10-08 04:24:37 +03:00
Eugene Bujak
4ecb84f9ad Fix some lint warnings 2018-10-07 23:43:24 +03:00
Eugene Bujak
a2434d4574 coredns plugin -- Calculate top for domains, clients and blocked both from querylog and running requests.
This moves the functionality from frontend to coredns plugin.
2018-10-07 23:42:17 +03:00
Eugene Bujak
3b1faa1365 Fix more race conditions found by race detector 2018-10-07 21:24:22 +03:00
Eugene Bujak
dc1042c3e9 Querylog -- Omit empty fields when writing json 2018-10-07 02:21:47 +03:00
Eugene Bujak
a63fe958ae Querylog -- Read from querylog files when answering to /querylog API, it now survives restarts. 2018-10-07 02:21:33 +03:00
Eugene Bujak
0ee112e8a0 querylog -- Add querylog files to gitignore 2018-10-07 02:21:27 +03:00
Eugene Bujak
656d092ad6 if coredns unexpectedly quits, restart it 2018-10-07 02:21:27 +03:00
Eugene Bujak
2244c21b76 Fix race conditions found by go's race detector 2018-10-07 02:21:27 +03:00
Eugene Bujak
2c33905a79 Querylog -- Implement file writing and update /querylog handler for changed structures. 2018-10-07 02:21:12 +03:00
Eugene Bujak
16fd1359cd Merge pull request #53 in DNS/adguard-dns from bugfix/shoult_not_happen_spam to master
* commit '3a7a80f15f0180836077b4f63e504a659133adbb':
  coredns plugin -- fix SHOULD NOT HAPPEN spam when incoming request is for root servers
  Makefile -- update pprof plugin to survive coredns reloads
2018-10-05 17:12:24 +03:00
Eugene Bujak
3a7a80f15f coredns plugin -- fix SHOULD NOT HAPPEN spam when incoming request is for root servers 2018-10-05 07:36:03 +03:00
Eugene Bujak
5b9a5fff97 Makefile -- update pprof plugin to survive coredns reloads 2018-10-05 07:25:44 +03:00
Eugene Bujak
3f8450337f Merge pull request #52 in DNS/adguard-dns from feature/persistent-stats to master
* commit '19e76b693803220dffcd0a1fb1fe1e654309a11a':
  Add API call to reset stats
  Periodically flush stats.json
  Web UI -- persistent stats by writing them into stats.json at exit
2018-10-04 14:53:05 +03:00
Eugene Bujak
19e76b6938 Add API call to reset stats 2018-10-04 14:29:17 +03:00
Eugene Bujak
856e26edcf Periodically flush stats.json 2018-10-04 14:29:17 +03:00
Eugene Bujak
51ec58b0ce Web UI -- persistent stats by writing them into stats.json at exit 2018-10-04 14:29:16 +03:00
Eugene Bujak
c6eabb5b67 Merge pull request #51 in DNS/adguard-dns from feature/regexp_leak to master
* commit '1cc1e3749df6ccefb741232d7949fd5893d84f66':
  dnsfilter -- lazily initialize safebrowsing and parental lookup cache
  dnsfilter -- avoid using regexps when simple suffix match is enough.
2018-10-04 13:52:31 +03:00
Eugene Bujak
1cc1e3749d dnsfilter -- lazily initialize safebrowsing and parental lookup cache 2018-10-04 13:38:52 +03:00
Eugene Bujak
cb97a254a5 dnsfilter -- avoid using regexps when simple suffix match is enough.
This covers 96.98% of all adguard dns rules.
2018-10-04 13:19:43 +03:00
Eugene Bujak
9e939e5754 Merge pull request #49 in DNS/adguard-dns from features/memleak-test to master
* commit '3aac7e7bc9b4bb3ecff697b7748499a14bc64a0d':
  Add a test to demonstrate huge memory usage due from having too many regexps
2018-10-04 12:51:09 +03:00
Eugene Bujak
b72d6f68e6 Merge pull request #47 in DNS/adguard-dns from feature/349 to master
* commit '57ade2c3c3804d24857a45a8ab31c10534154dc7':
  Increase querylog size from 1000 to 10000 -- that'll use 32MB of memory.
  Web UI API -- Give out 24-hour stat instead of last 3 minutes.
2018-10-04 12:16:43 +03:00