LinuxCommandLibrary

adguardhome

Run AdGuard Home DNS server

TLDR

Run AdGuard Home

$ AdGuardHome
copy

Specify a configuration file
$ AdGuardHome --config [path/to/AdGuardHome.yaml]
copy

Store the data in a specific work directory
$ AdGuardHome --work-dir [path/to/directory]
copy

Install or uninstall AdGuard Home as a service
$ AdGuardHome --service [install|uninstall]
copy

Start the AdGuard Home service
$ AdGuardHome --service start
copy

Reload the configuration for the AdGuard Home service
$ AdGuardHome --service reload
copy

Stop or restart the AdGuard Home service
$ AdGuardHome --service [stop|restart]
copy

SYNOPSIS

adguardhome [options] [command]

Common usage examples:
adguardhome --help
adguardhome --version
adguardhome --config /etc/adguardhome.yaml
adguardhome --service install

PARAMETERS

--help
    Displays the help message and exits.

--version
    Shows the AdGuard Home version and exits.

--config
    Specifies the path to the YAML configuration file. Defaults to AdGuardHome.yaml in the working directory.

--work-dir
    Sets the working directory where data (logs, statistics, filter lists) is stored. Defaults to the directory where the executable is located.

--service
    Manages AdGuard Home as a system service. Actions include install, uninstall, start, stop, restart, and status.

DESCRIPTION

AdGuard Home is a network-wide software for blocking ads, tracking, and malware. It acts as a DNS server that reroutes DNS queries, filtering out unwanted domains. Unlike browser extensions, it protects all devices connected to your network without needing client-side software. This includes desktops, mobile phones, smart TVs, and IoT devices. It supports a wide range of DNS protocols such as DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ), and DNSCrypt, enhancing privacy and security. Users can customize blocking lists, implement parental controls, view detailed query logs, and set up custom filtering rules through its intuitive web interface. It is an open-source, powerful, and easy-to-deploy solution for improving network security and user experience.

CAVEATS

Requires a dedicated network port (typically 53 for DNS, 80/443 for web interface) which should not be used by other services.
Misconfiguration can lead to network connectivity issues or unexpected blocking of legitimate content.
Performance depends on the host machine's resources and the number of active filters.
Relies on DNS blocking, which cannot block ads embedded directly within content or within non-DNS communication.

WEB INTERFACE (GUI)

AdGuard Home provides a comprehensive web-based user interface (GUI) typically accessible on port 80 or 3000 (configurable). This GUI allows for easy configuration of DNS settings, filter lists, parental controls, viewing query logs and statistics, and managing various AdGuard Home features without direct command-line interaction after initial setup.

CONFIGURATION FILE

The primary configuration of AdGuard Home is managed through a YAML file (e.g., AdGuardHome.yaml). This file defines listening interfaces, DNS server settings, upstream DNS servers, security settings, and paths to various data files, allowing for fine-grained control over its operation.

DNS PROTOCOLS SUPPORT

A key feature of AdGuard Home is its extensive support for modern encrypted DNS protocols, including DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ), and DNSCrypt. This allows it to communicate securely with upstream DNS servers, protecting privacy and preventing DNS manipulation.

HISTORY

AdGuard Home is an open-source project developed by AdGuard Software Ltd. It was created to provide a robust, self-hosted, and network-wide ad-blocking solution, initially as an alternative to existing tools like Pi-hole, focusing on ease of use, a powerful web interface, and broader support for modern DNS protocols. Its development is active, with continuous updates and improvements driven by community feedback and AdGuard's expertise in ad-blocking technologies.

SEE ALSO

dnsmasq(8), unbound(8), hosts(5)

Copied to clipboard