@swetrix/captcha 2.0.1 → 2.0.2
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/captcha.js +1 -1
- package/dist/captcha.js.map +1 -1
- package/package.json +1 -1
package/dist/captcha.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";const e="http://localhost:5005/v1/captcha",
|
|
1
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";const e=window.__SWETRIX_CAPTCHA_DEV||!1,t=e?"http://localhost:5005/v1/captcha":"https://api.swetrix.com/v1/captcha",o=e?"./pow-worker.js":"https://cap.swetrix.com/pow-worker.js",n=1e8,r=3e5,a="/generate",i="/verify";var c,l;!function(e){e.SUCCESS="success",e.FAILURE="failure",e.TOKEN_EXPIRED="tokenExpired"}(c||(c={})),function(e){e.checkbox="checkbox",e.failure="failure",e.completed="completed",e.loading="loading"}(l||(l={}));let s=l.checkbox,d=null;const u=(e,t={})=>{window.parent.postMessage({event:e,type:"swetrix-captcha",cid:window.__SWETRIX_CAPTCHA_ID,...t},"*")},f=e=>{var t,o,n,r,a;s=e;const i=document.querySelector("#status-default"),c=document.querySelector("#status-failure"),d=document.querySelector("#status-computing"),u={checkbox:document.querySelector("#checkbox"),failure:document.querySelector("#failure"),completed:document.querySelector("#completed"),loading:document.querySelector("#loading")};e!==l.checkbox?null===(t=u.checkbox)||void 0===t||t.classList.add("fade-out"):null===(o=u.checkbox)||void 0===o||o.classList.remove("fade-out"),null===(n=u.loading)||void 0===n||n.classList.remove("show"),null===(r=u.failure)||void 0===r||r.classList.remove("show"),null===(a=u.completed)||void 0===a||a.classList.remove("show"),null==i||i.classList.add("hidden"),null==c||c.classList.add("hidden"),null==d||d.classList.add("hidden"),"failure"===e?null==c||c.classList.remove("hidden"):"loading"===e?null==d||d.classList.remove("hidden"):null==i||i.classList.remove("hidden"),e!==l.checkbox&&requestAnimationFrame(()=>{var t;null===(t=u[e])||void 0===t||t.classList.add("show")})},m=()=>{setTimeout(()=>{u(c.TOKEN_EXPIRED),f(l.checkbox)},3e5)},h=async(e,o,n)=>{try{const r=await fetch(`${t}${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({challenge:e,nonce:o,solution:n,pid:window.__SWETRIX_PROJECT_ID})});if(!r.ok)throw new Error("Verification failed");const a=await r.json();if(!a.success)throw new Error("Verification failed");return a.token}catch(e){return u(c.FAILURE),f(l.failure),null}},w=async e=>{const{challenge:t,difficulty:o}=e;let a=0;const i=Date.now(),s=async e=>{const t=(new TextEncoder).encode(e),o=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(o)).map(e=>e.toString(16).padStart(2,"0")).join("")},d=(e,t)=>{for(let o=0;o<t;o++)if("0"!==e[o])return!1;return!0};for(;a<n;){if(Date.now()-i>=r)return console.error(`PoW main-thread timeout: 300000ms elapsed after ${a} attempts`),u(c.FAILURE),void f(l.failure);const e=`${t}:${a}`,n=await s(e);if(d(n,o)){const e=await h(t,a,n);return void(e&&(u(c.SUCCESS,{token:e}),m(),f(l.completed)))}a++}console.error("PoW main-thread max iterations reached: 100000000 attempts"),u(c.FAILURE),f(l.failure)};document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("#swetrix-captcha"),n=document.querySelector("#branding");null==n||n.addEventListener("click",e=>{e.stopPropagation()}),null==e||e.addEventListener("click",async()=>{if(s===l.loading||s===l.completed)return;if(s===l.failure)return void f(l.checkbox);f(l.loading);const e=await(async()=>{try{const e=await fetch(`${t}${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pid:window.__SWETRIX_PROJECT_ID})});if(!e.ok)throw new Error("Failed to generate challenge");return await e.json()}catch(e){return u(c.FAILURE),f(l.failure),null}})();e&&await(async e=>new Promise((t,n)=>{d&&d.terminate();try{d=new Worker(o)}catch(o){return void w(e).then(t).catch(n)}d.onmessage=async o=>{const n=o.data;if("progress"!==n.type){if("timeout"===n.type)return console.error("PoW worker timeout:",n.reason),u(c.FAILURE),f(l.failure),null==d||d.terminate(),d=null,void t();if("result"===n.type){const o=await h(e.challenge,n.nonce,n.solution);return o&&(u(c.SUCCESS,{token:o}),m(),f(l.completed)),null==d||d.terminate(),d=null,void t()}if("error"===n.type){const e=n;return console.error("PoW worker error message:",e.message||"Unknown error"),u(c.FAILURE),f(l.failure),null==d||d.terminate(),d=null,void t()}console.warn("PoW worker received unexpected message type:",n.type,"Raw data:",n),u(c.FAILURE),f(l.failure),null==d||d.terminate(),d=null,t()}},d.onerror=o=>{console.error("PoW worker error:",o),null==d||d.terminate(),d=null,w(e).then(t).catch(n)},d.postMessage({challenge:e.challenge,difficulty:e.difficulty})}))(e)})})});
|
|
2
2
|
//# sourceMappingURL=captcha.js.map
|
package/dist/captcha.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.js","sources":["../src/captcha.ts"],"sourcesContent":[null],"names":["API_URL","MAX_ITERATIONS","TIMEOUT_MS","ENDPOINTS","IFRAME_MESSAGE_TYPES","ACTION","activeAction","checkbox","powWorker","sendMessageToLoader","event","data","
|
|
1
|
+
{"version":3,"file":"captcha.js","sources":["../src/captcha.ts"],"sourcesContent":[null],"names":["isDevelopment","window","__SWETRIX_CAPTCHA_DEV","API_URL","WORKER_URL","MAX_ITERATIONS","TIMEOUT_MS","ENDPOINTS","IFRAME_MESSAGE_TYPES","ACTION","activeAction","checkbox","powWorker","sendMessageToLoader","event","data","parent","postMessage","type","cid","__SWETRIX_CAPTCHA_ID","activateAction","action","statusDefault","document","querySelector","statusFailure","statusComputing","actions","failure","completed","loading","_a","classList","add","_b","remove","_c","_d","_e","requestAnimationFrame","setLifetimeTimeout","setTimeout","TOKEN_EXPIRED","CAPTCHA_TOKEN_LIFETIME","verifySolution","async","challenge","nonce","solution","response","fetch","method","headers","body","JSON","stringify","pid","__SWETRIX_PROJECT_ID","ok","Error","json","success","token","e","FAILURE","solveInMainThread","challengeStr","difficulty","startTime","Date","now","sha256","message","TextEncoder","encode","hashBuffer","crypto","subtle","digest","Array","from","Uint8Array","map","b","toString","padStart","join","hasValidPrefix","hash","diff","i","console","error","input","SUCCESS","addEventListener","captchaComponent","branding","stopPropagation","generateChallenge","Promise","resolve","reject","terminate","Worker","then","catch","onmessage","reason","errorData","warn","onerror","solveChallenge"],"mappings":"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"}
|