Extended Integrity for NinjaScanner
Enables NinjaScanner integrity checks for plugins and themes distributed outside WordPress.org.
by Torsten Landsiedel · github.com/zodiac1978/extended-integrity-for-ninjascanner
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/zodiac1978/extended-integrity-for-ninjascanner/archive/refs/heads/main.zipReadme
Extended Integrity for NinjaScanner
Enables NinjaScanner integrity checks for plugins and themes distributed outside WordPress.org.
What is Extended Integrity for NinjaScanner doing?
Extended Integrity for NinjaScanner intercepts updates for selected external plugins and themes, stores a copy of the downloaded ZIP in NinjaScanner's local package directory, and passes the same download back to WordPress for the normal update process.
More information about NinjaScanner's file integrity checker and local package archives is available in the official NinjaScanner documentation.
The selection screen is available under Settings > Extended Integrity. Packages recognized as coming from WordPress.org are not shown. Detection uses the package's Update URI header and the locally cached WordPress update metadata; no additional remote request is made.
After a new package has been copied successfully, older archive versions for the same package slug are deleted. A failed download or copy never triggers cleanup.
By default archives are stored in wp-content/ninjascanner/local. If NinjaScanner defines NSCAN_LOCAL, that directory is used instead. Filenames follow NinjaScanner's slug.version.zip convention.
On uninstall, the plugin removes its settings from every site in a multisite network. Archive ZIP files recorded as having been created by this plugin are removed as well; unrelated files in NinjaScanner's directory are retained.