Hostnames plugin¶
Attention
The “Hostname replace” plugin has been replace by “Hostnames plugin”, see PR 3463 & PR 3552.
The Hostnames plugin can be enabled by adding it to the
enabled_plugins
list in the setting.yml
like so.
enabled_plugins: - 'Hostnames plugin' ...
hostnames.replace
: A mapping of regular expressions to hostnames to be replaced by other hostnames.hostnames: replace: '(.*\.)?youtube\.com$': 'invidious.example.com' '(.*\.)?youtu\.be$': 'invidious.example.com' ...
hostnames.remove
: A list of regular expressions of the hostnames whose results should be taken from the results list.hostnames: remove: - '(.*\.)?facebook.com$' - ...
hostnames.high_priority
: A list of regular expressions for hostnames whose result should be given higher priority. The results from these hosts are arranged higher in the results list.hostnames: high_priority: - '(.*\.)?wikipedia.org$' - ...
hostnames.lower_priority
: A list of regular expressions for hostnames whose result should be given lower priority. The results from these hosts are arranged lower in the results list.hostnames: low_priority: - '(.*\.)?google(\..*)?$' - ...
If the URL matches the pattern of high_priority
AND low_priority
, the
higher priority wins over the lower priority.
Alternatively, you can also specify a file name for the mappings or lists to load these from an external file:
hostnames:
replace: 'rewrite-hosts.yml'
remove:
- '(.*\.)?facebook.com$'
- ...
low_priority:
- '(.*\.)?google(\..*)?$'
- ...
high_priority:
- '(.*\.)?wikipedia.org$'
- ...
The rewrite-hosts.yml
from the example above must be in the folder in which
the settings.yml
file is already located (/etc/searxng
). The file then
only contains the lists or the mapping tables without further information on the
namespaces. In the example above, this would be a mapping table that looks
something like this:
'(.*\.)?youtube\.com$': 'invidious.example.com'
'(.*\.)?youtu\.be$': 'invidious.example.com'