d5f6dd1a46
Before this patch we could exit the process without waiting for file writing task to complete. As a result a file could become corrupted or a large chunk of data could be missing. Now the main thread either waits until file writing task completes or it writes log buffer to file itself. |
||
---|---|---|
client | ||
dhcpd | ||
dnsfilter | ||
dnsforward | ||
openapi | ||
scripts | ||
.codecov.yml | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
.gometalinter.json | ||
.travis.yml | ||
AGHTechDoc.md | ||
app.go | ||
build_docker.sh | ||
clients.go | ||
config.go | ||
control.go | ||
control_install.go | ||
control_test.go | ||
control_tls.go | ||
dhcp.go | ||
dns.go | ||
docker-compose.yml | ||
Dockerfile | ||
Dockerfile.travis | ||
filter.go | ||
go.mod | ||
go.sum | ||
helpers.go | ||
helpers_test.go | ||
i18n.go | ||
issue_template.md | ||
LICENSE.txt | ||
Makefile | ||
os_unix.go | ||
os_windows.go | ||
README.md | ||
release.sh | ||
service.go | ||
syslog_others.go | ||
syslog_windows.go | ||
upgrade.go | ||
upgrade_test.go | ||
version.json |
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
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
- Configuration
- AdGuard Home as a DNS-over-HTTPS or DNS-over-TLS server
- How to install and run AdGuard Home on Raspberry Pi
- How to install and run AdGuard Home on a Virtual Private Server
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:
- Go and it's libraries:
- Node.js and it's libraries:
- whotracks.me data
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.