Repository Analysis

AdguardTeam/AdGuardHome

Network-wide ads & trackers blocking DNS server

0.7 Likely human-written View on GitHub
0.7
Adjusted Score
0.7
Raw Score
100%
Time Factor
2026-05-29
Last Push
34,455
Stars
Go
Language
236,864
Lines of Code
930
Files
150
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 5LOW 145

Pattern Findings

150 matches across 3 categories. Click a row to expand file-level details.

Over-Commented Block143 hits · 143 pts
SeverityFileLineSnippet
LOWinternal/dhcpsvc/v4.go41// IPv4Config is the interface-specific configuration for DHCPv4.
LOWinternal/dhcpsvc/v4.go61 // RangeEnd is the last address in the range to assign to DHCP clients. It
LOWinternal/dhcpsvc/server.go21
LOWinternal/dhcpsvc/options4.go61// appendIPPerHostOptions appends the IP-layer per host DHCPv4 options to orig.
LOWinternal/dhcpsvc/options4.go81
LOWinternal/dhcpsvc/options4.go121// to orig.
LOWinternal/dhcpsvc/options4.go141 //
LOWinternal/dhcpsvc/options4.go161 // See https://datatracker.ietf.org/doc/html/rfc1256#section-5.1.
LOWinternal/dhcpsvc/options4.go181 return append(
LOWinternal/dhcpsvc/options4.go221 // See https://datatracker.ietf.org/doc/html/rfc1122#section-4.2.3.6.
LOWinternal/dhcpsvc/addresschecker.go21// TODO(e.burkov): Add ICMP implementation of [addressChecker], as required by
LOWinternal/dhcpsvc/dhcpsvc.go21
LOWinternal/dhcpsvc/dhcpsvc.go41 // client must always have a MAC address.
LOWinternal/dhcpsvc/options6.go21// iaNAOption represents a parsed IA_NA (Identity Association for Non-temporary
LOWinternal/dhcpsvc/options6.go41 t2 time.Duration
LOWinternal/dhcpsvc/options6.go121
LOWinternal/dhcpsvc/options6.go141 validLifetime time.Duration
LOWinternal/dhcpsvc/handler4.go41
LOWinternal/dhcpsvc/v6.go21
LOWinternal/dhcpsvc/v6.go41
LOWinternal/home/config.go241 // PrivateNets is the set of IP networks for which the private reverse DNS
LOWinternal/home/config.go261 // via [PrivateRDNSResolvers], so those should be valid and UsePrivateRDNS
LOWinternal/home/config.go321 // PortDNSCrypt is the port for DNSCrypt requests. If it's zero, DNSCrypt
LOWinternal/home/config.go381//
LOWinternal/home/authhttp.go341// authMiddlewareDefaultConfig is the configuration structure for the default
LOWinternal/home/home.go1281// printWebAddrs prints addresses built from proto, addr, and an appropriate
LOWinternal/home/options.go21// options represents the command-line options.
LOWinternal/home/mobileconfig.go21)
LOWinternal/home/clientshttp.go21// clients. Some of the fields are only necessary in one or two handlers and
LOWinternal/home/clients.go61 // safeSearchCacheTTL is the TTL of the safe search cache to use for
LOWinternal/home/tls.go41
LOWinternal/next/cmd/opt.go21
LOWinternal/next/cmd/opt.go41 // - "status": Prints the service status.
LOWinternal/next/cmd/opt.go61 // file, optionally print an error message to stdout, and exit with a
LOWinternal/next/cmd/opt.go81 // directory instead of the files compiled into the binary.
LOWinternal/ipset/ipset.go21 // Logger is used for logging the operation of the ipset manager. It must
LOWinternal/ipset/ipset_linux.go21)
LOWinternal/ipset/ipset_linux_internal_test.go181 // goos: linux
LOWinternal/aghrenameio/renameio.go1// Package aghrenameio is a wrapper around package github.com/google/renameio/v2
LOWinternal/aghrenameio/renameio.go21 // Cleanup closes the file, and removes it without performing the renaming.
LOWinternal/aghuser/db.go21 // All retrieves all users from the database, sorted by login.
LOWinternal/aghuser/sessionstorage.go41// DefaultSessionStorageConfig represents the web user session storage
LOWinternal/arpdb/arpdb_openbsd.go21 mu: &sync.RWMutex{},
LOWinternal/filtering/filter.go401// 1. Get the list of filters to be updated. For each filter, run the download
LOWinternal/filtering/filtering_internal_test.go721 assert.Truef(b, res.IsFiltered, "expected hostname %q to match", sbBlocked)
LOWinternal/filtering/reason.go41 FilteredBlockedService
LOWinternal/filtering/rewrite/storage_internal_test.go181 Value: addr2v4,
LOW…ernal/filtering/safesearch/safesearch_internal_test.go101
LOWinternal/filtering/rulelist/parser.go41
LOWinternal/configmigrate/v31.go1package configmigrate
LOWinternal/configmigrate/v15.go1package configmigrate
LOWinternal/configmigrate/v15.go21// # …
LOWinternal/configmigrate/v21.go1package configmigrate
LOWinternal/configmigrate/v5.go1package configmigrate
LOWinternal/configmigrate/v25.go1package configmigrate
LOWinternal/configmigrate/v11.go1package configmigrate
LOWinternal/configmigrate/v4.go1package configmigrate
LOWinternal/configmigrate/v34.go1package configmigrate
LOWinternal/configmigrate/v24.go1package configmigrate
LOWinternal/configmigrate/v24.go21//
83 more matches not shown…
Self-Referential Comments5 hits · 15 pts
SeverityFileLineSnippet
MEDIUMscripts/make/helper.sh5# This file contains common script helpers. It should be sourced in scripts
MEDIUMscripts/make/build-release.sh331# Create the version.json file.
MEDIUMscripts/hooks/helper.sh5# This file contains common script helpers for git hooks. It should be sourced
MEDIUMscripts/snap/build.sh45 # Create the meta subdirectory and copy files there.
MEDIUMscripts/snap/build.sh57 # Create a snap.yaml file, setting the values.
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippet
LOWscripts/make/build-docker.sh44# Set DOCKER_IMAGE_NAME to 'adguard/adguard-home' if you want (and are allowed)
LOWscripts/make/build-docker.sh49# Set DOCKER_PUSH to '1' if you want (and are allowed) to push to DockerHub.