Commit Graph

307 Commits

Author SHA1 Message Date
Andrey Meshkov fc88f59f61 *(global): fixed service implementation for OpenWrt
We now use a procd init script for OpenWrt just like it's recommended in
the documentation. The service is automatically enabled on the install
command.

 Closes: https://github.com/AdguardTeam/AdGuardHome/issues/1386
2020-02-05 17:38:23 +03:00
Simon Zolin 2151563757 + http: allow access to /__locales/ when not authenticated 2020-01-31 14:15:11 +03:00
Simon Zolin f3b41efff3 * http: allow access to /__locales/ while installing 2020-01-31 14:09:04 +03:00
Simon Zolin 0d7c01d50f + GET /filtering/check_host: Check if host name is filtered 2020-01-30 12:08:46 +03:00
Simon Zolin dcc575402b Merge: * clients: update runtime clients of type DHCP by event from DHCP module
Close #1378

Squashed commit of the following:

commit e45e2d0e2768fe0677eee43538d381b3eaba39ca
Merge: bea8f79d 5e9c21b0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:20 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1378-dhcp-clients

commit bea8f79dd6f8f3eae87649d853917b503df29616
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:06 2020 +0300

    minor

commit 6f1da9c6ea9db5bf80acf234ffe322a4cd2d8d92
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 19:31:08 2020 +0300

    fix

commit a88b46c1ded2b460ef7f0bfbcf1b80a066edf1c1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 12:53:22 2020 +0300

    minor

commit d2897fe0a9b726fcd97a04906e3be3d21f6b42d7
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:55:10 2020 +0300

    * clients: update runtime clients of type DHCP by event from DHCP module

commit 3aa352ed2372141617d77363b2f2aeaf3a7e47a0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:52:08 2020 +0300

    * minor

commit f5c2291e39df4d13b9baf9aa773284890494bb0a
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:08:23 2020 +0300

    * clients: remove old entries of source type /etc/hosts or ARP
2020-01-30 10:25:02 +03:00
Simon Zolin f2591e1d8a * minor 2020-01-28 14:33:58 +03:00
Simon Zolin b519c3a83f * minor 2020-01-28 14:07:11 +03:00
Simon Zolin 91c2712366 + clients: support per-client tags 2020-01-28 14:06:52 +03:00
Simon Zolin 080e1dd74e * auth: respond with 403 for API requests when not authenticated 2020-01-22 18:11:26 +03:00
Simon Zolin 0b8cba7384 * filtering/set_url: allow changing Name and URL parameters 2020-01-21 14:19:05 +03:00
Simon Zolin 8daca1a55a * config: set "default" blocking mode by default 2020-01-20 19:14:14 +03:00
Simon Zolin 254cab3a23 - install: fix DNS nameserver issue after we disable DNSStubListener on Ubuntu 2020-01-16 14:28:21 +03:00
Simon Zolin 6563886b49 Merge: - install: recover from error on DNS server start
Close #1293

Squashed commit of the following:

commit 0981754c5c2c67f2567ee4af0d9ab24377c53413
Merge: ef81f2c8 a6d75118
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 16 14:19:20 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1293-install

commit ef81f2c886f3bfcff4e4352d7ecea6642be7d8e1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 30 18:32:11 2019 +0300

    linter

commit 9e205be53d9de25bd2ad63398644e14b09f95238
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 30 17:22:17 2019 +0300

    - install: recover from error on DNS server start

    Close all modules properly
    Don't register HTTP handlers twice
2020-01-16 14:25:40 +03:00
Simon Zolin e398117d25 Merge: Service: Support installation on OpenWrt
Close #1348

Squashed commit of the following:

commit 87cca9129631350681ec77d1dee0781f0a237387
Merge: 313beee1 9b0096dd
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 16 12:41:20 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1348-openwrt

commit 313beee114e1daae8319192949b4db5fd8321df1
Merge: 16225231 e2f9e298
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 16 12:01:21 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1348-openwrt

commit 16225231bf3836fc6785ebefe44d239591b0485e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 16 11:59:59 2020 +0300

    minor

commit faca9821003334d2032ccec1010eb2acbac88743
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 16 11:54:53 2020 +0300

    minor

commit 0e92ec123023cb6b81ef5cfd7e3ae454c3931980
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 15 14:03:40 2020 +0300

    minor

commit 3185b1d48f31a95857a27e8ed858443f977e97af
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 14 13:18:00 2020 +0300

    minor

commit 6bd6012d01ef55631215a5542630ccf92180739e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Jan 13 19:57:44 2020 +0300

    - service: fix installation on OpenWrt
2020-01-16 12:44:06 +03:00
Simon Zolin 5773df6f6c Merge: + --version: Show the version and exit
Close #1285

Squashed commit of the following:

commit fdc616f38651f9fcc16442003bd15adb88e2c2b1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 15 18:46:00 2020 +0300

    minor

commit 6f5a22c86e5fe76c3959343a8077d3997ff0707d
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 30 19:19:30 2019 +0300

    + --version: Show the version and exit
2020-01-16 10:42:03 +03:00
Simon Zolin eb6c4eb132 + release.sh: add armv5 build
Close #1239

Squashed commit of the following:

commit 707e2f8e265e294c7b1328c375648f799a5ae293
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jan 10 16:32:52 2020 +0300

    leave "AdGuardHome_linux_arm" by default

commit cca01fd03200e70d6ee2201540570382f2b7fdf4
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jan 10 14:53:37 2020 +0300

    fix auto-update; update readme

commit f393a4f511861ef1998c68775bb8f234c5ce1838
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jan 10 13:00:37 2020 +0300

    + release.sh: add armv5 build; rename armv6 build

commit 73f2d20ba6b0a94a9929882fe15175ba80b528d7
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Fri Jan 10 12:59:55 2020 +0300

    * release.sh: fix indentation
2020-01-15 18:58:12 +03:00
Simon Zolin d154502b31 Merge: * auto-update: check if executable file exists
Close #1307

* commit '1792fd3e0f2a7a73536e2bdb29973074be8adf57':
  * auto-update: check if executable file exists
2020-01-15 18:52:23 +03:00
Simon Zolin 47631105c7 Merge: * filters: use increasing update interval
Close #1246

Squashed commit of the following:

commit d0b40719457c1bc41c2f32b425c95e35916366e9
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 15 13:41:45 2020 +0300

    minor

commit c1b682156c1b71dcfc2febe02e3df0a4d5e0a81b
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 14 20:09:27 2020 +0300

    * filters: increasing update interval
2020-01-15 18:41:27 +03:00
Simon Zolin b3ddae7f85 * clients: manual clients don't exclude auto-clients anymore 2020-01-10 15:52:40 +03:00
Simon Zolin 995373c74b * clients: Upstreams cache: refactor
don't use a separate container
2020-01-10 15:52:38 +03:00
Simon Zolin 87bcb67f8f * clients: remove WHOIS info for manually-added clients 2020-01-10 15:51:57 +03:00
Simon Zolin 0cd25cf598 Merge: - clients: fix rename
Close #1340

Squashed commit of the following:

commit 95f0291c681f98c29f4014b651c159d387301af4
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 9 18:56:23 2020 +0300

    add test

commit 293be277e245ff2f430e8c1e9ee3e82dc7da0995
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Jan 9 16:04:36 2020 +0300

    - clients: fix rename
2020-01-10 15:28:58 +03:00
Simon Zolin 1792fd3e0f * auto-update: check if executable file exists 2020-01-10 12:40:16 +03:00
Simon Zolin 4386e8ddde - settings safebrowsing_enabled and safesearch_enabled were incorrect (reversed) 2020-01-09 15:01:54 +03:00
Andrey Meshkov 3a077717ae *(home): do not set whois-info for manually created clients
 Closes: Do not set WhoisInfo for manually created clients
2019-12-23 20:02:06 +03:00
Andrey Meshkov cdd55139fa *(dnsforward): cache upstream instances
 Closes: https://github.com/AdguardTeam/AdGuardHome/issues/1296
2019-12-23 19:31:27 +03:00
Andrey Meshkov 3dd91cf179 -: add one more test 2019-12-23 17:12:50 +03:00
Andrey Meshkov 6bf512f96f -(home): fix searching clients by mac address 2019-12-23 16:59:02 +03:00
Andrey Meshkov 9b93d43ac6 -(home): fix deadlock in clients 2019-12-23 16:27:24 +03:00
Andrey Meshkov ec7a62e123 -(home): fix duplicate check when adding a new ClientHost 2019-12-23 16:20:12 +03:00
Andrey Meshkov abbf8fb87b -(global): fixing the installation flow on windows
There could be a bug caused by the lack of SO_REUSEPORT
2019-12-23 14:57:10 +03:00
Simon Zolin 91c3149ee2 + allow_unencrypted_doh: add test 2019-12-20 14:50:54 +03:00
Krombel ec8fe0b40c + DNS: Allow DOH queries via unencrypted HTTP (e.g. for reverse proxying) 2019-12-20 12:22:43 +03:00
Simon Zolin 04de9d0f7b Merge: - DNS: "custom_ip" blocking mode didn't work after app restart
Close #1262

Squashed commit of the following:

commit bacd683ef5b52e275323a3c07b370ca08702403e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 17:00:49 2019 +0300

    fix

commit 3d4f9626460de3e13a621f2b8e535e9e0939e2bb
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 16:54:23 2019 +0300

    fix

commit bf924bf90e9b705883bec88f8d7af11c39c1f322
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 16:45:41 2019 +0300

    add test

commit 43338ea3645a025d69dd838bc732344255960bed
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 16:07:51 2019 +0300

    - DNS: "custom_ip" blocking mode didn't work after app restart

commit 220f32e713a95d2c67355c61e419dd09df9d42b2
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 15:46:01 2019 +0300

    - first run: fix panic on stop in case initialization didn't complete

    e.g. when Stats module can't be initialized because of incompatible file system
2019-12-16 17:04:30 +03:00
Simon Zolin 6a2430b799 Merge: - clients: IPv6 address matching didn't work
Close #1261

Squashed commit of the following:

commit acc39ea6c0d88cb9d2b07837e89db2c170263891
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 12:29:33 2019 +0300

    minor

commit 0d2ef3d53185d5ca17797e2ac20f0efc1498a53c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 12:13:17 2019 +0300

    add link to GH

commit 0da754b1751057968780b457a2f490f4148275a8
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 16 11:53:42 2019 +0300

    - clients: IPv6 address matching didn't work
2019-12-16 12:36:52 +03:00
Simon Zolin b00a789ca3 Revert "Merge: + DNS: TLS handshake: terminate handshake on bad SNI"
This reverts commit c8c76ae12b.
2019-12-13 17:38:17 +03:00
Simon Zolin c8c76ae12b Merge: + DNS: TLS handshake: terminate handshake on bad SNI
Close #1014

Squashed commit of the following:

commit 759248efc0587ff2f288996c47739e602c557a76
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 19:26:46 2019 +0300

    support empty ServerName

commit 68afecd5eca5ae66262b12dcb414b50efe88dc02
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 14:40:22 2019 +0300

    + DNS: TLS handshake: terminate handshake on bad SNI
2019-12-13 13:06:37 +03:00
Simon Zolin aa202277fb Merge: * update translations
Close #1250

Squashed commit of the following:

commit e722a3e3b4b1049c5df22b3f11b5826992d3cc6c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 18:27:51 2019 +0300

    update ru

commit 086e722a4dc1922ac7b8aff537050689900a8bd0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 18:15:15 2019 +0300

    fix cloudflare -> quad9, update es

commit 86c235936d2f86e536f45fc475f29b43eb695e3d
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 18:01:20 2019 +0300

    * update es, ru, sr-cs

commit 2b6b510b998b7e7b2f4c3fa5d7af57dc5413a611
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 17:43:05 2019 +0300

    * update 'no'

commit 1de6215aa90374ee147bbd0a685643232e98e4c8
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 17:41:37 2019 +0300

    * use dnsproxy v0.23.2

commit c545a1bf7e4e706b45b4670b804a50bf8d75bae3
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 17:36:37 2019 +0300

    update ru

commit c22eec9bcfad67284e21cfc4e6b06fb63a64d25d
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Thu Dec 12 17:22:03 2019 +0300

    * update translations;  add sr-cs, fa, hr
2019-12-12 18:42:51 +03:00
Simon Zolin c9ccc53282 Merge: * set BlockingMode: "null_ip" by default; minor improvements
Squashed commit of the following:

commit 653544b98dc4d1b9a74e1509d0e6104b71bcdcb3
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 17:34:41 2019 +0300

    * DNS reconfigure: protect against delayed socket fd close

commit 9e650f37dee7f771bf1d9d714c35f0a81788aa16
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 15:28:33 2019 +0300

    - fix race on startup

commit 878fdb8fc4ebbc6fab683a65f5e4298e64c2073e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 15:11:21 2019 +0300

    * travis: don't run tests

commit 1c4ab60684ee22d55e6d2a3350c0f24d9844255c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 14:56:28 2019 +0300

    * travis: 'release.sh' and then run tests

commit e1f644b8d9a1f3b46990cdfb1b75fd81b3a49d33
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Dec 11 14:52:59 2019 +0300

    * set BlockingMode: "null_ip" by default
2019-12-11 17:54:34 +03:00
Simon Zolin 0a66913b4d Merge: * use upstream servers directly for the internal DNS resolver
Close #1212

* Server.Start(config *ServerConfig) -> Start()
+ Server.Prepare(config *ServerConfig)
+ Server.Resolve(host string)
+ Server.Exchange()
* rDNS: use internal DNS resolver
- clients: fix race in WriteDiskConfig()
- fix race: move 'clients' object from 'configuration' to 'HomeContext'
    Go race detector didn't like our 'clients' object in 'configuration'.
+ add AGH startup test
    . Create a configuration file
    . Start AGH instance
    . Check Web server
    . Check DNS server
    . Wait until the filters are downloaded
    . Stop and cleanup
* move module objects from config.* to Context.*
* don't call log.SetLevel() if not necessary
    This helps to avoid Go race detector's warning
* ci.sh: 'make' and then run tests

Squashed commit of the following:

commit 86500c7f749307f37af4cc8c2a1066f679d0cfad
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 18:08:53 2019 +0300

    minor

commit 6e6abb9dca3cd250c458bec23aa30d2250a9eb40
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 18:08:31 2019 +0300

    * ci.sh: 'make' and then run tests

commit 114192eefea6800e565ba9ab238202c006516c27
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 17:50:04 2019 +0300

    fix

commit d426deea7f02cdfd4c7217a38c59e51251956a0f
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 17:46:33 2019 +0300

    tests

commit 7b350edf03027895b4e43dee908d0155a9b0ac9b
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:56:12 2019 +0300

    fix test

commit 2f5f116873bbbfdd4bb7f82a596f9e1f5c2bcfd8
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:48:56 2019 +0300

    fix tests

commit 3fbdc77f9c34726e2295185279444983652d559e
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:45:00 2019 +0300

    linter

commit 9da0b6965a2b6863bcd552fa83a4de2866600bb8
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:33:23 2019 +0300

    * config.dnsctx.whois -> Context.whois

commit c71ebdbdf6efd88c877b2f243c69d3bc00a997d7
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:31:08 2019 +0300

    * don't call log.SetLevel() if not necessary

    This helps to avoid Go race detector's warning

commit 0f250220133cefdcb0843a50000cb932802b8324
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 15:28:19 2019 +0300

    * rdns: refactor

commit c460d8c9414940dac852e390b6c1b4d4fb38dff9
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 14:08:08 2019 +0300

    Revert: * stats: serialize access to 'limit'

    Use 'conf *Config' and update it atomically, as in querylog module.
    (Note: Race detector still doesn't like it)

commit 488bcb884971276de0d5629384b29e22c59ee7e6
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 13:50:23 2019 +0300

    * config.dnsFilter -> Context.dnsFilter

commit 86c0a6827a450414b50acec7ebfc5220d13b81e4
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 13:45:05 2019 +0300

    * config.dnsServer -> Context.dnsServer

commit ee35ef095ccaabc89e3de0ef52c9b5ed56b36873
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 13:42:10 2019 +0300

    * config.dhcpServer -> Context.dhcpServer

commit 1537001cd211099d5fad01696c0b806ae5d257b1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 13:39:45 2019 +0300

    * config.queryLog -> Context.queryLog

commit e5955fe4ff1ef6f41763461b37b502ea25a3d04c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Dec 10 13:03:18 2019 +0300

    * config.httpsServer -> Context.httpsServer

commit 6153c10a9ac173e159d1f05e0db1512579b9203c
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 9 20:12:24 2019 +0300

    * config.httpServer -> Context.httpServer

commit abd021fb94039015cd45c97614e8b78d4694f956
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 9 20:08:05 2019 +0300

    * stats: serialize access to 'limit'

commit 38c2decfd87c712100edcabe62a6d4518719cb53
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 9 19:57:04 2019 +0300

    * config.stats -> Context.stats

commit 6caf8965ad44db9dce9a7a5103aa8fa305ad9a06
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Mon Dec 9 19:45:23 2019 +0300

    fix Restart()

... and 6 more commits
2019-12-11 12:38:58 +03:00
Artem Baskal 4f0975bab5 + client: add norwegian language 2019-12-05 14:56:52 +03:00
Simon Zolin 7313c3bc53 + use per-client DNS servers 2019-12-05 13:16:41 +03:00
Simon Zolin b6b26c0681 Merge: - rDNS: support multiple Answer records
Close #1230

* commit '56a0c9684bfdb8bebbeea5eb94192a215d8d45a1':
  - rDNS: support multiple Answer records
2019-12-05 13:14:57 +03:00
Simon Zolin 56a0c9684b - rDNS: support multiple Answer records 2019-12-05 13:06:52 +03:00
Simon Zolin 8dbdf49c32 * use dnsproxy v0.22.0 and urlfilter v0.7.0 2019-12-03 20:55:45 +03:00
Ildar Kamalov 4d7984cb8b Merge: Update blocked_services.go Snapchat Rules
Closes #1222

* commit '9c2e5c3f51fa7fdc5f5e6d89a73c1456a8df49d0':
  Update blocked_services.go Snapchat Rules
2019-12-03 13:35:09 +03:00
Simon Zolin 7e45c2fc24 + new setting "dns.querylog_memsize"
* set 1000 entries by default (not 5000)
2019-12-02 15:46:03 +03:00
Simon Zolin f579c23bc9 * minor fixes 2019-12-02 15:25:11 +03:00
Simon Zolin 9b8cccdfcf * dnsforward: refactor code for default DNS servers logic 2019-12-02 14:58:17 +03:00
Simon Zolin 8bf75b54a4 * update tests 2019-12-02 14:58:17 +03:00
Simon Zolin 19a1c03d3b * dnsforward: move access settings and web handlers 2019-12-02 14:58:17 +03:00
Simon Zolin 7bb32eae3d + dnsforward: refactor
+ dnsforward: own HTTP handlers
* dnsforward: no DNS reload on ProtectionEnabled setting change
* dnsforward: move QueryLog* settings out
* dnsforward: move dnsfilter settings out
* clients,i18n: no DNS reload on settings change
2019-12-02 14:58:17 +03:00
Cybo1927 9c2e5c3f51
Update blocked_services.go Snapchat Rules
Snapchat still works on Android if that's not blocked
2019-11-29 16:55:27 +00:00
Simon Zolin a692616981 - clients: fix tests 2019-11-29 17:35:26 +03:00
Simon Zolin e9cb8666ce * clients: refactor 2019-11-29 17:11:07 +03:00
Simon Zolin 477a4bbf54 * dhcp: move HTTP handlers to dhcpd/ 2019-11-29 17:11:07 +03:00
Simon Zolin 149fcc0f2d * dhcp,clients: DHCP server module is passed to Clients module during initialization. 2019-11-29 17:11:07 +03:00
Simon Zolin fd26af2677 * minor 2019-11-29 16:53:21 +03:00
Simon Zolin 317a9cc49e * config: upgrade scheme to v6 2019-11-29 16:53:05 +03:00
Simon Zolin 71ce0c6da9 * clients: multiple IP, CIDR, MAC addresses
+ /clients/find
* clients: move code for config read/write
* clients: move HTTP handlers
2019-11-29 16:52:32 +03:00
Simon Zolin 48c0b487e3 Merge: * auth: rename "session" cookie to "agh_session"
Close #1196

* commit 'b3614ba62fcde8ff3e3b6e708095f84a230aa2f2':
  * auth: rename "session" cookie to "agh_session"
2019-11-26 19:21:34 +03:00
Ildar Kamalov bdffd8534c Merge: Update blocked_services.goTikTok Rules
Closes #1192

* commit 'f19d8c24c3e3a8d2934affc5690cc72c044a0a3f':
  Update blocked_services.goTikTok Rules
2019-11-26 13:48:58 +03:00
Cybo1927 f19d8c24c3 Update blocked_services.goTikTok Rules 2019-11-26 12:01:09 +03:00
Cybo1927 e0be4e8801 Update blocked_services.go Facebook, Messenger, and Instagram Rules 2019-11-26 11:17:22 +03:00
Ildar Kamalov 713613e3b8 Merge: Update blocked_services.go Snapchat Rules
Closes #1189

* commit 'a78156a7cb259f3cb0a78b7466e09ee4b99f2356':
  Update blocked_services.go Snapchat Rules
2019-11-26 11:12:19 +03:00
Ildar Kamalov af3096e23b Merge: blocked services: add new domain for youtube
Closes #1149

* commit '9675b3776ee50d8df4ce8a875f9b70b22bb8f8ee':
  blocked services: add new domain for youtube
2019-11-26 11:10:19 +03:00
Simon Zolin b3614ba62f * auth: rename "session" cookie to "agh_session"
for compatibility with other HTTP services on the same host
2019-11-25 15:48:14 +03:00
Simon Zolin dc2c68b1e4 * use Go v1.13 2019-11-25 14:10:28 +03:00
Cybo1927 a78156a7cb Update blocked_services.go Snapchat Rules 2019-11-22 14:54:14 +03:00
ArchiveBase 9675b3776e blocked services: add new domain for youtube 2019-11-22 14:50:38 +03:00
ArchiveBase 36636867e1 + blocked_services: add cloudflare 2019-11-21 11:40:03 +03:00
Simon Zolin 7c81efcbcb * go.mod: use bbolt from github 2019-11-20 20:14:28 +03:00
Cybo1927 15f6334748 * blocked_services: update hosts for whatsapp, facebook, youtube, tiktok 2019-11-20 19:57:38 +03:00
ArchiveBase ca6048f667 + blocked_services: add origin 2019-11-20 18:54:45 +03:00
Ildar Kamalov fa45f8a256 Merge: Add amazon to blocked services
* commit 'b1c7497d0552b4abd796e82a166d55faa90a030f':
  + client: add ebay icon
  + blocked_services: add ebay
  + client: add amazon icon
  + blocked_services: add amazon
2019-11-20 18:54:13 +03:00
Ildar Kamalov e7cf8f222d Merge: Add reddit to blocked services
* commit '7c10cefdf9a3d421de2d7e88cfd4e647baf31e8b':
  + client: add reddit icon
  + blocked_services: add reddit
2019-11-20 18:53:35 +03:00
Simon Zolin b03b36e47e * auth: improve logging
Write info log messages for login attempts (both successful and not)
2019-11-20 13:15:12 +03:00
Simon Zolin c9a6e4e018 + config: "web_session_ttl" setting 2019-11-20 13:15:08 +03:00
ArchiveBase c49f62cfe6 + blocked_services: add ebay 2019-11-20 10:28:57 +03:00
ArchiveBase 4a59d5a116 + blocked_services: add amazon 2019-11-20 10:28:56 +03:00
ArchiveBase dbf7a083cb + blocked_services: add reddit 2019-11-20 10:24:41 +03:00
Simon Zolin 6b76a2c9f7 Merge: * blocked-services: youtube: add "youtubei.googleapis.com"
Close #1122

* commit '59720467da42c8520e5d25b2c3368728a61d6bf6':
  * blocked-services: youtube: add "youtubei.googleapis.com"
2019-11-07 15:30:23 +03:00
Simon Zolin 59720467da * blocked-services: youtube: add "youtubei.googleapis.com" 2019-11-07 15:16:47 +03:00
Simon Zolin abd251c5c1 * whois,rdns: use 1 hour cache TTL 2019-11-07 14:02:34 +03:00
Simon Zolin ab24ab2f1a - auth: fix crash on showing Dashboard in UI if authentication is disabled 2019-10-25 11:01:29 +03:00
Simon Zolin 03c4793010 Merge: * don't show "sign out" button if authorization is disabled
Close #1093

* commit '49e535336be47cccee07f2e1b05f0d514aa91aa7':
  * changelog
  + client: get profile info
  * minor
  + GET /control/profile
2019-10-23 19:23:37 +03:00
Simon Zolin 9d29fdea4b Merge: * filters: don't fail on filter update when filter file doesn't exist
Close #1112

* commit '0737354f534385c3c2036e15d65554bcb7090fb4':
  * filters: don't fail on filter update when filter file doesn't exist
2019-10-23 19:19:50 +03:00
Simon Zolin c185f6826a + GET /control/profile
* openapi: get /profile

* auth: store user names along with sessions
2019-10-23 18:43:35 +03:00
Simon Zolin e8bb0fdcb7 Merge: - /control/version.json: don't show error message if auto-update is disabled
Close #1083

* commit '5bcd1545a8044aff7f35179e7a324ec9b4ad1c2e':
  - /control/version.json: don't show error message if auto-update is disabled
2019-10-23 14:21:02 +03:00
Simon Zolin 0737354f53 * filters: don't fail on filter update when filter file doesn't exist 2019-10-23 14:19:43 +03:00
Simon Zolin 67f31ccf43 * minor 2019-10-22 16:15:51 +03:00
Simon Zolin a52c4b4362 Merge: * rdns,whois: get client info for all question types (not just A/AAAA)
Close #1103

* commit '235b198ef97d7a46ab6d76a4074ec589fc0148eb':
  * rdns,whois: recheck IP addresses after some time
  * rdns,whois: get client info for all question types (not just A/AAAA)
2019-10-22 14:37:22 +03:00
Simon Zolin 235b198ef9 * rdns,whois: recheck IP addresses after some time 2019-10-22 13:11:22 +03:00
Simon Zolin ddfd53bf06 * rdns,whois: get client info for all question types (not just A/AAAA) 2019-10-22 13:10:40 +03:00
Simon Zolin 76c9e61199 * TLS: don't print certificate data 2019-10-22 12:09:32 +03:00
Simon Zolin 5bcd1545a8 - /control/version.json: don't show error message if auto-update is disabled 2019-10-21 18:21:05 +03:00
Simon Zolin e2ff8628ad - filters: auto-update didn't work 2019-10-17 14:33:38 +03:00
Simon Zolin 5cc8513322 * use debug log level for unimportant messages 2019-10-16 12:03:51 +03:00
Simon Zolin e2c26ec554 * API changes
* filtering_info -> filtering/status
* filtering_config -> filtering/config
2019-10-14 15:55:58 +03:00
Simon Zolin bfc6c98109 Merge: + auth: add more tests
#1060

* commit '91bb9ccae69afadc06206d413d57c1c3b136e7a7':
  + auth: add more tests
2019-10-11 17:03:50 +03:00
Simon Zolin 91bb9ccae6 + auth: add more tests
* use directory "./agh-test"
2019-10-11 16:59:14 +03:00
Simon Zolin c299753b67 - whois: couldn't set info on existing auto-clients 2019-10-11 16:58:10 +03:00
Simon Zolin c9d7bc3069 * "refresh filters" HTTP handler: return the old synchronous behaviour
This was broken by "* dnsfilter: major refactoring"
2019-10-10 17:12:32 +03:00
Simon Zolin 6a08a9faa6 - whois/rdns: start processing top clients on startup after DNS server is started 2019-10-10 14:00:02 +03:00
Simon Zolin 8676cabc42 * whois/rdns: process up to 100 top clients on startup 2019-10-10 13:55:44 +03:00
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 90db91b0fd * querylog: refactor: move HTTP handlers to querylog/ 2019-10-09 19:38:58 +03:00
Simon Zolin f4451dca7b Merge: * whois: improvements
Close #1035, Close #1036, Close #1047

* commit 'bd29b22f17d5b326d9fd603aa4f74593a0f1fca7':
  * CI: disable check if Git repo contains uncommited changes
  - whois: use the first "descr" field, not the last
  * filter: speed up parsing
  * whois: use whois.arin.net
  + whois, rdns: begin getting info for the most active clients on startup
  + stats: GetTopData()
  * stats: refactor
2019-10-09 19:26:42 +03:00
Simon Zolin e9186e6202 - whois: use the first "descr" field, not the last 2019-10-09 18:03:22 +03:00
Simon Zolin 3b9b37dde7 * filter: speed up parsing 2019-10-09 18:03:22 +03:00
Simon Zolin 37fe3c148f * whois: use whois.arin.net
+ robust redirect mechanism
* decrease timeout 30sec -> 5sec
* faster response parsing
* don't use likexian/whois-go package
2019-10-09 18:03:22 +03:00
Simon Zolin d75620fdc0 + whois, rdns: begin getting info for the most active clients on startup 2019-10-09 18:03:22 +03:00
Simon Zolin 127cca0c83 * systemd service file: fix boot priority: start AGH after network is online 2019-10-08 12:29:11 +03:00
Devin Buhl 55538f72ea block epic games 2019-10-04 17:57:51 +03:00
Ildar Kamalov eb6dc76920 + i18n: add new languages 2019-10-03 20:52:14 +03:00
Andrey Meshkov 8a05e61feb *: fix auth tests - don't leave repo dirty 2019-10-02 17:02:16 +03:00
Andrey Meshkov ed0c5ee525 *: tests mustn't leave repo dirty 2019-10-02 16:59:34 +03:00
Andrey Meshkov 33ae359cc1 *: change initDNSServer method, add getDataDir 2019-10-02 16:53:23 +03:00
Andrey Meshkov 9b23acf6da *: fix linter warnings 2019-10-02 16:40:26 +03:00
Simon Zolin 319cc848bd - crash after filter update if its data is too small 2019-09-27 13:22:08 +03:00
Simon Zolin 81828c87c1 * querylog: POST /control/querylog 2019-09-26 18:27:31 +03:00
Simon Zolin bbb5413331 * stats: refactor: move HTTP handlers to stats/
DNS module passes additional parameters to Stats module.
This allows Stats to handle HTTP requests by itself - completely removing
 all stats-related code from outside.
2019-09-26 16:52:28 +03:00
Simon Zolin fcf37da312 * clients: remove an auto-client if a client with the same IP was added manually 2019-09-25 16:11:42 +03:00
Simon Zolin 95eeccde8f + whois: use "descr" or "netname" in case there's no "orgname" 2019-09-25 16:11:42 +03:00
Andrey Meshkov 875905ce8a Merge: Add WHOIS info for clients
* commit 'a52715e0863af0a9e1b26dbf96fc7cced02ae4f6':
  + client: add whois info to dashboard and logs
  + client: add whois info to clients and auto clients table
  * rDNS: refactor
  + whois: add WHOIS information for a client
2019-09-23 20:07:05 +03:00
Simon Zolin 75b864f25e * dnsforward: create dnsfilter asynchronously 2019-09-23 20:00:11 +03:00
Simon Zolin 192b58b9d9 * rDNS: refactor 2019-09-23 18:14:00 +03:00
Simon Zolin fd592b4dc8 + whois: add WHOIS information for a client
+ return WHOIS info in GET /clients response
2019-09-23 18:12:54 +03:00
Simon Zolin 07fa9bb47c * minor 2019-09-19 12:47:55 +03:00
Andrey Meshkov 4e76013334 *(home): fix golint issues 2019-09-19 12:47:55 +03:00
Simon Zolin d7f256ba7f - fix crash after stats module is closed
Close DNS forward module BEFORE stats.
2019-09-19 12:47:55 +03:00
Simon Zolin a71521a658 + config: upgrade from v4 to v5 2019-09-19 12:47:55 +03:00
Simon Zolin 6304a7b91b + Login page and web sessions
+ /control/login
+ /control/logout
2019-09-19 12:47:55 +03:00
Simon Zolin b8a98c1a77 * stats: pass configuration object via stats.New() 2019-09-16 16:17:39 +03:00
Simon Zolin 93babd3e1c + clients: runtime list: add clients from DHCP that have non-empty Hostname property 2019-09-16 13:06:32 +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 8104c902ee * querylog: move code to a separate package
+ config: "querylog_interval" setting
/control/querylog_config, /control/querylog_info
+ POST /control/querylog_clear
2019-09-12 18:35:13 +03:00
Simon Zolin 04e2566e9e * stats: use uint32 or uint64 integer values, not int 2019-09-12 17:53:27 +03:00
Simon Zolin 8a2aa57e24 - /stats_config: write config 2019-09-12 14:48:24 +03:00
Simon Zolin 97684368b9 - stats: use --workdir 2019-09-12 14:48:13 +03:00
Simon Zolin b078b82a89 * filter update: ensure filter data is text (but not html)
stop checking Content-Type HTTP header
2019-09-10 15:22:17 +03:00
Simon Zolin 4a58266ba3 + statistics: store in separate file
+ GET /control/stats handler
2019-09-04 10:12:02 +03:00
Simon Zolin 60eb55bdce * stats: remove old code 2019-09-04 10:12:01 +03:00
Simon Zolin fe23b33d7e + config: "statistics_interval" setting 2019-09-04 10:12:01 +03:00
Simon Zolin cc2654c371 + /control/stats_config, /control/stats_info 2019-09-04 10:12:01 +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
Simon Zolin 24bb708b21 + config: add certificate_path, private_key_path
* POST /control/tls/configure: support certificate_path and private_key_path
2019-08-30 19:18:14 +03:00
Ildar Kamalov bdd86adac5 + blocked_services: add tiktok main domain 2019-08-29 11:45:39 +03:00
Ildar Kamalov eb524e27a6 + blocked_services: add tiktok 2019-08-29 11:39:04 +03:00
Simon Zolin d4c012220e * control: add link to the issue on github 2019-08-27 11:53:09 +03:00