@webdecoy/fcaptcha 1.0.0 → 1.0.1
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/README.md +62 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# @webdecoy/fcaptcha
|
|
2
|
+
|
|
3
|
+
Open source CAPTCHA with Proof of Work, bot detection, and Vision AI protection.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @webdecoy/fcaptcha
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
const { createScoringEngine } = require('@webdecoy/fcaptcha');
|
|
15
|
+
|
|
16
|
+
// Create a scoring engine
|
|
17
|
+
const engine = createScoringEngine({
|
|
18
|
+
secret: process.env.FCAPTCHA_SECRET
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// Generate a PoW challenge
|
|
22
|
+
const challenge = engine.generateChallenge('my-site', clientIP);
|
|
23
|
+
|
|
24
|
+
// Verify a submission
|
|
25
|
+
const result = engine.verify(signals, clientIP, siteKey, userAgent, headers, powSolution);
|
|
26
|
+
|
|
27
|
+
if (result.success) {
|
|
28
|
+
// User passed verification
|
|
29
|
+
console.log('Score:', result.score);
|
|
30
|
+
console.log('Token:', result.token);
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Features
|
|
35
|
+
|
|
36
|
+
- **Proof of Work** - SHA-256 challenges that force compute cost on attackers
|
|
37
|
+
- **Vision AI Detection** - Detects screenshot→API→click automation patterns
|
|
38
|
+
- **Bot Detection** - Headless browsers, WebDriver, Puppeteer, Playwright, Selenium
|
|
39
|
+
- **Behavioral Analysis** - 40+ signals including micro-tremor and velocity variance
|
|
40
|
+
- **Privacy-First** - No persistent fingerprinting or cross-site tracking
|
|
41
|
+
|
|
42
|
+
## Exports
|
|
43
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
const {
|
|
46
|
+
ScoringEngine, // Main verification engine
|
|
47
|
+
PoWChallengeStore, // Challenge storage
|
|
48
|
+
RateLimiter, // Rate limiting
|
|
49
|
+
FingerprintStore, // Fingerprint tracking
|
|
50
|
+
detection, // Detection utilities
|
|
51
|
+
createScoringEngine, // Factory function
|
|
52
|
+
createMiddleware, // Express middleware factory
|
|
53
|
+
} = require('@webdecoy/fcaptcha');
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Documentation
|
|
57
|
+
|
|
58
|
+
Full documentation: [github.com/webdecoy/fcaptcha](https://github.com/webdecoy/fcaptcha)
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
MIT
|