@botpoison/browser 0.1.32 → 0.1.34
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/dist/index.d.ts +13 -10
- package/dist/index.js +1 -1
- package/dist/index.mjs +229 -115
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,27 +1,30 @@
|
|
|
1
|
+
type ProgressCallback = (progress: number) => void;
|
|
2
|
+
type SignedChallenge = {
|
|
3
|
+
payload: {
|
|
4
|
+
nonce: string;
|
|
5
|
+
difficulty: number;
|
|
6
|
+
hardness: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
|
|
1
10
|
declare global {
|
|
2
11
|
interface Window {
|
|
3
12
|
__BOTPOISON_VERSION__: string | undefined;
|
|
4
13
|
__BOTPOISON_SUBMIT_LISTENER__: boolean | undefined;
|
|
5
|
-
|
|
14
|
+
__BOTPOISON_SESSION_OPENED__: boolean | undefined;
|
|
6
15
|
}
|
|
7
16
|
}
|
|
8
17
|
type BotpoisonOptions = {
|
|
9
18
|
publicKey: string;
|
|
19
|
+
baseUrl?: string;
|
|
10
20
|
};
|
|
11
21
|
type ChallengeOptions = {
|
|
12
22
|
onProgress?: ProgressCallback;
|
|
13
23
|
};
|
|
14
|
-
type ProgressCallback = (progress: number) => void;
|
|
15
|
-
type SignedChallenge = {
|
|
16
|
-
payload: {
|
|
17
|
-
nonce: string;
|
|
18
|
-
difficulty: number;
|
|
19
|
-
hardness: number;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
24
|
declare class Botpoison {
|
|
23
25
|
private readonly publicKey;
|
|
24
|
-
|
|
26
|
+
private readonly baseUrl?;
|
|
27
|
+
constructor({ publicKey, baseUrl }: BotpoisonOptions);
|
|
25
28
|
static init(): void;
|
|
26
29
|
challenge(options?: ChallengeOptions): Promise<{
|
|
27
30
|
solution: string;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var __botpoison=(()=>{var UF=Object.create;var pF=Object.defineProperty;var HF=Object.getOwnPropertyDescriptor;var KF=Object.getOwnPropertyNames;var MF=Object.getPrototypeOf,jF=Object.prototype.hasOwnProperty;var zF=(E,c)=>()=>(c||E((c={exports:{}}).exports,c),c.exports),JF=(E,c)=>{for(var d in c)pF(E,d,{get:c[d],enumerable:!0})},wF=(E,c,d,O)=>{if(c&&typeof c=="object"||typeof c=="function")for(let m of KF(c))!jF.call(E,m)&&m!==d&&pF(E,m,{get:()=>c[m],enumerable:!(O=HF(c,m))||O.enumerable});return E};var VF=(E,c,d)=>(d=E!=null?UF(MF(E)):{},wF(c||!E||!E.__esModule?pF(d,"default",{value:E,enumerable:!0}):d,E)),LF=E=>wF(pF({},"__esModule",{value:!0}),E);var gF=zF((QF,CF)=>{"use strict";(function(){"use strict";var E="input is invalid type",c="finalize already called",d=typeof window=="object",O=d?window:{};O.JS_SHA512_NO_WINDOW&&(d=!1);var m=!d&&typeof self=="object",R=!O.JS_SHA512_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;R?O=global:m&&(O=self);var rF=!O.JS_SHA512_NO_COMMON_JS&&typeof CF=="object"&&CF.exports,lF=typeof define=="function"&&define.amd,aF=!O.JS_SHA512_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",F="0123456789abcdef".split(""),PF=[-2147483648,8388608,32768,128],eF=[24,16,8,0],nF=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],cF=["hex","array","digest","arrayBuffer"],p=[];(O.JS_SHA512_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),aF&&(O.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});var vF=function(t,e){return function(r){return new v(e,!0).update(r)[t]()}},AF=function(t){var e=vF("hex",t);e.create=function(){return new v(t)},e.update=function(B){return e.create().update(B)};for(var r=0;r<cF.length;++r){var f=cF[r];e[f]=vF(f,t)}return e},SF=function(t,e){return function(r,f){return new oF(r,e,!0).update(f)[t]()}},EF=function(t){var e=SF("hex",t);e.create=function(B){return new oF(B,t)},e.update=function(B,n){return e.create(B).update(n)};for(var r=0;r<cF.length;++r){var f=cF[r];e[f]=SF(f,t)}return e};function v(t,e){e?(p[0]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=p[16]=p[17]=p[18]=p[19]=p[20]=p[21]=p[22]=p[23]=p[24]=p[25]=p[26]=p[27]=p[28]=p[29]=p[30]=p[31]=p[32]=0,this.blocks=p):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t==384?(this.h0h=3418070365,this.h0l=3238371032,this.h1h=1654270250,this.h1l=914150663,this.h2h=2438529370,this.h2l=812702999,this.h3h=355462360,this.h3l=4144912697,this.h4h=1731405415,this.h4l=4290775857,this.h5h=2394180231,this.h5l=1750603025,this.h6h=3675008525,this.h6l=1694076839,this.h7h=1203062813,this.h7l=3204075428):t==256?(this.h0h=573645204,this.h0l=4230739756,this.h1h=2673172387,this.h1l=3360449730,this.h2h=596883563,this.h2l=1867755857,this.h3h=2520282905,this.h3l=1497426621,this.h4h=2519219938,this.h4l=2827943907,this.h5h=3193839141,this.h5l=1401305490,this.h6h=721525244,this.h6l=746961066,this.h7h=246885852,this.h7l=2177182882):t==224?(this.h0h=2352822216,this.h0l=424955298,this.h1h=1944164710,this.h1l=2312950998,this.h2h=502970286,this.h2l=855612546,this.h3h=1738396948,this.h3l=1479516111,this.h4h=258812777,this.h4l=2077511080,this.h5h=2011393907,this.h5l=79989058,this.h6h=1067287976,this.h6l=1780299464,this.h7h=286451373,this.h7l=2446758561):(this.h0h=1779033703,this.h0l=4089235720,this.h1h=3144134277,this.h1l=2227873595,this.h2h=1013904242,this.h2l=4271175723,this.h3h=2773480762,this.h3l=1595750129,this.h4h=1359893119,this.h4l=2917565137,this.h5h=2600822924,this.h5l=725511199,this.h6h=528734635,this.h6l=4215389547,this.h7h=1541459225,this.h7l=327033209),this.bits=t,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1}v.prototype.update=function(t){if(this.finalized)throw new Error(c);var e,r=typeof t;if(r!=="string"){if(r==="object"){if(t===null)throw new Error(E);if(aF&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!aF||!ArrayBuffer.isView(t)))throw new Error(E)}else throw new Error(E);e=!0}for(var f,B=0,n,C=t.length,s=this.blocks;B<C;){if(this.hashed&&(this.hashed=!1,s[0]=this.block,s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=s[16]=s[17]=s[18]=s[19]=s[20]=s[21]=s[22]=s[23]=s[24]=s[25]=s[26]=s[27]=s[28]=s[29]=s[30]=s[31]=s[32]=0),e)for(n=this.start;B<C&&n<128;++B)s[n>>2]|=t[B]<<eF[n++&3];else for(n=this.start;B<C&&n<128;++B)f=t.charCodeAt(B),f<128?s[n>>2]|=f<<eF[n++&3]:f<2048?(s[n>>2]|=(192|f>>6)<<eF[n++&3],s[n>>2]|=(128|f&63)<<eF[n++&3]):f<55296||f>=57344?(s[n>>2]|=(224|f>>12)<<eF[n++&3],s[n>>2]|=(128|f>>6&63)<<eF[n++&3],s[n>>2]|=(128|f&63)<<eF[n++&3]):(f=65536+((f&1023)<<10|t.charCodeAt(++B)&1023),s[n>>2]|=(240|f>>18)<<eF[n++&3],s[n>>2]|=(128|f>>12&63)<<eF[n++&3],s[n>>2]|=(128|f>>6&63)<<eF[n++&3],s[n>>2]|=(128|f&63)<<eF[n++&3]);this.lastByteIndex=n,this.bytes+=n-this.start,n>=128?(this.block=s[32],this.start=n-128,this.hash(),this.hashed=!0):this.start=n}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},v.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex;t[32]=this.block,t[e>>2]|=PF[e&3],this.block=t[32],e>=112&&(this.hashed||this.hash(),t[0]=this.block,t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=t[16]=t[17]=t[18]=t[19]=t[20]=t[21]=t[22]=t[23]=t[24]=t[25]=t[26]=t[27]=t[28]=t[29]=t[30]=t[31]=t[32]=0),t[30]=this.hBytes<<3|this.bytes>>>29,t[31]=this.bytes<<3,this.hash()}},v.prototype.hash=function(){var t=this.h0h,e=this.h0l,r=this.h1h,f=this.h1l,B=this.h2h,n=this.h2l,C=this.h3h,s=this.h3l,u=this.h4h,D=this.h4l,S=this.h5h,w=this.h5l,g=this.h6h,T=this.h6l,I=this.h7h,N=this.h7l,b=this.blocks,A,j,z,J,V,h,x,i,l,dF,DF,_F,yF,bF,OF,BF,uF,hF,xF,o,a,_,y,iF,sF;for(A=32;A<160;A+=2)o=b[A-30],a=b[A-29],j=(o>>>1|a<<31)^(o>>>8|a<<24)^o>>>7,z=(a>>>1|o<<31)^(a>>>8|o<<24)^(a>>>7|o<<25),o=b[A-4],a=b[A-3],J=(o>>>19|a<<13)^(a>>>29|o<<3)^o>>>6,V=(a>>>19|o<<13)^(o>>>29|a<<3)^(a>>>6|o<<26),o=b[A-32],a=b[A-31],_=b[A-14],y=b[A-13],h=(y&65535)+(a&65535)+(z&65535)+(V&65535),x=(y>>>16)+(a>>>16)+(z>>>16)+(V>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(j&65535)+(J&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(j>>>16)+(J>>>16)+(i>>>16),b[A]=l<<16|i&65535,b[A+1]=x<<16|h&65535;var L=t,W=e,P=r,U=f,H=B,K=n,k=C,$=s,Y=u,G=D,X=S,Z=w,q=g,Q=T,FF=I,tF=N;for(BF=P&H,uF=U&K,A=0;A<160;A+=8)j=(L>>>28|W<<4)^(W>>>2|L<<30)^(W>>>7|L<<25),z=(W>>>28|L<<4)^(L>>>2|W<<30)^(L>>>7|W<<25),J=(Y>>>14|G<<18)^(Y>>>18|G<<14)^(G>>>9|Y<<23),V=(G>>>14|Y<<18)^(G>>>18|Y<<14)^(Y>>>9|G<<23),dF=L&P,DF=W&U,hF=dF^L&H^BF,xF=DF^W&K^uF,iF=Y&X^~Y&q,sF=G&Z^~G&Q,o=b[A],a=b[A+1],_=nF[A],y=nF[A+1],h=(y&65535)+(a&65535)+(sF&65535)+(V&65535)+(tF&65535),x=(y>>>16)+(a>>>16)+(sF>>>16)+(V>>>16)+(tF>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(iF&65535)+(J&65535)+(FF&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(iF>>>16)+(J>>>16)+(FF>>>16)+(i>>>16),o=l<<16|i&65535,a=x<<16|h&65535,h=(xF&65535)+(z&65535),x=(xF>>>16)+(z>>>16)+(h>>>16),i=(hF&65535)+(j&65535)+(x>>>16),l=(hF>>>16)+(j>>>16)+(i>>>16),_=l<<16|i&65535,y=x<<16|h&65535,h=($&65535)+(a&65535),x=($>>>16)+(a>>>16)+(h>>>16),i=(k&65535)+(o&65535)+(x>>>16),l=(k>>>16)+(o>>>16)+(i>>>16),FF=l<<16|i&65535,tF=x<<16|h&65535,h=(y&65535)+(a&65535),x=(y>>>16)+(a>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(i>>>16),k=l<<16|i&65535,$=x<<16|h&65535,j=(k>>>28|$<<4)^($>>>2|k<<30)^($>>>7|k<<25),z=($>>>28|k<<4)^(k>>>2|$<<30)^(k>>>7|$<<25),J=(FF>>>14|tF<<18)^(FF>>>18|tF<<14)^(tF>>>9|FF<<23),V=(tF>>>14|FF<<18)^(tF>>>18|FF<<14)^(FF>>>9|tF<<23),_F=k&L,yF=$&W,hF=_F^k&P^dF,xF=yF^$&U^DF,iF=FF&Y^~FF&X,sF=tF&G^~tF&Z,o=b[A+2],a=b[A+3],_=nF[A+2],y=nF[A+3],h=(y&65535)+(a&65535)+(sF&65535)+(V&65535)+(Q&65535),x=(y>>>16)+(a>>>16)+(sF>>>16)+(V>>>16)+(Q>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(iF&65535)+(J&65535)+(q&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(iF>>>16)+(J>>>16)+(q>>>16)+(i>>>16),o=l<<16|i&65535,a=x<<16|h&65535,h=(xF&65535)+(z&65535),x=(xF>>>16)+(z>>>16)+(h>>>16),i=(hF&65535)+(j&65535)+(x>>>16),l=(hF>>>16)+(j>>>16)+(i>>>16),_=l<<16|i&65535,y=x<<16|h&65535,h=(K&65535)+(a&65535),x=(K>>>16)+(a>>>16)+(h>>>16),i=(H&65535)+(o&65535)+(x>>>16),l=(H>>>16)+(o>>>16)+(i>>>16),q=l<<16|i&65535,Q=x<<16|h&65535,h=(y&65535)+(a&65535),x=(y>>>16)+(a>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(i>>>16),H=l<<16|i&65535,K=x<<16|h&65535,j=(H>>>28|K<<4)^(K>>>2|H<<30)^(K>>>7|H<<25),z=(K>>>28|H<<4)^(H>>>2|K<<30)^(H>>>7|K<<25),J=(q>>>14|Q<<18)^(q>>>18|Q<<14)^(Q>>>9|q<<23),V=(Q>>>14|q<<18)^(Q>>>18|q<<14)^(q>>>9|Q<<23),bF=H&k,OF=K&$,hF=bF^H&L^_F,xF=OF^K&W^yF,iF=q&FF^~q&Y,sF=Q&tF^~Q&G,o=b[A+4],a=b[A+5],_=nF[A+4],y=nF[A+5],h=(y&65535)+(a&65535)+(sF&65535)+(V&65535)+(Z&65535),x=(y>>>16)+(a>>>16)+(sF>>>16)+(V>>>16)+(Z>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(iF&65535)+(J&65535)+(X&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(iF>>>16)+(J>>>16)+(X>>>16)+(i>>>16),o=l<<16|i&65535,a=x<<16|h&65535,h=(xF&65535)+(z&65535),x=(xF>>>16)+(z>>>16)+(h>>>16),i=(hF&65535)+(j&65535)+(x>>>16),l=(hF>>>16)+(j>>>16)+(i>>>16),_=l<<16|i&65535,y=x<<16|h&65535,h=(U&65535)+(a&65535),x=(U>>>16)+(a>>>16)+(h>>>16),i=(P&65535)+(o&65535)+(x>>>16),l=(P>>>16)+(o>>>16)+(i>>>16),X=l<<16|i&65535,Z=x<<16|h&65535,h=(y&65535)+(a&65535),x=(y>>>16)+(a>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(i>>>16),P=l<<16|i&65535,U=x<<16|h&65535,j=(P>>>28|U<<4)^(U>>>2|P<<30)^(U>>>7|P<<25),z=(U>>>28|P<<4)^(P>>>2|U<<30)^(P>>>7|U<<25),J=(X>>>14|Z<<18)^(X>>>18|Z<<14)^(Z>>>9|X<<23),V=(Z>>>14|X<<18)^(Z>>>18|X<<14)^(X>>>9|Z<<23),BF=P&H,uF=U&K,hF=BF^P&k^bF,xF=uF^U&$^OF,iF=X&q^~X&FF,sF=Z&Q^~Z&tF,o=b[A+6],a=b[A+7],_=nF[A+6],y=nF[A+7],h=(y&65535)+(a&65535)+(sF&65535)+(V&65535)+(G&65535),x=(y>>>16)+(a>>>16)+(sF>>>16)+(V>>>16)+(G>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(iF&65535)+(J&65535)+(Y&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(iF>>>16)+(J>>>16)+(Y>>>16)+(i>>>16),o=l<<16|i&65535,a=x<<16|h&65535,h=(xF&65535)+(z&65535),x=(xF>>>16)+(z>>>16)+(h>>>16),i=(hF&65535)+(j&65535)+(x>>>16),l=(hF>>>16)+(j>>>16)+(i>>>16),_=l<<16|i&65535,y=x<<16|h&65535,h=(W&65535)+(a&65535),x=(W>>>16)+(a>>>16)+(h>>>16),i=(L&65535)+(o&65535)+(x>>>16),l=(L>>>16)+(o>>>16)+(i>>>16),Y=l<<16|i&65535,G=x<<16|h&65535,h=(y&65535)+(a&65535),x=(y>>>16)+(a>>>16)+(h>>>16),i=(_&65535)+(o&65535)+(x>>>16),l=(_>>>16)+(o>>>16)+(i>>>16),L=l<<16|i&65535,W=x<<16|h&65535;h=(e&65535)+(W&65535),x=(e>>>16)+(W>>>16)+(h>>>16),i=(t&65535)+(L&65535)+(x>>>16),l=(t>>>16)+(L>>>16)+(i>>>16),this.h0h=l<<16|i&65535,this.h0l=x<<16|h&65535,h=(f&65535)+(U&65535),x=(f>>>16)+(U>>>16)+(h>>>16),i=(r&65535)+(P&65535)+(x>>>16),l=(r>>>16)+(P>>>16)+(i>>>16),this.h1h=l<<16|i&65535,this.h1l=x<<16|h&65535,h=(n&65535)+(K&65535),x=(n>>>16)+(K>>>16)+(h>>>16),i=(B&65535)+(H&65535)+(x>>>16),l=(B>>>16)+(H>>>16)+(i>>>16),this.h2h=l<<16|i&65535,this.h2l=x<<16|h&65535,h=(s&65535)+($&65535),x=(s>>>16)+($>>>16)+(h>>>16),i=(C&65535)+(k&65535)+(x>>>16),l=(C>>>16)+(k>>>16)+(i>>>16),this.h3h=l<<16|i&65535,this.h3l=x<<16|h&65535,h=(D&65535)+(G&65535),x=(D>>>16)+(G>>>16)+(h>>>16),i=(u&65535)+(Y&65535)+(x>>>16),l=(u>>>16)+(Y>>>16)+(i>>>16),this.h4h=l<<16|i&65535,this.h4l=x<<16|h&65535,h=(w&65535)+(Z&65535),x=(w>>>16)+(Z>>>16)+(h>>>16),i=(S&65535)+(X&65535)+(x>>>16),l=(S>>>16)+(X>>>16)+(i>>>16),this.h5h=l<<16|i&65535,this.h5l=x<<16|h&65535,h=(T&65535)+(Q&65535),x=(T>>>16)+(Q>>>16)+(h>>>16),i=(g&65535)+(q&65535)+(x>>>16),l=(g>>>16)+(q>>>16)+(i>>>16),this.h6h=l<<16|i&65535,this.h6l=x<<16|h&65535,h=(N&65535)+(tF&65535),x=(N>>>16)+(tF>>>16)+(h>>>16),i=(I&65535)+(FF&65535)+(x>>>16),l=(I>>>16)+(FF>>>16)+(i>>>16),this.h7h=l<<16|i&65535,this.h7l=x<<16|h&65535},v.prototype.hex=function(){this.finalize();var t=this.h0h,e=this.h0l,r=this.h1h,f=this.h1l,B=this.h2h,n=this.h2l,C=this.h3h,s=this.h3l,u=this.h4h,D=this.h4l,S=this.h5h,w=this.h5l,g=this.h6h,T=this.h6l,I=this.h7h,N=this.h7l,b=this.bits,A=F[t>>28&15]+F[t>>24&15]+F[t>>20&15]+F[t>>16&15]+F[t>>12&15]+F[t>>8&15]+F[t>>4&15]+F[t&15]+F[e>>28&15]+F[e>>24&15]+F[e>>20&15]+F[e>>16&15]+F[e>>12&15]+F[e>>8&15]+F[e>>4&15]+F[e&15]+F[r>>28&15]+F[r>>24&15]+F[r>>20&15]+F[r>>16&15]+F[r>>12&15]+F[r>>8&15]+F[r>>4&15]+F[r&15]+F[f>>28&15]+F[f>>24&15]+F[f>>20&15]+F[f>>16&15]+F[f>>12&15]+F[f>>8&15]+F[f>>4&15]+F[f&15]+F[B>>28&15]+F[B>>24&15]+F[B>>20&15]+F[B>>16&15]+F[B>>12&15]+F[B>>8&15]+F[B>>4&15]+F[B&15]+F[n>>28&15]+F[n>>24&15]+F[n>>20&15]+F[n>>16&15]+F[n>>12&15]+F[n>>8&15]+F[n>>4&15]+F[n&15]+F[C>>28&15]+F[C>>24&15]+F[C>>20&15]+F[C>>16&15]+F[C>>12&15]+F[C>>8&15]+F[C>>4&15]+F[C&15];return b>=256&&(A+=F[s>>28&15]+F[s>>24&15]+F[s>>20&15]+F[s>>16&15]+F[s>>12&15]+F[s>>8&15]+F[s>>4&15]+F[s&15]),b>=384&&(A+=F[u>>28&15]+F[u>>24&15]+F[u>>20&15]+F[u>>16&15]+F[u>>12&15]+F[u>>8&15]+F[u>>4&15]+F[u&15]+F[D>>28&15]+F[D>>24&15]+F[D>>20&15]+F[D>>16&15]+F[D>>12&15]+F[D>>8&15]+F[D>>4&15]+F[D&15]+F[S>>28&15]+F[S>>24&15]+F[S>>20&15]+F[S>>16&15]+F[S>>12&15]+F[S>>8&15]+F[S>>4&15]+F[S&15]+F[w>>28&15]+F[w>>24&15]+F[w>>20&15]+F[w>>16&15]+F[w>>12&15]+F[w>>8&15]+F[w>>4&15]+F[w&15]),b==512&&(A+=F[g>>28&15]+F[g>>24&15]+F[g>>20&15]+F[g>>16&15]+F[g>>12&15]+F[g>>8&15]+F[g>>4&15]+F[g&15]+F[T>>28&15]+F[T>>24&15]+F[T>>20&15]+F[T>>16&15]+F[T>>12&15]+F[T>>8&15]+F[T>>4&15]+F[T&15]+F[I>>28&15]+F[I>>24&15]+F[I>>20&15]+F[I>>16&15]+F[I>>12&15]+F[I>>8&15]+F[I>>4&15]+F[I&15]+F[N>>28&15]+F[N>>24&15]+F[N>>20&15]+F[N>>16&15]+F[N>>12&15]+F[N>>8&15]+F[N>>4&15]+F[N&15]),A},v.prototype.toString=v.prototype.hex,v.prototype.digest=function(){this.finalize();var t=this.h0h,e=this.h0l,r=this.h1h,f=this.h1l,B=this.h2h,n=this.h2l,C=this.h3h,s=this.h3l,u=this.h4h,D=this.h4l,S=this.h5h,w=this.h5l,g=this.h6h,T=this.h6l,I=this.h7h,N=this.h7l,b=this.bits,A=[t>>24&255,t>>16&255,t>>8&255,t&255,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24&255,r>>16&255,r>>8&255,r&255,f>>24&255,f>>16&255,f>>8&255,f&255,B>>24&255,B>>16&255,B>>8&255,B&255,n>>24&255,n>>16&255,n>>8&255,n&255,C>>24&255,C>>16&255,C>>8&255,C&255];return b>=256&&A.push(s>>24&255,s>>16&255,s>>8&255,s&255),b>=384&&A.push(u>>24&255,u>>16&255,u>>8&255,u&255,D>>24&255,D>>16&255,D>>8&255,D&255,S>>24&255,S>>16&255,S>>8&255,S&255,w>>24&255,w>>16&255,w>>8&255,w&255),b==512&&A.push(g>>24&255,g>>16&255,g>>8&255,g&255,T>>24&255,T>>16&255,T>>8&255,T&255,I>>24&255,I>>16&255,I>>8&255,I&255,N>>24&255,N>>16&255,N>>8&255,N&255),A},v.prototype.array=v.prototype.digest,v.prototype.arrayBuffer=function(){this.finalize();var t=this.bits,e=new ArrayBuffer(t/8),r=new DataView(e);return r.setUint32(0,this.h0h),r.setUint32(4,this.h0l),r.setUint32(8,this.h1h),r.setUint32(12,this.h1l),r.setUint32(16,this.h2h),r.setUint32(20,this.h2l),r.setUint32(24,this.h3h),t>=256&&r.setUint32(28,this.h3l),t>=384&&(r.setUint32(32,this.h4h),r.setUint32(36,this.h4l),r.setUint32(40,this.h5h),r.setUint32(44,this.h5l)),t==512&&(r.setUint32(48,this.h6h),r.setUint32(52,this.h6l),r.setUint32(56,this.h7h),r.setUint32(60,this.h7l)),e},v.prototype.clone=function(){var t=new v(this.bits,!1);return this.copyTo(t),t},v.prototype.copyTo=function(t){var e=0,r=["h0h","h0l","h1h","h1l","h2h","h2l","h3h","h3l","h4h","h4l","h5h","h5l","h6h","h6l","h7h","h7l","start","bytes","hBytes","finalized","hashed","lastByteIndex"];for(e=0;e<r.length;++e)t[r[e]]=this[r[e]];for(e=0;e<this.blocks.length;++e)t.blocks[e]=this.blocks[e]};function oF(t,e,r){var f,B=typeof t;if(B!=="string"){if(B==="object"){if(t===null)throw new Error(E);if(aF&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!aF||!ArrayBuffer.isView(t)))throw new Error(E)}else throw new Error(E);f=!0}var n=t.length;if(!f){for(var C=[],n=t.length,s=0,u,D=0;D<n;++D)u=t.charCodeAt(D),u<128?C[s++]=u:u<2048?(C[s++]=192|u>>6,C[s++]=128|u&63):u<55296||u>=57344?(C[s++]=224|u>>12,C[s++]=128|u>>6&63,C[s++]=128|u&63):(u=65536+((u&1023)<<10|t.charCodeAt(++D)&1023),C[s++]=240|u>>18,C[s++]=128|u>>12&63,C[s++]=128|u>>6&63,C[s++]=128|u&63);t=C}t.length>128&&(t=new v(e,!0).update(t).array());for(var S=[],w=[],D=0;D<128;++D){var g=t[D]||0;S[D]=92^g,w[D]=54^g}v.call(this,e,r),this.update(w),this.oKeyPad=S,this.inner=!0,this.sharedMemory=r}oF.prototype=new v,oF.prototype.finalize=function(){if(v.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();v.call(this,this.bits,this.sharedMemory),this.update(this.oKeyPad),this.update(t),v.prototype.finalize.call(this)}},oF.prototype.clone=function(){var t=new oF([],this.bits,!1);this.copyTo(t),t.inner=this.inner;for(var e=0;e<this.oKeyPad.length;++e)t.oKeyPad[e]=this.oKeyPad[e];return t};var M=AF(512);M.sha512=M,M.sha384=AF(384),M.sha512_256=AF(256),M.sha512_224=AF(224),M.sha512.hmac=EF(512),M.sha384.hmac=EF(384),M.sha512_256.hmac=EF(256),M.sha512_224.hmac=EF(224),rF?CF.exports=M:(O.sha512=M.sha512,O.sha384=M.sha384,O.sha512_256=M.sha512_256,O.sha512_224=M.sha512_224,lF&&define(function(){return M}))})()});var ZF={};JF(ZF,{default:()=>fF});var mF=VF(gF()),WF=async({input:E,expected:c})=>{let d=0;for(;;){let O=(0,mF.sha512)(`${E}:${d}`);if(d%4e4===0&&await TF(0),O.substring(0,c.length)===c)return d.toString();d++}},TF=E=>new Promise(c=>setTimeout(c,E)),kF=async({challenge:E,onProgress:c})=>{let{nonce:d,difficulty:O,hardness:m}=E.payload,R=[];c==null||c(0);for(let rF=0;rF<m;rF++){let lF=await WF({input:`${d}:${rF}`,expected:"0".repeat(O)});R.push(lF),c==null||c(R.length/m),await TF(0)}return R},IF=kF;var NF="https://api.botpoison.com",RF=()=>{YF(),GF(),XF()},fF=class{constructor({publicKey:c}){this.publicKey=c}static init(){RF()}async challenge(c){let{onProgress:d}=c||{},m=await(await fetch(`${NF}/challenge`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({publicKey:this.publicKey,hostname:location.hostname,version:"0.1.32"})})).json(),R=await IF({challenge:m,onProgress:d});return{solution:btoa(JSON.stringify({challenge:m,solutions:R}))}}},$F=({formElement:E,id:c,name:d,value:O})=>{let m=document.getElementById(c);if(!m){let R=document.createElement("input");R.setAttribute("type","hidden"),R.setAttribute("id",c),R.setAttribute("name",d),E.appendChild(R),m=R}m.setAttribute("value",O)},YF=()=>{typeof document!="undefined"&&(window.__BOTPOISON_VERSION__="0.1.32")},GF=()=>{typeof document!="undefined"&&(window.__BOTPOISON_SUBMIT_LISTENER__||(window.__BOTPOISON_SUBMIT_LISTENER__=!0,document.addEventListener("submit",E=>{try{let c=E.target;if(c){let d=c,O=d.dataset.botpoisonPublicKey;if(O){E.preventDefault(),d.dispatchEvent(new CustomEvent("botpoison-challenge-start"));let m=new fF({publicKey:O}),R="_botpoison",rF=R;m.challenge().then(({solution:lF})=>{d.dispatchEvent(new CustomEvent("botpoison-challenge-success")),$F({formElement:d,id:R,name:rF,value:lF}),HTMLFormElement.prototype.submit.call(d)}).catch(lF=>{console.error(lF),d.dispatchEvent(new CustomEvent("botpoison-challenge-error"))})}}}catch(c){console.error(c)}return!0})))},XF=()=>{if(typeof document!="undefined"&&!window.__BOTPOISON_HEARTBEAT_DISPATCHER__){if(window.__BOTPOISON_HEARTBEAT_DISPATCHER__=!0,!!1)return;let c=()=>{fetch(`${NF}/heartbeat`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({hostname:location.hostname})})};c(),setInterval(()=>{c()},300*1e3)}};RF();return LF(ZF);})();
|
|
1
|
+
"use strict";var __botpoison=(()=>{var QF=Object.create;var DF=Object.defineProperty;var F0=Object.getOwnPropertyDescriptor;var t0=Object.getOwnPropertyNames;var h0=Object.getPrototypeOf,e0=Object.prototype.hasOwnProperty;var x0=(s,n)=>()=>(n||s((n={exports:{}}).exports,n),n.exports),i0=(s,n)=>{for(var a in n)DF(s,a,{get:n[a],enumerable:!0})},kF=(s,n,a,C)=>{if(n&&typeof n=="object"||typeof n=="function")for(let w of t0(n))!e0.call(s,w)&&w!==a&&DF(s,w,{get:()=>n[w],enumerable:!(C=F0(n,w))||C.enumerable});return s};var s0=(s,n,a)=>(a=s!=null?QF(h0(s)):{},kF(n||!s||!s.__esModule?DF(a,"default",{value:s,enumerable:!0}):a,s)),n0=s=>kF(DF({},"__esModule",{value:!0}),s);var MF=x0((d0,mF)=>{"use strict";(function(){"use strict";var s="input is invalid type",n="finalize already called",a=typeof window=="object",C=a?window:{};C.JS_SHA512_NO_WINDOW&&(a=!1);var w=!a&&typeof self=="object",tF=!C.JS_SHA512_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;tF?C=global:w&&(C=self);var nF=!C.JS_SHA512_NO_COMMON_JS&&typeof mF=="object"&&mF.exports,oF=typeof define=="function"&&define.amd,cF=!C.JS_SHA512_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",F="0123456789abcdef".split(""),ZF=[-2147483648,8388608,32768,128],sF=[24,16,8,0],rF=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],AF=["hex","array","digest","arrayBuffer"],d=[];(C.JS_SHA512_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),cF&&(C.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});var UF=function(t,r){return function(o){return new g(r,!0).update(o)[t]()}},BF=function(t){var r=UF("hex",t);r.create=function(){return new g(t)},r.update=function(A){return r.create().update(A)};for(var o=0;o<AF.length;++o){var p=AF[o];r[p]=UF(p,t)}return r},RF=function(t,r){return function(o,p){return new lF(o,r,!0).update(p)[t]()}},CF=function(t){var r=RF("hex",t);r.create=function(A){return new lF(A,t)},r.update=function(A,l){return r.create(A).update(l)};for(var o=0;o<AF.length;++o){var p=AF[o];r[p]=RF(p,t)}return r};function g(t,r){r?(d[0]=d[1]=d[2]=d[3]=d[4]=d[5]=d[6]=d[7]=d[8]=d[9]=d[10]=d[11]=d[12]=d[13]=d[14]=d[15]=d[16]=d[17]=d[18]=d[19]=d[20]=d[21]=d[22]=d[23]=d[24]=d[25]=d[26]=d[27]=d[28]=d[29]=d[30]=d[31]=d[32]=0,this.blocks=d):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t==384?(this.h0h=3418070365,this.h0l=3238371032,this.h1h=1654270250,this.h1l=914150663,this.h2h=2438529370,this.h2l=812702999,this.h3h=355462360,this.h3l=4144912697,this.h4h=1731405415,this.h4l=4290775857,this.h5h=2394180231,this.h5l=1750603025,this.h6h=3675008525,this.h6l=1694076839,this.h7h=1203062813,this.h7l=3204075428):t==256?(this.h0h=573645204,this.h0l=4230739756,this.h1h=2673172387,this.h1l=3360449730,this.h2h=596883563,this.h2l=1867755857,this.h3h=2520282905,this.h3l=1497426621,this.h4h=2519219938,this.h4l=2827943907,this.h5h=3193839141,this.h5l=1401305490,this.h6h=721525244,this.h6l=746961066,this.h7h=246885852,this.h7l=2177182882):t==224?(this.h0h=2352822216,this.h0l=424955298,this.h1h=1944164710,this.h1l=2312950998,this.h2h=502970286,this.h2l=855612546,this.h3h=1738396948,this.h3l=1479516111,this.h4h=258812777,this.h4l=2077511080,this.h5h=2011393907,this.h5l=79989058,this.h6h=1067287976,this.h6l=1780299464,this.h7h=286451373,this.h7l=2446758561):(this.h0h=1779033703,this.h0l=4089235720,this.h1h=3144134277,this.h1l=2227873595,this.h2h=1013904242,this.h2l=4271175723,this.h3h=2773480762,this.h3l=1595750129,this.h4h=1359893119,this.h4l=2917565137,this.h5h=2600822924,this.h5l=725511199,this.h6h=528734635,this.h6l=4215389547,this.h7h=1541459225,this.h7l=327033209),this.bits=t,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1}g.prototype.update=function(t){if(this.finalized)throw new Error(n);var r,o=typeof t;if(o!=="string"){if(o==="object"){if(t===null)throw new Error(s);if(cF&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!cF||!ArrayBuffer.isView(t)))throw new Error(s)}else throw new Error(s);r=!0}for(var p,A=0,l,_=t.length,i=this.blocks;A<_;){if(this.hashed&&(this.hashed=!1,i[0]=this.block,i[1]=i[2]=i[3]=i[4]=i[5]=i[6]=i[7]=i[8]=i[9]=i[10]=i[11]=i[12]=i[13]=i[14]=i[15]=i[16]=i[17]=i[18]=i[19]=i[20]=i[21]=i[22]=i[23]=i[24]=i[25]=i[26]=i[27]=i[28]=i[29]=i[30]=i[31]=i[32]=0),r)for(l=this.start;A<_&&l<128;++A)i[l>>2]|=t[A]<<sF[l++&3];else for(l=this.start;A<_&&l<128;++A)p=t.charCodeAt(A),p<128?i[l>>2]|=p<<sF[l++&3]:p<2048?(i[l>>2]|=(192|p>>6)<<sF[l++&3],i[l>>2]|=(128|p&63)<<sF[l++&3]):p<55296||p>=57344?(i[l>>2]|=(224|p>>12)<<sF[l++&3],i[l>>2]|=(128|p>>6&63)<<sF[l++&3],i[l>>2]|=(128|p&63)<<sF[l++&3]):(p=65536+((p&1023)<<10|t.charCodeAt(++A)&1023),i[l>>2]|=(240|p>>18)<<sF[l++&3],i[l>>2]|=(128|p>>12&63)<<sF[l++&3],i[l>>2]|=(128|p>>6&63)<<sF[l++&3],i[l>>2]|=(128|p&63)<<sF[l++&3]);this.lastByteIndex=l,this.bytes+=l-this.start,l>=128?(this.block=i[32],this.start=l-128,this.hash(),this.hashed=!0):this.start=l}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},g.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,r=this.lastByteIndex;t[32]=this.block,t[r>>2]|=ZF[r&3],this.block=t[32],r>=112&&(this.hashed||this.hash(),t[0]=this.block,t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=t[16]=t[17]=t[18]=t[19]=t[20]=t[21]=t[22]=t[23]=t[24]=t[25]=t[26]=t[27]=t[28]=t[29]=t[30]=t[31]=t[32]=0),t[30]=this.hBytes<<3|this.bytes>>>29,t[31]=this.bytes<<3,this.hash()}},g.prototype.hash=function(){var t=this.h0h,r=this.h0l,o=this.h1h,p=this.h1l,A=this.h2h,l=this.h2l,_=this.h3h,i=this.h3l,B=this.h4h,D=this.h4l,O=this.h5h,v=this.h5l,b=this.h6h,T=this.h6l,N=this.h7h,I=this.h7l,S=this.blocks,E,M,K,j,H,h,e,x,f,vF,bF,wF,TF,NF,IF,dF,_F,hF,eF,c,u,y,m,xF,iF;for(E=32;E<160;E+=2)c=S[E-30],u=S[E-29],M=(c>>>1|u<<31)^(c>>>8|u<<24)^c>>>7,K=(u>>>1|c<<31)^(u>>>8|c<<24)^(u>>>7|c<<25),c=S[E-4],u=S[E-3],j=(c>>>19|u<<13)^(u>>>29|c<<3)^c>>>6,H=(u>>>19|c<<13)^(c>>>29|u<<3)^(u>>>6|c<<26),c=S[E-32],u=S[E-31],y=S[E-14],m=S[E-13],h=(m&65535)+(u&65535)+(K&65535)+(H&65535),e=(m>>>16)+(u>>>16)+(K>>>16)+(H>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(M&65535)+(j&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(M>>>16)+(j>>>16)+(x>>>16),S[E]=f<<16|x&65535,S[E+1]=e<<16|h&65535;var z=t,J=r,P=o,U=p,R=A,k=l,V=_,$=i,W=B,G=D,Y=O,q=v,X=b,Z=T,Q=N,FF=I;for(dF=P&R,_F=U&k,E=0;E<160;E+=8)M=(z>>>28|J<<4)^(J>>>2|z<<30)^(J>>>7|z<<25),K=(J>>>28|z<<4)^(z>>>2|J<<30)^(z>>>7|J<<25),j=(W>>>14|G<<18)^(W>>>18|G<<14)^(G>>>9|W<<23),H=(G>>>14|W<<18)^(G>>>18|W<<14)^(W>>>9|G<<23),vF=z&P,bF=J&U,hF=vF^z&R^dF,eF=bF^J&k^_F,xF=W&Y^~W&X,iF=G&q^~G&Z,c=S[E],u=S[E+1],y=rF[E],m=rF[E+1],h=(m&65535)+(u&65535)+(iF&65535)+(H&65535)+(FF&65535),e=(m>>>16)+(u>>>16)+(iF>>>16)+(H>>>16)+(FF>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(xF&65535)+(j&65535)+(Q&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(xF>>>16)+(j>>>16)+(Q>>>16)+(x>>>16),c=f<<16|x&65535,u=e<<16|h&65535,h=(eF&65535)+(K&65535),e=(eF>>>16)+(K>>>16)+(h>>>16),x=(hF&65535)+(M&65535)+(e>>>16),f=(hF>>>16)+(M>>>16)+(x>>>16),y=f<<16|x&65535,m=e<<16|h&65535,h=($&65535)+(u&65535),e=($>>>16)+(u>>>16)+(h>>>16),x=(V&65535)+(c&65535)+(e>>>16),f=(V>>>16)+(c>>>16)+(x>>>16),Q=f<<16|x&65535,FF=e<<16|h&65535,h=(m&65535)+(u&65535),e=(m>>>16)+(u>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(x>>>16),V=f<<16|x&65535,$=e<<16|h&65535,M=(V>>>28|$<<4)^($>>>2|V<<30)^($>>>7|V<<25),K=($>>>28|V<<4)^(V>>>2|$<<30)^(V>>>7|$<<25),j=(Q>>>14|FF<<18)^(Q>>>18|FF<<14)^(FF>>>9|Q<<23),H=(FF>>>14|Q<<18)^(FF>>>18|Q<<14)^(Q>>>9|FF<<23),wF=V&z,TF=$&J,hF=wF^V&P^vF,eF=TF^$&U^bF,xF=Q&W^~Q&Y,iF=FF&G^~FF&q,c=S[E+2],u=S[E+3],y=rF[E+2],m=rF[E+3],h=(m&65535)+(u&65535)+(iF&65535)+(H&65535)+(Z&65535),e=(m>>>16)+(u>>>16)+(iF>>>16)+(H>>>16)+(Z>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(xF&65535)+(j&65535)+(X&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(xF>>>16)+(j>>>16)+(X>>>16)+(x>>>16),c=f<<16|x&65535,u=e<<16|h&65535,h=(eF&65535)+(K&65535),e=(eF>>>16)+(K>>>16)+(h>>>16),x=(hF&65535)+(M&65535)+(e>>>16),f=(hF>>>16)+(M>>>16)+(x>>>16),y=f<<16|x&65535,m=e<<16|h&65535,h=(k&65535)+(u&65535),e=(k>>>16)+(u>>>16)+(h>>>16),x=(R&65535)+(c&65535)+(e>>>16),f=(R>>>16)+(c>>>16)+(x>>>16),X=f<<16|x&65535,Z=e<<16|h&65535,h=(m&65535)+(u&65535),e=(m>>>16)+(u>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(x>>>16),R=f<<16|x&65535,k=e<<16|h&65535,M=(R>>>28|k<<4)^(k>>>2|R<<30)^(k>>>7|R<<25),K=(k>>>28|R<<4)^(R>>>2|k<<30)^(R>>>7|k<<25),j=(X>>>14|Z<<18)^(X>>>18|Z<<14)^(Z>>>9|X<<23),H=(Z>>>14|X<<18)^(Z>>>18|X<<14)^(X>>>9|Z<<23),NF=R&V,IF=k&$,hF=NF^R&z^wF,eF=IF^k&J^TF,xF=X&Q^~X&W,iF=Z&FF^~Z&G,c=S[E+4],u=S[E+5],y=rF[E+4],m=rF[E+5],h=(m&65535)+(u&65535)+(iF&65535)+(H&65535)+(q&65535),e=(m>>>16)+(u>>>16)+(iF>>>16)+(H>>>16)+(q>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(xF&65535)+(j&65535)+(Y&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(xF>>>16)+(j>>>16)+(Y>>>16)+(x>>>16),c=f<<16|x&65535,u=e<<16|h&65535,h=(eF&65535)+(K&65535),e=(eF>>>16)+(K>>>16)+(h>>>16),x=(hF&65535)+(M&65535)+(e>>>16),f=(hF>>>16)+(M>>>16)+(x>>>16),y=f<<16|x&65535,m=e<<16|h&65535,h=(U&65535)+(u&65535),e=(U>>>16)+(u>>>16)+(h>>>16),x=(P&65535)+(c&65535)+(e>>>16),f=(P>>>16)+(c>>>16)+(x>>>16),Y=f<<16|x&65535,q=e<<16|h&65535,h=(m&65535)+(u&65535),e=(m>>>16)+(u>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(x>>>16),P=f<<16|x&65535,U=e<<16|h&65535,M=(P>>>28|U<<4)^(U>>>2|P<<30)^(U>>>7|P<<25),K=(U>>>28|P<<4)^(P>>>2|U<<30)^(P>>>7|U<<25),j=(Y>>>14|q<<18)^(Y>>>18|q<<14)^(q>>>9|Y<<23),H=(q>>>14|Y<<18)^(q>>>18|Y<<14)^(Y>>>9|q<<23),dF=P&R,_F=U&k,hF=dF^P&V^NF,eF=_F^U&$^IF,xF=Y&X^~Y&Q,iF=q&Z^~q&FF,c=S[E+6],u=S[E+7],y=rF[E+6],m=rF[E+7],h=(m&65535)+(u&65535)+(iF&65535)+(H&65535)+(G&65535),e=(m>>>16)+(u>>>16)+(iF>>>16)+(H>>>16)+(G>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(xF&65535)+(j&65535)+(W&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(xF>>>16)+(j>>>16)+(W>>>16)+(x>>>16),c=f<<16|x&65535,u=e<<16|h&65535,h=(eF&65535)+(K&65535),e=(eF>>>16)+(K>>>16)+(h>>>16),x=(hF&65535)+(M&65535)+(e>>>16),f=(hF>>>16)+(M>>>16)+(x>>>16),y=f<<16|x&65535,m=e<<16|h&65535,h=(J&65535)+(u&65535),e=(J>>>16)+(u>>>16)+(h>>>16),x=(z&65535)+(c&65535)+(e>>>16),f=(z>>>16)+(c>>>16)+(x>>>16),W=f<<16|x&65535,G=e<<16|h&65535,h=(m&65535)+(u&65535),e=(m>>>16)+(u>>>16)+(h>>>16),x=(y&65535)+(c&65535)+(e>>>16),f=(y>>>16)+(c>>>16)+(x>>>16),z=f<<16|x&65535,J=e<<16|h&65535;h=(r&65535)+(J&65535),e=(r>>>16)+(J>>>16)+(h>>>16),x=(t&65535)+(z&65535)+(e>>>16),f=(t>>>16)+(z>>>16)+(x>>>16),this.h0h=f<<16|x&65535,this.h0l=e<<16|h&65535,h=(p&65535)+(U&65535),e=(p>>>16)+(U>>>16)+(h>>>16),x=(o&65535)+(P&65535)+(e>>>16),f=(o>>>16)+(P>>>16)+(x>>>16),this.h1h=f<<16|x&65535,this.h1l=e<<16|h&65535,h=(l&65535)+(k&65535),e=(l>>>16)+(k>>>16)+(h>>>16),x=(A&65535)+(R&65535)+(e>>>16),f=(A>>>16)+(R>>>16)+(x>>>16),this.h2h=f<<16|x&65535,this.h2l=e<<16|h&65535,h=(i&65535)+($&65535),e=(i>>>16)+($>>>16)+(h>>>16),x=(_&65535)+(V&65535)+(e>>>16),f=(_>>>16)+(V>>>16)+(x>>>16),this.h3h=f<<16|x&65535,this.h3l=e<<16|h&65535,h=(D&65535)+(G&65535),e=(D>>>16)+(G>>>16)+(h>>>16),x=(B&65535)+(W&65535)+(e>>>16),f=(B>>>16)+(W>>>16)+(x>>>16),this.h4h=f<<16|x&65535,this.h4l=e<<16|h&65535,h=(v&65535)+(q&65535),e=(v>>>16)+(q>>>16)+(h>>>16),x=(O&65535)+(Y&65535)+(e>>>16),f=(O>>>16)+(Y>>>16)+(x>>>16),this.h5h=f<<16|x&65535,this.h5l=e<<16|h&65535,h=(T&65535)+(Z&65535),e=(T>>>16)+(Z>>>16)+(h>>>16),x=(b&65535)+(X&65535)+(e>>>16),f=(b>>>16)+(X>>>16)+(x>>>16),this.h6h=f<<16|x&65535,this.h6l=e<<16|h&65535,h=(I&65535)+(FF&65535),e=(I>>>16)+(FF>>>16)+(h>>>16),x=(N&65535)+(Q&65535)+(e>>>16),f=(N>>>16)+(Q>>>16)+(x>>>16),this.h7h=f<<16|x&65535,this.h7l=e<<16|h&65535},g.prototype.hex=function(){this.finalize();var t=this.h0h,r=this.h0l,o=this.h1h,p=this.h1l,A=this.h2h,l=this.h2l,_=this.h3h,i=this.h3l,B=this.h4h,D=this.h4l,O=this.h5h,v=this.h5l,b=this.h6h,T=this.h6l,N=this.h7h,I=this.h7l,S=this.bits,E=F[t>>28&15]+F[t>>24&15]+F[t>>20&15]+F[t>>16&15]+F[t>>12&15]+F[t>>8&15]+F[t>>4&15]+F[t&15]+F[r>>28&15]+F[r>>24&15]+F[r>>20&15]+F[r>>16&15]+F[r>>12&15]+F[r>>8&15]+F[r>>4&15]+F[r&15]+F[o>>28&15]+F[o>>24&15]+F[o>>20&15]+F[o>>16&15]+F[o>>12&15]+F[o>>8&15]+F[o>>4&15]+F[o&15]+F[p>>28&15]+F[p>>24&15]+F[p>>20&15]+F[p>>16&15]+F[p>>12&15]+F[p>>8&15]+F[p>>4&15]+F[p&15]+F[A>>28&15]+F[A>>24&15]+F[A>>20&15]+F[A>>16&15]+F[A>>12&15]+F[A>>8&15]+F[A>>4&15]+F[A&15]+F[l>>28&15]+F[l>>24&15]+F[l>>20&15]+F[l>>16&15]+F[l>>12&15]+F[l>>8&15]+F[l>>4&15]+F[l&15]+F[_>>28&15]+F[_>>24&15]+F[_>>20&15]+F[_>>16&15]+F[_>>12&15]+F[_>>8&15]+F[_>>4&15]+F[_&15];return S>=256&&(E+=F[i>>28&15]+F[i>>24&15]+F[i>>20&15]+F[i>>16&15]+F[i>>12&15]+F[i>>8&15]+F[i>>4&15]+F[i&15]),S>=384&&(E+=F[B>>28&15]+F[B>>24&15]+F[B>>20&15]+F[B>>16&15]+F[B>>12&15]+F[B>>8&15]+F[B>>4&15]+F[B&15]+F[D>>28&15]+F[D>>24&15]+F[D>>20&15]+F[D>>16&15]+F[D>>12&15]+F[D>>8&15]+F[D>>4&15]+F[D&15]+F[O>>28&15]+F[O>>24&15]+F[O>>20&15]+F[O>>16&15]+F[O>>12&15]+F[O>>8&15]+F[O>>4&15]+F[O&15]+F[v>>28&15]+F[v>>24&15]+F[v>>20&15]+F[v>>16&15]+F[v>>12&15]+F[v>>8&15]+F[v>>4&15]+F[v&15]),S==512&&(E+=F[b>>28&15]+F[b>>24&15]+F[b>>20&15]+F[b>>16&15]+F[b>>12&15]+F[b>>8&15]+F[b>>4&15]+F[b&15]+F[T>>28&15]+F[T>>24&15]+F[T>>20&15]+F[T>>16&15]+F[T>>12&15]+F[T>>8&15]+F[T>>4&15]+F[T&15]+F[N>>28&15]+F[N>>24&15]+F[N>>20&15]+F[N>>16&15]+F[N>>12&15]+F[N>>8&15]+F[N>>4&15]+F[N&15]+F[I>>28&15]+F[I>>24&15]+F[I>>20&15]+F[I>>16&15]+F[I>>12&15]+F[I>>8&15]+F[I>>4&15]+F[I&15]),E},g.prototype.toString=g.prototype.hex,g.prototype.digest=function(){this.finalize();var t=this.h0h,r=this.h0l,o=this.h1h,p=this.h1l,A=this.h2h,l=this.h2l,_=this.h3h,i=this.h3l,B=this.h4h,D=this.h4l,O=this.h5h,v=this.h5l,b=this.h6h,T=this.h6l,N=this.h7h,I=this.h7l,S=this.bits,E=[t>>24&255,t>>16&255,t>>8&255,t&255,r>>24&255,r>>16&255,r>>8&255,r&255,o>>24&255,o>>16&255,o>>8&255,o&255,p>>24&255,p>>16&255,p>>8&255,p&255,A>>24&255,A>>16&255,A>>8&255,A&255,l>>24&255,l>>16&255,l>>8&255,l&255,_>>24&255,_>>16&255,_>>8&255,_&255];return S>=256&&E.push(i>>24&255,i>>16&255,i>>8&255,i&255),S>=384&&E.push(B>>24&255,B>>16&255,B>>8&255,B&255,D>>24&255,D>>16&255,D>>8&255,D&255,O>>24&255,O>>16&255,O>>8&255,O&255,v>>24&255,v>>16&255,v>>8&255,v&255),S==512&&E.push(b>>24&255,b>>16&255,b>>8&255,b&255,T>>24&255,T>>16&255,T>>8&255,T&255,N>>24&255,N>>16&255,N>>8&255,N&255,I>>24&255,I>>16&255,I>>8&255,I&255),E},g.prototype.array=g.prototype.digest,g.prototype.arrayBuffer=function(){this.finalize();var t=this.bits,r=new ArrayBuffer(t/8),o=new DataView(r);return o.setUint32(0,this.h0h),o.setUint32(4,this.h0l),o.setUint32(8,this.h1h),o.setUint32(12,this.h1l),o.setUint32(16,this.h2h),o.setUint32(20,this.h2l),o.setUint32(24,this.h3h),t>=256&&o.setUint32(28,this.h3l),t>=384&&(o.setUint32(32,this.h4h),o.setUint32(36,this.h4l),o.setUint32(40,this.h5h),o.setUint32(44,this.h5l)),t==512&&(o.setUint32(48,this.h6h),o.setUint32(52,this.h6l),o.setUint32(56,this.h7h),o.setUint32(60,this.h7l)),r},g.prototype.clone=function(){var t=new g(this.bits,!1);return this.copyTo(t),t},g.prototype.copyTo=function(t){var r=0,o=["h0h","h0l","h1h","h1l","h2h","h2l","h3h","h3l","h4h","h4l","h5h","h5l","h6h","h6l","h7h","h7l","start","bytes","hBytes","finalized","hashed","lastByteIndex"];for(r=0;r<o.length;++r)t[o[r]]=this[o[r]];for(r=0;r<this.blocks.length;++r)t.blocks[r]=this.blocks[r]};function lF(t,r,o){var p,A=typeof t;if(A!=="string"){if(A==="object"){if(t===null)throw new Error(s);if(cF&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!cF||!ArrayBuffer.isView(t)))throw new Error(s)}else throw new Error(s);p=!0}var l=t.length;if(!p){for(var _=[],l=t.length,i=0,B,D=0;D<l;++D)B=t.charCodeAt(D),B<128?_[i++]=B:B<2048?(_[i++]=192|B>>6,_[i++]=128|B&63):B<55296||B>=57344?(_[i++]=224|B>>12,_[i++]=128|B>>6&63,_[i++]=128|B&63):(B=65536+((B&1023)<<10|t.charCodeAt(++D)&1023),_[i++]=240|B>>18,_[i++]=128|B>>12&63,_[i++]=128|B>>6&63,_[i++]=128|B&63);t=_}t.length>128&&(t=new g(r,!0).update(t).array());for(var O=[],v=[],D=0;D<128;++D){var b=t[D]||0;O[D]=92^b,v[D]=54^b}g.call(this,r,o),this.update(v),this.oKeyPad=O,this.inner=!0,this.sharedMemory=o}lF.prototype=new g,lF.prototype.finalize=function(){if(g.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();g.call(this,this.bits,this.sharedMemory),this.update(this.oKeyPad),this.update(t),g.prototype.finalize.call(this)}},lF.prototype.clone=function(){var t=new lF([],this.bits,!1);this.copyTo(t),t.inner=this.inner;for(var r=0;r<this.oKeyPad.length;++r)t.oKeyPad[r]=this.oKeyPad[r];return t};var L=BF(512);L.sha512=L,L.sha384=BF(384),L.sha512_256=BF(256),L.sha512_224=BF(224),L.sha512.hmac=CF(512),L.sha384.hmac=CF(384),L.sha512_256.hmac=CF(256),L.sha512_224.hmac=CF(224),nF?mF.exports=L:(C.sha512=L.sha512,C.sha384=L.sha384,C.sha512_256=L.sha512_256,C.sha512_224=L.sha512_224,oF&&define(function(){return L}))})()});var p0={};i0(p0,{default:()=>OF});var aF="https://api.botpoison.com",uF="_botpoison";var LF=({formElement:s,value:n})=>{let a=s.querySelector(`input[name="${uF}"]`);if(!a){let C=s.ownerDocument;a=C.createElement("input"),a.setAttribute("type","hidden"),a.setAttribute("name",uF),C.getElementById(uF)||a.setAttribute("id",uF),s.appendChild(a)}return a.setAttribute("value",n),a},yF=({formElement:s,name:n})=>{s.dispatchEvent(new CustomEvent(`botpoison-challenge-${n}`))};var KF=s0(MF()),r0=async({input:s,expected:n})=>{let a=0;for(;;){let C=(0,KF.sha512)(`${s}:${a}`);if(a%4e4===0&&await jF(0),C.substring(0,n.length)===n)return a.toString();a++}},jF=s=>new Promise(n=>setTimeout(n,s)),o0=async({challenge:s,onProgress:n})=>{let{nonce:a,difficulty:C,hardness:w}=s.payload,tF=[];n==null||n(0);for(let nF=0;nF<w;nF++){let oF=await r0({input:`${a}:${nF}`,expected:"0".repeat(C)});tF.push(oF),n==null||n(tF.length/w),await jF(0)}return tF},HF=o0;var zF="_botpoison.v2.session.",fF,PF=new Map,JF=()=>{if(fF!==void 0)return fF;try{let s=window.sessionStorage,n=`${zF}probe`;s.setItem(n,"1"),s.removeItem(n),fF=s}catch(s){fF=null}return fF},pF=s=>`${zF}${s}`,SF=s=>{var a;let n=JF();if(!n)return PF.get(pF(s));try{return(a=n.getItem(pF(s)))!=null?a:void 0}catch(C){return PF.get(pF(s))}},VF=(s,n)=>{let a=JF();if(a)try{a.setItem(pF(s),n);return}catch(C){fF=null}PF.set(pF(s),n)};var EF,$F=(s=aF)=>SF(s),WF=(s,n)=>{let a=n==null?void 0:n.token;typeof a=="string"&&VF(s,a)},GF=({baseUrl:s=aF}={})=>SF(s)?Promise.resolve():EF||(EF=fetch(`${s}/session`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:"{}"}).then(async n=>{n.ok&&WF(s,await n.json())}).catch(()=>{}).finally(()=>{EF=void 0}),EF),YF=({challenge:s,solutions:n,baseUrl:a=aF})=>fetch(`${a}/session`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({challenge:s,solutions:n,token:SF(a)})}).then(async C=>{C.ok&&WF(a,await C.json())}).catch(()=>{});var l0=()=>typeof location=="undefined"?void 0:location.hostname,gF=async({publicKey:s,baseUrl:n=aF,onProgress:a})=>{let w=await(await fetch(`${n}/challenge`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({publicKey:s,hostname:l0(),version:"0.1.34",token:$F(n)})})).json(),tF=await HF({challenge:w,onProgress:a});return YF({challenge:w,solutions:tF,baseUrl:n}),{solution:btoa(JSON.stringify({challenge:w,solutions:tF}))}};var a0=s=>{if(!s||!s.tagName)return;let n=s;if(n.tagName!=="FORM")return;let a=n,C=a.dataset.botpoisonPublicKey;return C?{formElement:a,publicKey:C}:void 0},qF=({documentRef:s,baseUrl:n})=>{let a=C=>{try{let w=a0(C.target);if(!w)return;let{formElement:tF,publicKey:nF}=w;C.preventDefault(),yF({formElement:tF,name:"start"}),gF({publicKey:nF,baseUrl:n}).then(({solution:oF})=>{yF({formElement:tF,name:"success"}),LF({formElement:tF,value:oF}),HTMLFormElement.prototype.submit.call(tF)}).catch(oF=>{console.error(oF),yF({formElement:tF,name:"error"})})}catch(w){console.error(w)}};return s.addEventListener("submit",a),{dispose:()=>{s.removeEventListener("submit",a)}}};var XF=()=>{f0(),c0(),u0()},OF=class{constructor({publicKey:n,baseUrl:a}){this.publicKey=n,this.baseUrl=a}static init(){XF()}async challenge(n){let{onProgress:a}=n||{};return gF({publicKey:this.publicKey,baseUrl:this.baseUrl,onProgress:a})}},f0=()=>{typeof document!="undefined"&&(window.__BOTPOISON_VERSION__="0.1.34")},c0=()=>{typeof document!="undefined"&&(window.__BOTPOISON_SUBMIT_LISTENER__||(window.__BOTPOISON_SUBMIT_LISTENER__=!0,qF({documentRef:document})))},u0=()=>{if(typeof document=="undefined"||window.__BOTPOISON_SESSION_OPENED__)return;window.__BOTPOISON_SESSION_OPENED__=!0;let s=()=>{GF()};typeof requestIdleCallback=="function"?requestIdleCallback(s,{timeout:2e3}):setTimeout(s,0)};XF();return n0(p0);})();
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
js-sha512/src/sha512.js:
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
// src/constants.ts
|
|
2
|
+
var DEFAULT_BASE_URL = "https://api.botpoison.com";
|
|
3
|
+
var SOLUTION_FIELD_NAME = "_botpoison";
|
|
4
|
+
|
|
5
|
+
// src/dom.ts
|
|
6
|
+
var setSolution = ({
|
|
7
|
+
formElement,
|
|
8
|
+
value
|
|
9
|
+
}) => {
|
|
10
|
+
let input = formElement.querySelector(
|
|
11
|
+
`input[name="${SOLUTION_FIELD_NAME}"]`
|
|
12
|
+
);
|
|
13
|
+
if (!input) {
|
|
14
|
+
const ownerDocument = formElement.ownerDocument;
|
|
15
|
+
input = ownerDocument.createElement("input");
|
|
16
|
+
input.setAttribute("type", "hidden");
|
|
17
|
+
input.setAttribute("name", SOLUTION_FIELD_NAME);
|
|
18
|
+
if (!ownerDocument.getElementById(SOLUTION_FIELD_NAME)) {
|
|
19
|
+
input.setAttribute("id", SOLUTION_FIELD_NAME);
|
|
20
|
+
}
|
|
21
|
+
formElement.appendChild(input);
|
|
22
|
+
}
|
|
23
|
+
input.setAttribute("value", value);
|
|
24
|
+
return input;
|
|
25
|
+
};
|
|
26
|
+
var dispatchChallengeEvent = ({
|
|
27
|
+
formElement,
|
|
28
|
+
name
|
|
29
|
+
}) => {
|
|
30
|
+
formElement.dispatchEvent(new CustomEvent(`botpoison-challenge-${name}`));
|
|
31
|
+
};
|
|
32
|
+
|
|
1
33
|
// src/computeSolutions.ts
|
|
2
34
|
import { sha512 } from "js-sha512";
|
|
3
35
|
var computeCollisionInteger = async ({
|
|
@@ -37,149 +69,231 @@ var computeSolutions = async ({
|
|
|
37
69
|
};
|
|
38
70
|
var computeSolutions_default = computeSolutions;
|
|
39
71
|
|
|
72
|
+
// src/storage.ts
|
|
73
|
+
var PREFIX = "_botpoison.v2.session.";
|
|
74
|
+
var backing;
|
|
75
|
+
var memory = /* @__PURE__ */ new Map();
|
|
76
|
+
var getBacking = () => {
|
|
77
|
+
if (backing !== void 0) {
|
|
78
|
+
return backing;
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const candidate = window.sessionStorage;
|
|
82
|
+
const probe = `${PREFIX}probe`;
|
|
83
|
+
candidate.setItem(probe, "1");
|
|
84
|
+
candidate.removeItem(probe);
|
|
85
|
+
backing = candidate;
|
|
86
|
+
} catch (e) {
|
|
87
|
+
backing = null;
|
|
88
|
+
}
|
|
89
|
+
return backing;
|
|
90
|
+
};
|
|
91
|
+
var keyFor = (baseUrl) => `${PREFIX}${baseUrl}`;
|
|
92
|
+
var readSessionToken = (baseUrl) => {
|
|
93
|
+
var _a;
|
|
94
|
+
const store2 = getBacking();
|
|
95
|
+
if (!store2) {
|
|
96
|
+
return memory.get(keyFor(baseUrl));
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
return (_a = store2.getItem(keyFor(baseUrl))) != null ? _a : void 0;
|
|
100
|
+
} catch (e) {
|
|
101
|
+
return memory.get(keyFor(baseUrl));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var writeSessionToken = (baseUrl, token) => {
|
|
105
|
+
const store2 = getBacking();
|
|
106
|
+
if (store2) {
|
|
107
|
+
try {
|
|
108
|
+
store2.setItem(keyFor(baseUrl), token);
|
|
109
|
+
return;
|
|
110
|
+
} catch (e) {
|
|
111
|
+
backing = null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
memory.set(keyFor(baseUrl), token);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// src/session.ts
|
|
118
|
+
var inFlight;
|
|
119
|
+
var getSessionToken = (baseUrl = DEFAULT_BASE_URL) => readSessionToken(baseUrl);
|
|
120
|
+
var store = (baseUrl, body) => {
|
|
121
|
+
const token = body == null ? void 0 : body.token;
|
|
122
|
+
if (typeof token === "string") {
|
|
123
|
+
writeSessionToken(baseUrl, token);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
var openSession = ({
|
|
127
|
+
baseUrl = DEFAULT_BASE_URL
|
|
128
|
+
} = {}) => {
|
|
129
|
+
if (readSessionToken(baseUrl)) {
|
|
130
|
+
return Promise.resolve();
|
|
131
|
+
}
|
|
132
|
+
if (inFlight) {
|
|
133
|
+
return inFlight;
|
|
134
|
+
}
|
|
135
|
+
inFlight = fetch(`${baseUrl}/session`, {
|
|
136
|
+
method: "POST",
|
|
137
|
+
headers: { "Content-Type": "application/json", Accept: "application/json" },
|
|
138
|
+
body: "{}"
|
|
139
|
+
}).then(async (response) => {
|
|
140
|
+
if (response.ok) {
|
|
141
|
+
store(baseUrl, await response.json());
|
|
142
|
+
}
|
|
143
|
+
}).catch(() => void 0).finally(() => {
|
|
144
|
+
inFlight = void 0;
|
|
145
|
+
});
|
|
146
|
+
return inFlight;
|
|
147
|
+
};
|
|
148
|
+
var exchangeSolved = ({
|
|
149
|
+
challenge,
|
|
150
|
+
solutions,
|
|
151
|
+
baseUrl = DEFAULT_BASE_URL
|
|
152
|
+
}) => fetch(`${baseUrl}/session`, {
|
|
153
|
+
method: "POST",
|
|
154
|
+
headers: { "Content-Type": "application/json", Accept: "application/json" },
|
|
155
|
+
body: JSON.stringify({
|
|
156
|
+
challenge,
|
|
157
|
+
solutions,
|
|
158
|
+
token: readSessionToken(baseUrl)
|
|
159
|
+
})
|
|
160
|
+
}).then(async (response) => {
|
|
161
|
+
if (response.ok) {
|
|
162
|
+
store(baseUrl, await response.json());
|
|
163
|
+
}
|
|
164
|
+
}).catch(() => void 0);
|
|
165
|
+
|
|
166
|
+
// src/runChallenge.ts
|
|
167
|
+
var hostname = () => typeof location === "undefined" ? void 0 : location.hostname;
|
|
168
|
+
var runChallenge = async ({
|
|
169
|
+
publicKey,
|
|
170
|
+
baseUrl = DEFAULT_BASE_URL,
|
|
171
|
+
onProgress
|
|
172
|
+
}) => {
|
|
173
|
+
const response = await fetch(`${baseUrl}/challenge`, {
|
|
174
|
+
method: "POST",
|
|
175
|
+
headers: {
|
|
176
|
+
"Content-Type": "application/json",
|
|
177
|
+
Accept: "application/json"
|
|
178
|
+
},
|
|
179
|
+
body: JSON.stringify({
|
|
180
|
+
publicKey,
|
|
181
|
+
hostname: hostname(),
|
|
182
|
+
// Copies of this bundle stay embedded in sites for years, so the API
|
|
183
|
+
// has to start collecting this long before it can act on it.
|
|
184
|
+
version: "0.1.34",
|
|
185
|
+
token: getSessionToken(baseUrl)
|
|
186
|
+
})
|
|
187
|
+
});
|
|
188
|
+
const challenge = await response.json();
|
|
189
|
+
const solutions = await computeSolutions_default({
|
|
190
|
+
challenge,
|
|
191
|
+
onProgress
|
|
192
|
+
});
|
|
193
|
+
void exchangeSolved({ challenge, solutions, baseUrl });
|
|
194
|
+
const serialized = btoa(
|
|
195
|
+
JSON.stringify({
|
|
196
|
+
challenge,
|
|
197
|
+
solutions
|
|
198
|
+
})
|
|
199
|
+
);
|
|
200
|
+
return {
|
|
201
|
+
solution: serialized
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
// src/autoSubmit.ts
|
|
206
|
+
var protectedForm = (target) => {
|
|
207
|
+
if (!target || !target.tagName) {
|
|
208
|
+
return void 0;
|
|
209
|
+
}
|
|
210
|
+
const element = target;
|
|
211
|
+
if (element.tagName !== "FORM") {
|
|
212
|
+
return void 0;
|
|
213
|
+
}
|
|
214
|
+
const formElement = element;
|
|
215
|
+
const publicKey = formElement.dataset.botpoisonPublicKey;
|
|
216
|
+
return publicKey ? { formElement, publicKey } : void 0;
|
|
217
|
+
};
|
|
218
|
+
var createAutoSubmit = ({
|
|
219
|
+
documentRef,
|
|
220
|
+
baseUrl
|
|
221
|
+
}) => {
|
|
222
|
+
const onSubmit = (event) => {
|
|
223
|
+
try {
|
|
224
|
+
const found = protectedForm(event.target);
|
|
225
|
+
if (!found) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const { formElement, publicKey } = found;
|
|
229
|
+
event.preventDefault();
|
|
230
|
+
dispatchChallengeEvent({ formElement, name: "start" });
|
|
231
|
+
runChallenge({ publicKey, baseUrl }).then(({ solution }) => {
|
|
232
|
+
dispatchChallengeEvent({ formElement, name: "success" });
|
|
233
|
+
setSolution({ formElement, value: solution });
|
|
234
|
+
HTMLFormElement.prototype.submit.call(formElement);
|
|
235
|
+
}).catch((error) => {
|
|
236
|
+
console.error(error);
|
|
237
|
+
dispatchChallengeEvent({ formElement, name: "error" });
|
|
238
|
+
});
|
|
239
|
+
} catch (error) {
|
|
240
|
+
console.error(error);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
documentRef.addEventListener("submit", onSubmit);
|
|
244
|
+
return {
|
|
245
|
+
dispose: () => {
|
|
246
|
+
documentRef.removeEventListener("submit", onSubmit);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
|
|
40
251
|
// src/index.ts
|
|
41
|
-
var BASE_URL = "https://api.botpoison.com";
|
|
42
252
|
var init = () => {
|
|
43
253
|
addVersion();
|
|
44
254
|
addSubmitListener();
|
|
45
|
-
|
|
255
|
+
startSession();
|
|
46
256
|
};
|
|
47
257
|
var Botpoison = class {
|
|
48
|
-
constructor({ publicKey }) {
|
|
258
|
+
constructor({ publicKey, baseUrl }) {
|
|
49
259
|
this.publicKey = publicKey;
|
|
260
|
+
this.baseUrl = baseUrl;
|
|
50
261
|
}
|
|
51
262
|
static init() {
|
|
52
263
|
init();
|
|
53
264
|
}
|
|
54
265
|
async challenge(options) {
|
|
55
266
|
const { onProgress } = options || {};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"Content-Type": "application/json",
|
|
60
|
-
Accept: "application/json"
|
|
61
|
-
},
|
|
62
|
-
body: JSON.stringify({
|
|
63
|
-
publicKey: this.publicKey,
|
|
64
|
-
hostname: location.hostname,
|
|
65
|
-
// Copies of this bundle stay embedded in sites for years, so the API
|
|
66
|
-
// has to start collecting this long before it can act on it.
|
|
67
|
-
version: "0.1.32"
|
|
68
|
-
})
|
|
69
|
-
});
|
|
70
|
-
const challenge = await response.json();
|
|
71
|
-
const solutions = await computeSolutions_default({
|
|
72
|
-
challenge,
|
|
267
|
+
return runChallenge({
|
|
268
|
+
publicKey: this.publicKey,
|
|
269
|
+
baseUrl: this.baseUrl,
|
|
73
270
|
onProgress
|
|
74
271
|
});
|
|
75
|
-
const serialized = btoa(
|
|
76
|
-
JSON.stringify({
|
|
77
|
-
challenge,
|
|
78
|
-
solutions
|
|
79
|
-
})
|
|
80
|
-
);
|
|
81
|
-
return {
|
|
82
|
-
solution: serialized
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
var appendOrUpdateBotpoisonInput = ({
|
|
87
|
-
formElement,
|
|
88
|
-
id,
|
|
89
|
-
name,
|
|
90
|
-
value
|
|
91
|
-
}) => {
|
|
92
|
-
let input = document.getElementById(id);
|
|
93
|
-
if (!input) {
|
|
94
|
-
const newInput = document.createElement("input");
|
|
95
|
-
newInput.setAttribute("type", "hidden");
|
|
96
|
-
newInput.setAttribute("id", id);
|
|
97
|
-
newInput.setAttribute("name", name);
|
|
98
|
-
formElement.appendChild(newInput);
|
|
99
|
-
input = newInput;
|
|
100
272
|
}
|
|
101
|
-
input.setAttribute("value", value);
|
|
102
273
|
};
|
|
103
274
|
var addVersion = () => {
|
|
104
275
|
if (typeof document !== "undefined") {
|
|
105
|
-
window.__BOTPOISON_VERSION__ = "0.1.
|
|
276
|
+
window.__BOTPOISON_VERSION__ = "0.1.34";
|
|
106
277
|
}
|
|
107
278
|
};
|
|
108
279
|
var addSubmitListener = () => {
|
|
109
280
|
if (typeof document !== "undefined") {
|
|
110
281
|
if (!window.__BOTPOISON_SUBMIT_LISTENER__) {
|
|
111
282
|
window.__BOTPOISON_SUBMIT_LISTENER__ = true;
|
|
112
|
-
|
|
113
|
-
try {
|
|
114
|
-
const formEventTarget = event.target;
|
|
115
|
-
if (formEventTarget) {
|
|
116
|
-
const formElement = formEventTarget;
|
|
117
|
-
const publicKey = formElement.dataset.botpoisonPublicKey;
|
|
118
|
-
if (publicKey) {
|
|
119
|
-
event.preventDefault();
|
|
120
|
-
formElement.dispatchEvent(
|
|
121
|
-
new CustomEvent("botpoison-challenge-start")
|
|
122
|
-
);
|
|
123
|
-
const botpoison = new Botpoison({
|
|
124
|
-
publicKey
|
|
125
|
-
});
|
|
126
|
-
const id = `_botpoison`;
|
|
127
|
-
const name = id;
|
|
128
|
-
botpoison.challenge().then(({ solution }) => {
|
|
129
|
-
formElement.dispatchEvent(
|
|
130
|
-
new CustomEvent("botpoison-challenge-success")
|
|
131
|
-
);
|
|
132
|
-
appendOrUpdateBotpoisonInput({
|
|
133
|
-
formElement,
|
|
134
|
-
id,
|
|
135
|
-
name,
|
|
136
|
-
value: solution
|
|
137
|
-
});
|
|
138
|
-
HTMLFormElement.prototype.submit.call(formElement);
|
|
139
|
-
}).catch((error) => {
|
|
140
|
-
console.error(error);
|
|
141
|
-
formElement.dispatchEvent(
|
|
142
|
-
new CustomEvent("botpoison-challenge-error")
|
|
143
|
-
);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
} catch (error) {
|
|
148
|
-
console.error(error);
|
|
149
|
-
}
|
|
150
|
-
return true;
|
|
151
|
-
});
|
|
283
|
+
createAutoSubmit({ documentRef: document });
|
|
152
284
|
}
|
|
153
285
|
}
|
|
154
286
|
};
|
|
155
|
-
var
|
|
156
|
-
if (typeof document
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
method: "POST",
|
|
166
|
-
headers: {
|
|
167
|
-
"Content-Type": "application/json",
|
|
168
|
-
Accept: "application/json"
|
|
169
|
-
},
|
|
170
|
-
body: JSON.stringify({
|
|
171
|
-
hostname: location.hostname
|
|
172
|
-
})
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
dispatch();
|
|
176
|
-
setInterval(
|
|
177
|
-
() => {
|
|
178
|
-
dispatch();
|
|
179
|
-
},
|
|
180
|
-
5 * 60 * 1e3
|
|
181
|
-
);
|
|
182
|
-
}
|
|
287
|
+
var startSession = () => {
|
|
288
|
+
if (typeof document === "undefined" || window.__BOTPOISON_SESSION_OPENED__) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
window.__BOTPOISON_SESSION_OPENED__ = true;
|
|
292
|
+
const open = () => void openSession();
|
|
293
|
+
if (typeof requestIdleCallback === "function") {
|
|
294
|
+
requestIdleCallback(open, { timeout: 2e3 });
|
|
295
|
+
} else {
|
|
296
|
+
setTimeout(open, 0);
|
|
183
297
|
}
|
|
184
298
|
};
|
|
185
299
|
init();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botpoison/browser",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.34",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.20.1",
|
|
29
|
-
"
|
|
29
|
+
"happy-dom": "^20.11.1",
|
|
30
30
|
"tsup": "^8.5.1",
|
|
31
31
|
"typescript": "^6.0.3",
|
|
32
32
|
"vite": "^6.4.3",
|