summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGab <24553253+gabrix73@users.noreply.github.com>2025-04-17 11:20:03 +0200
committerGitHub <noreply@github.com>2025-04-17 11:20:03 +0200
commit306066fd87e40516abbe21e4eb85c4b5cf5193e7 (patch)
treed1b1cbed83ed1c157915e3cb457fb77debee4d15
parent29361ef03be5ff890715d78d36067064fb937a2c (diff)
downloadm2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.tar.gz
m2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.tar.xz
m2usenet-and-mail2news-306066fd87e40516abbe21e4eb85c4b5cf5193e7.zip
Create powWorker.js
-rw-r--r--powWorker.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/powWorker.js b/powWorker.js
new file mode 100644
index 0000000..aba22ff
--- /dev/null
+++ b/powWorker.js
@@ -0,0 +1,16 @@
+// /var/www/mail2usenet/powWorker.js
+self.onmessage = async ({ data }) => {
+ const { prefix, targetZeros, startNonce, step } = data;
+ let nonce = startNonce, checked = 0, zeroStr = '0'.repeat(targetZeros);
+ while (true) {
+ const buf = await crypto.subtle.digest('SHA-1', new TextEncoder().encode(prefix + nonce));
+ const hex = Array.from(new Uint8Array(buf)).map(b=>b.toString(16).padStart(2,'0')).join('');
+ if (hex.startsWith(zeroStr)) {
+ return self.postMessage({ type:'found', nonce });
+ }
+ nonce += step;
+ if (++checked % 1000 === 0) {
+ self.postMessage({ type:'progress', checked });
+ }
+ }
+};