# Pi.Alert complete example configuration
# This file is valid and can be copied or renamed to pialert.conf for a standard
# /opt/pialert installation. Optional integrations and external notifications
# are disabled by default. Adjust PIALERT_PATH and SCAN_SUBNETS only when the
# installation path or networks differ.

# General Settings
# ----------------------
PIALERT_PATH               = '/opt/pialert'
DB_PATH                    = PIALERT_PATH + '/db/pialert.db'
LOG_PATH                   = PIALERT_PATH + '/log'
PRINT_LOG                  = False
VENDORS_DB                 = '/usr/share/arp-scan/ieee-oui.txt'
PIALERT_APIKEY             = ''
PIALERT_WEB_PROTECTION     = False
PIALERT_WEB_PASSWORD       = ''
NETWORK_DNS_SERVER         = 'localhost'
AUTO_UPDATE_CHECK          = True
AUTO_DB_BACKUP             = True
AUTO_DB_BACKUP_KEEP        = 5
REPORT_NEW_CONTINUOUS      = False
NEW_DEVICE_PRESET_EVENTS   = True
NEW_DEVICE_PRESET_DOWN     = False
SYSTEM_TIMEZONE            = 'Europe/Berlin'
OFFLINE_MODE               = False

# Other Modules
# ----------------------
SCAN_WEBSERVICES           = True
ICMPSCAN_ACTIVE            = True
SATELLITES_ACTIVE          = False

# Special Protocol Scanning
# ----------------------
SCAN_ROGUE_DHCP            = False
DHCP_SERVER_ADDRESS        = '0.0.0.0'
# DHCP_SERVER_ADDRESS        = '192.168.1.1'
# DHCP_SERVER_ADDRESS        = ['192.168.1.1','10.0.0.1']

# Custom Cronjobs
# ----------------------
# The shortest interval is 3 minutes. All larger intervals must be integer multiples of 3 minutes.
AUTO_UPDATE_CHECK_CRON     = '0 3,9,15,21 * * *'
AUTO_DB_BACKUP_CRON        = '6 * * * *'
REPORT_NEW_CONTINUOUS_CRON = '0 * * * *'
SPEEDTEST_TASK_CRON        = '51 * * * *'

# Mail-Account Settings
# ----------------------
SMTP_SERVER                = 'smtp.example.com'
SMTP_PORT                  = 587
SMTP_USER                  = ''
SMTP_PASS                  = ''
SMTP_SSL                   = False
SMTP_SKIP_TLS              = False
SMTP_SKIP_LOGIN            = False

# WebGUI Reporting
# ----------------------
REPORT_WEBGUI              = True
REPORT_WEBGUI_WEBMON       = True
REPORT_TO_ARCHIVE          = 0
# Number of hours after which a report is moved to the archive. The value 0 disables the feature.

# MQTT Reporting
# ----------------------
REPORT_TO_MQTT             = False
REPORT_MQTT_BROKER         = 'mqtt.example.com'
REPORT_MQTT_PORT           = 1883
REPORT_MQTT_USERNAME       = ''
REPORT_MQTT_PASSWORD       = ''
REPORT_MQTT_TLS            = False
PUBLISH_MQTT_STATUS        = False

# Mail Reporting
# ----------------------
REPORT_MAIL                = False
REPORT_MAIL_WEBMON         = False
REPORT_FROM                = ''
REPORT_TO                  = ''
REPORT_DEVICE_URL          = 'http://localhost/pialert/deviceDetails.php?mac='
REPORT_DASHBOARD_URL       = 'http://localhost/pialert/'

# Pushsafer
# ----------------------
REPORT_PUSHSAFER           = False
REPORT_PUSHSAFER_WEBMON    = False
PUSHSAFER_TOKEN            = ''
PUSHSAFER_DEVICE           = 'a'
PUSHSAFER_PRIO             = 0
PUSHSAFER_SOUND            = 22

# Pushover
# ----------------------
REPORT_PUSHOVER            = False
REPORT_PUSHOVER_WEBMON     = False
PUSHOVER_TOKEN             = ''
PUSHOVER_USER              = ''
PUSHOVER_PRIO              = 0
PUSHOVER_SOUND             = 'siren'

# NTFY
# ----------------------
REPORT_NTFY                = False
REPORT_NTFY_WEBMON         = False
NTFY_HOST                  = 'https://ntfy.sh'
NTFY_TOPIC                 = 'replace-with-a-private-topic'
NTFY_USER                  = ''
NTFY_PASSWORD              = ''
NTFY_PRIORITY              = 'default'
NTFY_CLICKABLE             = True

# Discord
# ----------------------
REPORT_DISCORD             = False
REPORT_DISCORD_WEBMON      = False
DISCORD_BOT_TOKEN_URL      = ''

# Telegram
# ----------------------
REPORT_TELEGRAM            = False
REPORT_TELEGRAM_WEBMON     = False
TELEGRAM_BOT_TOKEN         = ''
TELEGRAM_CHAT_IDS          = []
# Deprecated compatibility input for installations migrated from Shoutrrr.
TELEGRAM_BOT_TOKEN_URL     = ''

# DynDNS and IP
# ----------------------
QUERY_MYIP_SERVER          = 'https://myipv4.p1.opendns.com/get_my_ip'
QUERY_MYIP_SERVER_FALLBACK = 'https://api.ipify.org/?format=json'
DDNS_ACTIVE                = False
DDNS_DOMAIN                = 'your_domain.freeddns.org'
DDNS_USER                  = ''
DDNS_PASSWORD              = ''
DDNS_UPDATE_URL            = 'https://api.dynu.com/nic/update?'

# Automatic Speedtest
# ----------------------
SPEEDTEST_TASK_ACTIVE      = False

# Arp-scan Options & Samples
# ----------------------
ARPSCAN_ACTIVE             = True
MAC_IGNORE_LIST            = []
IP_IGNORE_LIST             = []
HOSTNAME_IGNORE_LIST       = []
SCAN_SUBNETS               = '--localnet'
# SCAN_SUBNETS               = '--localnet --interface=eth0'
# SCAN_SUBNETS               = ['192.168.1.0/24 --interface=eth0','192.168.2.0/24 --interface=eth1']

# ICMP Monitoring Options
# ----------------------
ICMP_ONLINE_TEST           = 1
ICMP_GET_AVG_RTT           = 2

# Pi-hole Configuration
# ----------------------
PIHOLE_ACTIVE              = False
PIHOLE_VERSION             = 6
PIHOLE_DB                  = '/etc/pihole/pihole-FTL.db'
PIHOLE6_URL                = ''
PIHOLE6_PASSWORD           = ''
PIHOLE6_API_MAXCLIENTS     = 100
DHCP_ACTIVE                = False
DHCP_LEASES                = '/etc/pihole/dhcp.leases'
DHCP_INCL_SELF_TO_LEASES   = False

# Fritzbox Configuration
# ----------------------
FRITZBOX_ACTIVE            = False
FRITZBOX_IP                = '192.168.1.1'
FRITZBOX_USER              = ''
FRITZBOX_PASS              = ''

# Mikrotik Configuration
# ----------------------
MIKROTIK_ACTIVE            = False
MIKROTIK_IP                = '192.168.1.1'
MIKROTIK_USER              = ''
MIKROTIK_PASS              = ''

# UniFi Configuration
# -------------------
UNIFI_ACTIVE               = False
UNIFI_IP                   = '192.168.1.1'
UNIFI_API                  = 'v5'
UNIFI_USER                 = ''
UNIFI_PASS                 = ''
# Possible UNIFI APIs are v4, v5, unifiOS, UDMP-unifiOS, default.

# OpenWRT Configuration
# ----------------------
OPENWRT_ACTIVE             = False
OPENWRT_IP                 = '192.168.1.1'
OPENWRT_USER               = 'root'
OPENWRT_PASS               = ''

# AsusWRT Configuration
# ----------------------
ASUSWRT_ACTIVE             = False
ASUSWRT_IP                 = '192.168.1.1'
ASUSWRT_USER               = ''
ASUSWRT_PASS               = ''
ASUSWRT_SSL                = False

# pfSense Configuration
# ----------------------
PFSENSE_ACTIVE             = False
PFSENSE_IP                 = '192.168.1.1'
PFSENSE_PORT               = 443
PFSENSE_APIKEY             = ''
PFSENSE_SSL                = True
PFSENSE_EXCLUDE_INT        = ['WAN']

# OPNsense Configuration
# ----------------------
OPNSENSE_ACTIVE            = False
OPNSENSE_IP                = '192.168.1.1'
OPNSENSE_PORT              = 443
OPNSENSE_APIKEY            = ''
OPNSENSE_APISECRET         = ''
OPNSENSE_SSL               = True
OPNSENSE_EXCLUDE_INT       = ['WAN']

# AdGuard Configuration
# ---------------------
ADGUARD_ACTIVE             = False
ADGUARD_IP                 = '192.168.1.1'
ADGUARD_PORT               = 80
ADGUARD_USER               = ''
ADGUARD_PASSWORD           = ''
ADGUARD_SSL                = False
ADGUARD_QUERY_MINUTES      = 5
ADGUARD_ACTIVITY_MINUTES   = 10
ADGUARD_QUERY_LIMIT        = 1000

# Satellite Configuration
# -----------------------
SATELLITE_PROXY_MODE       = False
SATELLITE_PROXY_URL        = ''

# Maintenance Tasks Cron
# ----------------------
DAYS_TO_KEEP_ONLINEHISTORY = 60
DAYS_TO_KEEP_EVENTS        = 180
