Files
argus-wp-defence/argus-wordpress-defence.php
T
ARGUSandClaude Sonnet 5 8a6c9ca4de ARGUS WordPress Defence 7.23.1 -- real, working automatic updates
Fixes a real bug: a normal (non-critical) update was previously
detected and shown as available, but nothing ever actually installed
it -- there was no button, cron path, or any other code that did.
Automatic updates only ever worked for updates flagged critical, which
isn't what "automatic" means. Now any newer, compatible,
signature-verified update installs on its own.

This is also the first release where the self-update mechanism itself
ships in this self-distributed channel -- it was unconditionally
excluded from every previous build (a WordPress.org-only restriction
that doesn't apply here, since this channel isn't WordPress.org).

manifest.json in this repo is the real, live update manifest: signed
with Ed25519 (public key documented in README.md's Updating section),
pointing at this exact release's ZIP and its real SHA-256. Verified
end-to-end before publishing -- not just "the code looks right": ran a
full real update cycle (an older installed version checking this
manifest, downloading this exact package, verifying its signature and
hash, replacing itself, and the site continuing to work with zero
errors afterward) using the actual signing key and the actual
package this commit ships.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-09 19:19:40 +00:00

47 lines
2.0 KiB
PHP

<?php
/**
* Plugin Name: ARGUS WordPress Defence
* Plugin URI: https://git-cloud.weboria.eu/Weboria/argus-wp-defence
* Description: Standalone WordPress security: local WAF, malware & integrity scanning, vulnerability intelligence, and a deterministic ban/policy engine. Works fully offline; optionally connects to ARGUS Cloud for richer intelligence and cross-asset correlation.
* Version: 7.23.1
* Requires at least: 6.0
* Requires PHP: 7.4
* Author: ARGUS
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: argus-wordpress-defence
*
* Architecture reference: argus-appliance/docs/adr/0053-argus-wordpress-defence.md
*
* This is the REGULAR plugin entry point -- the admin UI, settings, and
* anything that doesn't need to run before WordPress core boots lives
* here. The enforcement core (WAF/ban/policy) is installed separately as
* a Must-Use plugin (see includes/class-argus-mu-installer.php and
* mu-loader/argus-mu-core.php) so it keeps running even if this regular
* plugin is deactivated from wp-admin -- ADR-0053 §13.1's self-protection
* design. This file still loads the same enforcement classes for the
* admin UI to read state from, and as the Tier-1 fallback hook
* (plugins_loaded) on any host where the MU-plugin install failed.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'ARGUS_WPD_VERSION', '7.23.1' );
define( 'ARGUS_WPD_FILE', __FILE__ );
define( 'ARGUS_WPD_DIR', plugin_dir_path( __FILE__ ) );
define( 'ARGUS_WPD_URL', plugin_dir_url( __FILE__ ) );
define( 'ARGUS_WPD_BASENAME', plugin_basename( __FILE__ ) );
require_once ARGUS_WPD_DIR . 'includes/class-argus-autoloader.php';
Argus_Autoloader::register();
register_activation_hook( __FILE__, array( 'Argus_Activator', 'activate' ) );
register_deactivation_hook( __FILE__, array( 'Argus_Deactivator', 'deactivate' ) );
function argus_wpd_init() {
Argus_Plugin::instance()->boot();
}
add_action( 'plugins_loaded', 'argus_wpd_init', 0 );