Extension:TrustedXFF

The TrustedXFF extension maintains a list of trusted hosts in a file in CDB format. For details, see XFF project.

The file can be generated using the generate.php maintenance script.

Installation
Ensure the files are in the correct location:


 * You are in the base directory for your wiki


 * ./LocalSettings.php is in that directory


 * ./trusted-hosts.txt is in that directory


 * ./maintenance/ is directly under it, as is a writeable ./cache/ directory


 * ./extensions/TrustedXFF/ is one level further

These most likely need to be actual files, not merely symlinks pointing somewhere else, as the code uses __DIR__ and relative paths.

Insert in :

Remain in the base directory; run generate.php using:

At this point, there should be an output file created at ./cache/trusted-xff.cdb

If this exists, and Special:Version reports the extension as installed, it should be good to go. If you have more than one wiki, be sure to copy the output file to the ./cache/ directory for each of your MediaWiki installations.

Limitations

 * The extension will not whitelist large ranges, such as an /18 (or wider). The list will compile with warnings and the large range will be ignored.  This is an issue for services like CloudFlare that occupy multiple, huge chunks of IPv4 space.


 * The extension will not accept  ranges in trusted-hosts.txt. There are a few such ranges hard-coded into TrustedXFF.body.php, but adding more addresses requires editing the code directly.


 * Useless where   is unavailable. As of 2019, many wikis force HTTPs for all things.  Any manipulation with headers on a proxy compromises HTTPs server authentication unless the proxy possesses an SSL certificate authoritative for the wiki in question.  It makes the extension far less useful nowadays than it was originally envisaged.