Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login
    Introducing Netgate Nexus: Multi-Instance Management at Your Fingertips.

    I built a tool that automatically finds gaps in pfBlockerNG blocklists

    Scheduled Pinned Locked Moved pfBlockerNG
    7 Posts 3 Posters 262 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ngfN Offline
      ngf
      last edited by

      I’ve been running pfSense + pfBlockerNG for a long time in my homelab, and one thing always bothered me:

      Even with large blocklists enabled, there were still a lot of missing IPs/domains compared to sources like FireHOL and Hagezi.

      So I built a self-hosted tool that:

      • Reads your active pfBlockerNG lists directly from pfSense
      • Compares them against larger threat/blocklist sources
      • Finds only the missing entries ("gaps")
      • Generates optimized output files for pfBlockerNG
      • Shows recommendations in a simple web UI

      The goal was to avoid:

      • duplicate entries
      • giant overlapping lists
      • unnecessary downloads
      • manually comparing sources

      It uses:

      • pfSense
      • pfBlockerNG
      • GitHub Actions
      • Python
      • GitHub Pages

      Current features:

      • Automatic gap detection
      • DNSBL + IP support
      • Recommendation engine
      • Daily automated updates
      • Self-hosted web interface

      Project:
      blocklist-manager
      Would love feedback, ideas, or feature suggestions from other pfSense / homelab users.

      Bob.DigB M 2 Replies Last reply Reply Quote 1
      • Bob.DigB Offline
        Bob.Dig LAYER 8 @ngf
        last edited by Bob.Dig

        @ngf said in I built a tool that automatically finds gaps in pfBlockerNG blocklists:

        FireHOL

        Why don't you just use firehol in the first place?
        And PfBlocker is doing most of the stuff everything you proclaim for yourself already...

        ngfN 1 Reply Last reply Reply Quote 0
        • M Offline
          musicwizard @ngf
          last edited by

          @ngf I got a question you said this is self-hosted but still you need gethub token to use it. Which makes me already not trust it as self-hosted.

          ngfN 1 Reply Last reply Reply Quote 0
          • ngfN Offline
            ngf @Bob.Dig
            last edited by

            @Bob.Dig The tool doesn't replace FireHOL - it uses it as a comparison source.
            I already have ET, Spamhaus, Hagezi etc configured - adding FireHOL on top creates massive duplicates. the tool finds only what's missing and outputs a clean file. same coverage, without the mess.

            1 Reply Last reply Reply Quote 0
            • ngfN Offline
              ngf @musicwizard
              last edited by

              @musicwizard Fair point but the token goes directly to GitHub API only to read/write your own config file in your own repo. nothing passes through any server of mine and if you're not comfortable with the UI at all, just edit sources.yaml directly in GitHub the automation works without it.

              M 1 Reply Last reply Reply Quote 0
              • M Offline
                musicwizard @ngf
                last edited by

                Well Yes but why would i have a the config file online? and not offline/own server. if its only for the config file.
                If that is the case i don't understand why you would need github at all?

                ngfN 1 Reply Last reply Reply Quote 0
                • ngfN Offline
                  ngf @musicwizard
                  last edited by

                  @musicwizard GitHub serves two purposes here it hosts the config file and runs the automation (GitHub Actions) that does the daily comparison and generates the output files.
                  You could self-host everything on your own server, but then you'd need a cron job, Python environment, and a web server.
                  GitHub Actions gives you all of that for free with zero maintenance.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Copyright 2026 Rubicon Communications LLC (Netgate). All rights reserved.