Go to file
Simon Zolin c038e4cf14 Merge: + Per-client settings
Close #727

* commit 'a83bc5eeeb4107f2157443b7b40636036fe2a7cc':
  * client: add source column
  * client: remove redundant table formatting for runtime clients table
  * client: show MAC address as default
  + client: add runtime clients table
  * client: add icons for table buttons
  * client: remove unused api method
  * client: confirm before deleting
  * client: remove table column min-width
  * client: fix no data text
  * client: fix sort helper
  + client: handle per-client settings
  - openapi.yaml: fix HTTP methods
  + openapi.yaml: add /clients handlers
  + dnsfilter: use callback function for applying per-client settings
  + dhcp: FindIPbyMAC()
  + dns: use per-client filtering settings
  + clients: config: save/restore clients info array
  + clients API
  + doc: clients
2019-05-28 18:52:51 +03:00
client * client: add source column 2019-05-28 18:44:27 +03:00
dhcpd + dhcp: FindIPbyMAC() 2019-05-28 18:44:27 +03:00
dnsfilter + dnsfilter: use callback function for applying per-client settings 2019-05-28 18:44:27 +03:00
dnsforward + dnsfilter: use callback function for applying per-client settings 2019-05-28 18:44:27 +03:00
openapi - openapi.yaml: fix HTTP methods 2019-05-28 18:44:27 +03:00
scripts + client: added Simplified Chinese 2019-03-12 12:04:41 +03:00
.codecov.yml Added codecov, goreport 2019-01-25 20:13:57 +03:00
.gitattributes fix gh language 2018-10-17 13:14:45 +03:00
.gitignore add temporary packr output to gitignore 2019-02-15 16:28:28 +03:00
.golangci.yml ingnore Shutdown by golangci 2019-02-07 13:52:14 +03:00
.gometalinter.json Fix review comments 2019-02-11 14:22:36 +03:00
.travis.yml Merge pull request #153 in DNS/adguard-dns from fix/595 to master 2019-02-28 18:05:27 +03:00
AGHTechDoc.md + doc: clients 2019-05-28 18:44:27 +03:00
Dockerfile * docker: use --no-check-update 2019-05-28 11:42:50 +03:00
Dockerfile.travis Optimize Docker image layers; comment out runtime user; add sample docker-compose.yml 2019-05-08 21:17:14 +02:00
LICENSE.txt Initial commit 2018-08-30 17:25:33 +03:00
Makefile Makefile -- no need for go get -d . anymore 2019-02-07 18:24:42 +03:00
README.md Fix #595 - Start using GO 1.12 2019-02-26 15:32:56 +03:00
app.go + app: disable new version check and auto-update by command line switch 2019-05-27 18:48:33 +03:00
build_docker.sh Build latest from tag branch, edge from master 2019-02-11 15:10:36 +03:00
clients.go + clients API 2019-05-28 18:44:27 +03:00
clients_test.go + clients API 2019-05-28 18:44:27 +03:00
config.go + clients: config: save/restore clients info array 2019-05-28 18:44:27 +03:00
control.go Merge: * control: 🚑 Corrects typo in parental control API error message 2019-05-28 11:42:12 +03:00
control_install.go - install: immediately schedule filters update procedure after installation is complete 2019-04-23 19:56:21 +03:00
control_test.go + control, dns, client: add ability to set DNS upstream per domain 2019-03-20 14:24:33 +03:00
control_tls.go * control: use single line comment 2019-02-28 15:28:49 +03:00
control_update.go + app: disable new version check and auto-update by command line switch 2019-05-27 18:48:33 +03:00
control_update_test.go + /control/update handler 2019-05-17 15:37:38 +03:00
dhcp.go * hasStaticIP: use properly named boolean variable 2019-04-05 12:47:26 +03:00
dns.go + dns: use per-client filtering settings 2019-05-28 18:44:27 +03:00
docker-compose.yml Optimize Docker image layers; comment out runtime user; add sample docker-compose.yml 2019-05-08 21:17:14 +02:00
filter.go * dns: rename dnsfilter.Filter.Rule -> dnsfilter.Filter.Data 2019-05-17 18:22:57 +03:00
go.mod * use urlfilter 2019-05-17 18:22:57 +03:00
go.sum * use urlfilter 2019-05-17 18:22:57 +03:00
helpers.go - control: allow requests to "/favicon.ico" while we are in install mode 2019-05-23 16:28:20 +03:00
helpers_test.go * use new logger - AdguardTeam/golibs/log 2019-02-27 15:02:11 +03:00
i18n.go + client: added Simplified Chinese 2019-03-12 12:04:41 +03:00
issue_template.md Fix some UI issues, rename DNS->Home 2018-10-14 17:49:07 +03:00
os_unix.go + app: unix, windows: require root user on first launch 2019-04-23 11:41:53 +03:00
os_windows.go + app: unix, windows: require root user on first launch 2019-04-23 11:41:53 +03:00
release.sh Add GOMIPS=softfloat 2019-03-22 10:40:38 +03:00
service.go + service install: a post-install guide of what to do next 2019-04-23 11:41:53 +03:00
syslog_others.go service properties to constants 2019-02-05 14:21:07 +03:00
syslog_windows.go service properties to constants 2019-02-05 14:21:07 +03:00
upgrade.go * app: optimize config file reading 2019-05-17 15:37:38 +03:00
upgrade_test.go [change] upgrade_test: rework tests 2019-03-01 11:27:15 +03:00
version.json Bump version to v0.95-hotfix 2019-04-24 14:38:00 +03:00

README.md

 

AdGuard Home

Privacy protection center for you and your devices

Free and open source, powerful network-wide ads & trackers blocking DNS server.

AdGuard.com | Wiki | Reddit | Twitter | Telegram

Build status Code Coverage Go Report Card GolangCI Latest release



AdGuard Home is a network-wide software for blocking ads & tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that.

It operates as a DNS server that re-routes tracking domains to a "black hole," thus preventing your devices from connecting to those servers. It's based on software we use for our public AdGuard DNS servers -- both share a lot of common code.

Getting Started

Please read the Getting Started article on our Wiki to learn how to install AdGuard Home, and how to configure your devices to use it.

Alternatively, you can use our official Docker image.

Guides

How to build from source

Prerequisites

You will need:

You can either install it via the provided links or use brew.sh if you're on Mac:

brew install go node

Building

Open Terminal and execute these commands:

git clone https://github.com/AdguardTeam/AdGuardHome
cd AdGuardHome
make

Contributing

You are welcome to fork this repository, make your changes and submit a pull request — https://github.com/AdguardTeam/AdGuardHome/pulls

How to update translations

If you want to help with AdGuard Home translations, please learn more about translating AdGuard products here: https://kb.adguard.com/en/general/adguard-translations

Here is a direct link to AdGuard Home project: http://translate.adguard.com/collaboration/project?id=153384

Before updating translations you need to install dependencies:

cd scripts/translations
npm install

Create file oneskyapp.json in scripts/translations folder.

Example of oneskyapp.json

{
    "url": "https://platform.api.onesky.io/1/projects/",
    "projectId": <PROJECT ID>,
    "apiKey": <API KEY>,
    "secretKey": <SECRET KEY>
}

Upload translations

node upload.js

Download translations

node download.js

Reporting issues

If you run into any problem or have a suggestion, head to this page and click on the New issue button.

Acknowledgments

This software wouldn't have been possible without:

You might have seen that CoreDNS was mentioned here before — we've stopped using it in AdGuardHome. While we still use it on our servers for AdGuard DNS service, it seemed like an overkill for Home as it impeded with Home features that we plan to implement.

For a full list of all node.js packages in use, please take a look at client/package.json file.