Files
Q-Feeds d987a7e53e Feature/dnscrypt proxy blocklist support (#5083)
* Add ports to Events page

* fixes race condition updating the blocklist

* Native integration with DNSCrypt-proxy

Added Q-Feeds domains to the DNSBL list of DNSCrypt-Proxy. Changed since the initial way, this is more native. Q-Feeds domains txt files only created if DNSCrypt-proxy is installed and if the list (qf) is selected.
2025-12-19 09:58:20 +01:00
..

plugin to connect to QFeeds threat platform

Register for a token at : https://qfeeds.com/opnsense/

command line control

Settings are persisted in /usr/local/etc/qfeeds.conf, using the following format:

[api]
key=tip_xxxxxxxx

Our commandline tool contains all actions used by the UI, which is practical for debuggging.

usage: qfeedsctl.py [-h] [--target_dir TARGET_DIR] [-f] [-v] [{fetch_index,fetch,show_index,firewall_load,update,stats} ...]

positional arguments:
  {fetch_index,fetch,show_index,firewall_load,update,stats}

options:
  -h, --help            show this help message and exit
  --target_dir TARGET_DIR
  -f                    forced (auto index)
  -v                    verbose output

The index is the driver for most actions, which is a json encoded file in /var/db/qfeeds-tables/index.json.

Actions supported:

  • fetch_index --> download the index file
  • fetch --> download the lists
  • firewall_load --> collect ip lists into pre-defined firewall tables
  • update [sleep when almost time] --> run fetch_index --> fetch --> firewall_load (to be used by cron)
  • show_index --> dumps the index
  • stats --> dumps feed information
  • logs --> dumps firewall log information for aliases offered by Q-Feeds

Example usage:

/usr/local/opnsense/scripts/qfeeds/qfeedsctl.py update

Fetch index and update lists when updated remotely