This commit is contained in:
Aravinth Manivannan 2023-10-27 21:41:33 +05:30
parent 4579393e68
commit 3b7c32902b
Signed by: realaravinth
GPG key ID: F8F50389936984FF
109 changed files with 1263 additions and 2353 deletions

0
.hugo_build.lock Normal file
View file

View file

@ -44,7 +44,7 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "404.Html",
"name": "404.html",
"item": "\/404.html\/"
}]
}
@ -89,7 +89,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -139,8 +139,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -183,8 +183,8 @@ Security Advisor</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -237,8 +237,8 @@ at any moment!</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -211,8 +211,8 @@ WebAssembly support.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -217,8 +217,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -171,9 +171,9 @@ instances.</p>
<li>The difficulty factor for which the PoW was computed</li>
<li>Type of client library used.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span><span style="color:#f1fa8c">&#34;time&#34;</span>:<span style="color:#bd93f9">14</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c">&#34;difficulty_factor&#34;</span>:<span style="color:#bd93f9">50000</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c">&#34;worker_type&#34;</span>:<span style="color:#f1fa8c">&#34;wasm&#34;</span>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span><span style="color:#f1fa8c">&#34;time&#34;</span>:<span style="color:#bd93f9">14</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c">&#34;difficulty_factor&#34;</span>:<span style="color:#bd93f9">50000</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c">&#34;worker_type&#34;</span>:<span style="color:#f1fa8c">&#34;wasm&#34;</span>
</span></span></code></pre></div><p>This doesn&rsquo;t include the usual fingerprinting parameters like
User-Agent, cookies, and IP address. Additionally, we use pseudo IDs
at both mCaptcha/mCaptcha and mCaptcha/survey to avoid exposing installations.</p>
@ -233,8 +233,8 @@ installations automatically.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -249,8 +249,8 @@ OTF.</li>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -215,8 +215,8 @@ development economically sustainable.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -147,59 +147,59 @@ programs to automatically solve mCaptcha.</p>
website that is protected by mCaptcha, you can now solve the mCaptcha
automatically from within the program.</p>
<p>Here&rsquo;s an example:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span><span style="color:#ff79c6">import</span> os
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span><span style="color:#ff79c6">import</span> mcaptcha_pow_py
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span><span style="color:#ff79c6">import</span> requests
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span><span style="color:#6272a4"># get the sitekey that is used in the mCaptcha protected form</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span>SITEKEY <span style="color:#ff79c6">=</span> os<span style="color:#ff79c6">.</span>getenv(<span style="color:#f1fa8c">&#34;MCAPTCHA_CAPTCHA_SITEKEY&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span><span style="color:#6272a4"># the hostname of the mCaptcha instance that the form is using</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span>MCAPTCHA_HOST <span style="color:#ff79c6">=</span> os<span style="color:#ff79c6">.</span>getenv(<span style="color:#f1fa8c">&#34;MCAPTCHA_CAPTCHA_HOST&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span>GET_CONFIG_ROUTE <span style="color:#ff79c6">=</span> <span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/config&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span>VERIFY_POW_ROUTE <span style="color:#ff79c6">=</span> <span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/verify&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span><span style="color:#ff79c6">def</span> <span style="color:#50fa7b">solve_captcha</span>():
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span> <span style="color:#6272a4"># get challenge configuration</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span> key <span style="color:#ff79c6">=</span> {<span style="color:#f1fa8c">&#34;key&#34;</span>: sitekey}
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span> challenge_config <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(GET_CONFIG_ROUTE, json<span style="color:#ff79c6">=</span>key)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span> challenge_config <span style="color:#ff79c6">=</span> challenge_config<span style="color:#ff79c6">.</span>json()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span> <span style="color:#6272a4"># extract configuration data</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span> config <span style="color:#ff79c6">=</span> mcaptcha_pow_py<span style="color:#ff79c6">.</span>PoWConfig(challenge_config[<span style="color:#f1fa8c">&#34;salt&#34;</span>])
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span> pow_string <span style="color:#ff79c6">=</span> challenge_config[<span style="color:#f1fa8c">&#34;string&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span> pow_difficulty_factor <span style="color:#ff79c6">=</span> challenge_config[<span style="color:#f1fa8c">&#34;difficulty_factor&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27</span><span> <span style="color:#6272a4"># generate work</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28</span><span> work <span style="color:#ff79c6">=</span> config<span style="color:#ff79c6">.</span>work(pow_string, pow_difficulty_factor)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30</span><span> <span style="color:#6272a4"># verify PoW</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31</span><span> proof <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32</span><span> <span style="color:#f1fa8c">&#34;key&#34;</span>: SITEKEY,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33</span><span> <span style="color:#f1fa8c">&#34;nonce&#34;</span>: work<span style="color:#ff79c6">.</span>nonce,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34</span><span> <span style="color:#f1fa8c">&#34;result&#34;</span>: work<span style="color:#ff79c6">.</span>result,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35</span><span> <span style="color:#f1fa8c">&#34;string&#34;</span>: challenge_config[<span style="color:#f1fa8c">&#34;string&#34;</span>],
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36</span><span> }
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37</span><span> resp <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(VERIFY_POW_ROUTE, json<span style="color:#ff79c6">=</span>proof)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38</span><span> resp <span style="color:#ff79c6">=</span> resp<span style="color:#ff79c6">.</span>json()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40</span><span> <span style="color:#6272a4"># extract verification token</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41</span><span> token <span style="color:#ff79c6">=</span> resp[<span style="color:#f1fa8c">&#34;token&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43</span><span> <span style="color:#ff79c6">return</span> token
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46</span><span>token <span style="color:#ff79c6">=</span> solve_captcha()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47</span><span>data <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48</span><span> <span style="color:#f1fa8c">&#34;username&#34;</span>: <span style="color:#f1fa8c">&#34;me&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49</span><span> <span style="color:#f1fa8c">&#34;password&#34;</span>: <span style="color:#f1fa8c">&#34;superlongpassword&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50</span><span> <span style="color:#f1fa8c">&#34;confirm_password&#34;</span>: <span style="color:#f1fa8c">&#34;superlongpassword&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51</span><span> <span style="color:#f1fa8c">&#34;mcaptcha__token&#34;</span>: token,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52</span><span>}
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53</span><span>response <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(<span style="color:#f1fa8c">&#34;/mCaptcha-protected-form&#34;</span>, data<span style="color:#ff79c6">=</span>data)
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span><span style="color:#ff79c6">import</span> os
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span><span style="color:#ff79c6">import</span> mcaptcha_pow_py
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span><span style="color:#ff79c6">import</span> requests
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span><span style="color:#6272a4"># get the sitekey that is used in the mCaptcha protected form</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span>SITEKEY <span style="color:#ff79c6">=</span> os<span style="color:#ff79c6">.</span>getenv(<span style="color:#f1fa8c">&#34;MCAPTCHA_CAPTCHA_SITEKEY&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span><span style="color:#6272a4"># the hostname of the mCaptcha instance that the form is using</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span>MCAPTCHA_HOST <span style="color:#ff79c6">=</span> os<span style="color:#ff79c6">.</span>getenv(<span style="color:#f1fa8c">&#34;MCAPTCHA_CAPTCHA_HOST&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span>GET_CONFIG_ROUTE <span style="color:#ff79c6">=</span> <span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/config&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span>VERIFY_POW_ROUTE <span style="color:#ff79c6">=</span> <span style="color:#f1fa8c">f</span><span style="color:#f1fa8c">&#34;</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/verify&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span><span style="color:#ff79c6">def</span> <span style="color:#50fa7b">solve_captcha</span>():
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span> <span style="color:#6272a4"># get challenge configuration</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span> key <span style="color:#ff79c6">=</span> {<span style="color:#f1fa8c">&#34;key&#34;</span>: sitekey}
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span> challenge_config <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(GET_CONFIG_ROUTE, json<span style="color:#ff79c6">=</span>key)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span> challenge_config <span style="color:#ff79c6">=</span> challenge_config<span style="color:#ff79c6">.</span>json()
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span> <span style="color:#6272a4"># extract configuration data</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span> config <span style="color:#ff79c6">=</span> mcaptcha_pow_py<span style="color:#ff79c6">.</span>PoWConfig(challenge_config[<span style="color:#f1fa8c">&#34;salt&#34;</span>])
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span> pow_string <span style="color:#ff79c6">=</span> challenge_config[<span style="color:#f1fa8c">&#34;string&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span> pow_difficulty_factor <span style="color:#ff79c6">=</span> challenge_config[<span style="color:#f1fa8c">&#34;difficulty_factor&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">26</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">27</span><span> <span style="color:#6272a4"># generate work</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">28</span><span> work <span style="color:#ff79c6">=</span> config<span style="color:#ff79c6">.</span>work(pow_string, pow_difficulty_factor)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">29</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">30</span><span> <span style="color:#6272a4"># verify PoW</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">31</span><span> proof <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">32</span><span> <span style="color:#f1fa8c">&#34;key&#34;</span>: SITEKEY,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">33</span><span> <span style="color:#f1fa8c">&#34;nonce&#34;</span>: work<span style="color:#ff79c6">.</span>nonce,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">34</span><span> <span style="color:#f1fa8c">&#34;result&#34;</span>: work<span style="color:#ff79c6">.</span>result,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">35</span><span> <span style="color:#f1fa8c">&#34;string&#34;</span>: challenge_config[<span style="color:#f1fa8c">&#34;string&#34;</span>],
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">36</span><span> }
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">37</span><span> resp <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(VERIFY_POW_ROUTE, json<span style="color:#ff79c6">=</span>proof)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">38</span><span> resp <span style="color:#ff79c6">=</span> resp<span style="color:#ff79c6">.</span>json()
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">39</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">40</span><span> <span style="color:#6272a4"># extract verification token</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">41</span><span> token <span style="color:#ff79c6">=</span> resp[<span style="color:#f1fa8c">&#34;token&#34;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">42</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">43</span><span> <span style="color:#ff79c6">return</span> token
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">44</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">45</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">46</span><span>token <span style="color:#ff79c6">=</span> solve_captcha()
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">47</span><span>data <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">48</span><span> <span style="color:#f1fa8c">&#34;username&#34;</span>: <span style="color:#f1fa8c">&#34;me&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">49</span><span> <span style="color:#f1fa8c">&#34;password&#34;</span>: <span style="color:#f1fa8c">&#34;superlongpassword&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">50</span><span> <span style="color:#f1fa8c">&#34;confirm_password&#34;</span>: <span style="color:#f1fa8c">&#34;superlongpassword&#34;</span>,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">51</span><span> <span style="color:#f1fa8c">&#34;mcaptcha__token&#34;</span>: token,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">52</span><span>}
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">53</span><span>response <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(<span style="color:#f1fa8c">&#34;/mCaptcha-protected-form&#34;</span>, data<span style="color:#ff79c6">=</span>data)
</span></span></code></pre></div><p>This could be missed for building DDoS bots(more on that
<a href="#measuring-ddos-protection-effectiveness">here</a>) but this could also be
used to make CAPTCHA solving automated within screen readers and other
@ -321,8 +321,8 @@ be redacted and published.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -404,8 +404,8 @@ generated proof for 4500000 difficulty(the highest in this test), in under
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -243,8 +243,8 @@ GitHub</a>.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -203,8 +203,8 @@ winners should provide the matching <code>proof</code> to claim their rewards.</
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -174,8 +174,8 @@ addition to the blog to post short updates.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -166,8 +166,8 @@ the <a href="https://matrix.to/#/@realaravinth:matrix.batsense.net">Matrix</a>,
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -219,8 +219,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -151,8 +151,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -243,8 +237,8 @@ is available.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -94,7 +94,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -118,8 +118,6 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/api/browser/">Browser Libraries &rarr;</a>
@ -140,10 +138,6 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/api/mcaptcha-system/">MCaptcha System Library &rarr;</a>
@ -198,8 +192,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -219,8 +213,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -232,8 +226,8 @@ mostly just stylistic/ease of use improvements.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -168,6 +162,13 @@
</div>
</div>
</a>
<a class="ms-auto" href="/docs/webmasters/terminology/">
<div class="card my-1">
<div class="card-body py-2">
Terminology &rarr;
</div>
</div>
</a>
</div>
</main>
@ -199,8 +200,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -94,7 +94,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -126,12 +126,6 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/help/faq/">FAQ &rarr;</a>
@ -192,8 +186,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -164,14 +158,14 @@
the instance is deployed at another hostname, please try setting
<code>MCAPTCHA_SERVER_DOMAIN</code> environment variable to the hostname at which
your instance is deployed or setting the equivalent in config.toml:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>[server]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>domain=mydomain
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>[server]
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>domain=mydomain
</span></span></code></pre></div>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/help/troubleshooting.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/self-hosted/dependencies/">
<a href="/docs/self-hosting/dependencies/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Database and cache
@ -216,8 +210,8 @@ your instance is deployed or setting the equivalent in config.toml:</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -117,14 +117,6 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/access-token/">Access Token &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/api/browser/">Browser Libraries &rarr;</a>
@ -135,7 +127,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor &rarr;</a>
</div>
</div>
@ -143,7 +135,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/cooldown-period/">Cooldown Period &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/dependencies/">Database and Cache &rarr;</a>
</div>
</div>
@ -151,23 +143,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/dependencies/">Database and Cache &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/bare-metal/">Deploy Bare Metal &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/bare-metal/">Deploy Bare Metal &rarr;</a>
</div>
</div>
@ -183,7 +159,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/getting-started/">Getting Started &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/getting-started/">Getting Started &rarr;</a>
</div>
</div>
@ -191,7 +167,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/introduction/installing-captcha/">Installing MCaptcha on Your Website &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/installing-captcha/">Installing MCaptcha on Your Website &rarr;</a>
</div>
</div>
@ -215,7 +191,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/sitekey/">Site Key &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/terminology/">Terminology &rarr;</a>
</div>
</div>
@ -231,7 +207,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/docker/">Using Docker &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/docker/">Using Docker &rarr;</a>
</div>
</div>
@ -239,7 +215,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/faq/">Webmasters FAQ &rarr;</a>
</div>
</div>
@ -275,8 +251,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Introduction on </title>
<link>/docs/introduction/</link>
<description>Recent content in Introduction on </description>
<generator>Hugo -- gohugo.io</generator>
<language>en-US</language>
<lastBuildDate>Tue, 06 Oct 2020 08:48:45 +0000</lastBuildDate><atom:link href="/docs/introduction/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Installing mCaptcha on your website</title>
<link>/docs/introduction/installing-captcha/</link>
<pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
<guid>/docs/introduction/installing-captcha/</guid>
<description>mCaptcha can protect your website from DDoS attacks. In this guide we&amp;rsquo;ll explore how to install mCaptcha on your website. The end result will be something like this, on your website:
For the purpose of this demo, we will be using demo.mcaptcha.org, a demo instance running in @realaravinth&amp;rsquo;s bedroom(for this same reason, it shouldn&amp;rsquo;t be used for anything serious)
1. Create an account and sign into the mCaptcha dashboard Head over to demo.</description>
</item>
<item>
<title>Configuring Difficulty Factor</title>
<link>/docs/introduction/configuring-difficulty-factor/</link>
<pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
<guid>/docs/introduction/configuring-difficulty-factor/</guid>
<description>mCaptcha is highly responsive to detecting DDoS attacks. Admins are advised to take advantage of it by setting low difficulty factors for normal traffic levels for their website.
Lowest advisable difficulty factor is 5000.
For instance, if it is normal for my website to get 2000 requests for every 30 seconds, I will set a cool down period of 30 seconds and the first level of difficulty configuration will have a visitor threshold of 2000 with a difficulty factor of 5000.</description>
</item>
</channel>
</rss>

View file

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/docs/introduction/installing-captcha/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/introduction/configuring-difficulty-factor/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Deploy bare metal - mCaptcha</title>
<meta name="description" content="Bare metal deployment is tedious, most of this will be automated with a script in the future.">
<link rel="canonical" href="/docs/self-hosted/bare-metal/">
<link rel="canonical" href="/docs/self-hosting/bare-metal/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Deploy bare metal">
@ -25,10 +25,10 @@
<meta property="og:title" content="Deploy bare metal">
<meta property="og:description" content="Bare metal deployment is tedious, most of this will be automated with a script in the future.">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/self-hosted/bare-metal/">
<meta property="og:url" content="/docs/self-hosting/bare-metal/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:modified_time" content="2022-08-01T20:24:18+05:30">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -47,8 +47,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsself Hostedbare Metal",
"item": "\/docsself-hostedbare-metal\/"
"name": "Docsself Hostingbare Metal",
"item": "\/docsself-hostingbare-metal\/"
}]
}
</script>
@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link active" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link active" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -185,14 +179,14 @@
</ol>
<h3 id="1-install-postgres-if-you-dont-have-it-already">1. Install postgres if you don&rsquo;t have it already.<a href="#1-install-postgres-if-you-dont-have-it-already" class="anchor" aria-hidden="true">#</a> </h3>
<p>For Debian based distributions:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sudo apt install postgres
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sudo apt install postgres
</span></span></code></pre></div><h3 id="2-create-new-user-for-running-mcaptcha">2. Create new user for running <code>mcaptcha</code><a href="#2-create-new-user-for-running-mcaptcha" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo useradd -b /srv -m -s /usr/bin/zsh mcaptcha
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo useradd -b /srv -m -s /usr/bin/zsh mcaptcha
</span></span></code></pre></div><h3 id="3-create-new-user-in-postgres">3. Create new user in Postgres<a href="#3-create-new-user-in-postgres" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo -iu postgres <span style="color:#6272a4"># switch to `postgres` user</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>$ psql
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#8be9fd;font-style:italic">postgres</span><span style="color:#ff79c6">=</span><span style="color:#6272a4"># CREATE USER mcaptcha WITH PASSWORD &#39;my super long password and yes you need single quote`;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span>$ createdb -O mcaptcha mcaptcha <span style="color:#6272a4"># create db &#39;mcaptcha&#39; with &#39;mcaptcha&#39; as owner</span>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo -iu postgres <span style="color:#6272a4"># switch to `postgres` user</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>$ psql
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#8be9fd;font-style:italic">postgres</span><span style="color:#ff79c6">=</span><span style="color:#6272a4"># CREATE USER mcaptcha WITH PASSWORD &#39;my super long password and yes you need single quote`;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span>$ createdb -O mcaptcha mcaptcha <span style="color:#6272a4"># create db &#39;mcaptcha&#39; with &#39;mcaptcha&#39; as owner</span>
</span></span></code></pre></div><h3 id="4-install-and-load-mcaptchacachehttpsgithubcommcaptchacache-module">4. Install and load <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a> module:<a href="#4-install-and-load-mcaptchacachehttpsgithubcommcaptchacache-module" class="anchor" aria-hidden="true">#</a> </h3>
<p>See <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a> for more
details.</p>
@ -208,7 +202,7 @@ details.</p>
<ol>
<li>Install Cargo using <a href="https://rustup.rs/">rustup</a> with:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ curl --proto <span style="color:#f1fa8c">&#39;=https&#39;</span> --tlsv1.2 -sSf https://sh.rustup.rs | sh
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ curl --proto <span style="color:#f1fa8c">&#39;=https&#39;</span> --tlsv1.2 -sSf https://sh.rustup.rs | sh
</span></span></code></pre></div><ol start="2">
<li>
<p>Install node(<code>v14.16.0</code>)</p>
@ -220,61 +214,61 @@ details.</p>
<p>Build with make:</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ make dev-env <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> make release
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ make dev-env <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> make release
</span></span></code></pre></div><h3 id="5-install-package">5. Install package:<a href="#5-install-package" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo cp ./target/release/mcaptcha /usr/bin/ <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> mkdir sudo /etc/mcaptcha <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> sudo cp config/default.toml /etc/mcaptcha/config.toml
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo cp ./target/release/mcaptcha /usr/bin/ <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> mkdir sudo /etc/mcaptcha <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> sudo cp config/default.toml /etc/mcaptcha/config.toml
</span></span></code></pre></div><h3 id="6-systemd-service-configuration">6. Systemd service configuration:<a href="#6-systemd-service-configuration" class="anchor" aria-hidden="true">#</a> </h3>
<ol>
<li>Copy the following to <code>/etc/systemd/system/mcaptcha.service</code>:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-systemd" data-lang="systemd"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span><span style="color:#ff79c6">[Unit]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span><span style="color:#50fa7b">Description</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">mCaptcha: a CAPTCHA system that gives attackers a run for their money</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span><span style="color:#ff79c6">[Service]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span><span style="color:#50fa7b">Type</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">simple</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span><span style="color:#50fa7b">User</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">mcaptcha</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span><span style="color:#50fa7b">ExecStart</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">/usr/bin/mcaptcha</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span><span style="color:#50fa7b">Restart</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">on-failure</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span><span style="color:#50fa7b">RestartSec</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">1</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span><span style="color:#50fa7b">SuccessExitStatus</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">3 4</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span><span style="color:#50fa7b">RestartForceExitStatus</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">3 4</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span><span style="color:#50fa7b">SystemCallArchitectures</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">native</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span><span style="color:#50fa7b">MemoryDenyWriteExecute</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">true</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span><span style="color:#50fa7b">NoNewPrivileges</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">true</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span><span style="color:#50fa7b">Environment</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;RUST_LOG=info&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span><span style="color:#ff79c6">[Unit]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span><span style="color:#50fa7b">After</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">sound.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span><span style="color:#50fa7b">Wants</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">network-online.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span><span style="color:#50fa7b">Wants</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">network-online.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span><span style="color:#50fa7b">Requires</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">postgresql.service</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span><span style="color:#50fa7b">After</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">syslog.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span><span style="color:#ff79c6">[Install]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span><span style="color:#50fa7b">WantedBy</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">multi-user.target</span>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-systemd" data-lang="systemd"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span><span style="color:#ff79c6">[Unit]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span><span style="color:#50fa7b">Description</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">mCaptcha: a CAPTCHA system that gives attackers a run for their money</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span><span style="color:#ff79c6">[Service]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span><span style="color:#50fa7b">Type</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">simple</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span><span style="color:#50fa7b">User</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">mcaptcha</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span><span style="color:#50fa7b">ExecStart</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">/usr/bin/mcaptcha</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span><span style="color:#50fa7b">Restart</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">on-failure</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span><span style="color:#50fa7b">RestartSec</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">1</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span><span style="color:#50fa7b">SuccessExitStatus</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">3 4</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">11</span><span><span style="color:#50fa7b">RestartForceExitStatus</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">3 4</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">12</span><span><span style="color:#50fa7b">SystemCallArchitectures</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">native</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">13</span><span><span style="color:#50fa7b">MemoryDenyWriteExecute</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">true</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">14</span><span><span style="color:#50fa7b">NoNewPrivileges</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">true</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">15</span><span><span style="color:#50fa7b">Environment</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;RUST_LOG=info&#34;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">16</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">17</span><span><span style="color:#ff79c6">[Unit]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">18</span><span><span style="color:#50fa7b">After</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">sound.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">19</span><span><span style="color:#50fa7b">Wants</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">network-online.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">20</span><span><span style="color:#50fa7b">Wants</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">network-online.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">21</span><span><span style="color:#50fa7b">Requires</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">postgresql.service</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">22</span><span><span style="color:#50fa7b">After</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">syslog.target</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">23</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">24</span><span><span style="color:#ff79c6">[Install]</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">25</span><span><span style="color:#50fa7b">WantedBy</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">multi-user.target</span>
</span></span></code></pre></div><ol start="2">
<li>Enable service:</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo systemctl daemon-reload <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> sudo systemctl <span style="color:#8be9fd;font-style:italic">enable</span> mcaptcha <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\ </span><span style="color:#6272a4"># Auto startup during boot</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span> sudo systemctl start mcaptcha
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c">``</span>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo systemctl daemon-reload <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> sudo systemctl <span style="color:#8be9fd;font-style:italic">enable</span> mcaptcha <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#f1fa8c">\ </span><span style="color:#6272a4"># Auto startup during boot</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span> sudo systemctl start mcaptcha
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c">``</span>
</span></span></code></pre></div>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosted/bare-metal.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosting/bare-metal.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/self-hosted/getting-started/">
<a href="/docs/self-hosting/getting-started/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Getting started
</div>
</div>
</a>
<a class="ms-auto" href="/docs/self-hosted/docker/">
<a class="ms-auto" href="/docs/self-hosting/docker/">
<div class="card my-1">
<div class="card-body py-2">
Using Docker &rarr;
@ -312,8 +306,8 @@ details.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Database and cache - mCaptcha</title>
<meta name="description" content="mCaptcha server requires dependencies like a Postgres database and a Redis cache">
<link rel="canonical" href="/docs/self-hosted/dependencies/">
<link rel="canonical" href="/docs/self-hosting/dependencies/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Database and cache">
@ -25,10 +25,10 @@
<meta property="og:title" content="Database and cache">
<meta property="og:description" content="mCaptcha server requires dependencies like a Postgres database and a Redis cache">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/self-hosted/dependencies/">
<meta property="og:url" content="/docs/self-hosting/dependencies/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:modified_time" content="2022-08-01T20:24:18+05:30">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -47,8 +47,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsself Hosteddependencies",
"item": "\/docsself-hosteddependencies\/"
"name": "Docsself Hostingdependencies",
"item": "\/docsself-hostingdependencies\/"
}]
}
</script>
@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link active" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link active" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -214,35 +208,35 @@ limitations.</p>
<h3 id="docker">Docker<a href="#docker" class="anchor" aria-hidden="true">#</a> </h3>
<h3 id="database-1">Database<a href="#database-1" class="anchor" aria-hidden="true">#</a> </h3>
<p>Download and run Postgres</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker create --name mcaptcha-postgres <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">POSTGRES_PASSWORD</span><span style="color:#ff79c6">=</span>&lt;database-password&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> -p 5432:5432 <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c"></span> postgres <span style="color:#ff79c6">&amp;&amp;</span> docker start mcaptcha-postgres
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker create --name mcaptcha-postgres <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">POSTGRES_PASSWORD</span><span style="color:#ff79c6">=</span>&lt;database-password&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> -p 5432:5432 <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c"></span> postgres <span style="color:#ff79c6">&amp;&amp;</span> docker start mcaptcha-postgres
</span></span></code></pre></div><h3 id="redis-1">Redis<a href="#redis-1" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker create --name mcaptcha-cache <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> -p 6379:6379 <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> mcaptcha/cache <span style="color:#ff79c6">&amp;&amp;</span> docker start mcaptcha-cache
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker create --name mcaptcha-cache <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> -p 6379:6379 <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> mcaptcha/cache <span style="color:#ff79c6">&amp;&amp;</span> docker start mcaptcha-cache
</span></span></code></pre></div><p>See <a href="https://github.com/mCaptcha/cache">mCaptcha/cache</a> for more
details.</p>
<h3 id="1-install-postgres-if-you-dont-have-it-already">1. Install Postgres if you don&rsquo;t have it already.<a href="#1-install-postgres-if-you-dont-have-it-already" class="anchor" aria-hidden="true">#</a> </h3>
<p>For Debian based distributions:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sudo apt install postgres
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sudo apt install postgres
</span></span></code></pre></div><h3 id="2-create-new-user-for-running-mcaptcha">2. Create new user for running <code>mCaptcha</code><a href="#2-create-new-user-for-running-mcaptcha" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo useradd -b /srv -m -s /usr/bin/bash mcaptcha
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo useradd -b /srv -m -s /usr/bin/bash mcaptcha
</span></span></code></pre></div><h3 id="3-create-new-user-in-postgres">3. Create new user in Postgres<a href="#3-create-new-user-in-postgres" class="anchor" aria-hidden="true">#</a> </h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo -iu postgres <span style="color:#6272a4"># switch to `postgres` user</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>$ psql
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#8be9fd;font-style:italic">postgres</span><span style="color:#ff79c6">=</span><span style="color:#6272a4"># CREATE USER mcaptcha WITH PASSWORD &#39;my super long password and yes you need single quote&#39;;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span>$ createdb -O mcaptcha mcaptcha <span style="color:#6272a4"># create db &#39;mcaptcha&#39; with &#39;mcaptcha&#39; as owner</span>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>$ sudo -iu postgres <span style="color:#6272a4"># switch to `postgres` user</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span>$ psql
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#8be9fd;font-style:italic">postgres</span><span style="color:#ff79c6">=</span><span style="color:#6272a4"># CREATE USER mcaptcha WITH PASSWORD &#39;my super long password and yes you need single quote&#39;;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span>$ createdb -O mcaptcha mcaptcha <span style="color:#6272a4"># create db &#39;mcaptcha&#39; with &#39;mcaptcha&#39; as owner</span>
</span></span></code></pre></div><h3 id="4-install-mcaptchacachehttpsgithubcommcaptchacache">4. Install <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a><a href="#4-install-mcaptchacachehttpsgithubcommcaptchacache" class="anchor" aria-hidden="true">#</a> </h3>
<p>See <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a> for more
details.</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosted/dependencies.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosting/dependencies.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/self-hosted/docker/">
<a href="/docs/self-hosting/docker/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Using Docker
@ -287,8 +281,8 @@ details.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Using Docker - mCaptcha</title>
<meta name="description" content="Deploy mCaptcha using docker">
<link rel="canonical" href="/docs/self-hosted/docker/">
<link rel="canonical" href="/docs/self-hosting/docker/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Using Docker">
@ -25,10 +25,10 @@
<meta property="og:title" content="Using Docker">
<meta property="og:description" content="Deploy mCaptcha using docker">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/self-hosted/docker/">
<meta property="og:url" content="/docs/self-hosting/docker/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:modified_time" content="2022-08-01T22:26:08+05:30">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -47,8 +47,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsself Hosteddocker",
"item": "\/docsself-hosteddocker\/"
"name": "Docsself Hostingdocker",
"item": "\/docsself-hostingdocker\/"
}]
}
</script>
@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link active" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link active" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -180,11 +174,11 @@
for configurable options.</p>
<h3 id="2-run-image">2. Run image<a href="#2-run-image" class="anchor" aria-hidden="true">#</a> </h3>
<p>If you have already have a Postgres instance running, then:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker run -p &lt;host-machine-port&gt;:&lt;port-in-configuration-file&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> --add-host<span style="color:#ff79c6">=</span>database:&lt;database-ip-addrss&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">RUST_LOG</span><span style="color:#ff79c6">=</span>debug <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">DATABASE_URL</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;postgres://&lt;db-user&gt;:&lt;db-password&gt;@database:&lt;db-port&gt;/&lt;db-name&gt;&#34;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5</span><span><span style="color:#f1fa8c"></span> mcaptcha/mcaptcha:latest
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker run -p &lt;host-machine-port&gt;:&lt;port-in-configuration-file&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> --add-host<span style="color:#ff79c6">=</span>database:&lt;database-ip-addrss&gt; <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">RUST_LOG</span><span style="color:#ff79c6">=</span>debug <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c"></span> -e <span style="color:#8be9fd;font-style:italic">DATABASE_URL</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;postgres://&lt;db-user&gt;:&lt;db-password&gt;@database:&lt;db-port&gt;/&lt;db-name&gt;&#34;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5</span><span><span style="color:#f1fa8c"></span> mcaptcha/mcaptcha:latest
</span></span></code></pre></div><p>If you don&rsquo;t have a Postgres instance running, you can either install
one using a package manager or launch one with docker. A <a href="'../docker-compose.yml">docker-compose
configuration</a> is available that will launch both
@ -201,20 +195,20 @@ a database instance mcaptcha instance.</p>
<p>Launch network</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker-compose up -d
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>docker-compose up -d
</span></span></code></pre></div>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosted/docker.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosting/docker.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/self-hosted/bare-metal/">
<a href="/docs/self-hosting/bare-metal/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Deploy bare metal
</div>
</div>
</a>
<a class="ms-auto" href="/docs/self-hosted/dependencies/">
<a class="ms-auto" href="/docs/self-hosting/dependencies/">
<div class="card my-1">
<div class="card-body py-2">
Database and cache &rarr;
@ -252,8 +246,8 @@ a database instance mcaptcha instance.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Getting started - mCaptcha</title>
<meta name="description" content="Get started with self-hosting mCaptcha">
<link rel="canonical" href="/docs/self-hosted/getting-started/">
<link rel="canonical" href="/docs/self-hosting/getting-started/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Getting started">
@ -25,10 +25,10 @@
<meta property="og:title" content="Getting started">
<meta property="og:description" content="Get started with self-hosting mCaptcha">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/self-hosted/getting-started/">
<meta property="og:url" content="/docs/self-hosting/getting-started/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:modified_time" content="2022-10-09T12:25:43+02:00">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -47,8 +47,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsself Hostedgetting Started",
"item": "\/docsself-hostedgetting-started\/"
"name": "Docsself Hostinggetting Started",
"item": "\/docsself-hostinggetting-started\/"
}]
}
</script>
@ -92,7 +92,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -110,25 +110,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link active" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link active" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -166,18 +160,18 @@
<li><a href="./docker">With Docker</a></li>
</ol>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosted/getting-started.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosting/getting-started.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/terminology/visitor-threshold/">
<a href="/docs/webmasters/configuring-difficulty-factor/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Visitor Threshold
&larr; Configuring Difficulty Factor
</div>
</div>
</a>
<a class="ms-auto" href="/docs/self-hosted/bare-metal/">
<a class="ms-auto" href="/docs/self-hosting/bare-metal/">
<div class="card my-1">
<div class="card-body py-2">
Deploy bare metal &rarr;
@ -215,8 +209,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -11,21 +11,21 @@
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Self-Hosted - mCaptcha</title>
<title>Self-Hosting - mCaptcha</title>
<meta name="description" content="Instructions to self-host mCaptcha">
<link rel="canonical" href="/docs/self-hosted/">
<link rel="canonical" href="/docs/self-hosting/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Self-Hosted">
<meta name="twitter:title" content="Self-Hosting">
<meta name="twitter:description" content="Instructions to self-host mCaptcha">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Self-Hosted">
<meta property="og:title" content="Self-Hosting">
<meta property="og:description" content="Instructions to self-host mCaptcha">
<meta property="og:type" content="website">
<meta property="og:url" content="/docs/self-hosted/">
<meta property="og:url" content="/docs/self-hosting/">
<meta property="og:image" content="/icon.png"/>
<meta property="og:site_name" content="mCaptcha">
@ -34,8 +34,8 @@
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<link rel="alternate" type="application/rss&#43;xml" href="/docs/self-hosted/index.xml">
<link rel="sitemap" type="application/xml" href="/docs/self-hosted/sitemap.xml">
<link rel="alternate" type="application/rss&#43;xml" href="/docs/self-hosting/index.xml">
<link rel="sitemap" type="application/xml" href="/docs/self-hosting/sitemap.xml">
<script type="application/ld+json">
{
"@context": "http://schema.org",
@ -48,8 +48,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsself Hosted",
"item": "\/docsself-hosted\/"
"name": "Docsself Hosting",
"item": "\/docsself-hosting\/"
}]
}
</script>
@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,7 +111,7 @@
<div class="row justify-content-center">
<div class="col-md-12 col-lg-10 col-xl-8">
<article>
<h1 class="text-center">Self-Hosted</h1>
<h1 class="text-center">Self-Hosting</h1>
<div class="text-center"></div>
<div class="card-list">
@ -121,13 +121,9 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/dependencies/">Database and Cache &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/dependencies/">Database and Cache &rarr;</a>
</div>
</div>
@ -135,7 +131,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/bare-metal/">Deploy Bare Metal &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/bare-metal/">Deploy Bare Metal &rarr;</a>
</div>
</div>
@ -143,11 +139,9 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/getting-started/">Getting Started &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/getting-started/">Getting Started &rarr;</a>
</div>
</div>
@ -165,7 +159,7 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/self-hosted/docker/">Using Docker &rarr;</a>
<a class="stretched-link" href="/docs/self-hosting/docker/">Using Docker &rarr;</a>
</div>
</div>
@ -203,8 +197,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Self-Hosted on </title>
<link>/docs/self-hosted/</link>
<description>Recent content in Self-Hosted on </description>
<title>Self-Hosting on </title>
<link>/docs/self-hosting/</link>
<description>Recent content in Self-Hosting on </description>
<generator>Hugo -- gohugo.io</generator>
<language>en-US</language><atom:link href="/docs/self-hosted/index.xml" rel="self" type="application/rss+xml" />
<language>en-US</language><atom:link href="/docs/self-hosting/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Getting started</title>
<link>/docs/self-hosted/getting-started/</link>
<link>/docs/self-hosting/getting-started/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/docs/self-hosted/getting-started/</guid>
<guid>/docs/self-hosting/getting-started/</guid>
<description>Get started There are two main ways to self-host mCaptcha:
Bare metal With Docker </description>
</item>
<item>
<title>Deploy bare metal</title>
<link>/docs/self-hosted/bare-metal/</link>
<link>/docs/self-hosting/bare-metal/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/docs/self-hosted/bare-metal/</guid>
<guid>/docs/self-hosting/bare-metal/</guid>
<description>2. Configure mcaptcha is highly configurable.
Configuration is applied/merged in the following order:
path to configuration file passed in via MCAPTCHA_CONFIG ./config/default.toml /etc/mcaptcha/config.toml environment variables. 1. Install postgres if you don&amp;rsquo;t have it already. For Debian based distributions:
@ -30,10 +30,10 @@ path to configuration file passed in via MCAPTCHA_CONFIG ./config/default.toml /
<item>
<title>Using Docker</title>
<link>/docs/self-hosted/docker/</link>
<link>/docs/self-hosting/docker/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/docs/self-hosted/docker/</guid>
<guid>/docs/self-hosting/docker/</guid>
<description>With Docker 1. Configure mcaptcha is highly configurable.
Configuration is applied/merged in the following order:
path to configuration file passed in via MCAPTCHA_CONFIG ./config/default.toml /etc/mcaptcha/config.toml environment variables. See CONFIGURATION.md for configurable options.
@ -43,10 +43,10 @@ path to configuration file passed in via MCAPTCHA_CONFIG ./config/default.toml /
<item>
<title>Database and cache</title>
<link>/docs/self-hosted/dependencies/</link>
<link>/docs/self-hosting/dependencies/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/docs/self-hosted/dependencies/</guid>
<guid>/docs/self-hosting/dependencies/</guid>
<description>Notes Database Database migrations are baked into the server binary so don&amp;rsquo;t worry about them.
When compiling from source, unset database configuration(comment out database configuration/ unset relevant environment variables). mCaptcha uses sqlx database client library which checks SQL queries at compile time. So if you are starting with a fresh database without migrations applied, compilation will fail.
Redis Redis is an optional dependency. Currently, the non-Redis configuration doesn&amp;rsquo;t persist CAPTCHA heat.</description>

View file

@ -2,29 +2,29 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/docs/self-hosted/getting-started/</loc>
<lastmod>2022-10-09T12:25:43+02:00</lastmod>
<loc>/docs/self-hosting/getting-started/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/bare-metal/</loc>
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
<loc>/docs/self-hosting/bare-metal/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/docker/</loc>
<lastmod>2022-08-01T22:26:08+05:30</lastmod>
<loc>/docs/self-hosting/docker/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/dependencies/</loc>
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
<loc>/docs/self-hosting/dependencies/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>

View file

@ -1,13 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/docs/terminology/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/help/</loc>
<lastmod>2021-07-21T15:49:53+05:30</lastmod>
@ -16,8 +9,8 @@
</url>
<url>
<loc>/docs/introduction/</loc>
<lastmod>2022-08-01T22:25:46+05:30</lastmod>
<loc>/docs/webmasters/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
@ -30,42 +23,12 @@
</url>
<url>
<loc>/docs/self-hosted/</loc>
<lastmod>2022-08-01T19:16:21+05:30</lastmod>
<loc>/docs/self-hosting/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/access-token/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/cooldown-period/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/difficulty-factor/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/sitekey/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/visitor-threshold/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/help/troubleshooting/</loc>
<lastmod>2022-08-01T22:24:30+05:30</lastmod>
<changefreq>weekly</changefreq>
@ -78,14 +41,26 @@
<priority>0.5</priority>
</url>
<url>
<loc>/docs/introduction/installing-captcha/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<loc>/docs/webmasters/installing-captcha/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/introduction/configuring-difficulty-factor/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<loc>/docs/webmasters/configuring-difficulty-factor/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/webmasters/terminology/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/webmasters/faq/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
@ -108,26 +83,26 @@
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/getting-started/</loc>
<lastmod>2022-10-09T12:25:43+02:00</lastmod>
<loc>/docs/self-hosting/getting-started/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/bare-metal/</loc>
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
<loc>/docs/self-hosting/bare-metal/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/docker/</loc>
<lastmod>2022-08-01T22:26:08+05:30</lastmod>
<loc>/docs/self-hosting/docker/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/self-hosted/dependencies/</loc>
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
<loc>/docs/self-hosting/dependencies/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>

View file

@ -1,232 +0,0 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/main.976507041017ac4a08ed252c5399a7c72b3b5aeae14bc23dd624cbddb3d2cb6065f6cf8ed6cd96bf5cd21c1157dee4bfdb85b488cb791a49a33af016aa3fcffd.css" integrity="sha512-l2UHBBAXrEoI7SUsU5mnxys7WurhS8I91iTL3bPSy2Bl9s&#43;O1s2Wv1zSHBFX3uS/24W0iMt5GkmjOvAWqj/P/Q==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Access token - mCaptcha</title>
<meta name="description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<link rel="canonical" href="/docs/terminology/access-token/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Access token">
<meta name="twitter:description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Access token">
<meta property="og:description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/terminology/access-token/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T22:27:01+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "\/"
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminologyaccess Token",
"item": "\/docsterminologyaccess-token\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
</head>
<body class="docs single">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="/">mCaptcha</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://github.com/mCaptcha"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/community/">Community</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact/">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
</ul>
<h3>Terminology</h3>
<ul class="list-unstyled">
<li><a class="docs-link active" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/api/browser/">Browser libraries</a></li>
<li><a class="docs-link" href="/docs/api/mcaptcha-system/">mCaptcha System Library</a></li>
<li><a class="docs-link" href="/docs/api/pow-sha256/">pow_sha256</a></li>
</ul>
<h3>Help</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/help/troubleshooting/">Troubleshooting</a></li>
<li><a class="docs-link" href="/docs/help/faq/">FAQ</a></li>
</ul>
</nav>
</div>
<nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation">
<div class="page-links">
<h3>On this page</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#validate-access-token">Validate access token:</a></li>
</ul>
</nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9">
<h1>Access token</h1>
<p class="lead"></p>
<p>When a visitor solves the CAPTCHA and sends their solution to an
mCaptcha instance, the solution will be verified for correctness. If the
solution is correct, mCaptcha will return a single use access token.</p>
<p>This access token should be attached to the visitor&rsquo;s requited to the
protected service and the protected service should validity of the
access token with the mCaptcha instance and only allow access to
protected resource if the access token is valid.</p>
<h2 id="validate-access-token">Validate access token:<a href="#validate-access-token" class="anchor" aria-hidden="true">#</a> </h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>curl --location --request POST <span style="color:#f1fa8c">&#39;https://mcaptcha.example.net/api/v1/pow/siteverify&#39;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span><span style="color:#f1fa8c"></span> --header <span style="color:#f1fa8c">&#39;Content-Type: application/json&#39;</span> <span style="color:#f1fa8c">\
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span><span style="color:#f1fa8c"></span> --data-raw <span style="color:#f1fa8c">&#39;{
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span><span style="color:#f1fa8c"> &#34;token&#34;: &#34;replace this with the access token presented by visitor&#34;,
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">5</span><span><span style="color:#f1fa8c"> &#34;key&#34;: &#34;replace this with the sitekey associated with the CAPTCHA&#34;
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">6</span><span><span style="color:#f1fa8c"> &#34;secret&#34;: &#34;replace this with mCaptcha account secret, available in settings&#34;
</span></span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">7</span><span><span style="color:#f1fa8c"> }&#39;</span>
</span></span></code></pre></div>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/terminology/access-token.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/introduction/configuring-difficulty-factor/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Configuring Difficulty Factor
</div>
</div>
</a>
<a class="ms-auto" href="/docs/terminology/cooldown-period/">
<div class="card my-1">
<div class="card-body py-2">
Cooldown Period &rarr;
</div>
</div>
</a>
</div>
</main>
</div>
</div>
</div>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
<li class="list-inline-item"><a href="/about/">About</a></li>
<li class="list-inline-item"><a href="/donate">Donate</a></li>
<li class="list-inline-item"><a href="/privacy-policy/">Privacy</a></li>
<li class="list-inline-item"><a href="/security">Security</a></li>
<li class="list-inline-item"><a href="https://stats.uptimerobot.com/GK7VLFJnBl">Status</a></li>
<li class="list-inline-item"><a href="/thanks">Thanks</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,227 +0,0 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/main.976507041017ac4a08ed252c5399a7c72b3b5aeae14bc23dd624cbddb3d2cb6065f6cf8ed6cd96bf5cd21c1157dee4bfdb85b488cb791a49a33af016aa3fcffd.css" integrity="sha512-l2UHBBAXrEoI7SUsU5mnxys7WurhS8I91iTL3bPSy2Bl9s&#43;O1s2Wv1zSHBFX3uS/24W0iMt5GkmjOvAWqj/P/Q==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Cooldown Period - mCaptcha</title>
<meta name="description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<link rel="canonical" href="/docs/terminology/cooldown-period/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Cooldown Period">
<meta name="twitter:description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Cooldown Period">
<meta property="og:description" content="mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/terminology/cooldown-period/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T23:03:44+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "\/"
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminologycooldown Period",
"item": "\/docsterminologycooldown-period\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
</head>
<body class="docs single">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="/">mCaptcha</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://github.com/mCaptcha"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/community/">Community</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact/">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
</ul>
<h3>Terminology</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link active" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/api/browser/">Browser libraries</a></li>
<li><a class="docs-link" href="/docs/api/mcaptcha-system/">mCaptcha System Library</a></li>
<li><a class="docs-link" href="/docs/api/pow-sha256/">pow_sha256</a></li>
</ul>
<h3>Help</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/help/troubleshooting/">Troubleshooting</a></li>
<li><a class="docs-link" href="/docs/help/faq/">FAQ</a></li>
</ul>
</nav>
</div>
<nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation">
<div class="page-links">
<h3>On this page</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#easy-mode-default-cooldown">Easy Mode: Default cooldown</a></li>
</ul>
</nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9">
<h1>Cooldown Period</h1>
<p class="lead"></p>
<p>mCaptcha implements leaky bucket algorithm to measure
current traffic levels. Cooldown period specifies the leak or the time
after which a visitor addition is decremented.</p>
<p>For instance, if initial traffic level is 0 and a user visits one
second later, the traffic level will be incremented to 1. Now, if the
cooldown period is set to 30 seconds, the traffic level will be
decremented after 30 seconds. So after 30 seconds, the traffic level will
go from 1 to 0.</p>
<h2 id="easy-mode-default-cooldown">Easy Mode: Default cooldown<a href="#easy-mode-default-cooldown" class="anchor" aria-hidden="true">#</a> </h2>
<p>When configuring mCaptcha in <a href="/docs/introduction/configuring-difficulty-factor/#easy-option">easy Mode</a>, the default cooldown period is set to 30 seconds.</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/terminology/cooldown-period.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/terminology/access-token/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Access token
</div>
</div>
</a>
<a class="ms-auto" href="/docs/terminology/difficulty-factor/">
<div class="card my-1">
<div class="card-body py-2">
Difficulty Factor &rarr;
</div>
</div>
</a>
</div>
</main>
</div>
</div>
</div>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
<li class="list-inline-item"><a href="/about/">About</a></li>
<li class="list-inline-item"><a href="/donate">Donate</a></li>
<li class="list-inline-item"><a href="/privacy-policy/">Privacy</a></li>
<li class="list-inline-item"><a href="/security">Security</a></li>
<li class="list-inline-item"><a href="https://stats.uptimerobot.com/GK7VLFJnBl">Status</a></li>
<li class="list-inline-item"><a href="/thanks">Thanks</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,220 +0,0 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/main.976507041017ac4a08ed252c5399a7c72b3b5aeae14bc23dd624cbddb3d2cb6065f6cf8ed6cd96bf5cd21c1157dee4bfdb85b488cb791a49a33af016aa3fcffd.css" integrity="sha512-l2UHBBAXrEoI7SUsU5mnxys7WurhS8I91iTL3bPSy2Bl9s&#43;O1s2Wv1zSHBFX3uS/24W0iMt5GkmjOvAWqj/P/Q==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Difficulty Factor - mCaptcha</title>
<meta name="description" content="Difficulty factor determines the time it takes to solve a CAPTCHA, there are two modes to setting difficulty factor: advance and easy, this page documents both modes.">
<link rel="canonical" href="/docs/terminology/difficulty-factor/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Difficulty Factor">
<meta name="twitter:description" content="Difficulty factor determines the time it takes to solve a CAPTCHA, there are two modes to setting difficulty factor: advance and easy, this page documents both modes.">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Difficulty Factor">
<meta property="og:description" content="Difficulty factor determines the time it takes to solve a CAPTCHA, there are two modes to setting difficulty factor: advance and easy, this page documents both modes.">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/terminology/difficulty-factor/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T22:27:01+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "\/"
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminologydifficulty Factor",
"item": "\/docsterminologydifficulty-factor\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
</head>
<body class="docs single">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="/">mCaptcha</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://github.com/mCaptcha"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/community/">Community</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact/">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
</ul>
<h3>Terminology</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link active" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/api/browser/">Browser libraries</a></li>
<li><a class="docs-link" href="/docs/api/mcaptcha-system/">mCaptcha System Library</a></li>
<li><a class="docs-link" href="/docs/api/pow-sha256/">pow_sha256</a></li>
</ul>
<h3>Help</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/help/troubleshooting/">Troubleshooting</a></li>
<li><a class="docs-link" href="/docs/help/faq/">FAQ</a></li>
</ul>
</nav>
</div>
<nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation">
<div class="page-links">
<h3>On this page</h3>
<nav id="TableOfContents"></nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9">
<h1>Difficulty Factor</h1>
<p class="lead"></p>
<p>Difficulty factor determines the time it takes to solve a CAPTCHA. The
higher the difficulty factor, the longer it will take to generate a
proof of work for it to solve the CAPTCHA.</p>
<p>mCaptcha&rsquo;s proof of work based mechanism makes it highly accessible to
people with special needs but it is important to choose the difficulty factor
with care as very high difficulty factors will make the CAPTCHA
inaccessible to users on slow devices.</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/terminology/difficulty-factor/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/terminology/cooldown-period/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Cooldown Period
</div>
</div>
</a>
<a class="ms-auto" href="/docs/terminology/sitekey/">
<div class="card my-1">
<div class="card-body py-2">
Site key &rarr;
</div>
</div>
</a>
</div>
</main>
</div>
</div>
</div>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
<li class="list-inline-item"><a href="/about/">About</a></li>
<li class="list-inline-item"><a href="/donate">Donate</a></li>
<li class="list-inline-item"><a href="/privacy-policy/">Privacy</a></li>
<li class="list-inline-item"><a href="/security">Security</a></li>
<li class="list-inline-item"><a href="https://stats.uptimerobot.com/GK7VLFJnBl">Status</a></li>
<li class="list-inline-item"><a href="/thanks">Thanks</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,217 +0,0 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-regular.woff2" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="/fonts/vendor/jost/jost-v4-latin-700.woff2" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/main.976507041017ac4a08ed252c5399a7c72b3b5aeae14bc23dd624cbddb3d2cb6065f6cf8ed6cd96bf5cd21c1157dee4bfdb85b488cb791a49a33af016aa3fcffd.css" integrity="sha512-l2UHBBAXrEoI7SUsU5mnxys7WurhS8I91iTL3bPSy2Bl9s&#43;O1s2Wv1zSHBFX3uS/24W0iMt5GkmjOvAWqj/P/Q==" crossorigin="anonymous">
<noscript><style>img.lazyload { display: none; }</style></noscript>
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Terminology - mCaptcha</title>
<meta name="description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<link rel="canonical" href="/docs/terminology/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Terminology">
<meta name="twitter:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Terminology">
<meta property="og:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta property="og:type" content="website">
<meta property="og:url" content="/docs/terminology/">
<meta property="og:image" content="/icon.png"/>
<meta property="og:updated_time" content="2022-08-01T22:27:01+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<link rel="alternate" type="application/rss&#43;xml" href="/docs/terminology/index.xml">
<link rel="sitemap" type="application/xml" href="/docs/terminology/sitemap.xml">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1 ,
"name": "Home",
"item": "\/"
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminology",
"item": "\/docsterminology\/"
}]
}
</script>
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
</head>
<body class="docs list">
<div class="header-bar fixed-top"></div>
<header class="navbar fixed-top navbar-expand-md navbar-light">
<div class="container">
<input class="menu-btn order-0" type="checkbox" id="menu-btn">
<label class="menu-icon d-md-none" for="menu-btn"><span class="navicon"></span></label>
<a class="navbar-brand order-1 order-md-0 me-auto" href="/">mCaptcha</a>
<button id="mode" class="btn btn-link order-2 order-md-4" type="button" aria-label="Toggle mode">
<span class="toggle-dark"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-moon"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></span>
<span class="toggle-light"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></span>
</button>
<ul class="navbar-nav social-nav order-3 order-md-5">
<li class="nav-item">
<a class="nav-link" href="https://github.com/mCaptcha"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-github"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path></svg><span class="ms-2 visually-hidden">GitHub</span></a>
</li>
</ul>
<div class="collapse navbar-collapse order-4 order-md-1">
<ul class="navbar-nav main-nav me-auto order-5 order-md-2"><li class="nav-item">
<a class="nav-link" href="/blog/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/community/">Community</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact/">Contact</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
<form class="navbar-form flex-grow-1 order-7 order-md-3">
<input id="userinput" class="form-control is-search" type="search" placeholder="Search docs..." aria-label="Search docs..." autocomplete="off">
<div id="suggestions" class="shadow bg-white rounded"></div>
</form>
</div>
</div>
</header>
<div class="wrap container" role="document">
<div class="content">
<div class="row justify-content-center">
<div class="col-md-12 col-lg-10 col-xl-8">
<article>
<h1 class="text-center">Terminology</h1>
<div class="text-center"></div>
<div class="card-list">
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/access-token/">Access Token &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/cooldown-period/">Cooldown Period &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/sitekey/">Site Key &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold &rarr;</a>
</div>
</div>
</div>
</article>
</div>
</div>
</div>
</div>
<footer class="footer text-muted">
<div class="container">
<div class="row">
<div class="col-lg-8 order-last order-lg-first">
<ul class="list-inline">
<li class="list-inline-item">Powered by <a href="https://gohugo.io/">Hugo</a>, and <a href="https://getdoks.org/">Doks</a></li>
</ul>
</div>
<div class="col-lg-8 order-first order-lg-last text-lg-end">
<ul class="list-inline">
<li class="list-inline-item"><a href="/about/">About</a></li>
<li class="list-inline-item"><a href="/donate">Donate</a></li>
<li class="list-inline-item"><a href="/privacy-policy/">Privacy</a></li>
<li class="list-inline-item"><a href="/security">Security</a></li>
<li class="list-inline-item"><a href="https://stats.uptimerobot.com/GK7VLFJnBl">Status</a></li>
<li class="list-inline-item"><a href="/thanks">Thanks</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Terminology on </title>
<link>/docs/terminology/</link>
<description>Recent content in Terminology on </description>
<generator>Hugo -- gohugo.io</generator>
<language>en-US</language>
<lastBuildDate>Wed, 27 Jul 2022 08:48:45 +0000</lastBuildDate><atom:link href="/docs/terminology/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Access token</title>
<link>/docs/terminology/access-token/</link>
<pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate>
<guid>/docs/terminology/access-token/</guid>
<description>When a visitor solves the CAPTCHA and sends their solution to an mCaptcha instance, the solution will be verified for correctness. If the solution is correct, mCaptcha will return a single use access token.
This access token should be attached to the visitor&amp;rsquo;s requited to the protected service and the protected service should validity of the access token with the mCaptcha instance and only allow access to protected resource if the access token is valid.</description>
</item>
<item>
<title>Cooldown Period</title>
<link>/docs/terminology/cooldown-period/</link>
<pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate>
<guid>/docs/terminology/cooldown-period/</guid>
<description>mCaptcha implements leaky bucket algorithm to measure current traffic levels. Cooldown period specifies the leak or the time after which a visitor addition is decremented.
For instance, if initial traffic level is 0 and a user visits one second later, the traffic level will be incremented to 1. Now, if the cooldown period is set to 30 seconds, the traffic level will be decremented after 30 seconds. So after 30 seconds, the traffic level will go from 1 to 0.</description>
</item>
<item>
<title>Difficulty Factor</title>
<link>/docs/terminology/difficulty-factor/</link>
<pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate>
<guid>/docs/terminology/difficulty-factor/</guid>
<description>Difficulty factor determines the time it takes to solve a CAPTCHA. The higher the difficulty factor, the longer it will take to generate a proof of work for it to solve the CAPTCHA.
mCaptcha&amp;rsquo;s proof of work based mechanism makes it highly accessible to people with special needs but it is important to choose the difficulty factor with care as very high difficulty factors will make the CAPTCHA inaccessible to users on slow devices.</description>
</item>
<item>
<title>Site key</title>
<link>/docs/terminology/sitekey/</link>
<pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate>
<guid>/docs/terminology/sitekey/</guid>
<description>Site key is a unique identifier associated with CAPTCHA configurations created on mCaptcha. It is required to integrate a CAPTCHA with your website.
How to get site key? Go to &amp;ldquo;Site keys&amp;rdquo; on the side panel in the dashboard click on the clipboard button to copy the site key to your clipboard. </description>
</item>
<item>
<title>Visitor Threshold</title>
<link>/docs/terminology/visitor-threshold/</link>
<pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate>
<guid>/docs/terminology/visitor-threshold/</guid>
<description>mCaptcha&amp;rsquo;s variable difficulty factor mechanism requires a website&amp;rsquo;s traffic statistics be split into levels, so that it can deploy the right difficulty factor for each level.
Visitor threshold is used to traffic into levels and mCaptcha accepts a difficulty configuration for each of these levels. When current traffic exceeds a difficulty factor, mCaptcha will increase the difficulty factor to the next configured level.
For instance, consider the configuration given below:</description>
</item>
</channel>
</rss>

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/docs/terminology/access-token/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/cooldown-period/</loc>
<lastmod>2022-08-01T23:03:44+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/difficulty-factor/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/sitekey/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/terminology/visitor-threshold/</loc>
<lastmod>2022-08-01T22:27:01+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Configuring Difficulty Factor - mCaptcha</title>
<meta name="description" content="mCaptcha has options to configure its proof of work engine behavior, this page explains how to determine difficulty facotrs that work best for your website!">
<link rel="canonical" href="/docs/introduction/configuring-difficulty-factor/">
<link rel="canonical" href="/docs/webmasters/configuring-difficulty-factor/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Configuring Difficulty Factor">
@ -25,11 +25,11 @@
<meta property="og:title" content="Configuring Difficulty Factor">
<meta property="og:description" content="mCaptcha has options to configure its proof of work engine behavior, this page explains how to determine difficulty facotrs that work best for your website!">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/introduction/configuring-difficulty-factor/">
<meta property="og:url" content="/docs/webmasters/configuring-difficulty-factor/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-06-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T23:03:44+05:30">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -48,8 +48,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsintroductionconfiguring Difficulty Factor",
"item": "\/docsintroductionconfiguring-difficulty-factor\/"
"name": "Docswebmastersconfiguring Difficulty Factor",
"item": "\/docswebmastersconfiguring-difficulty-factor\/"
}]
}
</script>
@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link active" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link active" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -185,8 +179,8 @@ website but it will be fine-tuned as mCaptcha sees more deployment.</p>
<p>Configuration generated by easy mode can be tweaked later using the
advance mode, as you become more familiar with how mCaptcha works.</p>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_20x0_resize_box_3.png" data-srcset="/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_900x0_resize_box_3.png 900w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_800x0_resize_box_3.png 800w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_700x0_resize_box_3.png 700w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_600x0_resize_box_3.png 600w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_500x0_resize_box_3.png 500w" width="720" height="452" alt="new sitekey form in easy mode">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_900x0_resize_box_3.png 900w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_800x0_resize_box_3.png 800w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_700x0_resize_box_3.png 700w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_600x0_resize_box_3.png 600w,/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_500x0_resize_box_3.png 500w" src="/docs/introduction/configuring-difficulty-factor/new-sitekey-easy-mode.png" width="720" height="452" alt="new sitekey form in easy mode"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_20x0_resize_box_3.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_900x0_resize_box_3.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_800x0_resize_box_3.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_700x0_resize_box_3.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_600x0_resize_box_3.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_500x0_resize_box_3.png 500w" width="720" height="452" alt="new sitekey form in easy mode">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_900x0_resize_box_3.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_800x0_resize_box_3.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_700x0_resize_box_3.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_600x0_resize_box_3.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3f66189ea53484ac6603a2d78fa015c8_26636_500x0_resize_box_3.png 500w" src="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode.png" width="720" height="452" alt="new sitekey form in easy mode"></noscript>
</figure>
<h3 id="advance-option">Advance option<a href="#advance-option" class="anchor" aria-hidden="true">#</a> </h3>
<p>Advance mode gives the admin granular control over how mCaptcha behaves
@ -202,25 +196,25 @@ configure increasing levels of difficulty factor of increasing traffic
levels, effectively rate limiting its users and protecting the
underlying website.</p>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_20x0_resize_box_3.png" data-srcset="/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_900x0_resize_box_3.png 900w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_800x0_resize_box_3.png 800w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_700x0_resize_box_3.png 700w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_600x0_resize_box_3.png 600w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_500x0_resize_box_3.png 500w" width="720" height="407" alt="new sitekey form in advance mode">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_900x0_resize_box_3.png 900w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_800x0_resize_box_3.png 800w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_700x0_resize_box_3.png 700w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_600x0_resize_box_3.png 600w,/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_500x0_resize_box_3.png 500w" src="/docs/introduction/configuring-difficulty-factor/new-sitekey-adv-mode.png" width="720" height="407" alt="new sitekey form in advance mode"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_20x0_resize_box_3.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_900x0_resize_box_3.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_800x0_resize_box_3.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_700x0_resize_box_3.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_600x0_resize_box_3.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_500x0_resize_box_3.png 500w" width="720" height="407" alt="new sitekey form in advance mode">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_900x0_resize_box_3.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_800x0_resize_box_3.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_700x0_resize_box_3.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_600x0_resize_box_3.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_huc4867c6295dc4be195d832a52b37239b_23312_500x0_resize_box_3.png 500w" src="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode.png" width="720" height="407" alt="new sitekey form in advance mode"></noscript>
</figure>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/introduction/configuring-difficulty-factor/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/webmasters/configuring-difficulty-factor/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/introduction/installing-captcha/">
<a href="/docs/webmasters/installing-captcha/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Installing mCaptcha on your website
</div>
</div>
</a>
<a class="ms-auto" href="/docs/terminology/access-token/">
<a class="ms-auto" href="/docs/self-hosting/getting-started/">
<div class="card my-1">
<div class="card-body py-2">
Access token &rarr;
Getting started &rarr;
</div>
</div>
</a>
@ -255,8 +249,8 @@ underlying website.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -11,25 +11,25 @@
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Site key - mCaptcha</title>
<meta name="description" content="Site key is the unique identifier associated with a CAPTCHA created on mCaptcha">
<link rel="canonical" href="/docs/terminology/sitekey/">
<title>Webmasters FAQ - mCaptcha</title>
<meta name="description" content="Frequently asked questions related to using mCaptcha as a webmaster">
<link rel="canonical" href="/docs/webmasters/faq/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Site key">
<meta name="twitter:description" content="Site key is the unique identifier associated with a CAPTCHA created on mCaptcha">
<meta name="twitter:title" content="Webmasters FAQ">
<meta name="twitter:description" content="Frequently asked questions related to using mCaptcha as a webmaster">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Site key">
<meta property="og:description" content="Site key is the unique identifier associated with a CAPTCHA created on mCaptcha">
<meta property="og:title" content="Webmasters FAQ">
<meta property="og:description" content="Frequently asked questions related to using mCaptcha as a webmaster">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/terminology/sitekey/">
<meta property="og:url" content="/docs/webmasters/faq/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T22:27:01+05:30">
<meta property="article:published_time" content="2022-07-27T08:48:45+00:00">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -48,8 +48,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminologysitekey",
"item": "\/docsterminologysitekey\/"
"name": "Docswebmastersfaq",
"item": "\/docswebmastersfaq\/"
}]
}
</script>
@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link active" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link active" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -150,27 +144,31 @@
<h3>On this page</h3>
<nav id="TableOfContents">
<ul>
<li><a href="#how-to-get-site-key">How to get site key?</a></li>
<li>
<ul>
<li><a href="#easy-mode-default-cooldown-period">Easy Mode: Default cooldown period</a></li>
</ul>
</li>
<li><a href="#how-to-get-site-key-from-dashboard">How to get site key from dashboard?</a></li>
</ul>
</nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9">
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
<h1>Site key</h1>
<h1>Webmasters FAQ</h1>
<p class="lead"></p>
<p>Site key is a unique identifier associated with CAPTCHA configurations
created on mCaptcha. It is required to integrate a CAPTCHA with your
website.</p>
<h2 id="how-to-get-site-key">How to get site key?<a href="#how-to-get-site-key" class="anchor" aria-hidden="true">#</a> </h2>
<h3 id="easy-mode-default-cooldown-period">Easy Mode: Default cooldown period<a href="#easy-mode-default-cooldown-period" class="anchor" aria-hidden="true">#</a> </h3>
<p>When configuring mCaptcha in <a href="/docs/webmasters/configuring-difficulty-factor/#easy-option">easy mode</a>, the default cooldown period is set to 30 seconds.</p>
<h2 id="how-to-get-site-key-from-dashboard">How to get site key from dashboard?<a href="#how-to-get-site-key-from-dashboard" class="anchor" aria-hidden="true">#</a> </h2>
<ol>
<li>Go to &ldquo;Site keys&rdquo; on the side panel in the dashboard</li>
</ol>
<div align=center>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_20x0_resize_box_3.png" data-srcset="/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_800x0_resize_box_3.png 800w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_700x0_resize_box_3.png 700w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_600x0_resize_box_3.png 600w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_500x0_resize_box_3.png 500w" width="222" height="496" alt="Site key menu option on the dashboard, encircled in red.">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_800x0_resize_box_3.png 800w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_700x0_resize_box_3.png 700w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_600x0_resize_box_3.png 600w,/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_500x0_resize_box_3.png 500w" src="/docs/terminology/sitekey/sitekey-in-dashboard-sidepanel.png" width="222" height="496" alt="Site key menu option on the dashboard, encircled in red."></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_20x0_resize_box_3.png" data-srcset="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_800x0_resize_box_3.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_700x0_resize_box_3.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_600x0_resize_box_3.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_500x0_resize_box_3.png 500w" width="222" height="496" alt="Site key menu option on the dashboard, encircled in red.">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_800x0_resize_box_3.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_700x0_resize_box_3.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_600x0_resize_box_3.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu437e619e92d9fef838a97af482e11285_26958_500x0_resize_box_3.png 500w" src="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel.png" width="222" height="496" alt="Site key menu option on the dashboard, encircled in red."></noscript>
</figure>
</div>
<ol start="2">
@ -178,25 +176,18 @@ website.</p>
clipboard.</li>
</ol>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_20x0_resize_box_3.png" data-srcset="/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_900x0_resize_box_3.png 900w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_800x0_resize_box_3.png 800w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_700x0_resize_box_3.png 700w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_600x0_resize_box_3.png 600w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_500x0_resize_box_3.png 500w" width="1825" height="831" alt="Copy site key to clipboard. Clipboard button is highlighted in the photo">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_900x0_resize_box_3.png 900w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_800x0_resize_box_3.png 800w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_700x0_resize_box_3.png 700w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_600x0_resize_box_3.png 600w,/docs/terminology/sitekey/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_500x0_resize_box_3.png 500w" src="/docs/terminology/sitekey/copy-sitekey.png" width="1825" height="831" alt="Copy site key to clipboard. Clipboard button is highlighted in the photo"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_20x0_resize_box_3.png" data-srcset="/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_900x0_resize_box_3.png 900w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_800x0_resize_box_3.png 800w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_700x0_resize_box_3.png 700w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_600x0_resize_box_3.png 600w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_500x0_resize_box_3.png 500w" width="1825" height="831" alt="Copy site key to clipboard. Clipboard button is highlighted in the photo">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_900x0_resize_box_3.png 900w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_800x0_resize_box_3.png 800w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_700x0_resize_box_3.png 700w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_600x0_resize_box_3.png 600w,/docs/webmasters/faq/copy-sitekey_huf38748cca91d238810283a1abb694c9a_63890_500x0_resize_box_3.png 500w" src="/docs/webmasters/faq/copy-sitekey.png" width="1825" height="831" alt="Copy site key to clipboard. Clipboard button is highlighted in the photo"></noscript>
</figure>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/terminology/sitekey/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/webmasters/faq/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/terminology/difficulty-factor/">
<a href="/docs/webmasters/terminology/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Difficulty Factor
</div>
</div>
</a>
<a class="ms-auto" href="/docs/terminology/visitor-threshold/">
<div class="card my-1">
<div class="card-body py-2">
Visitor Threshold &rarr;
&larr; Terminology
</div>
</div>
</a>
@ -231,8 +222,8 @@ clipboard.</li>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -11,32 +11,32 @@
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Introduction - mCaptcha</title>
<meta name="description" content="Introduction to mCaptcha.">
<link rel="canonical" href="/docs/introduction/">
<title>Webmasters - mCaptcha</title>
<meta name="description" content="Introduction to mCaptcha for webmasters">
<link rel="canonical" href="/docs/webmasters/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Introduction">
<meta name="twitter:description" content="Introduction to mCaptcha.">
<meta name="twitter:title" content="Webmasters">
<meta name="twitter:description" content="Introduction to mCaptcha for webmasters">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Introduction">
<meta property="og:description" content="Introduction to mCaptcha.">
<meta property="og:title" content="Webmasters">
<meta property="og:description" content="Introduction to mCaptcha for webmasters">
<meta property="og:type" content="website">
<meta property="og:url" content="/docs/introduction/">
<meta property="og:url" content="/docs/webmasters/">
<meta property="og:image" content="/icon.png"/>
<meta property="og:updated_time" content="2022-08-01T22:25:46+05:30">
<meta property="og:updated_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
<meta property="article:author" content="https://www.facebook.com/">
<meta property="og:locale" content="en_US">
<link rel="alternate" type="application/rss&#43;xml" href="/docs/introduction/index.xml">
<link rel="sitemap" type="application/xml" href="/docs/introduction/sitemap.xml">
<link rel="alternate" type="application/rss&#43;xml" href="/docs/webmasters/index.xml">
<link rel="sitemap" type="application/xml" href="/docs/webmasters/sitemap.xml">
<script type="application/ld+json">
{
"@context": "http://schema.org",
@ -49,8 +49,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsintroduction",
"item": "\/docsintroduction\/"
"name": "Docswebmasters",
"item": "\/docswebmasters\/"
}]
}
</script>
@ -94,7 +94,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -112,7 +112,7 @@
<div class="row justify-content-center">
<div class="col-md-12 col-lg-10 col-xl-8">
<article>
<h1 class="text-center">Introduction</h1>
<h1 class="text-center">Webmasters</h1>
<div class="text-center"></div>
<div class="card-list">
@ -120,11 +120,9 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor &rarr;</a>
</div>
</div>
@ -138,13 +136,9 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/introduction/installing-captcha/">Installing MCaptcha on Your Website &rarr;</a>
<a class="stretched-link" href="/docs/webmasters/installing-captcha/">Installing MCaptcha on Your Website &rarr;</a>
</div>
</div>
@ -154,13 +148,25 @@
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/webmasters/terminology/">Terminology &rarr;</a>
</div>
</div>
<div class="card my-3">
<div class="card-body">
<a class="stretched-link" href="/docs/webmasters/faq/">Webmasters FAQ &rarr;</a>
</div>
</div>
</div>
</article>
</div>
@ -192,8 +198,8 @@
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

53
docs/webmasters/index.xml Normal file
View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Webmasters on </title>
<link>/docs/webmasters/</link>
<description>Recent content in Webmasters on </description>
<generator>Hugo -- gohugo.io</generator>
<language>en-US</language>
<lastBuildDate>Tue, 06 Oct 2020 08:48:45 +0000</lastBuildDate><atom:link href="/docs/webmasters/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Installing mCaptcha on your website</title>
<link>/docs/webmasters/installing-captcha/</link>
<pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
<guid>/docs/webmasters/installing-captcha/</guid>
<description>mCaptcha can protect your website from DDoS attacks. In this guide we&amp;rsquo;ll explore how to install mCaptcha on your website. The end result will be something like this, on your website:
For the purpose of this demo, we will be using demo.mcaptcha.org, a demo instance running in @realaravinth&amp;rsquo;s bedroom(for this same reason, it shouldn&amp;rsquo;t be used for anything serious)
1. Create an account and sign into the mCaptcha dashboard Head over to demo.</description>
</item>
<item>
<title>Configuring Difficulty Factor</title>
<link>/docs/webmasters/configuring-difficulty-factor/</link>
<pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
<guid>/docs/webmasters/configuring-difficulty-factor/</guid>
<description>mCaptcha is highly responsive to detecting DDoS attacks. Admins are advised to take advantage of it by setting low difficulty factors for normal traffic levels for their website.
Lowest advisable difficulty factor is 5000.
For instance, if it is normal for my website to get 2000 requests for every 30 seconds, I will set a cool down period of 30 seconds and the first level of difficulty configuration will have a visitor threshold of 2000 with a difficulty factor of 5000.</description>
</item>
<item>
<title>Terminology</title>
<link>/docs/webmasters/terminology/</link>
<pubDate>Wed, 27 Jul 2022 08:48:45 +0000</pubDate>
<guid>/docs/webmasters/terminology/</guid>
<description>Authorization token When a visitor solves the CAPTCHA and sends their solution to an mCaptcha instance, the solution will be verified for correctness. If the solution is correct, mCaptcha will return a single use authorization token.
This authorization token should be attached to the visitor&amp;rsquo;s requited to the protected service and the protected service should validity of the authorization token with the mCaptcha instance and only allow authorization to protected resource if the authorization token is valid.</description>
</item>
<item>
<title>Webmasters FAQ</title>
<link>/docs/webmasters/faq/</link>
<pubDate>Wed, 27 Jul 2022 08:48:45 +0000</pubDate>
<guid>/docs/webmasters/faq/</guid>
<description>Easy Mode: Default cooldown period When configuring mCaptcha in easy mode, the default cooldown period is set to 30 seconds.
How to get site key from dashboard? Go to &amp;ldquo;Site keys&amp;rdquo; on the side panel in the dashboard click on the clipboard button to copy the site key to your clipboard. </description>
</item>
</channel>
</rss>

View file

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -13,7 +13,7 @@
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Installing mCaptcha on your website - mCaptcha</title>
<meta name="description" content="Interested in deploying mCpatcha? From deploying a self-hosted instance to installing the CAPTCHA on your website, this guide will have you covered!">
<link rel="canonical" href="/docs/introduction/installing-captcha/">
<link rel="canonical" href="/docs/webmasters/installing-captcha/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Installing mCaptcha on your website">
@ -25,11 +25,11 @@
<meta property="og:title" content="Installing mCaptcha on your website">
<meta property="og:description" content="Interested in deploying mCpatcha? From deploying a self-hosted instance to installing the CAPTCHA on your website, this guide will have you covered!">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/introduction/installing-captcha/">
<meta property="og:url" content="/docs/webmasters/installing-captcha/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-06-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T23:03:44+05:30">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -48,8 +48,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsintroductioninstalling Captcha",
"item": "\/docsintroductioninstalling-captcha\/"
"name": "Docswebmastersinstalling Captcha",
"item": "\/docswebmastersinstalling-captcha\/"
}]
}
</script>
@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link active" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link active" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -172,8 +166,8 @@
explore how to install mCaptcha on your website. The end result will be
something like this, on your website:</p>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_20x0_resize_box_3.png" data-srcset="/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_500x0_resize_box_3.png 500w" width="618" height="669" alt="A registration form with mCaptcha widget installed">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_500x0_resize_box_3.png 500w" src="/docs/introduction/installing-captcha/mcaptcha-widget-installation-result.png" width="618" height="669" alt="A registration form with mCaptcha widget installed"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_20x0_resize_box_3.png" data-srcset="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_500x0_resize_box_3.png 500w" width="618" height="669" alt="A registration form with mCaptcha widget installed">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hub39801b2a229b4882fd00c2c83dd77fb_28299_500x0_resize_box_3.png 500w" src="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result.png" width="618" height="669" alt="A registration form with mCaptcha widget installed"></noscript>
</figure>
<p>For the purpose of this demo, we will be using
<a href="https://demo.mcaptcha.org">demo.mcaptcha.org</a>, a demo instance running
@ -186,8 +180,8 @@ create an account. When ready, sign in.</p>
<p>A <a href="/docs/terminology/sitekey/">site key</a> is how a new CAPTCHA is configured within mCaptcha. To create
a new site key, click on &ldquo;New Site&rdquo; button in the dashboard.</p>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_20x0_resize_box_3.png" data-srcset="/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_900x0_resize_box_3.png 900w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_500x0_resize_box_3.png 500w" width="1825" height="857" alt="mCaptcha dashboard with the &#39;new site key&#39; button highlighted">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_900x0_resize_box_3.png 900w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_500x0_resize_box_3.png 500w" src="/docs/introduction/installing-captcha/new-sitekey-btn.png" width="1825" height="857" alt="mCaptcha dashboard with the &#39;new site key&#39; button highlighted"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_20x0_resize_box_3.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_900x0_resize_box_3.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_500x0_resize_box_3.png 500w" width="1825" height="857" alt="mCaptcha dashboard with the &#39;new site key&#39; button highlighted">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_900x0_resize_box_3.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu4dc550a2e568d01f004e26fb8eb1b427_65746_500x0_resize_box_3.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-btn.png" width="1825" height="857" alt="mCaptcha dashboard with the &#39;new site key&#39; button highlighted"></noscript>
</figure>
<p>There are two options to create a new site key, easy and advanced. <strong>We
are going to use the easy mode in this tutorial.</strong> If you are interested
@ -203,8 +197,8 @@ advance mode, as you become more familiar with how mCaptcha works.</p>
</blockquote>
<p>Fill the form and submit it.</p>
<figure>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_20x0_resize_box_3.png" data-srcset="/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_900x0_resize_box_3.png 900w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_500x0_resize_box_3.png 500w" width="720" height="452" alt="mCaptcha dashboard with the &#39;new site key&#39; form in easy mode, with details filled in">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_900x0_resize_box_3.png 900w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_800x0_resize_box_3.png 800w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_700x0_resize_box_3.png 700w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_600x0_resize_box_3.png 600w,/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_500x0_resize_box_3.png 500w" src="/docs/introduction/installing-captcha/new-sitekey-easy-mode-filled.png" width="720" height="452" alt="mCaptcha dashboard with the &#39;new site key&#39; form in easy mode, with details filled in"></noscript>
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_20x0_resize_box_3.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_900x0_resize_box_3.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_500x0_resize_box_3.png 500w" width="720" height="452" alt="mCaptcha dashboard with the &#39;new site key&#39; form in easy mode, with details filled in">
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_900x0_resize_box_3.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_800x0_resize_box_3.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_700x0_resize_box_3.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_600x0_resize_box_3.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu0c237370199481610ab31adaa9c5a5e6_30108_500x0_resize_box_3.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled.png" width="720" height="452" alt="mCaptcha dashboard with the &#39;new site key&#39; form in easy mode, with details filled in"></noscript>
</figure>
<h2 id="3-copy-widget-link">3. Copy widget link<a href="#3-copy-widget-link" class="anchor" aria-hidden="true">#</a> </h2>
<p>Submitting the form will take you to a page where site key configuration
@ -225,16 +219,16 @@ mCaptcha on your website:</p>
will load the mCaptcha widget with the configuration supplied. Be sure
to replace <code>Your {{paste your widget link}}</code> with the link obtained from
the previous step.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>&lt;<span style="color:#ff79c6">div</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;mcaptcha__widget-container&#34;</span>&gt;&lt;/<span style="color:#ff79c6">div</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span>&lt;<span style="color:#ff79c6">script</span> <span style="color:#50fa7b">src</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;https://unpkg.com/@mcaptcha/vanilla-glue@0.1.0-alpha-2/dist/index.js&#34;</span>&gt;&lt;/<span style="color:#ff79c6">script</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span>&lt;<span style="color:#ff79c6">script</span> <span style="color:#50fa7b">charset</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;utf-8&#34;</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span> <span style="color:#8be9fd;font-style:italic">let</span> config <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span> widgetLink<span style="color:#ff79c6">:</span> <span style="color:#ff79c6">new</span> URL(
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span> {{paste yout widget link}}
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span> ),
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span> };
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span> <span style="color:#ff79c6">new</span> mcaptchaGlue.<span style="color:#ff79c6">default</span>(config);
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>&lt;/<span style="color:#ff79c6">script</span>&gt;
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>&lt;<span style="color:#ff79c6">div</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;mcaptcha__widget-container&#34;</span>&gt;&lt;/<span style="color:#ff79c6">div</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span>&lt;<span style="color:#ff79c6">script</span> <span style="color:#50fa7b">src</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;https://unpkg.com/@mcaptcha/vanilla-glue@0.1.0-alpha-2/dist/index.js&#34;</span>&gt;&lt;/<span style="color:#ff79c6">script</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span>&lt;<span style="color:#ff79c6">script</span> <span style="color:#50fa7b">charset</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&#34;utf-8&#34;</span>&gt;
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span> <span style="color:#8be9fd;font-style:italic">let</span> config <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span> widgetLink<span style="color:#ff79c6">:</span> <span style="color:#ff79c6">new</span> URL(
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span> {{paste yout widget link}}
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span> ),
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span> };
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span> <span style="color:#ff79c6">new</span> mcaptchaGlue.<span style="color:#ff79c6">default</span>(config);
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>&lt;/<span style="color:#ff79c6">script</span>&gt;
</span></span></code></pre></div><p>A full example is available
<a href="https://github.com/mCaptcha/glue/blob/ea576d875457de54d82bed3edfc4ee68302fa4d8/packages/vanilla/static/embeded.html">here</a>.</p>
<h2 id="5-configure-backend-to-authenticate-captcha-tokens">5. Configure backend to authenticate CAPTCHA tokens<a href="#5-configure-backend-to-authenticate-captcha-tokens" class="anchor" aria-hidden="true">#</a> </h2>
@ -243,39 +237,39 @@ the previous step.</p>
<p>Get <a href="/docs/terminology/access-token">access token</a> from the user&rsquo;s
form submission payload. The access token will be associated with a
parameter called <code>mcaptcha__token</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> mcaptcha_token <span style="color:#ff79c6">=</span> request<span style="color:#ff79c6">.</span>form[<span style="color:#f1fa8c">&#34;mcaptcha__token&#34;</span>]
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> mcaptcha_token <span style="color:#ff79c6">=</span> request<span style="color:#ff79c6">.</span>form[<span style="color:#f1fa8c">&#34;mcaptcha__token&#34;</span>]
</span></span></code></pre></div></li>
<li>
<p>Validate access token with mCaptcha instance</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>payload <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span> <span style="color:#f1fa8c">&#34;token&#34;</span>: mcaptcha_token,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span> <span style="color:#f1fa8c">&#34;key&#34;</span>: mcaptcha_sitekey, <span style="color:#6272a4"># captcha site key</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span> <span style="color:#6272a4"># mCaptcha account secret; available in settings</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span> <span style="color:#f1fa8c">&#34;secret&#34;</span>: mcaptcha_account_secret,
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span>}
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span>resp <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span> <span style="color:#f1fa8c">&#34;https://demo.mcaptha.org/api/v1/pow/siteverify&#34;</span>, json<span style="color:#ff79c6">=</span>payload
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>resp <span style="color:#ff79c6">=</span> resp<span style="color:#ff79c6">.</span>json()
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 1</span><span>payload <span style="color:#ff79c6">=</span> {
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 2</span><span> <span style="color:#f1fa8c">&#34;token&#34;</span>: mcaptcha_token,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 3</span><span> <span style="color:#f1fa8c">&#34;key&#34;</span>: mcaptcha_sitekey, <span style="color:#6272a4"># captcha site key</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 4</span><span> <span style="color:#6272a4"># mCaptcha account secret; available in settings</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 5</span><span> <span style="color:#f1fa8c">&#34;secret&#34;</span>: mcaptcha_account_secret,
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 6</span><span>}
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 7</span><span>resp <span style="color:#ff79c6">=</span> requests<span style="color:#ff79c6">.</span>post(
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 8</span><span> <span style="color:#f1fa8c">&#34;https://demo.mcaptha.org/api/v1/pow/siteverify&#34;</span>, json<span style="color:#ff79c6">=</span>payload
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"> 9</span><span>)
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">10</span><span>resp <span style="color:#ff79c6">=</span> resp<span style="color:#ff79c6">.</span>json()
</span></span></code></pre></div><ol start="3">
<li>If access token is valid, allow access to protected resource or deny
access.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> <span style="color:#ff79c6">if</span> resp[<span style="color:#f1fa8c">&#34;valid&#34;</span>] <span style="color:#ff79c6">==</span> <span style="color:#ff79c6">False</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span> <span style="color:#ff79c6">return</span> <span style="color:#f1fa8c">&#34;invalid captcha&#34;</span>, <span style="color:#bd93f9">400</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span> <span style="color:#ff79c6">else</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span> <span style="color:#ff79c6">return</span> allow_access_to_protected_resource(request<span style="color:#ff79c6">.</span>form)
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> <span style="color:#ff79c6">if</span> resp[<span style="color:#f1fa8c">&#34;valid&#34;</span>] <span style="color:#ff79c6">==</span> <span style="color:#ff79c6">False</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">2</span><span> <span style="color:#ff79c6">return</span> <span style="color:#f1fa8c">&#34;invalid captcha&#34;</span>, <span style="color:#bd93f9">400</span>
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">3</span><span> <span style="color:#ff79c6">else</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">4</span><span> <span style="color:#ff79c6">return</span> allow_access_to_protected_resource(request<span style="color:#ff79c6">.</span>form)
</span></span></code></pre></div><p>Please see here for a complete <a href="https://github.com/mCaptcha/dos/tree/8f2b53ab46d64fa78a8300dc8ce9d78578ffce12/server">Flask example</a> and here for an <a href="https://github.com/mCaptcha/dos/tree/8f2b53ab46d64fa78a8300dc8ce9d78578ffce12/rust-server/demo-server">Actix
Web example</a>.</p>
<p>Congratulations, mCaptcha is now integrated with your website!</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/introduction/installing-captcha/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/webmasters/installing-captcha/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a class="ms-auto" href="/docs/introduction/configuring-difficulty-factor/">
<a class="ms-auto" href="/docs/webmasters/configuring-difficulty-factor/">
<div class="card my-1">
<div class="card-body py-2">
Configuring Difficulty Factor &rarr;
@ -313,8 +307,8 @@ Web example</a>.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/docs/webmasters/installing-captcha/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/webmasters/configuring-difficulty-factor/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/webmasters/terminology/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>/docs/webmasters/faq/</loc>
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>

View file

@ -11,25 +11,25 @@
<meta name="robots" content="index, follow">
<meta name="googlebot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="bingbot" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<title>Visitor Threshold - mCaptcha</title>
<meta name="description" content="Visitor threshold is used to split traffic into levels. If the traffic level supersceedes the configured threshold, then mCaptcha will increase difficulty factor based on the configuration provided.">
<link rel="canonical" href="/docs/terminology/visitor-threshold/">
<title>Terminology - mCaptcha</title>
<meta name="description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<link rel="canonical" href="/docs/webmasters/terminology/">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="/icon.png">
<meta name="twitter:title" content="Visitor Threshold">
<meta name="twitter:description" content="Visitor threshold is used to split traffic into levels. If the traffic level supersceedes the configured threshold, then mCaptcha will increase difficulty factor based on the configuration provided.">
<meta name="twitter:title" content="Terminology">
<meta name="twitter:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta name="twitter:site" content="@">
<meta name="twitter:creator" content="@">
<meta property="og:title" content="Visitor Threshold">
<meta property="og:description" content="Visitor threshold is used to split traffic into levels. If the traffic level supersceedes the configured threshold, then mCaptcha will increase difficulty factor based on the configuration provided.">
<meta property="og:title" content="Terminology">
<meta property="og:description" content="Information about terminology used in mCaptcha, some of which unique to the project">
<meta property="og:type" content="article">
<meta property="og:url" content="/docs/terminology/visitor-threshold/">
<meta property="og:url" content="/docs/webmasters/terminology/">
<meta property="og:image" content="/icon.png"/>
<meta property="article:published_time" content="2022-07-22T00:00:00+00:00">
<meta property="article:modified_time" content="2022-08-01T22:27:01+05:30">
<meta property="article:published_time" content="2022-07-27T08:48:45+00:00">
<meta property="article:modified_time" content="2023-10-27T21:39:40+05:30">
<meta property="og:site_name" content="mCaptcha">
<meta property="article:publisher" content="https://www.facebook.com/">
@ -48,8 +48,8 @@
},{
"@type": "ListItem",
"position": 2 ,
"name": "Docsterminologyvisitor Threshold",
"item": "\/docsterminologyvisitor-threshold\/"
"name": "Docswebmastersterminology",
"item": "\/docswebmastersterminology\/"
}]
}
</script>
@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -111,25 +111,19 @@
<div class="row flex-xl-nowrap">
<div class="col-lg-5 col-xl-4 docs-sidebar">
<nav class="docs-links" aria-label="Main navigation">
<h3>Introduction</h3>
<h3>Webmasters</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/introduction/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/introduction/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/webmasters/installing-captcha/">Installing mCaptcha on your website</a></li>
<li><a class="docs-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor</a></li>
<li><a class="docs-link active" href="/docs/webmasters/terminology/">Terminology</a></li>
<li><a class="docs-link" href="/docs/webmasters/faq/">Webmasters FAQ</a></li>
</ul>
<h3>Terminology</h3>
<h3>Self-Hosting</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/terminology/access-token/">Access token</a></li>
<li><a class="docs-link" href="/docs/terminology/cooldown-period/">Cooldown Period</a></li>
<li><a class="docs-link" href="/docs/terminology/difficulty-factor/">Difficulty Factor</a></li>
<li><a class="docs-link" href="/docs/terminology/sitekey/">Site key</a></li>
<li><a class="docs-link active" href="/docs/terminology/visitor-threshold/">Visitor Threshold</a></li>
</ul>
<h3>Self-Hosted</h3>
<ul class="list-unstyled">
<li><a class="docs-link" href="/docs/self-hosted/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosted/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosted/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosted/dependencies/">Database and cache</a></li>
<li><a class="docs-link" href="/docs/self-hosting/getting-started/">Getting started</a></li>
<li><a class="docs-link" href="/docs/self-hosting/bare-metal/">Deploy bare metal</a></li>
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
<li><a class="docs-link" href="/docs/self-hosting/dependencies/">Database and cache</a></li>
</ul>
<h3>API</h3>
<ul class="list-unstyled">
@ -148,15 +142,53 @@
<nav class="docs-toc d-none d-xl-block col-xl-3" aria-label="Secondary navigation">
<div class="page-links">
<h3>On this page</h3>
<nav id="TableOfContents"></nav>
<nav id="TableOfContents">
<ul>
<li><a href="#authorization-token">Authorization token</a></li>
<li><a href="#cooldown-period">Cooldown Period</a></li>
<li><a href="#difficulty-factor">Difficulty Factor</a></li>
<li><a href="#sitekey">Sitekey</a></li>
<li><a href="#visitor-threshold">Visitor Threshold</a></li>
</ul>
</nav>
</div>
</nav>
<main class="docs-content col-lg-11 col-xl-9">
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
<h1>Visitor Threshold</h1>
<h1>Terminology</h1>
<p class="lead"></p>
<p>mCaptcha&rsquo;s variable difficulty factor mechanism requires a website&rsquo;s traffic
<h2 id="authorization-token">Authorization token<a href="#authorization-token" class="anchor" aria-hidden="true">#</a> </h2>
<p>When a visitor solves the CAPTCHA and sends their solution to an
mCaptcha instance, the solution will be verified for correctness. If the
solution is correct, mCaptcha will return a single use authorization token.</p>
<p>This authorization token should be attached to the visitor&rsquo;s requited to the
protected service and the protected service should validity of the
authorization token with the mCaptcha instance and only allow authorization to
protected resource if the authorization token is valid.</p>
<h2 id="cooldown-period">Cooldown Period<a href="#cooldown-period" class="anchor" aria-hidden="true">#</a> </h2>
<p>mCaptcha implements leaky bucket algorithm to measure
current traffic levels. Cooldown period specifies the leak or the time
after which a visitor addition is decremented.</p>
<p>For instance, if initial traffic level is 0 and a user visits one
second later, the traffic level will be incremented to 1. Now, if the
cooldown period is set to 30 seconds, the traffic level will be
decremented after 30 seconds. So after 30 seconds, the traffic level will
go from 1 to 0.</p>
<h2 id="difficulty-factor">Difficulty Factor<a href="#difficulty-factor" class="anchor" aria-hidden="true">#</a> </h2>
<p>Difficulty factor determines the time it takes to solve a CAPTCHA. The
higher the difficulty factor, the longer it will take to generate a
proof of work for it to solve the CAPTCHA.</p>
<p>mCaptcha&rsquo;s proof of work based mechanism makes it highly accessible to
people with special needs but it is important to choose the difficulty factor
with care as very high difficulty factors will make the CAPTCHA
inaccessible to users on slow devices.</p>
<h2 id="sitekey">Sitekey<a href="#sitekey" class="anchor" aria-hidden="true">#</a> </h2>
<p>Site key is a unique identifier associated with CAPTCHA configurations
created on mCaptcha. It is required to integrate a CAPTCHA with your
website.</p>
<h2 id="visitor-threshold">Visitor Threshold<a href="#visitor-threshold" class="anchor" aria-hidden="true">#</a> </h2>
<p>mCaptcha&rsquo;s variable difficulty factor mechanism requires a website&rsquo;s traffic
statistics be split into levels, so that it can deploy the right
difficulty factor for each level.</p>
<p>Visitor threshold is used to traffic into levels and mCaptcha accepts a
@ -210,21 +242,21 @@ visitor threshold constantly updated within the configured cool down
period. So, at any given moment the, the current visitor level will be
the amount of traffic that was served in the cool down period specified.</p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/terminology/visitor-threshold.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/webmasters/terminology/index.md"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit-2"><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"></path></svg>Edit this page on git.batsense.net</a></p>
<div class="docs-navigation d-flex justify-content-between">
<a href="/docs/terminology/sitekey/">
<a href="/docs/help/faq/">
<div class="card my-1">
<div class="card-body py-2">
&larr; Site key
&larr; FAQ
</div>
</div>
</a>
<a class="ms-auto" href="/docs/self-hosted/getting-started/">
<a class="ms-auto" href="/docs/webmasters/faq/">
<div class="card my-1">
<div class="card-body py-2">
Getting started &rarr;
Webmasters FAQ &rarr;
</div>
</div>
</a>
@ -259,8 +291,8 @@ the amount of traffic that was served in the cool down period specified.</p>
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

View file

@ -93,7 +93,7 @@
<a class="nav-link" href="/about/">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/docs/introduction/installing-captcha/">Docs</a>
<a class="nav-link" href="/docs/webmasters/installing-captcha/">Docs</a>
</li>
</ul>
<div class="break order-6 d-md-none"></div>
@ -176,8 +176,8 @@ WH3ngC8Zi7bUYGUifdXb54Xuz41kcu2pqgGFuAYp3VSh5JsR
</div>
</footer>
<script src="/main.min.fc14a6a9dceb7093b6984e33583a45c79e3c960959d75df6b62753b4d1c63a97d25af2b0ca924ed12675f1de34f3fce9ec81668f2d3bee114b9b6357dd2e92cd.js" integrity="sha512-/BSmqdzrcJO2mE4zWDpFx548lglZ1132tidTtNHGOpfSWvKwypJO0SZ18d408/zp7IFmjy077hFLm2NX3S6SzQ==" crossorigin="anonymous" defer></script>
<script src="/index.min.f24b6e33dac74771476dda67fe905af998983abef17f74f74d71228ac8f40f87af8b15bcd9f0da775c90a41395c3d153fb0067cc75ff642c520b3607340014c0.js" integrity="sha512-8ktuM9rHR3FHbdpn/pBa&#43;ZiYOr7xf3T3TXEiisj0D4evixW82fDad1yQpBOVw9FT&#43;wBnzHX/ZCxSCzYHNAAUwA==" crossorigin="anonymous" defer></script>
<script src="/main.min.bc2465e4e1abda257c622bf89b85235da437778b3e3f80e01762312382cc27d4e50a8a4de22e464dc82e3a61039da8aef9d6d5e62b76711fa93d9663860b1926.js" integrity="sha512-vCRl5OGr2iV8Yiv4m4UjXaQ3d4s&#43;P4DgF2IxI4LMJ9TlCopN4i5GTcguOmEDnaiu&#43;dbV5it2cR&#43;pPZZjhgsZJg==" crossorigin="anonymous" defer></script>
<script src="/index.min.3815062368a85ddb58786a06fadf790751079a4737b79f370db1cf2044c2451d2de7aa39343d73dab0c02899036427f327ddec61ad33c2cebafc3e4e1e8a64dc.js" integrity="sha512-OBUGI2ioXdtYeGoG&#43;t95B1EHmkc3t583DbHPIETCRR0t56o5ND1z2rDAKJkDZCfzJ93sYa0zws66/D5OHopk3A==" crossorigin="anonymous" defer></script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more