Files
FTL/test/pihole-FTL.toml
T

432 lines
14 KiB
TOML

# This file is managed by pihole-FTL
#
# Do not edit the file while FTL is
# running or your changes may be overwritten
#
# Last update: 2023-01-11 20:53:00
[dns]
# Should FTL walk CNAME paths?
CNAMEdeepInspect = true
# Should _esni. subdomains be blocked by default?
blockESNI = true
# Should FTL analyze possible ECS information to obtain client IPs hidden behind NATs?
EDNS0ECS = true
# Should FTL hide queries made by localhost?
ignoreLocalhost = false
# Should FTL should internally generated DNSSEC queries?
showDNSSEC = true
# Should FTL analyze AAAA queries?
analyzeAAAA = true
# Should FTL analyze *only* A and AAAA queries?
analyzeOnlyAandAAAA = false
# Should FTL return "pi.hole" as name for PTR requests to local IP addresses?
# Possible values are: [ "NONE", "HOSTNAME", "HOSTNAMEFQDN", "PI.HOLE" ]
piholePTR = "PI.HOLE"
# How should FTL handle queries when the gravity database is not available?
# Possible values are: [ "BLOCK", "ALLOW", "REFUSE", "DROP" ]
replyWhenBusy = "ALLOW"
# TTL for blocked queries [seconds]
blockTTL = 2
[dns.blocking]
# Should FTL block queries?
active = true
# How should FTL reply to blocked queries?
# Possible values are: [ "NULL", "IP-NODATA-AAAA", "IP", "NXDOMAIN", "NODATA" ]
mode = "NULL"
[dns.specialDomains]
# Should FTL handle use-application-dns.net specifically and always return NXDOMAIN?
mozillaCanary = true
# Should FTL handle the iCloud privacy relay domains specifically and always return
# NXDOMAIN?
iCloudPrivateRelay = true
[dns.reply.host]
# Use a specific IPv4 address for the Pi-hole host?
overwrite_v4 = true ### CHANGED, default = false
# Use a specific IPv6 address for the Pi-hole host?
overwrite_v6 = true ### CHANGED, default = false
# Custom IPv4 address for the Pi-hole host
# Possible values are: <valid IPv4 address> or empty string ("")
IPv4 = "10.100.0.10" ### CHANGED, default = "0.0.0.0"
# Custom IPv6 address for the Pi-hole host
# Possible values are: <valid IPv6 address> or empty string ("")
IPv6 = "fe80::10" ### CHANGED, default = "::"
[dns.reply.blocking]
# Use a specific IPv4 address in IP blocking mode?
overwrite_v4 = true ### CHANGED, default = false
# Use a specific IPv6 address in IP blocking mode?
overwrite_v6 = true ### CHANGED, default = false
# Custom IPv4 address for IP blocking mode
# Possible values are: <valid IPv4 address> or empty string ("")
IPv4 = "10.100.0.11" ### CHANGED, default = "0.0.0.0"
# Custom IPv6 address for IP blocking mode
# Possible values are: <valid IPv6 address> or empty string ("")
IPv6 = "fe80::11" ### CHANGED, default = "::"
[dns.rateLimit]
# How many queries are permitted...
count = 0 ### CHANGED, default = 1000
# ... in the set interval before rate-limiting?
interval = 0 ### CHANGED, default = 60
[dnsmasq]
# Array of upstream DNS servers used by Pi-hole
# Possible values are: array of IP addresses and/or hostnames, optionally with a port,
# e.g. [ "8.8.8.8", "127.0.0.1#5353", "docker-resolver" ]
upstreams = [ "127.0.0.1#5555" ] ### CHANGED, default = [ ]
# The DNS domain used by your Pi-hole
# Possible values are: <any valid domain>
domain = "lan"
# If set, A and AAAA queries for plain names, without dots or domain parts, are never
# forwarded to upstream nameservers
domain_needed = false
# If set, the domain is added to simple names (without a period) in /etc/hosts in the
# same way as for DHCP-derived names
expand_hosts = false
# Should all reverse lookups for private IP ranges (i.e., 192.168.x.y, etc) which are
# not found in /etc/hosts or the DHCP leases file be answered with "no such domain"
# rather than being forwarded upstream?
bogus_priv = true
# Validate DNS replies and cache DNSSEC data
dnssec = true
# Interface to use for DNS (see also dnsmasq.listening.mode) and DHCP (if enabled)
# Possible values are: a valid interface name
interface = ""
# Add A, AAAA and PTR records to the DNS. This adds one or more names to the DNS with
# associated IPv4 (A) and IPv6 (AAAA) records
# Possible values are: <name>[,<name>....],[<IPv4-address>],[<IPv6-address>][,<TTL>]
host_record = ""
# Pi-hole interface listening modes
# Possible values are: [ "LOCAL", "ALL", "SINGLE", "BIND" ]
listening_mode = "LOCAL"
# Cache size of the DNS server. Note that expiring cache entries naturally make room
# for new insertions over time. Setting this number too high will have an adverse
# effect as not only more space is needed, but also lookup speed gets degraded in the
# 100,000+ range
cache_size = 10000
# Log DNS queries and replies to pihole.log
logging = true
[dnsmasq.rev_server]
# Is the reverse server (former also called "conditional forwarding") feature enabled?
active = false
# Address range for the reverse server feature in CIDR notation. If the prefix length
# is omitted, either 32 (IPv4) or 128 (IPv6) are substitutet (exact address match).
# This is almost certainly not what you want here.
# Possible values are: <ip-address>[/<prefix-len>], e.g., "192.168.0.0/24" for the
# range 192.168.0.1 - 192.168.0.255
cidr = ""
# Target server tp be used for the reverse server feature
# Possible values are: <server>[#<port>], e.g., "192.168.0.1"
target = ""
# Domain used for the reverse server feature
# Possible values are: <valid domain>, typically set to the same value as
# dnsmasq.domain
domain = ""
[dnsmasq.dhcp]
# Is the embedded DHCP server enabled?
active = false
# Start address of the DHCP address pool
# Possible values are: <ip-addr>, e.g., "192.168.0.10"
start = ""
# End address of the DHCP address pool
# Possible values are: <ip-addr>, e.g., "192.168.0.250"
end = ""
# Address of the gateway to be used (typicaly the address of your router in a home
# installation)
# Possible values are: <ip-addr>, e.g., "192.168.0.1"
router = ""
# If the lease time is given, then leases will be given for that length of time. If not
# given, the default lease time is one hour for IPv4 and one day for IPv6.
# Possible values are: The lease time can be in seconds, or minutes (e.g., "45m") or
# hours (e.g., "1h") or days (like "2d") or even weeks ("1w").
# You may also use "infinite" as string but be aware of the
# drawbacks
leasetime = ""
# Should Pi-hole make an attempt to also satisfy IPv6 address requests (be aware that
# IPv6 works a whole lot different than IPv4)
ipv6 = false
# Enable DHCPv4 Rapid Commit Option specified in RFC 4039. Should only be enabled if
# either the server is the only server for the subnet to avoid conflicts
rapid_commit = false
[resolver]
# Should FTL try to resolve IPv4 addresses to hostnames?
resolveIPv4 = false ### CHANGED, default = true
# Should FTL try to resolve IPv6 addresses to hostnames?
resolveIPv6 = false ### CHANGED, default = true
# Try to obtain client names from the network table?
networkNames = false ### CHANGED, default = true
# How (and if) hourly PTR lookups should be made
# Possible values are: [ "IPV4_ONLY", "ALL", "UNKNOWN", "NONE" ]
refreshNames = "NONE" ### CHANGED, default = "IPV4_ONLY"
[database]
# Should FTL load information from the database on startup to be aware of the most
# recent history?
DBimport = true
# Should FTL store queries in the long-term database?
DBexport = true
# How much history should be imported from the database [seconds]? (max 24*60*60 =
# 86400)
maxHistory = 86400
# How long should queries be stored in the database [days]?
maxDBdays = 365
# How often do we store queries in FTL's database [seconds]?
DBinterval = 60
[database.network]
# Should FTL anaylze the local ARP cache?
parseARPcache = true
# How long should IP addresses be kept in the network_addresses table [days]?
expire = 365
[api]
# Does local clients need to authenticate to access the API?
localAPIauth = true
# Should FTL prettify the API output?
prettyJSON = false
# How long should a session be considered valid after login [seconds]?
sessionTimeout = 300
# API password hash
# Possible values are: <valid Pi-hole password hash>
pwhash = ""
# Array of clients to be excluded from certain API responses
# Possible values are: array of IP addresses and/or hostnames, e.g. [ "192.168.2.56",
# "fe80::341", "localhost" ]
exclude_clients = [ "1.2.3.4" ] ### CHANGED, default = [ ]
# Array of domains to be excluded from certain API responses
# Possible values are: array of IP addresses and/or hostnames, e.g. [ "google.de",
# "pi-hole.net" ]
exclude_domains = [ ]
[http]
# On which domain is the web interface served?
# Possible values are: <valid domain>
domain = "pi.hole"
# Webserver access control list
# Possible values are: <valid ACL>
acl = "+0.0.0.0/0"
# Ports to be used by the webserver
# Possible values are: comma-separated list of <[ip_address:]port>
port = "8080,[::]:8080"
[http.paths]
# Server root on the host
# Possible values are: <valid path>
webroot = "/var/www/html"
# Sub-directory of the root containing the web interface
# Possible values are: <valid subpath>, both slashes are needed!
webhome = "/admin/"
[http.interface]
# Should the web interface use the boxed layout?
boxed = true
# Theme used by the Pi-hole web interface
# Possible values are: <valid themename>
theme = "default"
[files]
# The location of FTL's PID file
# Possible values are: <any writable file>
pid = "/run/pihole-FTL.pid"
# The location of FTL's long-term database
# Possible values are: <any FTL database>
database = "/etc/pihole/pihole-FTL.db"
# The location of Pi-hole's gravity database
# Possible values are: <any Pi-hole gravity database>
gravity = "/etc/pihole/gravity.db"
# The database containing MAC -> Vendor information for the network table
# Possible values are: <any Pi-hole macvendor database>
macvendor = "/etc/pihole/macvendor.db"
# The config file of Pi-hole
# Possible values are: <any Pi-hole setupVars file>
setupVars = "/etc/pihole/setupVars.conf"
# The log file used by the webserver
# Possible values are: <any writable file>
http_info = "/var/log/pihole/HTTP_info.log"
# The log file used by the dynamic interpreter PH7
# Possible values are: <any writable file>
ph7_error = "/var/log/pihole/PH7.log"
[files.log]
# The location of FTL's log file
# Possible values are: <any writable file>
ftl = "/var/log/pihole/FTL.log"
# The log file used by the embedded dnsmasq DNS server
# Possible values are: <any writable file>
dnsmasq = "/var/log/pihole/pihole.log"
[misc]
# Set niceness of pihole-FTL (can be disabled by setting to -999)
nice = -999 ### CHANGED, default = -10
# Should FTL try to call addr2line when generating backtraces?
delay_startup = 0
# The log file used by the dynamic interpreter PH7
addr2line = true
# Privacy level
privacylevel = 0
[misc.temp]
# Which upper temperature limit should be used by Pi-hole? Temperatures above this
# limit will be shown as "hot". The number specified here is in the unit defined below
limit = 60.000000
# Which temperature unit should be used for temperatures processed by FTL?
# Possible values are: [ "C", "F", "K" ]
unit = "C"
[misc.check]
# Should FTL check the 15 min average of CPU load and complain if the load is larger
# than the number of available CPU cores?
load = false ### CHANGED, default = true
# Limit above which FTL should complain about disk shortage for checked files [percent]
shmem = 0 ### CHANGED, default = 90
# Limit above which FTL should complain about a shared-memory shortage [percent]
disk = 0 ### CHANGED, default = 90
[debug]
# Enable extra logging of database actions
database = true ### CHANGED, default = false
# Enable extra logging of detected interfaces
networking = true ### CHANGED, default = false
# Enable extra logging of shared memory lock actions
locks = true ### CHANGED, default = false
# Print extensive query information
queries = true ### CHANGED, default = false
# Print flags of queries received by the DNS hooks
flags = true ### CHANGED, default = false
# Print information about shared memory buffers
shmem = true ### CHANGED, default = false
# Print information about garbage collection
gc = true ### CHANGED, default = false
# Print information about ARP table processing
arp = true ### CHANGED, default = false
# Enable extra logging of regex matching details
regex = true ### CHANGED, default = false
# Enable extra logging of API activities
api = true ### CHANGED, default = false
# Print information about overTime memory operations
overtime = true ### CHANGED, default = false
# Enable extra logging of query status changes
status = true ### CHANGED, default = false
# Print information about capabilities granted to the pihole-FTL process
caps = true ### CHANGED, default = false
# Print information about DNSSEC activity
dnssec = true ### CHANGED, default = false
# Print vector operation details
vectors = true ### CHANGED, default = false
# Extensive information about hostname resolution like which DNS servers are used
resolver = true ### CHANGED, default = false
# Print EDNS(0) debugging information
edns0 = true ### CHANGED, default = false
# Enable extra client detail logging
clients = true ### CHANGED, default = false
# Print aliasclient details
aliasclients = true ### CHANGED, default = false
# Log information about processed internal events
events = true ### CHANGED, default = false
# Enable logging of script helper activity
helper = true ### CHANGED, default = false
# Print config parsing details
config = true ### CHANGED, default = false
# Special debug flag that may be used for debugging specific issues
extra = true ### CHANGED, default = false
# Reserved debug flag
reserved = true ### CHANGED, default = false