diff --git a/index.html b/index.html index 6035072..47ad03e 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ .captcha { width: 300px; height: 70px; - padding: 20px; + padding: 19px; border: 1px solid grey; box-sizing: border-box; font-size: 20px; @@ -78,29 +78,9 @@ -
-
- I am not a robot. -
-
+
diff --git a/main.js b/main.js index 53e4f48..37c57c1 100644 --- a/main.js +++ b/main.js @@ -51,3 +51,31 @@ async function findHashWithPrefix(hashPrefixBits, inputPrefix) { return message; } + +window.addEventListener("load", () => { + console.log("load"); + [...document.getElementsByClassName("captcha")].forEach(captcha => { + console.dir(captcha); + const checkbox = document.createElement("div"); + checkbox.classList.add("checkbox"); + captcha.append(checkbox); + + const text = document.createElement("span"); + text.innerText = "I am not a robot"; + captcha.append(text); + + checkbox.addEventListener("click", async function() { + console.log("Calculating..."); + + this.classList.add("loading"); + + const challenge = makeSuffix(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)) + ":" + makeSuffix(new Date().valueOf()) + ":"; + + const response = await findHashWithPrefix(15, challenge); + console.log("Challenge Response: " + response); + + this.classList.remove("loading"); + this.classList.add("checked"); + }) + }); +});