Pi-hole FTLDNS
FTLDNS™ (pihole-FTL) provides an interactive API and also generates statistics for Pi-hole®'s Web interface.
Fast: stats are read directly from memory by coupling our codebase closely with dnsmasq
Versatile: upstream changes to dnsmasq can quickly be merged in without much conflict
Lightweight: runs smoothly with minimal hardware and software requirements such as Raspberry Pi Zero
Interactive: our API can be used to interface with your projects
Insightful: stats normally reserved inside of dnsmasq are made available so you can see what's really happening on your network
-
Checkout Package
osc checkout Web/pihole-ftl && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
SUSE.readme | 0000000512 512 Bytes | |
_service | 0000000678 678 Bytes | |
fortify_source_3.patch | 0000001293 1.26 KB | |
link_against_readline.patch | 0000000991 991 Bytes | |
permissions | 0000000267 267 Bytes | |
pihole-FTL.conf.in | 0000002414 2.36 KB | |
pihole-ftl.changes | 0000080280 78.4 KB | |
pihole-ftl.service | 0000000580 580 Bytes | |
pihole-ftl.spec | 0000005259 5.14 KB | |
rpmlintrc | 0000000319 319 Bytes | |
shared_libraries.patch | 0000001068 1.04 KB |
Revision 35 (latest revision is 40)
Samu Voutilainen (Smar)
committed
(revision 35)
------------------------------------------------------------------- Tue May 30 04:32:59 UTC 2023 - Samu Voutilainen <smar@smar.fi> - Refreshed patches - Removed patch fix-build.patch that was applied to upstream ------------------------------------------------------------------- Tue May 30 04:29:40 UTC 2023 - pihole-suse-packages@smar.fi - Update to version 5.23: * Remove traces of ABP_CSS * Remove code duplication found in gravit.sh gravity_ParseFileIntoDomains() * Update src/tools/gravity-parseList.c * Rename src/{gravity-tools.* => tools/gravity-parseList.*} * Update adlist.date_updated in parseList command * Adding anchors to false_positives_regex * Improving the comments * Do not consider false positives as invalid domains * Allowing underscore and hyfen in any position for gravity parseList * Do not run ARP scans in networks where the kernel knows that ARP is not supported (e.g. Wireguard) * Do not try to scan for DHCP servers in network where the kernel knows that there is no broadcasting support (e.g. Wireguard) * Skip interfaces that are either down or are of loopback type * Ensure we are in lock-mode when printing the final result * Improve message when packet is rejected by wireguard interfaces * Improve deplay.sh script to check against exact matches instead of regex-matching the searched string against the entire collapsed array to avoid incorrect partial matches * Query IPv4-capable interfaces instead of packet-interfaces when scanning for DHCP servers * Modify logging in such a way that concurrent printing by the involved is prevented and add better error reporting when sending to interfaces is not working due to an error * Add capabilities check for feature dhcp-discover in the same way we already have it for arp-scan * Align % in reply rate column * Apply Pi-hole specific patches * Update SQLite3 to 3.42.0 * Further reduce memory requirements by factor 10x (if not in -x mode) * Reduce memory requirements by factor 4x * Exit early if insufficient memory is available, perform as many interface scans as possible under these conditions * Give reply rate in percent instead of showing the reply matrix * Add arp-scan -xtreme mode for very unreliable connections * Optimize thread_data structure and store a thread-local copy of the interface name * Add capabilities check for CAP_NET_RAW (root always has it) * Log more verbose human-readable error string if available * Clearly log when scanning interfaces failed * Interface names can be up to 16 bytes long. Docker bridge interfaces actually use this space so we need to reserve enough space here * Always skip the loopback interface, also in "-a" mode * Only print progress if it has changed. Otherwise, print "." as hearthbeat * Scale progress percentage according to number of addresses to be scanned by the individual threads * Consolidate output in main process * Print different warnings if we received multiple replies from (apparently) the same device or if we received replies for the same address from different MAC addresses * Print progress in verbose arp-scanning mode * Use OVER constant instead of carridge return * Spellcheck correction * Skip ABP extended CSS selectors (port of core PR #5247) * Re-apply Pi-hole specific Lua patches * Update embedded Lua to 5.4.6 * Include hostnames (if available) * Add our own address to the scan results so we can detect IP conflicts also here * Use dedicated counters per MAC for a more accurate per-device reply matrix * Unify warning * Add pihole-FTL arp-scan [{-v,-a}] * Move dhcp-discover into a dedicated "tools" target * Do not log running out of disk space when the disk occupation is > 100%. We are seeing this with docker deployments on macOS hosts. It is a band-aid fix, however, it also seem to be the only thing we can do given that docker didn't fix this in nearly two years now. * Also analyze UDP reply headers * Add extra debugging output * Add header analysis also in tcp_key_recurse to fix an issue with wrong upstream servers being attributed to DNSSEC-related queries when multiple upstream servers are defined (e.g. conditional forwarding) * Apply Pi-hole Lua patches * Update embedded Lua to 5.4.5 * Use env variable * Run seperate job to trigger removal on comments * Bump actions/checkout from 3.5.0 to 3.5.2 * Trigger stale workflow on issue comments to remove stale label immediately * Apply the same logic also for reverse lookups (PTR) * Explicitly set INSECURE status for replies received either from upstream (if they are not already validated as SECURE) or from cache. This is a direct consequence from the previous commit. * Initial DNSSEC status should be UNSPECIFIED * Analyse pseudeoheader before it might get stripped off * Log if EDNS header is NULL and we are in debug mode * Only try to interpret EDNS EDE when EDE data is available * Ignore possible EXTRA-TEXT field in EDNS0 EDE data * Use AD bit for IN/SECURE and EDE in SERVFAIL when prox for BOGUSy-dnsmasq option is used * Implement EDNS(0) EDE * Simplify EDNS handling code and also interpret replies received from upstream * Allow TLD blocking using ABP style (port of core PR #5240) * Add a few micro-optimizations to enhance speed of the parseList function and transform FQDN to domains. They are equivalent in this context but now they are not considered invalid any longer * Store in the database instead of into a temporary file * Enhance speed for ABP patterns (don't try to match domains when the line starts in "|") * Only match full lines in input file * Add gravity parseList funtion to FTL * Bump actions/checkout from 3.4.0 to 3.5.0 * Bump actions/stale from 7.0.0 to 8.0.0 * Correct declaration for blockingstatus variable. * Correct declaration for query_blocked().
Comments 0