@anonympins/fingerprint 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -9
- package/README.md +1 -1
- package/package.json +109 -107
- package/public/fingerprint-anti-bot.zip +0 -0
- package/src/js/fingerprint.client.js +252 -45
- package/src/js/fingerprint.client.obfuscated.js +1 -1
- package/src/js/fingerprint.js +265 -185
- package/src/js/fingerprint.utils.js +32 -5
- package/src/js/fingerprint.worker.js +81 -0
- package/src/js/library.js +6 -2
- package/src/js/pow.solver.js +2 -3
- package/src/js/problem-manager.js +113 -113
- package/src/js/tests/fingerprint.client.init.test.js +30 -0
- package/src/js/tests/fingerprint.test.js +136 -4
- package/src/js/tests/threatIntel.test.js +76 -0
- package/src/php/AutoTuner.php +36 -18
- package/src/php/Challenge/ChallengeUtils.php +121 -240
- package/src/php/DirectFingerprint.php +16 -4
- package/src/php/FingerprintClient.php +17 -19
- package/src/php/FingerprintEngine.php +77 -39
- package/src/php/Ja3AnomalyDetector.php +20 -12
- package/src/php/Optimization/Optimization.php +5 -1
- package/src/php/Optimization/OptimizationOperators.php +5 -1
- package/src/php/Optimization/ProblemInitializers.php +16 -4
- package/src/php/ProblemManager.php +20 -14
- package/src/php/Tests/ChallengeUtilsTest.php +469 -453
- package/src/php/Tests/FingerprintEngineTest.php +6 -1
- package/src/php/Tests/RequestUtilsTest.php +1 -1
- package/src/php/Tests/ThreatIntelTest.php +64 -0
- package/src/php/Utils/Env.php +51 -49
- package/src/php/Utils/MaliciousPatterns.php +74 -74
- package/src/php/Utils/RequestUtils.php +231 -132
- package/src/php/WordPress/WpDbStore.php +4 -0
- package/src/php/WordPress/{fingerprint-wordpress.php → fingerprint-anti-bot.php} +131 -126
- package/src/php/WordPress/languages/fingerprint-wordpress-de_DE.mo +0 -0
- package/src/php/WordPress/languages/fingerprint-wordpress-de_DE.po +1 -1
- package/src/php/WordPress/languages/fingerprint-wordpress-fr_FR.mo +0 -0
- package/src/php/WordPress/languages/fingerprint-wordpress-fr_FR.po +1 -1
- package/src/php/WordPress/package.php +6 -3
- package/src/php/WordPress/readme.txt +36 -0
- package/public/fingerprint-wordpress.zip +0 -0
|
@@ -20,7 +20,7 @@ $phpSrcDir = $rootDir . '/src/php';
|
|
|
20
20
|
$jsSrcDir = $rootDir . '/src/js';
|
|
21
21
|
$wpDir = $phpSrcDir . '/WordPress';
|
|
22
22
|
$distDir = $rootDir . '/public';
|
|
23
|
-
$pluginSlug = 'fingerprint-
|
|
23
|
+
$pluginSlug = 'fingerprint-anti-bot';
|
|
24
24
|
$buildDir = $distDir . '/' . $pluginSlug;
|
|
25
25
|
$zipFile = $distDir . '/' . $pluginSlug . '.zip';
|
|
26
26
|
|
|
@@ -128,8 +128,11 @@ function compilePoToMo(string $poFile, string $moFile): bool {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
// 2. Copie des fichiers principaux du plugin WordPress
|
|
131
|
-
copy($wpDir . '/fingerprint-
|
|
131
|
+
copy($wpDir . '/fingerprint-anti-bot.php', $buildDir . '/fingerprint-anti-bot.php');
|
|
132
132
|
copy($wpDir . '/WpDbStore.php', $buildDir . '/WpDbStore.php');
|
|
133
|
+
if (file_exists($wpDir . '/readme.txt')) {
|
|
134
|
+
copy($wpDir . '/readme.txt', $buildDir . '/readme.txt');
|
|
135
|
+
}
|
|
133
136
|
|
|
134
137
|
// 3. Copie des assets clients nécessaires (solveur PoW)
|
|
135
138
|
$solverSource = $jsSrcDir . '/pow.solver.inline.js';
|
|
@@ -191,7 +194,7 @@ $distIterator = new RecursiveIteratorIterator(
|
|
|
191
194
|
foreach ($distIterator as $file) {
|
|
192
195
|
if (!$file->isDir()) {
|
|
193
196
|
$filePath = $file->getPathname();
|
|
194
|
-
// Préserve le préfixe du dossier racine dans le ZIP : fingerprint-
|
|
197
|
+
// Préserve le préfixe du dossier racine dans le ZIP : fingerprint-anti-bot/...
|
|
195
198
|
$relativePath = $pluginSlug . '/' . substr($filePath, strlen($buildDir) + 1);
|
|
196
199
|
$zip->addFile($filePath, str_replace('\\', '/', $relativePath));
|
|
197
200
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
=== Fingerprint Anti-Bot & Proof-of-Work ===
|
|
2
|
+
Contributors: anonympins
|
|
3
|
+
Tags: bot protection, security, proof of work, firewall, anti scraping
|
|
4
|
+
Requires at least: 5.9
|
|
5
|
+
Tested up to: 7.1
|
|
6
|
+
Requires PHP: 8.0
|
|
7
|
+
Stable tag: 0.7.4
|
|
8
|
+
License: MIT
|
|
9
|
+
License URI: https://opensource.org/licenses/MIT
|
|
10
|
+
|
|
11
|
+
High-performance client-side anti-bot protection and Proof-of-Work challenge verification for WordPress without third-party CAPTCHA.
|
|
12
|
+
|
|
13
|
+
== Description ==
|
|
14
|
+
|
|
15
|
+
Fingerprint Anti-Bot is a high-performance, privacy-friendly bot mitigation engine for WordPress. It combines behavioral telemetry, TLS/HTTP2/QUIC transport inspection (JA3, JA4), passive TCP/IP stack analysis, and asynchronous Proof-of-Work (PoW) verification.
|
|
16
|
+
|
|
17
|
+
= Features =
|
|
18
|
+
* Transparent protection against scrapers, credential stuffers, and inventory scalpers.
|
|
19
|
+
* Multi-layered behavioral analysis (mouse, keystrokes, touch dynamics).
|
|
20
|
+
* Cryptographic Proof-of-Work challenges (CPU and Memory bound) without third-party CAPTCHA cookies or trackers.
|
|
21
|
+
* Prometheus-compatible metrics endpoint for monitoring and observability.
|
|
22
|
+
* Tailored security profiles for Frontend, Admin Area (wp-login), and REST API endpoints.
|
|
23
|
+
|
|
24
|
+
== Installation ==
|
|
25
|
+
|
|
26
|
+
1. Upload the plugin files to the `/wp-content/plugins/fingerprint-anti-bot` directory, or install the plugin through the WordPress plugins screen directly.
|
|
27
|
+
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
|
28
|
+
3. Navigate to **Settings -> Fingerprint Anti-Bot** to review security profiles, threshold adjustments, and Prometheus metrics.
|
|
29
|
+
|
|
30
|
+
== Frequently Asked Questions ==
|
|
31
|
+
|
|
32
|
+
= Does this plugin require an external cloud service? =
|
|
33
|
+
No. All evaluations, challenges, and validations occur directly on your WordPress server and client browser.
|
|
34
|
+
|
|
35
|
+
= Is HTTPS required? =
|
|
36
|
+
HTTPS is strongly recommended. Under unencrypted HTTP, modern browsers disable the Web Cryptography API (`crypto.subtle`), which reduces challenge verification performance.
|
|
Binary file
|