@anonympins/fingerprint 0.7.4 → 0.8.0

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +1 -1
  3. package/package.json +1 -1
  4. package/public/anonympins-bot-mitigation-pow.zip +0 -0
  5. package/src/js/dynamic-wasm.js +218 -218
  6. package/src/js/fingerprint.client.js +1784 -1738
  7. package/src/js/fingerprint.client.obfuscated.js +1 -1
  8. package/src/js/fingerprint.js +489 -99
  9. package/src/js/fingerprint.utils.js +252 -2
  10. package/src/js/pow.worker.js +2 -2
  11. package/src/js/tests/cross_parity.test.js +3 -3
  12. package/src/js/tests/dns-circuit-breaker.test.js +6 -6
  13. package/src/js/tests/dynamic-wasm.test.js +77 -77
  14. package/src/js/tests/fingerprint.builder.test.js +76 -78
  15. package/src/js/tests/fingerprint.client.init.test.js +78 -0
  16. package/src/js/tests/fingerprint.client.test.js +16 -17
  17. package/src/js/tests/fingerprint.test.js +37 -12
  18. package/src/js/tests/ja3AnomalyDetector.test.js +135 -136
  19. package/src/js/tests/library.test.js +94 -95
  20. package/src/js/tests/obfuscation.test.js +8 -8
  21. package/src/js/tests/quicFingerprint.test.js +47 -0
  22. package/src/js/tests/tcpFingerprint.test.js +4 -4
  23. package/src/js/tests/threatIntel.test.js +40 -1
  24. package/src/js/upow-model-task.js +155 -112
  25. package/src/php/Challenge/ChallengeUtils.php +392 -86
  26. package/src/php/Config/SecurityProfiles.php +79 -61
  27. package/src/php/DirectFingerprint.php +55 -8
  28. package/src/php/FingerprintBuilder.php +13 -13
  29. package/src/php/FingerprintClient.php +6 -6
  30. package/src/php/FingerprintEngine.php +2122 -1690
  31. package/src/php/Ja3AnomalyDetector.php +22 -22
  32. package/src/php/Optimization/FunctionRegistry.php +4 -4
  33. package/src/php/Optimization/Optimization.php +6 -6
  34. package/src/php/RequestContext.php +11 -11
  35. package/src/php/Store/InMemoryStore.php +96 -66
  36. package/src/php/Store/MongoDbStore.php +2 -2
  37. package/src/php/Store/RedisStore.php +1 -1
  38. package/src/php/Store/StoreManager.php +48 -35
  39. package/src/php/Tests/ChallengeUtilsTest.php +31 -0
  40. package/src/php/Tests/DnsCircuitBreakerTest.php +105 -105
  41. package/src/php/Tests/FingerprintClientTest.php +70 -70
  42. package/src/php/Tests/PowTest.php +37 -39
  43. package/src/php/Tests/QuicFingerprintTest.php +115 -53
  44. package/src/php/Tests/ThreatIntelTest.php +34 -0
  45. package/src/php/Utils/BigInt.php +202 -202
  46. package/src/php/Utils/BlockList.php +13 -13
  47. package/src/php/Utils/Logger.php +19 -1
  48. package/src/php/Utils/MaliciousPatterns.php +6 -6
  49. package/src/php/Utils/MetricsManager.php +209 -209
  50. package/src/php/Utils/RequestUtils.php +362 -1
  51. package/src/php/Utils/TLSClientHelloParser.php +385 -369
  52. package/src/php/WordPress/WpDbStore.php +7 -7
  53. package/src/php/WordPress/anonympins-bot-mitigation-pow.php +1121 -0
  54. package/src/php/WordPress/fingerprint-anti-bot.php +0 -559
  55. package/src/php/WordPress/languages/anonympins-bot-mitigation-pow-fr_FR.mo +0 -0
  56. package/src/php/WordPress/languages/anonympins-bot-mitigation-pow-fr_FR.po +232 -0
  57. package/src/php/WordPress/languages/fingerprint-wordpress-de_DE.mo +0 -0
  58. package/src/php/WordPress/languages/fingerprint-wordpress-de_DE.po +297 -261
  59. package/src/php/WordPress/languages/fingerprint-wordpress-fr_FR.mo +0 -0
  60. package/src/php/WordPress/languages/fingerprint-wordpress-fr_FR.po +348 -267
  61. package/src/php/WordPress/package.php +80 -101
  62. package/src/php/WordPress/readme.txt +21 -5
  63. package/src/php/bin/auto-tune.php +1 -1
  64. package/public/fingerprint-anti-bot.zip +0 -0
@@ -10,15 +10,15 @@ if (!defined('ABSPATH')) {
10
10
 
11
11
  use Anonympins\Fingerprint\Store\IStore;
12
12
 
13
- // Polyfill pour ARRAY_A si chargé hors du cycle de vie standard de WordPress
13
+ // Polyfill for ARRAY_A if loaded outside standard WordPress lifecycle
14
14
  if (!defined('ARRAY_A')) {
15
15
  define('ARRAY_A', 'ARRAY_A');
16
16
  }
17
17
 
18
18
  /**
19
- * Adaptateur IStore persistant pour WordPress exploitant l'objet $wpdb.
20
- * Permet de stocker les sessions d'appareils, nonces et états de PoW
21
- * sans dépendre d'une extension mémoire comme Redis ou APCu.
19
+ * Persistent IStore adapter for WordPress backed by the global $wpdb database object.
20
+ * Stores device sessions, challenge nonces, and PoW states without
21
+ * requiring external memory stores such as Redis or APCu.
22
22
  */
23
23
  class WpDbStore implements IStore
24
24
  {
@@ -35,7 +35,7 @@ class WpDbStore implements IStore
35
35
  }
36
36
 
37
37
  /**
38
- * Crée la table de stockage si elle n'existe pas encore.
38
+ * Creates the storage table if it does not exist yet.
39
39
  */
40
40
  public function ensureTable(): void
41
41
  {
@@ -52,7 +52,7 @@ class WpDbStore implements IStore
52
52
  KEY `expires_idx` (`expires_at`)
53
53
  ) {$charsetCollate};";
54
54
 
55
- // Chargement sécurisé de dbDelta si ABSPATH est présent
55
+ // Safely load dbDelta if ABSPATH is defined
56
56
  if (!function_exists('dbDelta') && defined('ABSPATH')) {
57
57
  $upgradeFile = ABSPATH . 'wp-admin/includes/upgrade.php';
58
58
  if (file_exists($upgradeFile)) {
@@ -142,7 +142,7 @@ class WpDbStore implements IStore
142
142
  }
143
143
 
144
144
  /**
145
- * Nettoie les lignes expirées (appelé par le WP-Cron périodique).
145
+ * Purges expired records (invoked by periodic WP-Cron).
146
146
  */
147
147
  public function pruneExpired(): int
148
148
  {