ribaunt 0.1.5 → 0.2.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.
- package/README.md +10 -6
- package/SECURITY.md +36 -0
- package/dist/cjs/index.d.ts +43 -24
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +250 -247
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/redis.d.ts +13 -0
- package/dist/cjs/redis.d.ts.map +1 -0
- package/dist/cjs/redis.js +53 -0
- package/dist/cjs/redis.js.map +1 -0
- package/dist/index.d.ts +43 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +249 -247
- package/dist/index.js.map +1 -1
- package/dist/redis.d.ts +13 -0
- package/dist/redis.d.ts.map +1 -0
- package/dist/redis.js +49 -0
- package/dist/redis.js.map +1 -0
- package/dist/solver-worker.d.ts +2 -0
- package/dist/solver-worker.d.ts.map +1 -0
- package/dist/solver-worker.js +15 -0
- package/dist/solver-worker.js.map +1 -0
- package/dist/solver.d.ts +10 -0
- package/dist/solver.d.ts.map +1 -1
- package/dist/solver.js +14 -0
- package/dist/solver.js.map +1 -1
- package/dist/widget-react.d.ts +8 -11
- package/dist/widget-react.d.ts.map +1 -1
- package/dist/widget-react.js +30 -5
- package/dist/widget-react.js.map +1 -1
- package/dist/widget.d.ts +30 -1
- package/dist/widget.d.ts.map +1 -1
- package/dist/widget.js +132 -19
- package/dist/widget.js.map +1 -1
- package/dist/worker-client.d.ts +8 -0
- package/dist/worker-client.d.ts.map +1 -0
- package/dist/worker-client.js +78 -0
- package/dist/worker-client.js.map +1 -0
- package/package.json +23 -2
- package/dist/cjs/solver.d.ts +0 -16
- package/dist/cjs/solver.d.ts.map +0 -1
- package/dist/cjs/solver.js +0 -89
- package/dist/cjs/solver.js.map +0 -1
- package/dist/cjs/widget-browser.d.ts +0 -7
- package/dist/cjs/widget-browser.d.ts.map +0 -1
- package/dist/cjs/widget-browser.js +0 -12
- package/dist/cjs/widget-browser.js.map +0 -1
- package/dist/cjs/widget-react.d.ts +0 -40
- package/dist/cjs/widget-react.d.ts.map +0 -1
- package/dist/cjs/widget-react.js +0 -182
- package/dist/cjs/widget-react.js.map +0 -1
- package/dist/cjs/widget.d.ts +0 -97
- package/dist/cjs/widget.d.ts.map +0 -1
- package/dist/cjs/widget.js +0 -519
- package/dist/cjs/widget.js.map +0 -1
package/dist/widget.js
CHANGED
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
* - error: Fired when an error occurs
|
|
26
26
|
* - state-change: Fired when widget state changes
|
|
27
27
|
*/
|
|
28
|
-
import {
|
|
28
|
+
import { calibrateBrowser } from './solver.js';
|
|
29
|
+
import { solveChallengeWithWorker, WorkerUnavailableError, } from './worker-client.js';
|
|
29
30
|
const WIDGET_STYLES = `
|
|
30
31
|
/* Widget Container Styles */
|
|
31
32
|
:host,
|
|
@@ -61,6 +62,8 @@ const WIDGET_STYLES = `
|
|
|
61
62
|
filter: none;
|
|
62
63
|
}
|
|
63
64
|
|
|
65
|
+
:host([disabled]) .captcha[data-state=fetching],
|
|
66
|
+
:host([disabled]) .captcha[data-state=solving],
|
|
64
67
|
:host([disabled]) .captcha[data-state=verifying] {
|
|
65
68
|
cursor: progress;
|
|
66
69
|
}
|
|
@@ -73,6 +76,11 @@ const WIDGET_STYLES = `
|
|
|
73
76
|
filter: brightness(98%);
|
|
74
77
|
}
|
|
75
78
|
|
|
79
|
+
.captcha:focus-visible {
|
|
80
|
+
outline: 3px solid var(--ribaunt-focus-color, #1677ff);
|
|
81
|
+
outline-offset: 3px;
|
|
82
|
+
}
|
|
83
|
+
|
|
76
84
|
/* Checkbox Styles */
|
|
77
85
|
.checkbox {
|
|
78
86
|
width: var(--ribaunt-checkbox-size, 25px);
|
|
@@ -101,6 +109,8 @@ const WIDGET_STYLES = `
|
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
/* Verifying State */
|
|
112
|
+
.captcha[data-state=fetching] .checkbox,
|
|
113
|
+
.captcha[data-state=solving] .checkbox,
|
|
104
114
|
.captcha[data-state=verifying] .checkbox {
|
|
105
115
|
background: none;
|
|
106
116
|
display: flex;
|
|
@@ -119,6 +129,8 @@ const WIDGET_STYLES = `
|
|
|
119
129
|
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
|
120
130
|
}
|
|
121
131
|
|
|
132
|
+
.captcha[data-state=fetching] .checkbox::after,
|
|
133
|
+
.captcha[data-state=solving] .checkbox::after,
|
|
122
134
|
.captcha[data-state=verifying] .checkbox::after {
|
|
123
135
|
content: "";
|
|
124
136
|
background-color: var(--ribaunt-background, #fdfdfd);
|
|
@@ -164,11 +176,31 @@ const WIDGET_STYLES = `
|
|
|
164
176
|
|
|
165
177
|
/* Logo color adapts to theme */
|
|
166
178
|
@media (prefers-color-scheme: dark) {
|
|
179
|
+
.captcha {
|
|
180
|
+
background-color: var(--ribaunt-background, #171717);
|
|
181
|
+
border-color: var(--ribaunt-border-color, #454545);
|
|
182
|
+
color: var(--ribaunt-color, #f4f4f4);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.checkbox {
|
|
186
|
+
background-color: var(--ribaunt-checkbox-background, #242424);
|
|
187
|
+
}
|
|
188
|
+
|
|
167
189
|
.logo {
|
|
168
190
|
color: var(--ribaunt-logo-color, #999);
|
|
169
191
|
}
|
|
170
192
|
}
|
|
171
193
|
|
|
194
|
+
@media (prefers-reduced-motion: reduce) {
|
|
195
|
+
.captcha,
|
|
196
|
+
.checkbox,
|
|
197
|
+
.warning,
|
|
198
|
+
.logo {
|
|
199
|
+
transition: none !important;
|
|
200
|
+
animation: none !important;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
172
204
|
/* Warning Message */
|
|
173
205
|
.warning {
|
|
174
206
|
width: var(--ribaunt-widget-width, 230px);
|
|
@@ -236,6 +268,9 @@ export class RibauntWidget extends HTMLElement {
|
|
|
236
268
|
'show-warning',
|
|
237
269
|
'warning-message',
|
|
238
270
|
'solve-timeout',
|
|
271
|
+
'worker-mode',
|
|
272
|
+
'challenge-method',
|
|
273
|
+
'calibrate',
|
|
239
274
|
'disabled',
|
|
240
275
|
];
|
|
241
276
|
}
|
|
@@ -250,6 +285,7 @@ export class RibauntWidget extends HTMLElement {
|
|
|
250
285
|
this.warningElement = null;
|
|
251
286
|
this.logoElement = null;
|
|
252
287
|
this.autoVerifyStarted = false;
|
|
288
|
+
this.attemptController = null;
|
|
253
289
|
this.shadow = this.attachShadow({ mode: 'open' });
|
|
254
290
|
this.handleClick = this.handleClick.bind(this);
|
|
255
291
|
this.handleKeyPress = this.handleKeyPress.bind(this);
|
|
@@ -261,6 +297,7 @@ export class RibauntWidget extends HTMLElement {
|
|
|
261
297
|
this.maybeAutoVerify();
|
|
262
298
|
}
|
|
263
299
|
disconnectedCallback() {
|
|
300
|
+
this.cancelAttempt();
|
|
264
301
|
this.removeEventListeners();
|
|
265
302
|
}
|
|
266
303
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
@@ -280,9 +317,9 @@ export class RibauntWidget extends HTMLElement {
|
|
|
280
317
|
<style>${WIDGET_STYLES}</style>
|
|
281
318
|
<div>
|
|
282
319
|
${showWarning ? '<div class="warning"></div>' : ''}
|
|
283
|
-
<div class="captcha" data-state="${this.state}" role="button" tabindex="${disabled ? '-1' : '0'}" aria-disabled="${disabled}" aria-label="${this.getMessage()}">
|
|
320
|
+
<div class="captcha" data-state="${this.state}" role="button" tabindex="${disabled ? '-1' : '0'}" aria-disabled="${disabled}" aria-label="${this.getMessage()}" aria-busy="${this.isBusy()}">
|
|
284
321
|
<div class="checkbox"></div>
|
|
285
|
-
<p>${this.getMessage()}</p>
|
|
322
|
+
<p role="status" aria-live="polite">${this.getMessage()}</p>
|
|
286
323
|
<a class="logo" href="https://ribaunt.com" target="_blank" rel="noopener noreferrer" aria-label="Powered by Ribaunt">
|
|
287
324
|
${RIBAUNT_LOGO}
|
|
288
325
|
</a>
|
|
@@ -301,7 +338,7 @@ export class RibauntWidget extends HTMLElement {
|
|
|
301
338
|
}, 0);
|
|
302
339
|
}
|
|
303
340
|
// Update progress CSS variable if verifying
|
|
304
|
-
if (this.
|
|
341
|
+
if (this.isBusy() && this.captchaElement) {
|
|
305
342
|
this.captchaElement.style.setProperty('--progress', `${this.progress}%`);
|
|
306
343
|
}
|
|
307
344
|
this.attachEventListeners();
|
|
@@ -344,14 +381,31 @@ export class RibauntWidget extends HTMLElement {
|
|
|
344
381
|
switch (this.state) {
|
|
345
382
|
case 'initial':
|
|
346
383
|
return "I'm a human";
|
|
384
|
+
case 'fetching':
|
|
385
|
+
return 'Preparing challenge...';
|
|
386
|
+
case 'solving':
|
|
387
|
+
return `Solving... ${this.progress}%`;
|
|
347
388
|
case 'verifying':
|
|
348
|
-
return
|
|
389
|
+
return 'Verifying...';
|
|
349
390
|
case 'done':
|
|
350
391
|
return "You're a human";
|
|
351
392
|
case 'error':
|
|
352
393
|
return this.timeoutError ? 'Timed out. Try again.' : 'Error. Try again.';
|
|
353
394
|
}
|
|
354
395
|
}
|
|
396
|
+
isBusy() {
|
|
397
|
+
return this.state === 'fetching' || this.state === 'solving' || this.state === 'verifying';
|
|
398
|
+
}
|
|
399
|
+
getWorkerMode() {
|
|
400
|
+
const value = this.getAttribute('worker-mode');
|
|
401
|
+
return value === 'required' || value === 'disabled' ? value : 'preferred';
|
|
402
|
+
}
|
|
403
|
+
shouldCalibrate() {
|
|
404
|
+
return this.hasAttribute('calibrate') && this.getAttribute('calibrate') !== 'false';
|
|
405
|
+
}
|
|
406
|
+
getChallengeMethod() {
|
|
407
|
+
return this.getAttribute('challenge-method')?.toUpperCase() === 'POST' ? 'POST' : 'GET';
|
|
408
|
+
}
|
|
355
409
|
getSolveTimeoutMs() {
|
|
356
410
|
const raw = this.getAttribute('solve-timeout');
|
|
357
411
|
if (!raw) {
|
|
@@ -388,6 +442,7 @@ export class RibauntWidget extends HTMLElement {
|
|
|
388
442
|
this.captchaElement.setAttribute('aria-label', this.getMessage());
|
|
389
443
|
this.captchaElement.tabIndex = this.isDisabled() ? -1 : 0;
|
|
390
444
|
this.captchaElement.setAttribute('aria-disabled', String(this.isDisabled()));
|
|
445
|
+
this.captchaElement.setAttribute('aria-busy', String(this.isBusy()));
|
|
391
446
|
}
|
|
392
447
|
if (this.messageElement) {
|
|
393
448
|
this.messageElement.textContent = this.getMessage();
|
|
@@ -397,7 +452,11 @@ export class RibauntWidget extends HTMLElement {
|
|
|
397
452
|
dispatchStateChange() {
|
|
398
453
|
// Dispatch state change event
|
|
399
454
|
this.dispatchEvent(new CustomEvent('state-change', {
|
|
400
|
-
detail: {
|
|
455
|
+
detail: {
|
|
456
|
+
state: this.state,
|
|
457
|
+
phase: this.state,
|
|
458
|
+
progress: this.progress,
|
|
459
|
+
},
|
|
401
460
|
bubbles: true,
|
|
402
461
|
composed: true,
|
|
403
462
|
}));
|
|
@@ -413,23 +472,61 @@ export class RibauntWidget extends HTMLElement {
|
|
|
413
472
|
this.captchaElement.style.setProperty('--progress', `${smoothedProgress}%`);
|
|
414
473
|
}
|
|
415
474
|
}
|
|
475
|
+
cancelAttempt() {
|
|
476
|
+
this.attemptController?.abort();
|
|
477
|
+
this.attemptController = null;
|
|
478
|
+
}
|
|
479
|
+
getErrorCode(error) {
|
|
480
|
+
if (error instanceof WorkerUnavailableError)
|
|
481
|
+
return 'worker-unavailable';
|
|
482
|
+
if (error instanceof DOMException && error.name === 'AbortError') {
|
|
483
|
+
return this.timeoutError ? 'timeout' : 'aborted';
|
|
484
|
+
}
|
|
485
|
+
if (!(error instanceof Error))
|
|
486
|
+
return 'unknown';
|
|
487
|
+
if (error.message === 'Failed to fetch challenge')
|
|
488
|
+
return 'challenge-fetch-failed';
|
|
489
|
+
if (error.message === 'Verification failed')
|
|
490
|
+
return 'verification-failed';
|
|
491
|
+
if (error.message.startsWith('Challenge response') || error.message === 'No challenge tokens available') {
|
|
492
|
+
return 'invalid-challenge';
|
|
493
|
+
}
|
|
494
|
+
if (error.message.includes('solve') || error.message.includes('challenge'))
|
|
495
|
+
return 'solve-failed';
|
|
496
|
+
return 'unknown';
|
|
497
|
+
}
|
|
416
498
|
async verify() {
|
|
417
|
-
this.
|
|
499
|
+
this.cancelAttempt();
|
|
500
|
+
const controller = new AbortController();
|
|
501
|
+
this.attemptController = controller;
|
|
418
502
|
this.setProgress(0);
|
|
419
503
|
const timeoutMs = this.getSolveTimeoutMs();
|
|
420
|
-
const controller = timeoutMs ? new AbortController() : undefined;
|
|
421
504
|
const timeoutHandle = timeoutMs
|
|
422
505
|
? setTimeout(() => {
|
|
423
|
-
|
|
506
|
+
this.timeoutError = true;
|
|
507
|
+
controller.abort();
|
|
424
508
|
}, timeoutMs)
|
|
425
509
|
: undefined;
|
|
426
510
|
try {
|
|
427
511
|
const challengeEndpoint = this.getAttribute('challenge-endpoint');
|
|
428
512
|
const verifyEndpoint = this.getAttribute('verify-endpoint');
|
|
429
|
-
|
|
513
|
+
this.setState('fetching');
|
|
430
514
|
let tokens = [];
|
|
431
515
|
if (challengeEndpoint) {
|
|
432
|
-
const
|
|
516
|
+
const method = this.getChallengeMethod();
|
|
517
|
+
let calibration;
|
|
518
|
+
if (method === 'POST' && this.shouldCalibrate()) {
|
|
519
|
+
calibration = await calibrateBrowser();
|
|
520
|
+
}
|
|
521
|
+
const request = method === 'POST'
|
|
522
|
+
? {
|
|
523
|
+
method,
|
|
524
|
+
headers: { 'Content-Type': 'application/json' },
|
|
525
|
+
body: JSON.stringify(calibration ? { calibration } : {}),
|
|
526
|
+
signal: controller.signal,
|
|
527
|
+
}
|
|
528
|
+
: { signal: controller.signal };
|
|
529
|
+
const response = await fetch(challengeEndpoint, request);
|
|
433
530
|
if (!response.ok)
|
|
434
531
|
throw new Error('Failed to fetch challenge');
|
|
435
532
|
const data = await response.json();
|
|
@@ -438,39 +535,51 @@ export class RibauntWidget extends HTMLElement {
|
|
|
438
535
|
if (tokens.length === 0) {
|
|
439
536
|
throw new Error('No challenge tokens available');
|
|
440
537
|
}
|
|
441
|
-
|
|
442
|
-
const solutions = await
|
|
538
|
+
this.setState('solving');
|
|
539
|
+
const solutions = await solveChallengeWithWorker(tokens, (progress) => {
|
|
443
540
|
this.setProgress(progress);
|
|
444
|
-
}, controller
|
|
445
|
-
|
|
541
|
+
}, controller.signal, this.getWorkerMode());
|
|
542
|
+
this.setState('verifying');
|
|
446
543
|
if (verifyEndpoint) {
|
|
447
544
|
const response = await fetch(verifyEndpoint, {
|
|
448
545
|
method: 'POST',
|
|
449
546
|
headers: { 'Content-Type': 'application/json' },
|
|
450
547
|
body: JSON.stringify({ tokens, solutions }),
|
|
548
|
+
signal: controller.signal,
|
|
451
549
|
});
|
|
452
550
|
if (!response.ok) {
|
|
453
551
|
throw new Error('Verification failed');
|
|
454
552
|
}
|
|
455
553
|
}
|
|
456
554
|
this.setState('done');
|
|
457
|
-
// Dispatch verify event
|
|
458
555
|
this.dispatchEvent(new CustomEvent('verify', {
|
|
459
|
-
detail: {
|
|
556
|
+
detail: {
|
|
557
|
+
solutions,
|
|
558
|
+
phase: 'done',
|
|
559
|
+
progress: 100,
|
|
560
|
+
},
|
|
460
561
|
bubbles: true,
|
|
461
562
|
composed: true,
|
|
462
563
|
}));
|
|
463
564
|
}
|
|
464
565
|
catch (error) {
|
|
465
|
-
|
|
566
|
+
if (controller.signal.aborted && this.attemptController !== controller)
|
|
567
|
+
return;
|
|
568
|
+
if (!this.timeoutError) {
|
|
569
|
+
this.timeoutError = error instanceof DOMException
|
|
570
|
+
&& error.name === 'AbortError'
|
|
571
|
+
&& timeoutMs !== undefined;
|
|
572
|
+
}
|
|
573
|
+
const code = this.getErrorCode(error);
|
|
466
574
|
this.setState('error');
|
|
467
|
-
// Dispatch error event
|
|
468
575
|
this.dispatchEvent(new CustomEvent('error', {
|
|
469
576
|
detail: {
|
|
470
577
|
error: this.timeoutError
|
|
471
578
|
? 'Timed out. Try again.'
|
|
472
579
|
: (error instanceof Error ? error.message : String(error)),
|
|
580
|
+
code,
|
|
473
581
|
timeout: this.timeoutError,
|
|
582
|
+
phase: 'error',
|
|
474
583
|
},
|
|
475
584
|
bubbles: true,
|
|
476
585
|
composed: true,
|
|
@@ -480,12 +589,16 @@ export class RibauntWidget extends HTMLElement {
|
|
|
480
589
|
if (timeoutHandle !== undefined) {
|
|
481
590
|
clearTimeout(timeoutHandle);
|
|
482
591
|
}
|
|
592
|
+
if (this.attemptController === controller) {
|
|
593
|
+
this.attemptController = null;
|
|
594
|
+
}
|
|
483
595
|
}
|
|
484
596
|
}
|
|
485
597
|
/**
|
|
486
598
|
* Public API: Reset the widget to initial state
|
|
487
599
|
*/
|
|
488
600
|
reset() {
|
|
601
|
+
this.cancelAttempt();
|
|
489
602
|
this.timeoutError = false;
|
|
490
603
|
this.setState('initial');
|
|
491
604
|
this.setProgress(0);
|
package/dist/widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ChallengeSolution } from './solver.js';
|
|
2
|
+
export type WorkerMode = 'preferred' | 'required' | 'disabled';
|
|
3
|
+
export declare class WorkerUnavailableError extends Error {
|
|
4
|
+
readonly code = "worker-unavailable";
|
|
5
|
+
constructor(message?: string);
|
|
6
|
+
}
|
|
7
|
+
export declare function solveChallengeWithWorker(tokens: string[], onProgress?: (progress: number) => void, signal?: AbortSignal, mode?: WorkerMode): Promise<ChallengeSolution[]>;
|
|
8
|
+
//# sourceMappingURL=worker-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,wBAAwB;gBAEzB,OAAO,SAAsC;CAI1D;AAsED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,GAAE,UAAwB,GAC7B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAe9B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { solveChallenge, } from './solver.js';
|
|
2
|
+
export class WorkerUnavailableError extends Error {
|
|
3
|
+
constructor(message = 'Web Worker solving is unavailable') {
|
|
4
|
+
super(message);
|
|
5
|
+
this.code = 'worker-unavailable';
|
|
6
|
+
this.name = 'WorkerUnavailableError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function abortError() {
|
|
10
|
+
return new DOMException('Challenge solving aborted', 'AbortError');
|
|
11
|
+
}
|
|
12
|
+
function solveInWorker(tokens, onProgress, signal) {
|
|
13
|
+
return new Promise((resolve, reject) => {
|
|
14
|
+
if (typeof Worker === 'undefined') {
|
|
15
|
+
reject(new WorkerUnavailableError());
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
let worker;
|
|
19
|
+
try {
|
|
20
|
+
worker = new Worker(new URL('./solver-worker.js', import.meta.url), { type: 'module' });
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
reject(new WorkerUnavailableError(error instanceof Error ? error.message : String(error)));
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const id = globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
|
|
27
|
+
const cleanup = () => {
|
|
28
|
+
signal?.removeEventListener('abort', handleAbort);
|
|
29
|
+
worker.terminate();
|
|
30
|
+
};
|
|
31
|
+
const handleAbort = () => {
|
|
32
|
+
cleanup();
|
|
33
|
+
reject(abortError());
|
|
34
|
+
};
|
|
35
|
+
if (signal?.aborted) {
|
|
36
|
+
handleAbort();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
signal?.addEventListener('abort', handleAbort, { once: true });
|
|
40
|
+
worker.addEventListener('error', () => {
|
|
41
|
+
cleanup();
|
|
42
|
+
reject(new WorkerUnavailableError('The solver worker failed to load'));
|
|
43
|
+
}, { once: true });
|
|
44
|
+
worker.addEventListener('message', (event) => {
|
|
45
|
+
const message = event.data;
|
|
46
|
+
if (!message || message.id !== id)
|
|
47
|
+
return;
|
|
48
|
+
if (message.type === 'progress' && message.progress !== undefined) {
|
|
49
|
+
onProgress?.(message.progress);
|
|
50
|
+
}
|
|
51
|
+
else if (message.type === 'result' && message.solutions) {
|
|
52
|
+
cleanup();
|
|
53
|
+
resolve(message.solutions);
|
|
54
|
+
}
|
|
55
|
+
else if (message.type === 'error') {
|
|
56
|
+
cleanup();
|
|
57
|
+
reject(new Error(message.error ?? 'Worker solving failed'));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
worker.postMessage({ type: 'solve', id, tokens });
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export async function solveChallengeWithWorker(tokens, onProgress, signal, mode = 'preferred') {
|
|
64
|
+
if (mode === 'disabled')
|
|
65
|
+
return solveChallenge(tokens, onProgress, signal);
|
|
66
|
+
try {
|
|
67
|
+
return await solveInWorker(tokens, onProgress, signal);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (mode === 'preferred'
|
|
71
|
+
&& error instanceof WorkerUnavailableError
|
|
72
|
+
&& !signal?.aborted) {
|
|
73
|
+
return solveChallenge(tokens, onProgress, signal);
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=worker-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-client.js","sourceRoot":"","sources":["../src/worker-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ribaunt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A PoW CAPTCHA library that provides stateless and secure user verification",
|
|
5
5
|
"homepage": "https://ribaunt.com",
|
|
6
6
|
"bugs": {
|
|
@@ -23,6 +23,19 @@
|
|
|
23
23
|
"client": "./dist/widget-react.js",
|
|
24
24
|
"default": "./dist/widget-react.js",
|
|
25
25
|
"types": "./dist/widget-react.d.ts"
|
|
26
|
+
},
|
|
27
|
+
"./redis": {
|
|
28
|
+
"types": "./dist/redis.d.ts",
|
|
29
|
+
"import": "./dist/redis.js",
|
|
30
|
+
"require": "./dist/cjs/redis.js"
|
|
31
|
+
},
|
|
32
|
+
"./worker": {
|
|
33
|
+
"types": "./dist/solver-worker.d.ts",
|
|
34
|
+
"default": "./dist/solver-worker.js"
|
|
35
|
+
},
|
|
36
|
+
"./worker-client": {
|
|
37
|
+
"types": "./dist/worker-client.d.ts",
|
|
38
|
+
"default": "./dist/worker-client.js"
|
|
26
39
|
}
|
|
27
40
|
},
|
|
28
41
|
"repository": {
|
|
@@ -33,7 +46,7 @@
|
|
|
33
46
|
"author": "ribaunt",
|
|
34
47
|
"type": "module",
|
|
35
48
|
"scripts": {
|
|
36
|
-
"build": "tsc && tsc --project tsconfig.cjs.json && node scripts/prepare-cjs.mjs",
|
|
49
|
+
"build": "node scripts/clean.mjs && tsc && tsc --project tsconfig.cjs.json && node scripts/prepare-cjs.mjs",
|
|
37
50
|
"test": "vitest run",
|
|
38
51
|
"test:coverage": "vitest run --coverage"
|
|
39
52
|
},
|
|
@@ -51,10 +64,18 @@
|
|
|
51
64
|
"vitest": "^4.1.9"
|
|
52
65
|
},
|
|
53
66
|
"peerDependencies": {
|
|
67
|
+
"ioredis": ">=5.0.0",
|
|
68
|
+
"redis": ">=4.0.0",
|
|
54
69
|
"react": "^18.0.0 || ^19.0.0",
|
|
55
70
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
56
71
|
},
|
|
57
72
|
"peerDependenciesMeta": {
|
|
73
|
+
"ioredis": {
|
|
74
|
+
"optional": true
|
|
75
|
+
},
|
|
76
|
+
"redis": {
|
|
77
|
+
"optional": true
|
|
78
|
+
},
|
|
58
79
|
"react": {
|
|
59
80
|
"optional": true
|
|
60
81
|
},
|
package/dist/cjs/solver.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser-compatible challenge solver using Web Crypto API
|
|
3
|
-
*/
|
|
4
|
-
export interface ChallengeSolution {
|
|
5
|
-
nonce: string;
|
|
6
|
-
hash: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Solve a single challenge token (browser-compatible)
|
|
10
|
-
*/
|
|
11
|
-
export declare function solveSingleChallenge(token: string, signal?: AbortSignal): Promise<ChallengeSolution | undefined>;
|
|
12
|
-
/**
|
|
13
|
-
* Solve multiple challenge tokens (browser-compatible)
|
|
14
|
-
*/
|
|
15
|
-
export declare function solveChallenge(tokens: string[], onProgress?: (progress: number) => void, signal?: AbortSignal): Promise<ChallengeSolution[]>;
|
|
16
|
-
//# sourceMappingURL=solver.d.ts.map
|
package/dist/cjs/solver.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/solver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAgDD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA0BxC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwB9B"}
|
package/dist/cjs/solver.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Browser-compatible challenge solver using Web Crypto API
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.solveSingleChallenge = solveSingleChallenge;
|
|
7
|
-
exports.solveChallenge = solveChallenge;
|
|
8
|
-
/**
|
|
9
|
-
* Decode JWT token (browser-compatible, without verification)
|
|
10
|
-
*/
|
|
11
|
-
function decodeJWT(token) {
|
|
12
|
-
try {
|
|
13
|
-
const parts = token.split('.');
|
|
14
|
-
if (parts.length !== 3 || !parts[1])
|
|
15
|
-
return null;
|
|
16
|
-
const normalizedPayload = parts[1].replace(/-/g, '+').replace(/_/g, '/');
|
|
17
|
-
const paddedPayload = normalizedPayload.padEnd(normalizedPayload.length + ((4 - (normalizedPayload.length % 4)) % 4), '=');
|
|
18
|
-
const payload = JSON.parse(atob(paddedPayload));
|
|
19
|
-
return payload;
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* SHA-256 hash using Web Crypto API
|
|
27
|
-
*/
|
|
28
|
-
async function sha256(message) {
|
|
29
|
-
if (typeof TextEncoder === 'undefined') {
|
|
30
|
-
throw new Error('TextEncoder is unavailable in this browser environment');
|
|
31
|
-
}
|
|
32
|
-
if (!globalThis.crypto?.subtle) {
|
|
33
|
-
throw new Error('Web Crypto API is unavailable. Use HTTPS or localhost.');
|
|
34
|
-
}
|
|
35
|
-
const msgBuffer = new TextEncoder().encode(message);
|
|
36
|
-
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
|
|
37
|
-
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
38
|
-
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
39
|
-
return hashHex;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Solve a single challenge token (browser-compatible)
|
|
43
|
-
*/
|
|
44
|
-
async function solveSingleChallenge(token, signal) {
|
|
45
|
-
const payload = decodeJWT(token);
|
|
46
|
-
if (!payload)
|
|
47
|
-
return undefined;
|
|
48
|
-
const { challenge, difficulty } = payload;
|
|
49
|
-
const prefix = '0'.repeat(difficulty);
|
|
50
|
-
let nonce = 0;
|
|
51
|
-
while (true) {
|
|
52
|
-
if (signal?.aborted) {
|
|
53
|
-
throw new DOMException('Challenge solving aborted', 'AbortError');
|
|
54
|
-
}
|
|
55
|
-
const hash = await sha256(`${challenge}${nonce}`);
|
|
56
|
-
if (hash.startsWith(prefix)) {
|
|
57
|
-
return { nonce: String(nonce), hash };
|
|
58
|
-
}
|
|
59
|
-
nonce++;
|
|
60
|
-
// Yield to prevent blocking the UI (every 1000 iterations)
|
|
61
|
-
if (nonce % 1000 === 0) {
|
|
62
|
-
await new Promise(resolve => setTimeout(resolve, 0));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Solve multiple challenge tokens (browser-compatible)
|
|
68
|
-
*/
|
|
69
|
-
async function solveChallenge(tokens, onProgress, signal) {
|
|
70
|
-
const solutions = [];
|
|
71
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
72
|
-
const token = tokens[i];
|
|
73
|
-
if (!token) {
|
|
74
|
-
throw new Error(`Invalid token at index ${i}`);
|
|
75
|
-
}
|
|
76
|
-
const solution = await solveSingleChallenge(token, signal);
|
|
77
|
-
if (!solution) {
|
|
78
|
-
throw new Error(`Failed to solve challenge ${i + 1}`);
|
|
79
|
-
}
|
|
80
|
-
solutions.push(solution);
|
|
81
|
-
// Report progress
|
|
82
|
-
if (onProgress) {
|
|
83
|
-
const progress = Math.round(((i + 1) / tokens.length) * 100);
|
|
84
|
-
onProgress(progress);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return solutions;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=solver.js.map
|
package/dist/cjs/solver.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/solver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"widget-browser.d.ts","sourceRoot":"","sources":["../../src/widget-browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,aAAa,CAAC"}
|