Thu Sep 12 06:50:17 PM IST 2024
This commit is contained in:
parent
588322a36a
commit
d36ad1341b
66 changed files with 11849 additions and 0 deletions
0
.hugo_build.lock
Normal file
0
.hugo_build.lock
Normal file
146
404.html
Normal file
146
404.html
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" crossorigin="anonymous">
|
||||||
|
<noscript><style>img.lazyload { display: none; }</style></noscript>
|
||||||
|
<meta name="robots" content="noindex, follow">
|
||||||
|
<title>404 Page not found - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha - PoW based DoS protection">
|
||||||
|
<link rel="canonical" href="/404.html">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="404 Page not found">
|
||||||
|
<meta name="twitter:description" content="mCaptcha - PoW based DoS protection">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="404 Page not found">
|
||||||
|
<meta property="og:description" content="mCaptcha - PoW based DoS protection">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/404.html">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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": "404.html",
|
||||||
|
"item": "\/404.html\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="error404">
|
||||||
|
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">Page not found :(</h1>
|
||||||
|
<p class="text-center">The page you are looking for doesn't exist or has been moved.</p>
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
9
_headers
Normal file
9
_headers
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
||||||
|
X-Content-Type-Options: nosniff
|
||||||
|
X-XSS-Protection: 1; mode=block
|
||||||
|
Content-Security-Policy: default-src 'self'; frame-ancestors https://jamstackthemes.dev; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' data:; script-src 'self'; style-src 'self'
|
||||||
|
X-Frame-Options: SAMEORIGIN
|
||||||
|
Referrer-Policy: strict-origin
|
||||||
|
Feature-Policy: geolocation 'self'
|
||||||
|
Cache-Control: public, max-age=31536000
|
1
_redirects
Normal file
1
_redirects
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# redirects for Netlify - https://www.netlify.com/docs/redirects/
|
190
about/index.html
Normal file
190
about/index.html
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>About - mCaptcha</title>
|
||||||
|
<meta name="description" content="About mCaptcha">
|
||||||
|
<link rel="canonical" href="/about/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="About">
|
||||||
|
<meta name="twitter:description" content="About mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="About">
|
||||||
|
<meta property="og:description" content="About mCaptcha">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/about/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-05-27T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-05-29T16:01:44-04:00">
|
||||||
|
<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": "About",
|
||||||
|
"item": "\/about\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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 active">
|
||||||
|
<a class="nav-link" href="/about/">About</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#philosophy">Philosophy</a></li>
|
||||||
|
<li><a href="#people">People</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>About</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>mCaptcha is a kickass CAPTCHA systems that gives (DDoS)
|
||||||
|
attackers a run for their money. And we do all of this without tracking
|
||||||
|
your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>At mCaptcha, we believe in digital freedom and privacy and so we built
|
||||||
|
a proof-of-work based CAPTCHA system that doesn’t track. Seriously, no
|
||||||
|
tracking. But that isn’t the killer feature, our system doesn’t require
|
||||||
|
the user to pick cars or ID sidewalks — our system does it’s
|
||||||
|
thing(usually at the click of a button) and gets out of the way.</p>
|
||||||
|
<h2 id="philosophy">Philosophy<a href="#philosophy" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Man has has come so far only because our ancestors chose to share their
|
||||||
|
knowledge with others. If everything was labeled intellectual property,
|
||||||
|
we might still be stuck in Stone Age. The idea of intellectual property
|
||||||
|
is alien to us. For this reason, all of our source code is freely
|
||||||
|
available(both as in freedom and beers) at our <a href="https://github.com/mCaptcha">GitHub</a>.</p>
|
||||||
|
<h2 id="people">People<a href="#people" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p><strong><a href="https://batsense.net">Aravinth Mavniannan</a>:</strong>
|
||||||
|
Author</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><strong><a href="https://sibichakkaravarthy.github.io/">Prof. Sibi Chakkaravarthy
|
||||||
|
Sethuraman</a>:</strong> Mentor and
|
||||||
|
Security Advisor</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/about/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
244
blog/december-2021-monthly-report/index.html
Normal file
244
blog/december-2021-monthly-report/index.html
Normal file
|
@ -0,0 +1,244 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>December, 2021: Monthly Report - mCaptcha</title>
|
||||||
|
<meta name="description" content="New features, improved accessibility and software integrations">
|
||||||
|
<link rel="canonical" href="/blog/december-2021-monthly-report/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/december-2021-monthly-report/icon.png">
|
||||||
|
<meta name="twitter:title" content="December, 2021: Monthly Report">
|
||||||
|
<meta name="twitter:description" content="New features, improved accessibility and software integrations">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="December, 2021: Monthly Report">
|
||||||
|
<meta property="og:description" content="New features, improved accessibility and software integrations">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/december-2021-monthly-report/">
|
||||||
|
<meta property="og:image" content="/blog/december-2021-monthly-report/icon.png">
|
||||||
|
<meta property="article:published_time" content="2021-12-23T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-06-14T15:39:59+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": "Blogdecember 2021 Monthly Report",
|
||||||
|
"item": "\/blogdecember-2021-monthly-report\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#1-full-librejs-compliance">1. Full LibreJS Compliance</a></li>
|
||||||
|
<li><a href="#2-javascript-polyfill">2. JavaScript PolyFill</a></li>
|
||||||
|
<li><a href="#3-integration-libraries-for-vanilla-js-react-and-svelte">3. Integration libraries for Vanilla JS, React and Svelte:</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>December, 2021: Monthly Report</h1>
|
||||||
|
<p><small>Posted December 23, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>Hello and welcome to the first edition of the monthly report!</p>
|
||||||
|
<p>I believe free software like mCaptcha is critical to a healthy internet
|
||||||
|
but being a one-person show, there’s hardly any accountability in the
|
||||||
|
way software is built. I hope, through monthly reports, I can explain
|
||||||
|
the logic and intentions behind decisions taken in the development
|
||||||
|
process.</p>
|
||||||
|
<p>This month, the following things were accomplished:</p>
|
||||||
|
<h2 id="1-full-librejs-compliance">1. Full LibreJS Compliance</h2>
|
||||||
|
<p>The CAPTCHA widget and the admin dashboard are 100% LibreJS compliant!</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/december-2021-monthly-report/librejs-dashboard_hu7907029602394412757.jpg" data-srcset="/blog/december-2021-monthly-report/librejs-dashboard_hu12611517448871248562.jpg 900w,/blog/december-2021-monthly-report/librejs-dashboard_hu8637535653924611791.jpg 800w,/blog/december-2021-monthly-report/librejs-dashboard_hu9559617585266736914.jpg 700w,/blog/december-2021-monthly-report/librejs-dashboard_hu11138563714490133402.jpg 600w,/blog/december-2021-monthly-report/librejs-dashboard_hu17153345935993773992.jpg 500w" width="915" height="908" alt="Screenshot of mCaptcha admin dashboard with GNU LibreJS extension's report in frame.LibreJS reports that all scripts in this webpage are accepted(and hence free software) and are licensed under the AGPL license.">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/december-2021-monthly-report/librejs-dashboard_hu12611517448871248562.jpg 900w,/blog/december-2021-monthly-report/librejs-dashboard_hu8637535653924611791.jpg 800w,/blog/december-2021-monthly-report/librejs-dashboard_hu9559617585266736914.jpg 700w,/blog/december-2021-monthly-report/librejs-dashboard_hu11138563714490133402.jpg 600w,/blog/december-2021-monthly-report/librejs-dashboard_hu17153345935993773992.jpg 500w" src="/blog/december-2021-monthly-report/librejs-dashboard.jpg" width="915" height="908" alt="Screenshot of mCaptcha admin dashboard with GNU LibreJS extension's report in frame.LibreJS reports that all scripts in this webpage are accepted(and hence free software) and are licensed under the AGPL license."></noscript>
|
||||||
|
<figcaption class="figure-caption">LibreJS report of the dashboard webpage</figcaption>
|
||||||
|
</figure>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/december-2021-monthly-report/librejs-widget_hu8448293808143930929.jpg" data-srcset="/blog/december-2021-monthly-report/librejs-widget_hu18120651461224150036.jpg 800w,/blog/december-2021-monthly-report/librejs-widget_hu4479262732669741922.jpg 700w,/blog/december-2021-monthly-report/librejs-widget_hu5611712875652439272.jpg 600w,/blog/december-2021-monthly-report/librejs-widget_hu124815016719594810.jpg 500w" width="904" height="913" alt="Screenshot of mCaptcha client-side widget(I'm-not-a-robot widget) with GNU LibreJS extension's report in frame. LibreJS reports that all scripts in this webpage are accepted(and hence free software) and are licensed under the X11(aka MIT license). It should also detect the Apache licensing but I probably botched it up.">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/december-2021-monthly-report/librejs-widget_hu18120651461224150036.jpg 800w,/blog/december-2021-monthly-report/librejs-widget_hu4479262732669741922.jpg 700w,/blog/december-2021-monthly-report/librejs-widget_hu5611712875652439272.jpg 600w,/blog/december-2021-monthly-report/librejs-widget_hu124815016719594810.jpg 500w" src="/blog/december-2021-monthly-report/librejs-widget.jpg" width="904" height="913" alt="Screenshot of mCaptcha client-side widget(I'm-not-a-robot widget) with GNU LibreJS extension's report in frame. LibreJS reports that all scripts in this webpage are accepted(and hence free software) and are licensed under the X11(aka MIT license). It should also detect the Apache licensing but I probably botched it up."></noscript>
|
||||||
|
<figcaption class="figure-caption">LibreJS report of the CAPTCHA widget webpage</figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="2-javascript-polyfill">2. JavaScript PolyFill</h2>
|
||||||
|
<p>mCaptcha relied on a WebAssembly(WASM) port of the proof-of-work
|
||||||
|
algorithm used in mCaptcha. This meanth browsers without WASM support
|
||||||
|
couldn’t process CAPTCHAs. This month, <a href="https://github.com/mCaptcha/pow_sha256-polyfill">a pure JavaScript(TypeScript,
|
||||||
|
technically) implementation
|
||||||
|
</a> was released to
|
||||||
|
overcome this limitation.</p>
|
||||||
|
<h2 id="3-integration-libraries-for-vanilla-js-react-and-svelte">3. Integration libraries for Vanilla JS, React and Svelte:</h2>
|
||||||
|
<p>To make migration from existing CAPTCHA deployments to mCaptha,
|
||||||
|
integration libraries for <a href="https://www.npmjs.com/package/@mcaptcha/vanilla-glue">Vanilla
|
||||||
|
JS</a>, <a href="https://www.npmjs.com/package/@mcaptcha/react-glue">React
|
||||||
|
Js</a> and
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/svelte-glue">Svelte</a> with
|
||||||
|
similar APIs very similar to that of Google’s reCAPTCHA and Cloudflare’s
|
||||||
|
hCaptcha.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Source code: <a href="https://github.com/mCaptcha/glue">mCaptcha/glue</a></li>
|
||||||
|
</ul>
|
||||||
|
<h1 id="4-beginner-friendly-captcha-configuration-options">4. Beginner friendly CAPTCHA configuration options.</h1>
|
||||||
|
<p>The original configuration panel offers a comprehensive but daunting
|
||||||
|
task for folks that are justgetting started with mCaptcha.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/december-2021-monthly-report/captcha-advanced-config_hu10711494668510994707.jpg" data-srcset="/blog/december-2021-monthly-report/captcha-advanced-config_hu1762626143958174458.jpg 900w,/blog/december-2021-monthly-report/captcha-advanced-config_hu13962713174084613594.jpg 800w,/blog/december-2021-monthly-report/captcha-advanced-config_hu11106653689847024070.jpg 700w,/blog/december-2021-monthly-report/captcha-advanced-config_hu5849892503558888293.jpg 600w,/blog/december-2021-monthly-report/captcha-advanced-config_hu10946945230847293510.jpg 500w" width="819" height="741" alt="Screenshot of mCaptcha admin dashboard CAPTCHA creation form with advance configuration options">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/december-2021-monthly-report/captcha-advanced-config_hu1762626143958174458.jpg 900w,/blog/december-2021-monthly-report/captcha-advanced-config_hu13962713174084613594.jpg 800w,/blog/december-2021-monthly-report/captcha-advanced-config_hu11106653689847024070.jpg 700w,/blog/december-2021-monthly-report/captcha-advanced-config_hu5849892503558888293.jpg 600w,/blog/december-2021-monthly-report/captcha-advanced-config_hu10946945230847293510.jpg 500w" src="/blog/december-2021-monthly-report/captcha-advanced-config.jpg" width="819" height="741" alt="Screenshot of mCaptcha admin dashboard CAPTCHA creation form with advance configuration options"></noscript>
|
||||||
|
<figcaption class="figure-caption">CAPTCHA creation with advance configuration options</figcaption>
|
||||||
|
</figure>
|
||||||
|
<p>A new CAPTCHA creation format is rolled out which generates a
|
||||||
|
configuration from familiar metrics like average, peak and traffic that
|
||||||
|
took the user’s website down.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/december-2021-monthly-report/captcha-easy-config_hu14427773371896509733.jpg" data-srcset="/blog/december-2021-monthly-report/captcha-easy-config_hu13125815295690369764.jpg 900w,/blog/december-2021-monthly-report/captcha-easy-config_hu115293323423594336.jpg 800w,/blog/december-2021-monthly-report/captcha-easy-config_hu15219503124373658344.jpg 700w,/blog/december-2021-monthly-report/captcha-easy-config_hu16147080946356763298.jpg 600w,/blog/december-2021-monthly-report/captcha-easy-config_hu3658627801774527493.jpg 500w" width="776" height="556" alt="Screenshot of mCaptcha admin dashboard CAPTCHA creation form with easy configuration options">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/december-2021-monthly-report/captcha-easy-config_hu13125815295690369764.jpg 900w,/blog/december-2021-monthly-report/captcha-easy-config_hu115293323423594336.jpg 800w,/blog/december-2021-monthly-report/captcha-easy-config_hu15219503124373658344.jpg 700w,/blog/december-2021-monthly-report/captcha-easy-config_hu16147080946356763298.jpg 600w,/blog/december-2021-monthly-report/captcha-easy-config_hu3658627801774527493.jpg 500w" src="/blog/december-2021-monthly-report/captcha-easy-config.jpg" width="776" height="556" alt="Screenshot of mCaptcha admin dashboard CAPTCHA creation form with easy configuration options"></noscript>
|
||||||
|
<figcaption class="figure-caption">CAPTCHA creation with easy configuration options</figcaption>
|
||||||
|
</figure>
|
||||||
|
<p>Of course, the advance option is available and can always be swished to
|
||||||
|
at any moment!</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/may-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← May, 2022: Monthly Report
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/survey/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Survey →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/12-21-monthly-report/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
218
blog/february-2023-monthly-report/index.html
Normal file
218
blog/february-2023-monthly-report/index.html
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>February, 2023: Monthly Report - mCaptcha</title>
|
||||||
|
<meta name="description" content="Gusted and I secured funding from NLnet to work on mCaptcha in 2023, we suffered an outage from 15 January to February 6, polyfill benchmarking support in mCaptcha">
|
||||||
|
<link rel="canonical" href="/blog/february-2023-monthly-report/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/february-2023-monthly-report/icon.png">
|
||||||
|
<meta name="twitter:title" content="February, 2023: Monthly Report">
|
||||||
|
<meta name="twitter:description" content="Gusted and I secured funding from NLnet to work on mCaptcha in 2023, we suffered an outage from 15 January to February 6, polyfill benchmarking support in mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="February, 2023: Monthly Report">
|
||||||
|
<meta property="og:description" content="Gusted and I secured funding from NLnet to work on mCaptcha in 2023, we suffered an outage from 15 January to February 6, polyfill benchmarking support in mCaptcha">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/february-2023-monthly-report/">
|
||||||
|
<meta property="og:image" content="/blog/february-2023-monthly-report/icon.png">
|
||||||
|
<meta property="article:published_time" content="2023-03-08T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-03-09T02:30:43+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": "Blogfebruary 2023 Monthly Report",
|
||||||
|
"item": "\/blogfebruary-2023-monthly-report\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#tldr">TL;DR</a></li>
|
||||||
|
<li><a href="#we-have-funding">We have funding!</a></li>
|
||||||
|
<li><a href="#infrastructure-outage-15-january-2023-to-february-6-2023">Infrastructure outage: 15 January, 2023 to February 6, 2023</a></li>
|
||||||
|
<li><a href="#mcaptchasurvey-now-includes-polyfill-benchmarking">mCaptcha/survey now includes polyfill benchmarking</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>February, 2023: Monthly Report</h1>
|
||||||
|
<p><small>Posted March 8, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 9, 2023</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>Hello and welcome to the (August 2022 to) February, 2023 monthly report!</p>
|
||||||
|
<h2 id="tldr">TL;DR</h2>
|
||||||
|
<p><em><a href="https://gusted.xyz">Gusted</a> and I secured funding from NLnet to work
|
||||||
|
on mCaptcha in 2023, we suffered an outage from 15 January to February
|
||||||
|
6, polyfill benchmarking support in mCaptcha</em></p>
|
||||||
|
<h2 id="we-have-funding">We have funding!</h2>
|
||||||
|
<p><a href="https://gusted.xyz">Gusted</a> and I applied and secured funding through
|
||||||
|
2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0
|
||||||
|
Entrust</a> Fund, via <a href="https://nlnet.nl">NLnet</a>.</p>
|
||||||
|
<p>The full list of tasks that we’ll be working on in the period is is
|
||||||
|
available
|
||||||
|
<a href="https://git.batsense.net/mCaptcha/2023-NLnet/projects/6">here</a>.</p>
|
||||||
|
<h2 id="infrastructure-outage-15-january-2023-to-february-6-2023">Infrastructure outage: 15 January, 2023 to February 6, 2023</h2>
|
||||||
|
<p>A hard disk on of the servers hosting mCaptcha infrastructure failed,
|
||||||
|
which caused the outage. Fixing the hard disk lead to additional
|
||||||
|
problems, the fan on that server was failing and we couldn’t get spares
|
||||||
|
sooner.</p>
|
||||||
|
<p>We had current backups, so there was no data loss.</p>
|
||||||
|
<p>Going forward, we are planning to create Infrastructure-as-Code to fully
|
||||||
|
restore all mCaptcha infrastructure, so that in the even of an outage,
|
||||||
|
we could restore our infrastructure in much shorter duration.</p>
|
||||||
|
<h2 id="mcaptchasurvey-now-includes-polyfill-benchmarking">mCaptcha/survey now includes polyfill benchmarking</h2>
|
||||||
|
<p>mCaptcha/survey runs benchmarks with mCaptcha’s PoW algorithm to collect
|
||||||
|
statistics on how mCaptcha performs on various browsers and devices. So
|
||||||
|
far, we’ve only been running benchmarks with the WebAssembly
|
||||||
|
implementation. This <a href="https://github.com/mCaptcha/survey/pull/14">pull request</a> added support for running benchmarks
|
||||||
|
with the JavaScript polyfill implementation on browsers without
|
||||||
|
WebAssembly support.</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/introducing-mcaptcha-net/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Introducing mCaptcha net
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/july-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
July, 2022: Monthly Report →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/02-23-monthly-report/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
232
blog/index.html
Normal file
232
blog/index.html
Normal file
|
@ -0,0 +1,232 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Blog - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha Blog.">
|
||||||
|
<link rel="canonical" href="/blog/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Blog">
|
||||||
|
<meta name="twitter:description" content="mCaptcha Blog.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Blog">
|
||||||
|
<meta property="og:description" content="mCaptcha Blog.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/blog/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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+xml" href="/blog/index.xml">
|
||||||
|
<link rel="sitemap" type="application/xml" href="/blog/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": "Blog",
|
||||||
|
"item": "\/blog\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">Blog</h1>
|
||||||
|
<div class="text-center"></div>
|
||||||
|
<div class="card-list">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/testing-on-screenreaders/">Testing on screenreaders</a></h2>
|
||||||
|
<p>A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible</p>
|
||||||
|
<p><small>Posted February 10, 2024 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited February 12, 2024</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/introducing-mcaptcha-net/">Introducing mCaptcha net</a></h2>
|
||||||
|
<p>A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible</p>
|
||||||
|
<p><small>Posted October 19, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited October 21, 2023</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/february-2023-monthly-report/">February, 2023: Monthly Report</a></h2>
|
||||||
|
<p>Gusted and I secured funding from NLnet to work on mCaptcha in 2023, we suffered an outage from 15 January to February 6, polyfill benchmarking support in mCaptcha</p>
|
||||||
|
<p><small>Posted March 8, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 9, 2023</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/july-2022-monthly-report/">July, 2022: Monthly Report</a></h2>
|
||||||
|
<p>Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support, mCaptcha supports MariaDB, I've applied for NLnet and Open Tech Fund, documentation is updated: tutorials and glossary is added and glue libraries have new releases.</p>
|
||||||
|
<p><small>Posted August 4, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 23, 2024</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/june-2022-monthly-report/">June, 2022: Monthly Report</a></h2>
|
||||||
|
<p>mCaptcha is successfully incorporated in India and ideas for mCaptcha commercial operations</p>
|
||||||
|
<p><small>Posted July 7, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited July 7, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/may-2022-monthly-report/">May, 2022: Monthly Report</a></h2>
|
||||||
|
<p>Python bindings to mCaptcha PoW, DDoS effectiveness measurement, major refactoring to prepare for support for other databases, We also tried to test its DoS defence effectiveness, and some exciting news regarding managed hosting!</p>
|
||||||
|
<p><small>Posted June 10, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>4 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/december-2021-monthly-report/">December, 2021: Monthly Report</a></h2>
|
||||||
|
<p>New features, improved accessibility and software integrations</p>
|
||||||
|
<p><small>Posted December 23, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/survey/">Survey</a></h2>
|
||||||
|
<p>We are conducting a survey to benchmark and gather performance metrics of our system on various devices</p>
|
||||||
|
<p><small>Posted October 28, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 23, 2021</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/pow-performance/">PoW performance</a></h2>
|
||||||
|
<p>PoW performance of native and WASM implementations. Does the native implementation have and edge over the WASM library?</p>
|
||||||
|
<p><small>Posted September 1, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited September 1, 2021</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/say-hello-to-mcaptcha/">Say hello to mCaptcha</a></h2>
|
||||||
|
<p>Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!</p>
|
||||||
|
<p><small>Posted May 26, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 2, 2021</small><p>
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
81
blog/index.xml
Normal file
81
blog/index.xml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Blog on </title>
|
||||||
|
<link>/blog/</link>
|
||||||
|
<description>Recent content in Blog on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<atom:link href="/blog/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Testing on screenreaders</title>
|
||||||
|
<link>/blog/testing-on-screenreaders/</link>
|
||||||
|
<pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/testing-on-screenreaders/</guid>
|
||||||
|
<description><p><a href="www.han.nl">HAN University of Applied Sciences</a> kindly did an
accessibility test of the mCaptcha widget and the showcase site, which
features a real world integration of mCaptcha in a third-party service.
The report motived us to make screen reader testing an integral part of
the release process.</p>
<p>Here are the results:</p>
<h2 id="android-in-built-screen-reader-on-fennec">Android in-built screen reader on Fennec</h2>
<iframe title="Testing mCaptcha on Android screenreader with Fennec browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/e9579d73-b19e-4051-9337-8432fc15c3b3" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="nvda-on-microsoft-windows-and-mozilla-firefox">NVDA on Microsoft Windows and Mozilla Firefox</h2>
<iframe title="Testing mCaptcha on NVDA screen reader on MS Windows with Mozilla Firefox browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/cf534270-8089-4aad-95b3-543c467a6a12" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="macos-in-built-screen-reader-on-google-chrome">macOS in-built screen reader on Google Chrome</h2>
<iframe title="Testing mCaptcha on macOS in-built screen reader and Google Chrome browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/45be4f8c-1978-4650-b9f1-972cfead8420" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="ios-in-built-screen-reader-on-safari">iOS in-built screen reader on Safari</h2>
<iframe title="Testing mCaptcha on iOS screenreader with Safari" width="560" height="315" src="https://peertube.batsense.net/videos/embed/ac9722a4-3dce-4c40-bb0c-7bc8d721c3db" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Introducing mCaptcha net</title>
|
||||||
|
<link>/blog/introducing-mcaptcha-net/</link>
|
||||||
|
<pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/introducing-mcaptcha-net/</guid>
|
||||||
|
<description><p>mCaptcha uses a Proof-of-Work (PoW) based algorithm to offer
Denial-of-Service protection, because of <a href="https://www.w3.org/TR/turingtest/#proof-of-work">its excellent accessibility
characteristics</a>. PoW
within mCaptcha is configuration &mdash; webmasters can configure
<a href="/docs/terminology/difficulty-factor">difficulty factors</a> for their
installations, which determines waiting time for visitors. But PoW can
become inaccessible if webmasters choose a very high difficulty factor.
So they have to maintain a balance which imposes sufficient load on DDoS
attackers while also being accessible to common folk.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>February, 2023: Monthly Report</title>
|
||||||
|
<link>/blog/february-2023-monthly-report/</link>
|
||||||
|
<pubDate>Wed, 08 Mar 2023 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/february-2023-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the (August 2022 to) February, 2023 monthly report!</p>
<h2 id="tldr">TL;DR</h2>
<p><em><a href="https://gusted.xyz">Gusted</a> and I secured funding from NLnet to work
on mCaptcha in 2023, we suffered an outage from 15 January to February
6, polyfill benchmarking support in mCaptcha</em></p>
<h2 id="we-have-funding">We have funding!</h2>
<p><a href="https://gusted.xyz">Gusted</a> and I applied and secured funding through
2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0
Entrust</a> Fund, via <a href="https://nlnet.nl">NLnet</a>.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>July, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/july-2022-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 04 Aug 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/july-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the July, 2022 monthly report!</p>
<h2 id="tldr">TL;DR</h2>
<p><em>Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support,
mCaptcha supports MariaDB, I&rsquo;ve applied for NLnet and Open Tech Fund,
documentation is updated: tutorials and glossary is added and glue libraries
have new releases.</em></p>
<h2 id="codeberg-is-deploying-mcaptcha">Codeberg is deploying mCaptcha</h2>
<p>Codeberg is committed to trying out mCaptcha to make their platform more
accessible: they currently use a text-based CAPTCHA, which will be
replaced by mCaptcha. The decision was finalized after I presented
mCaptcha to them at a meeting their organized. Please see
<a href="https://batsense.net/talks/codeberg-introducing-mcaptcha/">here</a> for
slides.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>June, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/june-2022-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/june-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the June 2022 edition of the monthly report!</p>
<h2 id="mcaptcha-is-incorporated">mCaptcha is incorporated!</h2>
<p>I spent June doing non-technical tasks but I made significant
progress: I had been trying to do it since summer 2021, but I faced
various setbacks along the way. A family friend, who is also an auditor
helped me finally get mCaptcha incorporated!</p>
<p>And we&rsquo;ve already filed successfully filed the first tax return too!</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>May, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/may-2022-monthly-report/</link>
|
||||||
|
<pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/may-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the May 2022 edition of the monthly report!</p>
<p>mCaptcha, for a while was showing all the signs of a dead project:
no commits on the repositories and no monthly updates. But the project
is far from dead!</p>
<h2 id="python-bindings-to-mcaptcha-powhttpsgithubcommcaptchapow_sha256">Python bindings to <a href="https://github.com/mCaptcha/pow_sha256/">mCaptcha PoW</a></h2>
<p><a href="https://github.com/mCaptcha/pow_py">pow_py</a> contains bindings to
<a href="https://github.com/mCaptcha/pow_sha256">pow_sha256</a>, the
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> library
that mCaptcha uses. For the uninitiated, the bindings allow for python
programs to automatically solve mCaptcha.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>December, 2021: Monthly Report</title>
|
||||||
|
<link>/blog/december-2021-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/december-2021-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the first edition of the monthly report!</p>
<p>I believe free software like mCaptcha is critical to a healthy internet
but being a one-person show, there&rsquo;s hardly any accountability in the
way software is built. I hope, through monthly reports, I can explain
the logic and intentions behind decisions taken in the development
process.</p>
<p>This month, the following things were accomplished:</p>
<h2 id="1-full-librejs-compliance">1. Full LibreJS Compliance</h2>
<p>The CAPTCHA widget and the admin dashboard are 100% LibreJS compliant!</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Survey</title>
|
||||||
|
<link>/blog/survey/</link>
|
||||||
|
<pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/survey/</guid>
|
||||||
|
<description><p><strong>Survey link:</strong> <a href="https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about">https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about</a></p>
<p><strong>NOTE:</strong> The survey(at least, the lucky draw is temporarily suspended
due to some logistical reasons. Apologies for any inconvenience caused.</p>
<p>mCaptcha relies on a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a>
mechanism to guard against bots. In order for this to be effective, the
difficulty factor should be configured properly. If the difficulty
factor is too high all the time, it will inconvenience the users and if
it&rsquo;s too low during attack, the defence will be weak.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>PoW performance</title>
|
||||||
|
<link>/blog/pow-performance/</link>
|
||||||
|
<pubDate>Wed, 01 Sep 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/pow-performance/</guid>
|
||||||
|
<description><p>mCaptcha uses a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a> mechanism
to rate limit users or potential bots. In order for this to be
effective, the PoW should be configured properly. The difficulty
requirement can&rsquo;t be too high, as it could cause accessibility issues on
the client-side while at the same time, it shouldn&rsquo;t be too low, as it
wouldn&rsquo;t offer proper protection against bots.</p>
<p>Malicious bots(the ones that wreak havoc), run native code which is
capable of running in a multi-threaded context. This creates an unfair
advantage for crackers using these bots over legitimate users, who
usually use browsers to access a website.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Say hello to mCaptcha</title>
|
||||||
|
<link>/blog/say-hello-to-mcaptcha/</link>
|
||||||
|
<pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/say-hello-to-mcaptcha/</guid>
|
||||||
|
<description><p>At mCaptcha, we believe in digital freedom and privacy and so we built a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> based
CAPTCHA system that doesn&rsquo;t track. Seriously, no tracking. But that
isn&rsquo;t the killer feature, our system doesn&rsquo;t require the user to
pick cars or ID sidewalks &mdash; our system does it&rsquo;s thing(usually
at the click of a button) and gets out of the way.</p>
<h2 id="how-does-it-work">How does it work?</h2>
<p>mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
247
blog/introducing-mcaptcha-net/index.html
Normal file
247
blog/introducing-mcaptcha-net/index.html
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Introducing mCaptcha net - mCaptcha</title>
|
||||||
|
<meta name="description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
<link rel="canonical" href="/blog/introducing-mcaptcha-net/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/introducing-mcaptcha-net/icon.png">
|
||||||
|
<meta name="twitter:title" content="Introducing mCaptcha net">
|
||||||
|
<meta name="twitter:description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Introducing mCaptcha net">
|
||||||
|
<meta property="og:description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/introducing-mcaptcha-net/">
|
||||||
|
<meta property="og:image" content="/blog/introducing-mcaptcha-net/icon.png">
|
||||||
|
<meta property="article:published_time" content="2023-10-19T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-10-21T16:48:55+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": "Blogintroducing Mcaptcha Net",
|
||||||
|
"item": "\/blogintroducing-mcaptcha-net\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#participation-is-optional">Participation is optional</a></li>
|
||||||
|
<li><a href="#ensuring-anonymity">Ensuring anonymity</a></li>
|
||||||
|
<li><a href="#status">Status</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>Introducing mCaptcha net</h1>
|
||||||
|
<p><small>Posted October 19, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited October 21, 2023</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>mCaptcha uses a Proof-of-Work (PoW) based algorithm to offer
|
||||||
|
Denial-of-Service protection, because of <a href="https://www.w3.org/TR/turingtest/#proof-of-work">its excellent accessibility
|
||||||
|
characteristics</a>. PoW
|
||||||
|
within mCaptcha is configuration — webmasters can configure
|
||||||
|
<a href="/docs/terminology/difficulty-factor">difficulty factors</a> for their
|
||||||
|
installations, which determines waiting time for visitors. But PoW can
|
||||||
|
become inaccessible if webmasters choose a very high difficulty factor.
|
||||||
|
So they have to maintain a balance which imposes sufficient load on DDoS
|
||||||
|
attackers while also being accessible to common folk.</p>
|
||||||
|
<div class="alert alert-warning d-flex" role="alert">
|
||||||
|
<div class="flex-shrink-1 alert-icon">⭐</div>
|
||||||
|
<div class="w-100"> mCaptcha installation: integration of the mCaptcha widget to a service.</div>
|
||||||
|
</div>
|
||||||
|
<p>To help webmasters correctly configure difficult factors, we are
|
||||||
|
building a feedback loop which would gather performance statistics from
|
||||||
|
voluntary mCaptcha installations and make them available to other
|
||||||
|
mCaptcha installations. The performance statistics can be used by all
|
||||||
|
mCaptcha instances to automatically optimize an installation. We are
|
||||||
|
calling this the mCaptcha net.</p>
|
||||||
|
<h2 id="participation-is-optional">Participation is optional</h2>
|
||||||
|
<p>Participation in the mCaptcha net is disabled by default and is
|
||||||
|
optional as it has privacy implications: it will reveal the
|
||||||
|
existence of an mCaptcha instance.</p>
|
||||||
|
<p>The admins of mCaptcha instances can choose to upload truly anonymous
|
||||||
|
PoW performance statistics to a number of <a href="https://git.batsense.net/mCaptcha/survey">mCaptcha/survey</a> instances.
|
||||||
|
The data uploaded is public and so is accessible to all mCaptcha
|
||||||
|
instances.</p>
|
||||||
|
<p>We also offer opt-in controls at installation level:</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/introducing-mcaptcha-net/installation-level-opt-in_hu1631596919080030605.png" data-srcset="/blog/introducing-mcaptcha-net/installation-level-opt-in_hu8665382681814203651.png 900w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu16960270070322992940.png 800w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu16731371422864467505.png 700w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu3312684040278026285.png 600w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu3805133206394116285.png 500w" width="759" height="745" alt="A screenshot of the 'add sitekey' form on the mCaptcha dashboard with a checkbox for anonymously publishing performance statistics. It is not checked by default.">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/introducing-mcaptcha-net/installation-level-opt-in_hu8665382681814203651.png 900w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu16960270070322992940.png 800w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu16731371422864467505.png 700w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu3312684040278026285.png 600w,/blog/introducing-mcaptcha-net/installation-level-opt-in_hu3805133206394116285.png 500w" src="/blog/introducing-mcaptcha-net/installation-level-opt-in.png" width="759" height="745" alt="A screenshot of the 'add sitekey' form on the mCaptcha dashboard with a checkbox for anonymously publishing performance statistics. It is not checked by default."></noscript>
|
||||||
|
<figcaption class="figure-caption">Add sitekey form on the mCaptcha dashboard with a checkbox for anonymously publishing performance statistics. It is not checked by default.</figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="ensuring-anonymity">Ensuring anonymity</h2>
|
||||||
|
<p>mCaptcha doesn’t fingerprint its users. Performance parameters include:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Time taken to generate PoW</li>
|
||||||
|
<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;-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">"time"</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">"difficulty_factor"</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">"worker_type"</span>:<span style="color:#f1fa8c">"wasm"</span>
|
||||||
|
</span></span></code></pre></div><p>This doesn’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>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/introducing-mcaptcha-net/working-rpc_hu3273415545955202374.png" data-srcset="/blog/introducing-mcaptcha-net/working-rpc_hu185061893514002747.png 900w,/blog/introducing-mcaptcha-net/working-rpc_hu5006962494299372084.png 800w,/blog/introducing-mcaptcha-net/working-rpc_hu2019269782775340852.png 700w,/blog/introducing-mcaptcha-net/working-rpc_hu17467133549504091124.png 600w,/blog/introducing-mcaptcha-net/working-rpc_hu15584172527816290803.png 500w" width="1842" height="1008" alt="A screenshot of a tmux window with logs of mCaptcha/mCaptcha and mCapctha/survey showing both of them talking to eachother">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/introducing-mcaptcha-net/working-rpc_hu185061893514002747.png 900w,/blog/introducing-mcaptcha-net/working-rpc_hu5006962494299372084.png 800w,/blog/introducing-mcaptcha-net/working-rpc_hu2019269782775340852.png 700w,/blog/introducing-mcaptcha-net/working-rpc_hu17467133549504091124.png 600w,/blog/introducing-mcaptcha-net/working-rpc_hu15584172527816290803.png 500w" src="/blog/introducing-mcaptcha-net/working-rpc.png" width="1842" height="1008" alt="A screenshot of a tmux window with logs of mCaptcha/mCaptcha and mCapctha/survey showing both of them talking to eachother"></noscript>
|
||||||
|
<figcaption class="figure-caption">mCaptcha/mCaptcha uploading performance statistics to a mCaptcha/survey instance</figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="status">Status</h2>
|
||||||
|
<p>We now have performance statistics uploads to mCaptcha/survey instances
|
||||||
|
working. Pull request <a href="https://github.com/mCaptcha/mCaptcha/pull/92">mCaptcha/mCaptcha#92</a>
|
||||||
|
added abilities to mCaptcha to upload statistics to mCaptcha/survey instances and
|
||||||
|
<a href="https://git.batsense.net/mCaptcha/survey/pulls/17">mCaptcha/survey#40</a> enable survey to process the uploaded data. We will soon build a
|
||||||
|
self-tuning algorithm within mCaptcha to use this data and optimize
|
||||||
|
installations automatically.</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/testing-on-screenreaders/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Testing on screenreaders
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/february-2023-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
February, 2023: Monthly Report →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/10-20-mcaptcha-net/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
256
blog/july-2022-monthly-report/index.html
Normal file
256
blog/july-2022-monthly-report/index.html
Normal file
|
@ -0,0 +1,256 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>July, 2022: Monthly Report - mCaptcha</title>
|
||||||
|
<meta name="description" content="Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support, mCaptcha supports MariaDB, I've applied for NLnet and Open Tech Fund, documentation is updated: tutorials and glossary is added and glue libraries have new releases.">
|
||||||
|
<link rel="canonical" href="/blog/july-2022-monthly-report/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/july-2022-monthly-report/icon.png">
|
||||||
|
<meta name="twitter:title" content="July, 2022: Monthly Report">
|
||||||
|
<meta name="twitter:description" content="Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support, mCaptcha supports MariaDB, I've applied for NLnet and Open Tech Fund, documentation is updated: tutorials and glossary is added and glue libraries have new releases.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="July, 2022: Monthly Report">
|
||||||
|
<meta property="og:description" content="Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support, mCaptcha supports MariaDB, I've applied for NLnet and Open Tech Fund, documentation is updated: tutorials and glossary is added and glue libraries have new releases.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/july-2022-monthly-report/">
|
||||||
|
<meta property="og:image" content="/blog/july-2022-monthly-report/icon.png">
|
||||||
|
<meta property="article:published_time" content="2022-08-04T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2024-03-23T13:48:45+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": "Blogjuly 2022 Monthly Report",
|
||||||
|
"item": "\/blogjuly-2022-monthly-report\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#tldr">TL;DR</a></li>
|
||||||
|
<li><a href="#codeberg-is-deploying-mcaptcha">Codeberg is deploying mCaptcha</a></li>
|
||||||
|
<li><a href="#gitea-gets-mcaptcha-support">Gitea gets mCaptcha support</a></li>
|
||||||
|
<li><a href="#mcaptcha-supports-mariadb">mCaptcha supports MariaDB:</a></li>
|
||||||
|
<li><a href="#applied-for-funding-nlnet-and-open-tech-fund">Applied for Funding: NLnet and Open Tech Fund</a></li>
|
||||||
|
<li><a href="#documentation-updates">Documentation updates</a></li>
|
||||||
|
<li><a href="#new-releases-glue-libraries">New releases: glue libraries</a></li>
|
||||||
|
<li><a href="#footnotes">Footnotes</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>July, 2022: Monthly Report</h1>
|
||||||
|
<p><small>Posted August 4, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 23, 2024</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>Hello and welcome to the July, 2022 monthly report!</p>
|
||||||
|
<h2 id="tldr">TL;DR</h2>
|
||||||
|
<p><em>Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support,
|
||||||
|
mCaptcha supports MariaDB, I’ve applied for NLnet and Open Tech Fund,
|
||||||
|
documentation is updated: tutorials and glossary is added and glue libraries
|
||||||
|
have new releases.</em></p>
|
||||||
|
<h2 id="codeberg-is-deploying-mcaptcha">Codeberg is deploying mCaptcha</h2>
|
||||||
|
<p>Codeberg is committed to trying out mCaptcha to make their platform more
|
||||||
|
accessible: they currently use a text-based CAPTCHA, which will be
|
||||||
|
replaced by mCaptcha. The decision was finalized after I presented
|
||||||
|
mCaptcha to them at a meeting their organized. Please see
|
||||||
|
<a href="https://batsense.net/talks/codeberg-introducing-mcaptcha/">here</a> for
|
||||||
|
slides.</p>
|
||||||
|
<h2 id="gitea-gets-mcaptcha-support">Gitea gets mCaptcha support</h2>
|
||||||
|
<p><a href="https://gusted.xyz">@Gusted</a> from Codeberg is working on integrating
|
||||||
|
mCaptcha in Gitea so that Codeberg can deploy it. Please see
|
||||||
|
<a href="https://github.com/go-gitea/gitea/pull/20458">here</a> for related the
|
||||||
|
pull request.</p>
|
||||||
|
<p>This project is yet to see usage, so we are venturing into uncharted
|
||||||
|
territory: should you face issues with either deploying or
|
||||||
|
integrating mCaptcha, please feel free <a href="/community">to reach out</a>.</p>
|
||||||
|
<h2 id="mcaptcha-supports-mariadb">mCaptcha supports MariaDB:</h2>
|
||||||
|
<p>Codeberg uses MariaDB. To facilitate Codeberg deployment, I implemented
|
||||||
|
support for MariaDB. <a href="https://mcaptcha.org/blog/may-2022-monthly-report#refactor">The work done in
|
||||||
|
May, 2022</a> made
|
||||||
|
implementing support easy. Support for MariaDB is first class in
|
||||||
|
mCaptcha: automatic testing exist to run tests with both Postgres and
|
||||||
|
MariaDB, so I expect things to be stable.</p>
|
||||||
|
<h2 id="applied-for-funding-nlnet-and-open-tech-fund">Applied for Funding: NLnet and Open Tech Fund</h2>
|
||||||
|
<p>I’ve applied for NLnet and Open Tech Fund[0], Please find the
|
||||||
|
applications
|
||||||
|
<a href="https://forum.forgefriends.org/t/mcaptcha-nlnet-grant-application-august-2022/830/3">here</a>
|
||||||
|
and
|
||||||
|
<a href="https://forum.forgefriends.org/t/mcaptcha-nlnet-grant-application-august-2022/830/3">here</a>
|
||||||
|
respectively.</p>
|
||||||
|
<p>If funding is granted:</p>
|
||||||
|
<ol>
|
||||||
|
<li>I’ll be able to work full-time for a year at the rate of 2,000 EUR/month</li>
|
||||||
|
<li>We’ll have a dedicated build server</li>
|
||||||
|
<li>We’ll have funds to run a DDoS test to gauge mCaptcha’s effectiveness</li>
|
||||||
|
</ol>
|
||||||
|
<h2 id="documentation-updates">Documentation updates</h2>
|
||||||
|
<p>mCaptcha docs over the months have become inconsistent and incorrect. I
|
||||||
|
cleaned up some of the mess and added <a href="/docs/introduction/installing-captcha/">a
|
||||||
|
tutorial</a> to help folks install
|
||||||
|
mCaptcha on their website. The docs also gets <a href="/docs/webmasters/terminology/">a
|
||||||
|
glossary</a>, which contain explanations
|
||||||
|
to mCaptcha jargon.</p>
|
||||||
|
<h2 id="new-releases-glue-libraries">New releases: glue libraries</h2>
|
||||||
|
<p><code>0.1.0-alpha-2</code> for
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/vanilla-glue">vanilla</a>,
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/react-glue">react</a> and
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/svelte-glue">svelte</a> glue
|
||||||
|
libraries were released. They now hand over widget sizing to the client
|
||||||
|
code(<a href="https://github.com/mCaptcha/glue/pull/12">associated PR</a>).</p>
|
||||||
|
<h2 id="footnotes">Footnotes</h2>
|
||||||
|
<ul>
|
||||||
|
<li>[0]: Special thanks to
|
||||||
|
<a href="https://mastodon.social/@humanetech">@humantech</a> for his thoughtful
|
||||||
|
reviews and to <a href="https://dachary.org">@dachary</a> for pointing me towards
|
||||||
|
OTF.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/february-2023-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← February, 2023: Monthly Report
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/june-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
June, 2022: Monthly Report →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/07-22-monthly-report/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
222
blog/june-2022-monthly-report/index.html
Normal file
222
blog/june-2022-monthly-report/index.html
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>June, 2022: Monthly Report - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha is successfully incorporated in India and ideas for mCaptcha commercial operations">
|
||||||
|
<link rel="canonical" href="/blog/june-2022-monthly-report/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/june-2022-monthly-report/icon.png">
|
||||||
|
<meta name="twitter:title" content="June, 2022: Monthly Report">
|
||||||
|
<meta name="twitter:description" content="mCaptcha is successfully incorporated in India and ideas for mCaptcha commercial operations">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="June, 2022: Monthly Report">
|
||||||
|
<meta property="og:description" content="mCaptcha is successfully incorporated in India and ideas for mCaptcha commercial operations">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/june-2022-monthly-report/">
|
||||||
|
<meta property="og:image" content="/blog/june-2022-monthly-report/icon.png">
|
||||||
|
<meta property="article:published_time" content="2022-07-07T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-07-07T20:05:57+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": "Blogjune 2022 Monthly Report",
|
||||||
|
"item": "\/blogjune-2022-monthly-report\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#mcaptcha-is-incorporated">mCaptcha is incorporated!</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#gstin">GSTIN</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#ideas-for-commercial-operations">Ideas for Commercial Operations</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>June, 2022: Monthly Report</h1>
|
||||||
|
<p><small>Posted July 7, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited July 7, 2022</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>Hello and welcome to the June 2022 edition of the monthly report!</p>
|
||||||
|
<h2 id="mcaptcha-is-incorporated">mCaptcha is incorporated!</h2>
|
||||||
|
<p>I spent June doing non-technical tasks but I made significant
|
||||||
|
progress: I had been trying to do it since summer 2021, but I faced
|
||||||
|
various setbacks along the way. A family friend, who is also an auditor
|
||||||
|
helped me finally get mCaptcha incorporated!</p>
|
||||||
|
<p>And we’ve already filed successfully filed the first tax return too!</p>
|
||||||
|
<h3 id="gstin">GSTIN</h3>
|
||||||
|
<pre tabindex="0"><code>33DGKPA2253J1ZN
|
||||||
|
</code></pre><h2 id="ideas-for-commercial-operations">Ideas for Commercial Operations</h2>
|
||||||
|
<p>Commercial operations will take a while longer(end of 2022, most
|
||||||
|
probably). For <a href="https://hostea.org">Hostea</a>, I wrote a dashboard with
|
||||||
|
payments capabilities(via Stripe) so that experience will help me do the
|
||||||
|
same for mCaptcha. Working on Hostea has been truly enlightening: it’s
|
||||||
|
probably the first effort to offer a fully libre, infrastructure-as-code
|
||||||
|
and payments software included, hosting service. I would like to do the
|
||||||
|
same for mCaptcha so that service that I setup goes rogue or if someone
|
||||||
|
wants to offer mCaptcha hosted services, they can replicate my set up
|
||||||
|
with ease.</p>
|
||||||
|
<p>But the commercial offering will at no point force me or future
|
||||||
|
maintainers turn mCaptcha into adopting a non-free license like the
|
||||||
|
<a href="https://www.mongodb.com/licensing/server-side-public-license">Server Side Public
|
||||||
|
License</a>.
|
||||||
|
So the following months will see administrative changes within mCaptcha
|
||||||
|
to device mechanisms to prevent me or any future party with influence in
|
||||||
|
mCaptcha development from hurting the project by it non-free.</p>
|
||||||
|
<p>Hostea is also an experiment in Free Software commercial operations, so
|
||||||
|
naturally I’m highly impressed by the ideas that are being discussed
|
||||||
|
there. mCaptcha, too, will borrow ideas from that project to make its
|
||||||
|
development economically sustainable.</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/july-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← July, 2022: Monthly Report
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/may-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
May, 2022: Monthly Report →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/06-22-monthly-report/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
328
blog/may-2022-monthly-report/index.html
Normal file
328
blog/may-2022-monthly-report/index.html
Normal file
|
@ -0,0 +1,328 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>May, 2022: Monthly Report - mCaptcha</title>
|
||||||
|
<meta name="description" content="Python bindings to mCaptcha PoW, DDoS effectiveness measurement, major refactoring to prepare for support for other databases, We also tried to test its DoS defence effectiveness, and some exciting news regarding managed hosting!">
|
||||||
|
<link rel="canonical" href="/blog/may-2022-monthly-report/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/may-2022-monthly-report/icon.png">
|
||||||
|
<meta name="twitter:title" content="May, 2022: Monthly Report">
|
||||||
|
<meta name="twitter:description" content="Python bindings to mCaptcha PoW, DDoS effectiveness measurement, major refactoring to prepare for support for other databases, We also tried to test its DoS defence effectiveness, and some exciting news regarding managed hosting!">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="May, 2022: Monthly Report">
|
||||||
|
<meta property="og:description" content="Python bindings to mCaptcha PoW, DDoS effectiveness measurement, major refactoring to prepare for support for other databases, We also tried to test its DoS defence effectiveness, and some exciting news regarding managed hosting!">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/may-2022-monthly-report/">
|
||||||
|
<meta property="og:image" content="/blog/may-2022-monthly-report/icon.png">
|
||||||
|
<meta property="article:published_time" content="2022-06-10T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-06-14T15:39:59+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": "Blogmay 2022 Monthly Report",
|
||||||
|
"item": "\/blogmay-2022-monthly-report\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#python-bindings-to-mcaptcha-powhttpsgithubcommcaptchapow_sha256">Python bindings to <a href="https://github.com/mCaptcha/pow_sha256/">mCaptcha PoW</a></a></li>
|
||||||
|
<li><a href="#measuring-ddos-protection-effectiveness">Measuring DDoS protection effectiveness</a></li>
|
||||||
|
<li><a href="#refactor">Refactor</a></li>
|
||||||
|
<li><a href="#mcaptcha-is-now-on-the-fediverse">mCaptcha is now on the Fediverse</a></li>
|
||||||
|
<li><a href="#generic-hosting">Generic hosting</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>May, 2022: Monthly Report</h1>
|
||||||
|
<p><small>Posted June 10, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>4 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>Hello and welcome to the May 2022 edition of the monthly report!</p>
|
||||||
|
<p>mCaptcha, for a while was showing all the signs of a dead project:
|
||||||
|
no commits on the repositories and no monthly updates. But the project
|
||||||
|
is far from dead!</p>
|
||||||
|
<h2 id="python-bindings-to-mcaptcha-powhttpsgithubcommcaptchapow_sha256">Python bindings to <a href="https://github.com/mCaptcha/pow_sha256/">mCaptcha PoW</a></h2>
|
||||||
|
<p><a href="https://github.com/mCaptcha/pow_py">pow_py</a> contains bindings to
|
||||||
|
<a href="https://github.com/mCaptcha/pow_sha256">pow_sha256</a>, the
|
||||||
|
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> library
|
||||||
|
that mCaptcha uses. For the uninitiated, the bindings allow for python
|
||||||
|
programs to automatically solve mCaptcha.</p>
|
||||||
|
<p>So if you are writing a script to do some chore on your favourite
|
||||||
|
website that is protected by mCaptcha, you can now solve the mCaptcha
|
||||||
|
automatically from within the program.</p>
|
||||||
|
<p>Here’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;-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">"MCAPTCHA_CAPTCHA_SITEKEY"</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">"MCAPTCHA_CAPTCHA_HOST"</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">"</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/config"</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">"</span><span style="color:#f1fa8c">{</span>MCAPTCHA_HOST<span style="color:#f1fa8c">}</span><span style="color:#f1fa8c">/api/v1/pow/verify"</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">"key"</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">"salt"</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">"string"</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">"difficulty_factor"</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">"key"</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">"nonce"</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">"result"</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">"string"</span>: challenge_config[<span style="color:#f1fa8c">"string"</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">"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">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">"username"</span>: <span style="color:#f1fa8c">"me"</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">"password"</span>: <span style="color:#f1fa8c">"superlongpassword"</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">"confirm_password"</span>: <span style="color:#f1fa8c">"superlongpassword"</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">"mcaptcha__token"</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">"/mCaptcha-protected-form"</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
|
||||||
|
accessibility devices!</p>
|
||||||
|
<h2 id="measuring-ddos-protection-effectiveness">Measuring DDoS protection effectiveness</h2>
|
||||||
|
<p>Proof-of-work has historically been a good method to achieve rate
|
||||||
|
limiting but how much attack can it, specifically mCaptcha’s
|
||||||
|
implementation, withstand when compared to an unprotected endpoint? To
|
||||||
|
find out, we used the recently created Python bindings to the mCaptcha
|
||||||
|
PoW library, the excellent load testing tool,
|
||||||
|
<a href="https://locust.io">locust</a> and wrote
|
||||||
|
<a href="https://github.com/mCaptcha/dos">mCaptcha/dos</a>!</p>
|
||||||
|
<p><a href="https://vitap.ac.in">VIT AP</a> kindly permitted me, @realaravinth, to use their network
|
||||||
|
security lab for setting up a isolated, contained testing environment to
|
||||||
|
mount a DDoS attack on a <a href="https://github.com/mCaptcha/dos/tree/master/rust-server/demo-server">test
|
||||||
|
server</a>
|
||||||
|
instance.</p>
|
||||||
|
<p>The initial topology consisted of one mCaptcha instance, one DDoS demo
|
||||||
|
server, one locust node running in leader configuration and six locust
|
||||||
|
nodes running in follower configuration. I was authorised to use the
|
||||||
|
netsec lab for three days, which unfortunately wasn’t enough to go
|
||||||
|
finish running the experiment. <a href="https://sibichakkaravarthy.github.io/">Dr. Sibi Chakkaravarthy
|
||||||
|
Sethuraman</a> has kindly offered to
|
||||||
|
arrange authorisation to use the netsec lab once again in July 2022,
|
||||||
|
during which I hope to finish running the experiment</p>
|
||||||
|
<p>Special thanks to <a href="http://ackr8.com/">ackr-8</a> and
|
||||||
|
<a href="https://github.com/alan2000alex">alan2000alex</a> for help with setting up
|
||||||
|
infrastructure of the experiment.</p>
|
||||||
|
<h2 id="refactor">Refactor</h2>
|
||||||
|
<p>mCaptcha underwent a major refactor during the month of May: We re-wrote
|
||||||
|
and cleaned up all database-related stuff for higher flexibility
|
||||||
|
and generally good architecture. This refactor lays the foundation
|
||||||
|
for implementing support for alternate database software
|
||||||
|
programs(we currently support PostgreSQL only).</p>
|
||||||
|
<h2 id="mcaptcha-is-now-on-the-fediverse">mCaptcha is now on the Fediverse</h2>
|
||||||
|
<p>We recently joined the Fediverse on a
|
||||||
|
<a href="https://docs.gotosocial.org/">GoToSocial</a> instance run by
|
||||||
|
@realaravinth. We’ll soon be deleting our Twitter account in favour of
|
||||||
|
the Fediverse account.</p>
|
||||||
|
<p><strong>Fediverse account:</strong>
|
||||||
|
<a href="https://gts.batsense.net/@mcaptcha">@mCaptcha@batsense.net</a></p>
|
||||||
|
<h2 id="generic-hosting">Generic hosting</h2>
|
||||||
|
<p>I, @realaravinth, have been busy with <a href="https://forgeflux.org">ForgeFlux</a>
|
||||||
|
and <a href="https://hostea.org">Hostea</a> — both of which are <a href="https://en.wikipedia.org/wiki/Forge_(software)">software
|
||||||
|
forge</a> related and so
|
||||||
|
when usable, will mostly improve the Free Software ecosystem. Hostea is
|
||||||
|
a project that aims to create a libre software development ecosystem and
|
||||||
|
provide managed hosting for the same. The project is <a href="https://forum.hostea.org/t/a-guide-to-hostea-governance/57">built by a
|
||||||
|
horizontal community</a>, which allows for multiple service providers who
|
||||||
|
adhere to the Hostea policies to operate
|
||||||
|
under the Hostea umbrella — essentially allowing for the creation of
|
||||||
|
smaller, highly localised cooperatives.</p>
|
||||||
|
<p>Cooperatives are interesting, and we believe that mCaptcha, too, can
|
||||||
|
benefit from such an architecture as it will prevent any one party from
|
||||||
|
single-handedly sabotaging the project. The experience gained from
|
||||||
|
Hostea will be reused in providing managed hosting for mCaptcha.</p>
|
||||||
|
<p>By the end of this year, mCaptcha will reorganise into a horizontal
|
||||||
|
community and adopt <a href="https://en.wikipedia.org/wiki/Radical_transparency#Radical_corporate_transparency">radical transparency</a> to improve trust and
|
||||||
|
reliability of the project</p>
|
||||||
|
<blockquote>
|
||||||
|
<p>P.S: I, realaravinth, would do it sooner but I’m a little busy right
|
||||||
|
now, so if someone is interested to help out do reach out and so that
|
||||||
|
we could do it sooner!</p>
|
||||||
|
</blockquote>
|
||||||
|
<p>In context of mCaptcha, radical transparency will include all decisions
|
||||||
|
publicly made, funding and expenses publicly documented, and all
|
||||||
|
collaborations, too, publicly documented. This of course doesn’t imply
|
||||||
|
that private, personally identifiable information(addresses and phone
|
||||||
|
numbers, for instance) will be publicly disclosed. Such information will
|
||||||
|
be redacted and published.</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/june-2022-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← June, 2022: Monthly Report
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/december-2021-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
December, 2021: Monthly Report →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/05-22-monthly-report/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
411
blog/pow-performance/index.html
Normal file
411
blog/pow-performance/index.html
Normal file
|
@ -0,0 +1,411 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>PoW performance - mCaptcha</title>
|
||||||
|
<meta name="description" content="PoW performance of native and WASM implementations. Does the native implementation have and edge over the WASM library?">
|
||||||
|
<link rel="canonical" href="/blog/pow-performance/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/pow-performance/icon.png">
|
||||||
|
<meta name="twitter:title" content="PoW performance">
|
||||||
|
<meta name="twitter:description" content="PoW performance of native and WASM implementations. Does the native implementation have and edge over the WASM library?">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="PoW performance">
|
||||||
|
<meta property="og:description" content="PoW performance of native and WASM implementations. Does the native implementation have and edge over the WASM library?">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/pow-performance/">
|
||||||
|
<meta property="og:image" content="/blog/pow-performance/icon.png">
|
||||||
|
<meta property="article:published_time" content="2021-09-01T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-09-01T15:33:12+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": "Blogpow Performance",
|
||||||
|
"item": "\/blogpow-performance\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#benchmark-tools">Benchmark tools</a></li>
|
||||||
|
<li><a href="#results">Results</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#native">Native</a></li>
|
||||||
|
<li><a href="#browser">Browser</a></li>
|
||||||
|
<li><a href="#firefox">Firefox</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#conclusion">Conclusion</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>PoW performance</h1>
|
||||||
|
<p><small>Posted September 1, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited September 1, 2021</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>mCaptcha uses a
|
||||||
|
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a> mechanism
|
||||||
|
to rate limit users or potential bots. In order for this to be
|
||||||
|
effective, the PoW should be configured properly. The difficulty
|
||||||
|
requirement can’t be too high, as it could cause accessibility issues on
|
||||||
|
the client-side while at the same time, it shouldn’t be too low, as it
|
||||||
|
wouldn’t offer proper protection against bots.</p>
|
||||||
|
<p>Malicious bots(the ones that wreak havoc), run native code which is
|
||||||
|
capable of running in a multi-threaded context. This creates an unfair
|
||||||
|
advantage for crackers using these bots over legitimate users, who
|
||||||
|
usually use browsers to access a website.</p>
|
||||||
|
<p>I wanted to see how much of an advantage a native program would have
|
||||||
|
over our WASM library.</p>
|
||||||
|
<h2 id="benchmark-tools">Benchmark tools</h2>
|
||||||
|
<p>So I wrote these to compare native and WASM performances:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Browser benchmark: <a href="https://mCaptcha.github.io/benches">https://mCaptcha.github.io/benches</a></li>
|
||||||
|
<li>Native benchmark: <a href="https://github.com/mCaptcha/cli/blob/master/scripts/bench.sh">mCaptcha/cli managed by scripts/bench.sh</a></li>
|
||||||
|
</ul>
|
||||||
|
<div class="alert alert-warning d-flex" role="alert">
|
||||||
|
<div class="flex-shrink-1 alert-icon">⭐</div>
|
||||||
|
<div class="w-100">Feel free to reproduce the results!</div>
|
||||||
|
</div>
|
||||||
|
<h2 id="results">Results</h2>
|
||||||
|
<p>The tests were run on my development machine featuring an Intel Core
|
||||||
|
i7-9750h.</p>
|
||||||
|
<h3 id="native">Native</h3>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="text-align: left">Difficulty</th>
|
||||||
|
<th style="text-align: left">Real</th>
|
||||||
|
<th style="text-align: left">User</th>
|
||||||
|
<th style="text-align: left">Sys</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">500000</td>
|
||||||
|
<td style="text-align: left">0m0.220s</td>
|
||||||
|
<td style="text-align: left">0m0.197s</td>
|
||||||
|
<td style="text-align: left">0m0.006s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1000000</td>
|
||||||
|
<td style="text-align: left">0m0.203s</td>
|
||||||
|
<td style="text-align: left">0m0.203s</td>
|
||||||
|
<td style="text-align: left">0m0.000s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1500000</td>
|
||||||
|
<td style="text-align: left">0m0.198s</td>
|
||||||
|
<td style="text-align: left">0m0.198s</td>
|
||||||
|
<td style="text-align: left">0m0.000s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2000000</td>
|
||||||
|
<td style="text-align: left">0m0.203s</td>
|
||||||
|
<td style="text-align: left">0m0.203s</td>
|
||||||
|
<td style="text-align: left">0m0.000s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2500000</td>
|
||||||
|
<td style="text-align: left">0m0.758s</td>
|
||||||
|
<td style="text-align: left">0m0.752s</td>
|
||||||
|
<td style="text-align: left">0m0.003s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3000000</td>
|
||||||
|
<td style="text-align: left">0m0.776s</td>
|
||||||
|
<td style="text-align: left">0m0.769s</td>
|
||||||
|
<td style="text-align: left">0m0.003s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3500000</td>
|
||||||
|
<td style="text-align: left">0m2.010s</td>
|
||||||
|
<td style="text-align: left">0m1.998s</td>
|
||||||
|
<td style="text-align: left">0m0.000s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4000000</td>
|
||||||
|
<td style="text-align: left">0m2.038s</td>
|
||||||
|
<td style="text-align: left">0m2.033s</td>
|
||||||
|
<td style="text-align: left">0m0.003s</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4500000</td>
|
||||||
|
<td style="text-align: left">0m2.014s</td>
|
||||||
|
<td style="text-align: left">0m2.013s</td>
|
||||||
|
<td style="text-align: left">0m0.000s</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h3 id="browser">Browser</h3>
|
||||||
|
<p>I ran the tests on both Firefox and Chromium to compare results</p>
|
||||||
|
<h3 id="firefox">Firefox</h3>
|
||||||
|
<ul>
|
||||||
|
<li><strong>User Agent:</strong> <code>Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0</code></li>
|
||||||
|
<li><strong>Hardware concurrency:</strong> 12</li>
|
||||||
|
</ul>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="text-align: left">Difficulty</th>
|
||||||
|
<th style="text-align: left">Duration(in ms)</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">500000</td>
|
||||||
|
<td style="text-align: left">401</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1000000</td>
|
||||||
|
<td style="text-align: left">413</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1500000</td>
|
||||||
|
<td style="text-align: left">398</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2000000</td>
|
||||||
|
<td style="text-align: left">394</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2500000</td>
|
||||||
|
<td style="text-align: left">1495</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3000000</td>
|
||||||
|
<td style="text-align: left">1556</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3500000</td>
|
||||||
|
<td style="text-align: left">3971</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4000000</td>
|
||||||
|
<td style="text-align: left">4235</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4500000</td>
|
||||||
|
<td style="text-align: left">4116</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<blockquote>
|
||||||
|
<p>To be fair, my Firefox installation is loaded with a gazillion
|
||||||
|
extensions while the Chromium instance is clean, as I don’t use it
|
||||||
|
much</p>
|
||||||
|
</blockquote>
|
||||||
|
<h4 id="chromium">Chromium</h4>
|
||||||
|
<ul>
|
||||||
|
<li><strong>User Agent:</strong> <code>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36</code></li>
|
||||||
|
<li><strong>Hardware concurrency:</strong> 12</li>
|
||||||
|
</ul>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="text-align: left">Difficulty</th>
|
||||||
|
<th style="text-align: left">Duration(in ms)</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">500000</td>
|
||||||
|
<td style="text-align: left">399.40000000037253</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1000000</td>
|
||||||
|
<td style="text-align: left">354.6000000014901</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1500000</td>
|
||||||
|
<td style="text-align: left">351.19999999925494</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2000000</td>
|
||||||
|
<td style="text-align: left">353.80000000074506</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2500000</td>
|
||||||
|
<td style="text-align: left">1337.800000000745</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3000000</td>
|
||||||
|
<td style="text-align: left">1311.199999999255</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3500000</td>
|
||||||
|
<td style="text-align: left">3417.5999999996275</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4000000</td>
|
||||||
|
<td style="text-align: left">3488.800000000745</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4500000</td>
|
||||||
|
<td style="text-align: left">3458.2999999988824</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h2 id="conclusion">Conclusion</h2>
|
||||||
|
<p>At the highest difficulty factor, the native implementation was a almost second
|
||||||
|
faster than the WASM library. But the fact that both of them were able
|
||||||
|
to run to completion in under 5 seconds is impressive!</p>
|
||||||
|
<p>So, in my opinion, native implementation is only slightly faster than
|
||||||
|
the WASM library and for all intents and purposes, this shouldn’t matter
|
||||||
|
much.</p>
|
||||||
|
<hr>
|
||||||
|
<p>P.S Work is underway to benchmark multiple platforms. A detailed report
|
||||||
|
will be published when that data is available.</p>
|
||||||
|
<p>For this post, I asked some of my friends to run the tests on their
|
||||||
|
computers. The results slightly varied but even the slowest case
|
||||||
|
generated proof for 4500000 difficulty(the highest in this test), in under
|
||||||
|
15 seconds!</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/survey/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Survey
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/say-hello-to-mcaptcha/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Say hello to mCaptcha →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/pow-performance/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
250
blog/say-hello-to-mcaptcha/index.html
Normal file
250
blog/say-hello-to-mcaptcha/index.html
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Say hello to mCaptcha - mCaptcha</title>
|
||||||
|
<meta name="description" content="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!">
|
||||||
|
<link rel="canonical" href="/blog/say-hello-to-mcaptcha/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/say-hello-to-mcaptcha/icon.png">
|
||||||
|
<meta name="twitter:title" content="Say hello to mCaptcha">
|
||||||
|
<meta name="twitter:description" content="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Say hello to mCaptcha">
|
||||||
|
<meta property="og:description" content="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/say-hello-to-mcaptcha/">
|
||||||
|
<meta property="og:image" content="/blog/say-hello-to-mcaptcha/icon.png">
|
||||||
|
<meta property="article:published_time" content="2021-05-26T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-12-02T10:25:42+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": "Blogsay Hello to Mcaptcha",
|
||||||
|
"item": "\/blogsay-hello-to-mcaptcha\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#how-does-it-work">How does it work?</a></li>
|
||||||
|
<li><a href="#okay-but-what-about-bad-actors">Okay, but what about bad actors?</a></li>
|
||||||
|
<li><a href="#why-use-mcaptcha">Why use mCaptcha?</a></li>
|
||||||
|
<li><a href="#how-to-migrate">How to migrate?</a></li>
|
||||||
|
<li><a href="#our-philosophy">Our Philosophy</a></li>
|
||||||
|
<li><a href="#resources">Resources</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>Say hello to mCaptcha</h1>
|
||||||
|
<p><small>Posted May 26, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 2, 2021</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>At mCaptcha, we believe in digital freedom and privacy and so we built a
|
||||||
|
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> based
|
||||||
|
CAPTCHA system that doesn’t track. Seriously, no tracking. But that
|
||||||
|
isn’t the killer feature, our system doesn’t require the user to
|
||||||
|
pick cars or ID sidewalks — our system does it’s thing(usually
|
||||||
|
at the click of a button) and gets out of the way.</p>
|
||||||
|
<h2 id="how-does-it-work">How does it work?</h2>
|
||||||
|
<p>mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.</p>
|
||||||
|
<p>When a user wants to do something on an mCaptcha-protected website,</p>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>they will have to generate proof-of-work(a bunch of math that will
|
||||||
|
takes time to compute) and submit it to mCaptcha.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>We’ll validate the proof:</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<ul>
|
||||||
|
<li>if validation is unsuccessful, they will be prevented from accessing
|
||||||
|
the destination website</li>
|
||||||
|
<li>if validation is successful, read on,</li>
|
||||||
|
</ul>
|
||||||
|
<ol start="3">
|
||||||
|
<li>
|
||||||
|
<p>They will be issued a token that should be submit along with the
|
||||||
|
request/form to the destination website.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>The destination website validates the submitted token with
|
||||||
|
mCaptcha before processing the request.</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<p>The whole process is automated from the user’s point of view. All they
|
||||||
|
have to do is click on a button to initiate the process.</p>
|
||||||
|
<h2 id="okay-but-what-about-bad-actors">Okay, but what about bad actors?</h2>
|
||||||
|
<p>mCaptcha makes interacting with websites (computationally)expensive for
|
||||||
|
the user. A well-behaving user will experience a slight delay(no delay
|
||||||
|
when under moderate load to 2-3 seconds when under attack; PoW difficulty is
|
||||||
|
variable) but if someone wants to hammer your site, they will have to do
|
||||||
|
more work to send requests than your server you will have to do to respond
|
||||||
|
to their request.</p>
|
||||||
|
<h2 id="why-use-mcaptcha">Why use mCaptcha?</h2>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Free software, privacy focused</strong></li>
|
||||||
|
<li><strong>Seamless</strong> UX — No more annoying CAPTCHAs!</li>
|
||||||
|
<li><strong>IP address independent:</strong> your users are behind a NAT? We got you covered!</li>
|
||||||
|
<li><strong>Automatic bot throttling</strong></li>
|
||||||
|
<li><strong>Resistant to replay attacks:</strong> proof-of-work configurations have short lifetimes(30s) and can be used only once. If a user submits a PoW to an already used configuration or an expired one, their proof will be rejected.</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="how-to-migrate">How to migrate?</h2>
|
||||||
|
<p>Our client libraries are mostly compatible with reCAPTCHA and hCaptcha.
|
||||||
|
A detailed guide will be published soon.</p>
|
||||||
|
<h2 id="our-philosophy">Our Philosophy</h2>
|
||||||
|
<p>Man has has come so far only because our ancestors chose to
|
||||||
|
share their knowledge with others. If everything was labeled
|
||||||
|
intellectual property, we might still be stuck in Stone Age. The idea of
|
||||||
|
intellectual property is alien to us. For this reason, all of our source
|
||||||
|
code is freely available(both as in freedom and beers) at <a href="https://github.com/mCaptcha/">our
|
||||||
|
GitHub</a>.</p>
|
||||||
|
<h2 id="resources">Resources</h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://github.com/mCaptcha/guard">guard</a> - mCaptcha backend <code>AGPL</code></li>
|
||||||
|
<li><a href="https://github.com/mCaptcha/browser">frontend library</a> - mCaptcha frontend library. <code>MIT/APACHE</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/pow-performance/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← PoW performance
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/say-hello-to-mcaptcha/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
73
blog/sitemap.xml
Normal file
73
blog/sitemap.xml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?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>/blog/testing-on-screenreaders/</loc>
|
||||||
|
<lastmod>2024-02-12T18:21:49+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/introducing-mcaptcha-net/</loc>
|
||||||
|
<lastmod>2023-10-21T16:48:55+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/february-2023-monthly-report/</loc>
|
||||||
|
<lastmod>2023-03-09T02:30:43+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/july-2022-monthly-report/</loc>
|
||||||
|
<lastmod>2024-03-23T13:48:45+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/june-2022-monthly-report/</loc>
|
||||||
|
<lastmod>2022-07-07T20:05:57+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/may-2022-monthly-report/</loc>
|
||||||
|
<lastmod>2022-06-14T15:39:59+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/december-2021-monthly-report/</loc>
|
||||||
|
<lastmod>2022-06-14T15:39:59+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/survey/</loc>
|
||||||
|
<lastmod>2021-12-23T23:26:38+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/pow-performance/</loc>
|
||||||
|
<lastmod>2021-09-01T15:33:12+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/blog/say-hello-to-mcaptcha/</loc>
|
||||||
|
<lastmod>2021-12-02T10:25:42+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
210
blog/survey/index.html
Normal file
210
blog/survey/index.html
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Survey - mCaptcha</title>
|
||||||
|
<meta name="description" content="We are conducting a survey to benchmark and gather performance metrics of our system on various devices">
|
||||||
|
<link rel="canonical" href="/blog/survey/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/survey/icon.png">
|
||||||
|
<meta name="twitter:title" content="Survey">
|
||||||
|
<meta name="twitter:description" content="We are conducting a survey to benchmark and gather performance metrics of our system on various devices">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Survey">
|
||||||
|
<meta property="og:description" content="We are conducting a survey to benchmark and gather performance metrics of our system on various devices">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/survey/">
|
||||||
|
<meta property="og:image" content="/blog/survey/icon.png">
|
||||||
|
<meta property="article:published_time" content="2021-10-28T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-12-23T23:26:38+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": "Blogsurvey",
|
||||||
|
"item": "\/blogsurvey\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#winners">Winners</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>Survey</h1>
|
||||||
|
<p><small>Posted October 28, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 23, 2021</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead">We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><strong>Survey link:</strong> <a href="https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about">https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about</a></p>
|
||||||
|
<p><strong>NOTE:</strong> The survey(at least, the lucky draw is temporarily suspended
|
||||||
|
due to some logistical reasons. Apologies for any inconvenience caused.</p>
|
||||||
|
<p>mCaptcha relies on a
|
||||||
|
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a>
|
||||||
|
mechanism to guard against bots. In order for this to be effective, the
|
||||||
|
difficulty factor should be configured properly. If the difficulty
|
||||||
|
factor is too high all the time, it will inconvenience the users and if
|
||||||
|
it’s too low during attack, the defence will be weak.</p>
|
||||||
|
<p>So we are conducting a survey to gather performance benchmarks from
|
||||||
|
various devices and browsers. The data collected from the survey will be made
|
||||||
|
public, we believe it will guide sysadmins configure difficulty factor
|
||||||
|
properly.</p>
|
||||||
|
<p>If you are interested in the lucky draw, please save the <code>submission ID</code> and the <code>proof</code> will be presented
|
||||||
|
to you at the end of the survey.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/blog/survey/survey-id_hu7299944065284307489.jpg" data-srcset="/blog/survey/survey-id_hu4337393887909864792.jpg 900w,/blog/survey/survey-id_hu17268135574053122755.jpg 800w,/blog/survey/survey-id_hu3883937832880480687.jpg 700w,/blog/survey/survey-id_hu17355293655333790957.jpg 600w,/blog/survey/survey-id_hu5438270181587788419.jpg 500w" width="1129" height="325" alt="survey lucky draw identifier credentials">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/blog/survey/survey-id_hu4337393887909864792.jpg 900w,/blog/survey/survey-id_hu17268135574053122755.jpg 800w,/blog/survey/survey-id_hu3883937832880480687.jpg 700w,/blog/survey/survey-id_hu17355293655333790957.jpg 600w,/blog/survey/survey-id_hu5438270181587788419.jpg 500w" src="/blog/survey/survey-id.jpg" width="1129" height="325" alt="survey lucky draw identifier credentials"></noscript>
|
||||||
|
<figcaption class="figure-caption">Lucky draw credentials</figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="winners">Winners</h2>
|
||||||
|
<p>This blog post will be updated with the winning submission IDs and the
|
||||||
|
winners should provide the matching <code>proof</code> to claim their rewards.</p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a href="/blog/december-2021-monthly-report/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← December, 2021: Monthly Report
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/blog/pow-performance/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
PoW performance →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/survey/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
197
blog/testing-on-screenreaders/index.html
Normal file
197
blog/testing-on-screenreaders/index.html
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Testing on screenreaders - mCaptcha</title>
|
||||||
|
<meta name="description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
<link rel="canonical" href="/blog/testing-on-screenreaders/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/blog/testing-on-screenreaders/icon.png">
|
||||||
|
<meta name="twitter:title" content="Testing on screenreaders">
|
||||||
|
<meta name="twitter:description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Testing on screenreaders">
|
||||||
|
<meta property="og:description" content="A network of mCaptcha instances sharing PoW stats to make mCaptcha more efficient and accessible">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/blog/testing-on-screenreaders/">
|
||||||
|
<meta property="og:image" content="/blog/testing-on-screenreaders/icon.png">
|
||||||
|
<meta property="article:published_time" content="2024-02-10T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2024-02-12T18:21:49+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": "Blogtesting on Screenreaders",
|
||||||
|
"item": "\/blogtesting-on-screenreaders\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="blog 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#android-in-built-screen-reader-on-fennec">Android in-built screen reader on Fennec</a></li>
|
||||||
|
<li><a href="#nvda-on-microsoft-windows-and-mozilla-firefox">NVDA on Microsoft Windows and Mozilla Firefox</a></li>
|
||||||
|
<li><a href="#macos-in-built-screen-reader-on-google-chrome">macOS in-built screen reader on Google Chrome</a></li>
|
||||||
|
<li><a href="#ios-in-built-screen-reader-on-safari">iOS in-built screen reader on Safari</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="blog-header">
|
||||||
|
<h1>Testing on screenreaders</h1>
|
||||||
|
<p><small>Posted February 10, 2024 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited February 12, 2024</small><p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p><a href="www.han.nl">HAN University of Applied Sciences</a> kindly did an
|
||||||
|
accessibility test of the mCaptcha widget and the showcase site, which
|
||||||
|
features a real world integration of mCaptcha in a third-party service.
|
||||||
|
The report motived us to make screen reader testing an integral part of
|
||||||
|
the release process.</p>
|
||||||
|
<p>Here are the results:</p>
|
||||||
|
<h2 id="android-in-built-screen-reader-on-fennec">Android in-built screen reader on Fennec</h2>
|
||||||
|
<iframe title="Testing mCaptcha on Android screenreader with Fennec browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/e9579d73-b19e-4051-9337-8432fc15c3b3" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
|
||||||
|
<h2 id="nvda-on-microsoft-windows-and-mozilla-firefox">NVDA on Microsoft Windows and Mozilla Firefox</h2>
|
||||||
|
<iframe title="Testing mCaptcha on NVDA screen reader on MS Windows with Mozilla Firefox browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/cf534270-8089-4aad-95b3-543c467a6a12" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
|
||||||
|
<h2 id="macos-in-built-screen-reader-on-google-chrome">macOS in-built screen reader on Google Chrome</h2>
|
||||||
|
<iframe title="Testing mCaptcha on macOS in-built screen reader and Google Chrome browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/45be4f8c-1978-4650-b9f1-972cfead8420" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
|
||||||
|
<h2 id="ios-in-built-screen-reader-on-safari">iOS in-built screen reader on Safari</h2>
|
||||||
|
<iframe title="Testing mCaptcha on iOS screenreader with Safari" width="560" height="315" src="https://peertube.batsense.net/videos/embed/ac9722a4-3dce-4c40-bb0c-7bc8d721c3db" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
<div class="docs-navigation d-flex justify-content-between">
|
||||||
|
|
||||||
|
<a class="ms-auto" href="/blog/introducing-mcaptcha-net/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Introducing mCaptcha net →
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/blog/testing-on-screenreaders.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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
181
community/index.html
Normal file
181
community/index.html
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Community - mCaptcha</title>
|
||||||
|
<meta name="description" content="Drop us an email.">
|
||||||
|
<link rel="canonical" href="/community/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Community">
|
||||||
|
<meta name="twitter:description" content="Drop us an email.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Community">
|
||||||
|
<meta property="og:description" content="Drop us an email.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/community/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-10T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T18:47:16+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": "Community",
|
||||||
|
"item": "\/community\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#matrix-community">Matrix Community</a></li>
|
||||||
|
<li><a href="#fediverse-handle">Fediverse handle</a></li>
|
||||||
|
<li><a href="#official-twitter-handle">Official Twitter handle</a></li>
|
||||||
|
<li><a href="#lead-developer-email">Lead developer email</a></li>
|
||||||
|
<li><a href="#bug-reports">Bug reports</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Community</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<h2 id="matrix-community">Matrix Community<a href="#matrix-community" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Come say hi at our <a href="https://matrix.to/#/#mcaptcha:matrix.batsense.net">Matrix community</a>!</p>
|
||||||
|
<h2 id="fediverse-handle">Fediverse handle<a href="#fediverse-handle" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>We are on the Fediverse at
|
||||||
|
<a href="https://gts.batsense.net/@mcaptcha">@mCapthca@batsense.net</a>, toot at
|
||||||
|
us for queries and whatnot :)</p>
|
||||||
|
<h2 id="official-twitter-handle">Official Twitter handle<a href="#official-twitter-handle" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>The project also has a twitter twitter presence at <a href="https://twitter.com/m_captcha/">@m_captcha(Nitter
|
||||||
|
hyperlink)</a>. This space is used in
|
||||||
|
addition to the blog to post short updates.</p>
|
||||||
|
<h2 id="lead-developer-email">Lead developer email<a href="#lead-developer-email" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Write to me at <a href="mailto:realaravinth@batsense.net">realaravinth@batsense.net</a>!</p>
|
||||||
|
<h2 id="bug-reports">Bug reports<a href="#bug-reports" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>We use GitHub for managing tickets</p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/community/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
173
contact/index.html
Normal file
173
contact/index.html
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Contact - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha contact information">
|
||||||
|
<link rel="canonical" href="/contact/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Contact">
|
||||||
|
<meta name="twitter:description" content="mCaptcha contact information">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Contact">
|
||||||
|
<meta property="og:description" content="mCaptcha contact information">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/contact/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2020-08-27T19:23:18+02:00">
|
||||||
|
<meta property="article:modified_time" content="2021-05-27T18:12: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": "Contact",
|
||||||
|
"item": "\/contact\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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 active">
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#matrix-community">Matrix Community</a></li>
|
||||||
|
<li><a href="#lead-developer">Lead developer</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Contact</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<h2 id="matrix-community">Matrix Community<a href="#matrix-community" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>We have a <a href="https://matrix.to/#/+mcaptcha:matrix.batsense.net">Matrix
|
||||||
|
community</a>, come say
|
||||||
|
hi!.</p>
|
||||||
|
<h2 id="lead-developer">Lead developer<a href="#lead-developer" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>You can find me(<a href="/contributors/aravinth-manivannan/">@realaravinth</a>) on
|
||||||
|
the <a href="https://matrix.to/#/@realaravinth:matrix.batsense.net">Matrix</a>, on
|
||||||
|
<a href="https://github.com/realaravinth">GitHub</a> or email me at
|
||||||
|
<a href="mailto:realaravinth@batsense.net">realaravinth@batense.net</a>.</p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/contact/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
234
contributors/aravinth-manivannan/index.html
Normal file
234
contributors/aravinth-manivannan/index.html
Normal file
|
@ -0,0 +1,234 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Aravinth Manivannan - mCaptcha</title>
|
||||||
|
<meta name="description" content="Creator of mCaptcha.">
|
||||||
|
<link rel="canonical" href="/contributors/aravinth-manivannan/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Aravinth Manivannan">
|
||||||
|
<meta name="twitter:description" content="Creator of mCaptcha.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Aravinth Manivannan">
|
||||||
|
<meta property="og:description" content="Creator of mCaptcha.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/contributors/aravinth-manivannan/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="og:updated_time" content="2021-05-26T14:18:41+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+xml" href="/contributors/aravinth-manivannan/index.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": "Contributorsaravinth Manivannan",
|
||||||
|
"item": "\/contributorsaravinth-manivannan\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="contributors 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">Aravinth Manivannan</h1>
|
||||||
|
<div class="text-center"><p>Creator of mCaptcha.</p>
|
||||||
|
<p><a href="https://batsense.net">@realaravinth</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="card-list">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/testing-on-screenreaders/">Testing on screenreaders</a></h2>
|
||||||
|
<p></p>
|
||||||
|
<p><small>Posted February 10, 2024 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited February 12, 2024</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/introducing-mcaptcha-net/">Introducing mCaptcha net</a></h2>
|
||||||
|
<p></p>
|
||||||
|
<p><small>Posted October 19, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited October 21, 2023</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/february-2023-monthly-report/">February, 2023: Monthly Report</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted March 8, 2023 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 9, 2023</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/july-2022-monthly-report/">July, 2022: Monthly Report</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted August 4, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited March 23, 2024</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/june-2022-monthly-report/">June, 2022: Monthly Report</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted July 7, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited July 7, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/may-2022-monthly-report/">May, 2022: Monthly Report</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted June 10, 2022 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>4 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/december-2021-monthly-report/">December, 2021: Monthly Report</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted December 23, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited June 14, 2022</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/survey/">Survey</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted October 28, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>1 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 23, 2021</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/pow-performance/">PoW performance</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted September 1, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited September 1, 2021</small><p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/blog/say-hello-to-mcaptcha/">Say hello to mCaptcha</a></h2>
|
||||||
|
<p>We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p><small>Posted May 26, 2021 by <a class="stretched-link position-relative" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p>
|
||||||
|
<p><small>Last Edited December 2, 2021</small><p>
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
82
contributors/aravinth-manivannan/index.xml
Normal file
82
contributors/aravinth-manivannan/index.xml
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Aravinth Manivannan on </title>
|
||||||
|
<link>/contributors/aravinth-manivannan/</link>
|
||||||
|
<description>Recent content in Aravinth Manivannan on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Sat, 23 Mar 2024 13:48:45 +0530</lastBuildDate>
|
||||||
|
<atom:link href="/contributors/aravinth-manivannan/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Testing on screenreaders</title>
|
||||||
|
<link>/blog/testing-on-screenreaders/</link>
|
||||||
|
<pubDate>Sat, 10 Feb 2024 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/testing-on-screenreaders/</guid>
|
||||||
|
<description><p><a href="www.han.nl">HAN University of Applied Sciences</a> kindly did an
accessibility test of the mCaptcha widget and the showcase site, which
features a real world integration of mCaptcha in a third-party service.
The report motived us to make screen reader testing an integral part of
the release process.</p>
<p>Here are the results:</p>
<h2 id="android-in-built-screen-reader-on-fennec">Android in-built screen reader on Fennec</h2>
<iframe title="Testing mCaptcha on Android screenreader with Fennec browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/e9579d73-b19e-4051-9337-8432fc15c3b3" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="nvda-on-microsoft-windows-and-mozilla-firefox">NVDA on Microsoft Windows and Mozilla Firefox</h2>
<iframe title="Testing mCaptcha on NVDA screen reader on MS Windows with Mozilla Firefox browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/cf534270-8089-4aad-95b3-543c467a6a12" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="macos-in-built-screen-reader-on-google-chrome">macOS in-built screen reader on Google Chrome</h2>
<iframe title="Testing mCaptcha on macOS in-built screen reader and Google Chrome browser" width="560" height="315" src="https://peertube.batsense.net/videos/embed/45be4f8c-1978-4650-b9f1-972cfead8420" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>
<h2 id="ios-in-built-screen-reader-on-safari">iOS in-built screen reader on Safari</h2>
<iframe title="Testing mCaptcha on iOS screenreader with Safari" width="560" height="315" src="https://peertube.batsense.net/videos/embed/ac9722a4-3dce-4c40-bb0c-7bc8d721c3db" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"></iframe></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Introducing mCaptcha net</title>
|
||||||
|
<link>/blog/introducing-mcaptcha-net/</link>
|
||||||
|
<pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/introducing-mcaptcha-net/</guid>
|
||||||
|
<description><p>mCaptcha uses a Proof-of-Work (PoW) based algorithm to offer
Denial-of-Service protection, because of <a href="https://www.w3.org/TR/turingtest/#proof-of-work">its excellent accessibility
characteristics</a>. PoW
within mCaptcha is configuration &mdash; webmasters can configure
<a href="/docs/terminology/difficulty-factor">difficulty factors</a> for their
installations, which determines waiting time for visitors. But PoW can
become inaccessible if webmasters choose a very high difficulty factor.
So they have to maintain a balance which imposes sufficient load on DDoS
attackers while also being accessible to common folk.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>February, 2023: Monthly Report</title>
|
||||||
|
<link>/blog/february-2023-monthly-report/</link>
|
||||||
|
<pubDate>Wed, 08 Mar 2023 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/february-2023-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the (August 2022 to) February, 2023 monthly report!</p>
<h2 id="tldr">TL;DR</h2>
<p><em><a href="https://gusted.xyz">Gusted</a> and I secured funding from NLnet to work
on mCaptcha in 2023, we suffered an outage from 15 January to February
6, polyfill benchmarking support in mCaptcha</em></p>
<h2 id="we-have-funding">We have funding!</h2>
<p><a href="https://gusted.xyz">Gusted</a> and I applied and secured funding through
2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0
Entrust</a> Fund, via <a href="https://nlnet.nl">NLnet</a>.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>July, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/july-2022-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 04 Aug 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/july-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the July, 2022 monthly report!</p>
<h2 id="tldr">TL;DR</h2>
<p><em>Codeberg is trying out mCaptcha, Gitea is getting mCaptcha support,
mCaptcha supports MariaDB, I&rsquo;ve applied for NLnet and Open Tech Fund,
documentation is updated: tutorials and glossary is added and glue libraries
have new releases.</em></p>
<h2 id="codeberg-is-deploying-mcaptcha">Codeberg is deploying mCaptcha</h2>
<p>Codeberg is committed to trying out mCaptcha to make their platform more
accessible: they currently use a text-based CAPTCHA, which will be
replaced by mCaptcha. The decision was finalized after I presented
mCaptcha to them at a meeting their organized. Please see
<a href="https://batsense.net/talks/codeberg-introducing-mcaptcha/">here</a> for
slides.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>June, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/june-2022-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/june-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the June 2022 edition of the monthly report!</p>
<h2 id="mcaptcha-is-incorporated">mCaptcha is incorporated!</h2>
<p>I spent June doing non-technical tasks but I made significant
progress: I had been trying to do it since summer 2021, but I faced
various setbacks along the way. A family friend, who is also an auditor
helped me finally get mCaptcha incorporated!</p>
<p>And we&rsquo;ve already filed successfully filed the first tax return too!</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>May, 2022: Monthly Report</title>
|
||||||
|
<link>/blog/may-2022-monthly-report/</link>
|
||||||
|
<pubDate>Fri, 10 Jun 2022 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/may-2022-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the May 2022 edition of the monthly report!</p>
<p>mCaptcha, for a while was showing all the signs of a dead project:
no commits on the repositories and no monthly updates. But the project
is far from dead!</p>
<h2 id="python-bindings-to-mcaptcha-powhttpsgithubcommcaptchapow_sha256">Python bindings to <a href="https://github.com/mCaptcha/pow_sha256/">mCaptcha PoW</a></h2>
<p><a href="https://github.com/mCaptcha/pow_py">pow_py</a> contains bindings to
<a href="https://github.com/mCaptcha/pow_sha256">pow_sha256</a>, the
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> library
that mCaptcha uses. For the uninitiated, the bindings allow for python
programs to automatically solve mCaptcha.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>December, 2021: Monthly Report</title>
|
||||||
|
<link>/blog/december-2021-monthly-report/</link>
|
||||||
|
<pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/december-2021-monthly-report/</guid>
|
||||||
|
<description><p>Hello and welcome to the first edition of the monthly report!</p>
<p>I believe free software like mCaptcha is critical to a healthy internet
but being a one-person show, there&rsquo;s hardly any accountability in the
way software is built. I hope, through monthly reports, I can explain
the logic and intentions behind decisions taken in the development
process.</p>
<p>This month, the following things were accomplished:</p>
<h2 id="1-full-librejs-compliance">1. Full LibreJS Compliance</h2>
<p>The CAPTCHA widget and the admin dashboard are 100% LibreJS compliant!</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Survey</title>
|
||||||
|
<link>/blog/survey/</link>
|
||||||
|
<pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/survey/</guid>
|
||||||
|
<description><p><strong>Survey link:</strong> <a href="https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about">https://survey.mcaptcha.org/survey/campaigns/b717e51e-24d4-4ab6-912f-de2dfe3ce1fe/about</a></p>
<p><strong>NOTE:</strong> The survey(at least, the lucky draw is temporarily suspended
due to some logistical reasons. Apologies for any inconvenience caused.</p>
<p>mCaptcha relies on a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a>
mechanism to guard against bots. In order for this to be effective, the
difficulty factor should be configured properly. If the difficulty
factor is too high all the time, it will inconvenience the users and if
it&rsquo;s too low during attack, the defence will be weak.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>PoW performance</title>
|
||||||
|
<link>/blog/pow-performance/</link>
|
||||||
|
<pubDate>Wed, 01 Sep 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/pow-performance/</guid>
|
||||||
|
<description><p>mCaptcha uses a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work(PoW)</a> mechanism
to rate limit users or potential bots. In order for this to be
effective, the PoW should be configured properly. The difficulty
requirement can&rsquo;t be too high, as it could cause accessibility issues on
the client-side while at the same time, it shouldn&rsquo;t be too low, as it
wouldn&rsquo;t offer proper protection against bots.</p>
<p>Malicious bots(the ones that wreak havoc), run native code which is
capable of running in a multi-threaded context. This creates an unfair
advantage for crackers using these bots over legitimate users, who
usually use browsers to access a website.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Say hello to mCaptcha</title>
|
||||||
|
<link>/blog/say-hello-to-mcaptcha/</link>
|
||||||
|
<pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/blog/say-hello-to-mcaptcha/</guid>
|
||||||
|
<description><p>At mCaptcha, we believe in digital freedom and privacy and so we built a
<a href="https://en.wikipedia.org/wiki/Proof_of_work">proof-of-work</a> based
CAPTCHA system that doesn&rsquo;t track. Seriously, no tracking. But that
isn&rsquo;t the killer feature, our system doesn&rsquo;t require the user to
pick cars or ID sidewalks &mdash; our system does it&rsquo;s thing(usually
at the click of a button) and gets out of the way.</p>
<h2 id="how-does-it-work">How does it work?</h2>
<p>mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
158
contributors/index.html
Normal file
158
contributors/index.html
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Contributors - mCaptcha</title>
|
||||||
|
<meta name="description" content="The mCaptcha contributors.">
|
||||||
|
<link rel="canonical" href="/contributors/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Contributors">
|
||||||
|
<meta name="twitter:description" content="The mCaptcha contributors.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Contributors">
|
||||||
|
<meta property="og:description" content="The mCaptcha contributors.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/contributors/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="og:updated_time" content="2021-05-26T14:18:41+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+xml" href="/contributors/index.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": "Contributors",
|
||||||
|
"item": "\/contributors\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="contributors 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">Contributors</h1>
|
||||||
|
<div class="text-center"><p>The mCaptcha contributors.</p>
|
||||||
|
</div>
|
||||||
|
<div class="card-list">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h3"><a class="stretched-link text-body" href="/contributors/aravinth-manivannan/">Aravinth Manivannan</a></h2>
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
19
contributors/index.xml
Normal file
19
contributors/index.xml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Contributors on </title>
|
||||||
|
<link>/contributors/</link>
|
||||||
|
<description>Recent content in Contributors on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Wed, 26 May 2021 14:18:41 +0530</lastBuildDate>
|
||||||
|
<atom:link href="/contributors/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Aravinth Manivannan</title>
|
||||||
|
<link>/contributors/aravinth-manivannan/</link>
|
||||||
|
<pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/contributors/aravinth-manivannan/</guid>
|
||||||
|
<description><p>Creator of mCaptcha.</p>
<p><a href="https://batsense.net">@realaravinth</a></p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
249
docs/api/browser/index.html
Normal file
249
docs/api/browser/index.html
Normal file
|
@ -0,0 +1,249 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Browser libraries - mCaptcha</title>
|
||||||
|
<meta name="description" content="API documenttion for mCaptcha WASM library">
|
||||||
|
<link rel="canonical" href="/docs/api/browser/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Browser libraries">
|
||||||
|
<meta name="twitter:description" content="API documenttion for mCaptcha WASM library">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Browser libraries">
|
||||||
|
<meta property="og:description" content="API documenttion for mCaptcha WASM library">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/api/browser/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-11T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T20:24:18+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": "Docsapibrowser",
|
||||||
|
"item": "\/docsapibrowser\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>API</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link active" 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="#glue-code">Glue code</a></li>
|
||||||
|
<li><a href="#widget-program">Widget Program</a></li>
|
||||||
|
<li><a href="#proof-of-workpow-library">Proof-of-Work(PoW) library</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Browser libraries</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>The browser part of mCaptcha is divided into three components.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Glue code</li>
|
||||||
|
<li>Widget program</li>
|
||||||
|
<li>Proof-of-Work libraries(WebAssembly and JavaScript polyfill)</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="glue-code">Glue code<a href="#glue-code" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>This is the code that links mCaptcha with your website’s frontend code.
|
||||||
|
It creates an <code>iframe</code> containing the mCaptcha widget and injects the
|
||||||
|
received verification proof token into a hidden input field.</p>
|
||||||
|
<p>Support is available for various frameworks, see
|
||||||
|
<a href="https://github.com/mCaptcha/glue"><code>mCaptcha/glue</code></a> for the full list.</p>
|
||||||
|
<p>For frameworks without official support, a low-level library,
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/core-glue"><code>@mcaptcha/core-glue</code></a>,
|
||||||
|
can be used to implement support.</p>
|
||||||
|
<h2 id="widget-program">Widget Program<a href="#widget-program" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>This part is served by the mCaptcha backend. It fetches PoW config from
|
||||||
|
the backend, generates proof and submits it for verification. If
|
||||||
|
verification is successful, it sends a message containing the
|
||||||
|
verification proof token to the parent window, assuming it’s loaded as
|
||||||
|
an <code>iframe</code>.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Source code:
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/tree/master/templates/widget"><code>mCaptcha/mCaptcha/templates/widget</code></a></li>
|
||||||
|
</ul>
|
||||||
|
<p>WebAssembly library which generates Proofs of Work for mCaptcha systems.</p>
|
||||||
|
<h2 id="proof-of-workpow-library">Proof-of-Work(PoW) library<a href="#proof-of-workpow-library" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>WebAssembly bindings(<a href="https://github.com/mCaptcha/pow_wasm"><code>mCaptcha/pow_wasm</code></a>) are available for the main rust library(<a href="https://github.com/mCaptcha/pow_sha256"><code>mCaptcha/pow_sha256</code></a>).</p>
|
||||||
|
<p>For browsers without support WebAssembly, a
|
||||||
|
polyfill(<a href="https://github.com/mCaptcha/pow_sha256-polyfill"><code>pow_sha256-polyfill</code></a>)
|
||||||
|
is available.</p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/API/browser.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/help/troubleshooting/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Troubleshooting
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/api/mcaptcha-system/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
mCaptcha System Library →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
203
docs/api/index.html
Normal file
203
docs/api/index.html
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>API - mCaptcha</title>
|
||||||
|
<meta name="description" content="Documentation for libraries used in mCaptcha">
|
||||||
|
<link rel="canonical" href="/docs/api/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="API">
|
||||||
|
<meta name="twitter:description" content="Documentation for libraries used in mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="API">
|
||||||
|
<meta property="og:description" content="Documentation for libraries used in mCaptcha">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/api/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="og:updated_time" content="2022-08-01T22:24:03+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+xml" href="/docs/api/index.xml">
|
||||||
|
<link rel="sitemap" type="application/xml" href="/docs/api/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": "Docsapi",
|
||||||
|
"item": "\/docsapi\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">API</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/api/browser/">Browser Libraries →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/api/mcaptcha-system/">MCaptcha System Library →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/api/pow-sha256/">Pow_sha256 →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
33
docs/api/index.xml
Normal file
33
docs/api/index.xml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>API on </title>
|
||||||
|
<link>/docs/api/</link>
|
||||||
|
<description>Recent content in API on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Mon, 01 Aug 2022 20:24:18 +0530</lastBuildDate>
|
||||||
|
<atom:link href="/docs/api/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Browser libraries</title>
|
||||||
|
<link>/docs/api/browser/</link>
|
||||||
|
<pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/api/browser/</guid>
|
||||||
|
<description><p>The browser part of mCaptcha is divided into three components.</p>
<ul>
<li>Glue code</li>
<li>Widget program</li>
<li>Proof-of-Work libraries(WebAssembly and JavaScript polyfill)</li>
</ul>
<h2 id="glue-code">Glue code</h2>
<p>This is the code that links mCaptcha with your website&rsquo;s frontend code.
It creates an <code>iframe</code> containing the mCaptcha widget and injects the
received verification proof token into a hidden input field.</p>
<p>Support is available for various frameworks, see
<a href="https://github.com/mCaptcha/glue"><code>mCaptcha/glue</code></a> for the full list.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>mCaptcha System Library</title>
|
||||||
|
<link>/docs/api/mcaptcha-system/</link>
|
||||||
|
<pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/api/mcaptcha-system/</guid>
|
||||||
|
<description><p>Documentation for the library used in mCaptcha core.</p>
<h2 id="versions">Versions</h2>
<ul>
<li><a href="https://mcaptcha.github.io/mCaptcha/m_captcha/index.html">master-branch</a></li>
<li><a href="/api-docs/m_captcha/0.1.3/m_captcha/index.html">0.1.3</a></li>
<li><a href="/api-docs/m_captcha/0.1.2/m_captcha/index.html">0.1.2</a></li>
<li><a href="/api-docs/m_captcha/0.1.1/m_captcha/index.html">0.1.1</a></li>
<li><a href="/api-docs/m_captcha/0.1.0/m_captcha/index.html">0.1.0</a></li>
</ul></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>pow_sha256</title>
|
||||||
|
<link>/docs/api/pow-sha256/</link>
|
||||||
|
<pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/api/pow-sha256/</guid>
|
||||||
|
<description><p>Rust crate which generates SHA256 Proofs of Work on serializable datatypes.</p>
<p>This is a fork of the <a href="https://github.com/bddap/pow"><code>pow</code> library</a> by
<a href="https://github.com/robkorn/pow_sha256">@robkorn</a>) with some new
additions. Primary of these being:</p>
<ul>
<li>PoW datatype now offers a constructor</li>
<li>Salt is no longer hard coded into the library, users can provide
unique salts.</li>
</ul>
<p>Other small changes have also been included of various importance but
mostly just stylistic/ease of use improvements.</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
225
docs/api/mcaptcha-system/index.html
Normal file
225
docs/api/mcaptcha-system/index.html
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>mCaptcha System Library - mCaptcha</title>
|
||||||
|
<meta name="description" content="API documenttion for the core Library used in mCaptcha">
|
||||||
|
<link rel="canonical" href="/docs/api/mcaptcha-system/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="mCaptcha System Library">
|
||||||
|
<meta name="twitter:description" content="API documenttion for the core Library used in mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="mCaptcha System Library">
|
||||||
|
<meta property="og:description" content="API documenttion for the core Library used in mCaptcha">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/api/mcaptcha-system/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-11T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T20:24:18+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": "Docsapimcaptcha System",
|
||||||
|
"item": "\/docsapimcaptcha-system\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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 active" 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="#versions">Versions</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>mCaptcha System Library</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>Documentation for the library used in mCaptcha core.</p>
|
||||||
|
<h2 id="versions">Versions<a href="#versions" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://mcaptcha.github.io/mCaptcha/m_captcha/index.html">master-branch</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.3/m_captcha/index.html">0.1.3</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.2/m_captcha/index.html">0.1.2</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.1/m_captcha/index.html">0.1.1</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.0/m_captcha/index.html">0.1.0</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/API/mCaptcha-system.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/api/browser/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Browser libraries
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/api/pow-sha256/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
pow_sha256 →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
238
docs/api/pow-sha256/index.html
Normal file
238
docs/api/pow-sha256/index.html
Normal file
|
@ -0,0 +1,238 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>pow_sha256 - mCaptcha</title>
|
||||||
|
<meta name="description" content="API documenttion for PoW Library used in mCaptcha">
|
||||||
|
<link rel="canonical" href="/docs/api/pow-sha256/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="pow_sha256">
|
||||||
|
<meta name="twitter:description" content="API documenttion for PoW Library used in mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="pow_sha256">
|
||||||
|
<meta property="og:description" content="API documenttion for PoW Library used in mCaptcha">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/api/pow-sha256/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-11T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T20:24:18+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": "Docsapipow Sha256",
|
||||||
|
"item": "\/docsapipow-sha256\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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 active" 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="#versions">Versions</a></li>
|
||||||
|
<li><a href="#changelog">Changelog</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>pow_sha256</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>Rust crate which generates SHA256 Proofs of Work on serializable datatypes.</p>
|
||||||
|
<p>This is a fork of the <a href="https://github.com/bddap/pow"><code>pow</code> library</a> by
|
||||||
|
<a href="https://github.com/robkorn/pow_sha256">@robkorn</a>) with some new
|
||||||
|
additions. Primary of these being:</p>
|
||||||
|
<ul>
|
||||||
|
<li>PoW datatype now offers a constructor</li>
|
||||||
|
<li>Salt is no longer hard coded into the library, users can provide
|
||||||
|
unique salts.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Other small changes have also been included of various importance but
|
||||||
|
mostly just stylistic/ease of use improvements.</p>
|
||||||
|
<h2 id="versions">Versions<a href="#versions" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://mcaptcha.github.io/pow_sha256/pow_sha256/index.html">master-branch</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.2.1/pow_sha256/index.html">0.2.1</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.2.0/pow_sha256/index.html">0.2.0</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.1.0/pow_sha256/index.html">0.1.0</a></li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="changelog">Changelog<a href="#changelog" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Changelog is available at the project’s
|
||||||
|
<a href="https://github.com/mCaptcha/pow_sha256/blob/master/CHANGELOG.md">repository</a></p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/API/pow-sha256.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/api/mcaptcha-system/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← mCaptcha System Library
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/help/faq/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
FAQ →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
24
docs/api/sitemap.xml
Normal file
24
docs/api/sitemap.xml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<?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/api/browser/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/mcaptcha-system/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/pow-sha256/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
212
docs/help/faq/index.html
Normal file
212
docs/help/faq/index.html
Normal file
|
@ -0,0 +1,212 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>FAQ - mCaptcha</title>
|
||||||
|
<meta name="description" content="Answers to frequently asked questions.">
|
||||||
|
<link rel="canonical" href="/docs/help/faq/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="FAQ">
|
||||||
|
<meta name="twitter:description" content="Answers to frequently asked questions.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="FAQ">
|
||||||
|
<meta property="og:description" content="Answers to frequently asked questions.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/help/faq/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T19:16:21+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": "Docshelpfaq",
|
||||||
|
"item": "\/docshelpfaq\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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 active" 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>FAQ</h1>
|
||||||
|
<p class="lead">Answers to frequently asked questions.</p>
|
||||||
|
<p>Coming soon</p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/help/faq.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/api/pow-sha256/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← pow_sha256
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/user-manual/cli/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
CLI tool →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
197
docs/help/index.html
Normal file
197
docs/help/index.html
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Help - mCaptcha</title>
|
||||||
|
<meta name="description" content="Help mCaptcha.">
|
||||||
|
<link rel="canonical" href="/docs/help/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Help">
|
||||||
|
<meta name="twitter:description" content="Help mCaptcha.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Help">
|
||||||
|
<meta property="og:description" content="Help mCaptcha.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/help/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="og:updated_time" content="2021-07-21T15:49:53+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+xml" href="/docs/help/index.xml">
|
||||||
|
<link rel="sitemap" type="application/xml" href="/docs/help/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": "Docshelp",
|
||||||
|
"item": "\/docshelp\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">Help</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/help/faq/">FAQ →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/help/troubleshooting/">Troubleshooting →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
26
docs/help/index.xml
Normal file
26
docs/help/index.xml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Help on </title>
|
||||||
|
<link>/docs/help/</link>
|
||||||
|
<description>Recent content in Help on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Mon, 01 Aug 2022 22:24:30 +0530</lastBuildDate>
|
||||||
|
<atom:link href="/docs/help/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Troubleshooting</title>
|
||||||
|
<link>/docs/help/troubleshooting/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/help/troubleshooting/</guid>
|
||||||
|
<description><h2 id="q-i-just-setup-an-instance-but-i-am-unable-to-login">Q: I just setup an instance but I am unable to login</h2>
<p>mCaptcha by default is configured to server at <code>localhost</code> hostname. If
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;-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></pr</description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>FAQ</title>
|
||||||
|
<link>/docs/help/faq/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/help/faq/</guid>
|
||||||
|
<description><p>Coming soon</p></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
17
docs/help/sitemap.xml
Normal file
17
docs/help/sitemap.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?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/help/troubleshooting/</loc>
|
||||||
|
<lastmod>2022-08-01T22:24:30+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/help/faq/</loc>
|
||||||
|
<lastmod>2022-08-01T19:16:21+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
222
docs/help/troubleshooting/index.html
Normal file
222
docs/help/troubleshooting/index.html
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Troubleshooting - mCaptcha</title>
|
||||||
|
<meta name="description" content="Solutions to common problems.">
|
||||||
|
<link rel="canonical" href="/docs/help/troubleshooting/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Troubleshooting">
|
||||||
|
<meta name="twitter:description" content="Solutions to common problems.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Troubleshooting">
|
||||||
|
<meta property="og:description" content="Solutions to common problems.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/help/troubleshooting/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2022-08-01T22:24:30+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": "Docshelptroubleshooting",
|
||||||
|
"item": "\/docshelptroubleshooting\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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 active" 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="#q-i-just-setup-an-instance-but-i-am-unable-to-login">Q: I just setup an instance but I am unable to login</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Troubleshooting</h1>
|
||||||
|
<p class="lead">Solutions to common problems.</p>
|
||||||
|
<h2 id="q-i-just-setup-an-instance-but-i-am-unable-to-login">Q: I just setup an instance but I am unable to login<a href="#q-i-just-setup-an-instance-but-i-am-unable-to-login" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>mCaptcha by default is configured to server at <code>localhost</code> hostname. If
|
||||||
|
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;-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-hosting/docker/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Using Docker
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/api/browser/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Browser libraries →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
274
docs/index.html
Normal file
274
docs/index.html
Normal file
|
@ -0,0 +1,274 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>mCaptcha - mCaptcha</title>
|
||||||
|
<meta name="description" content="Docs mCaptcha">
|
||||||
|
<link rel="canonical" href="/docs/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="mCaptcha">
|
||||||
|
<meta name="twitter:description" content="Docs mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="mCaptcha">
|
||||||
|
<meta property="og:description" content="Docs mCaptcha">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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+xml" href="/docs/index.xml">
|
||||||
|
<link rel="sitemap" type="application/xml" href="/docs/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": "Docs",
|
||||||
|
"item": "\/docs\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">mCaptcha</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/api/browser/">Browser Libraries →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/user-manual/cli/">CLI Tool →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/bare-metal/">Deploy Bare Metal →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/help/faq/">FAQ →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/getting-started/">Getting Started →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/installing-captcha/">Installing MCaptcha on Your Website →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/api/mcaptcha-system/">MCaptcha System Library →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/api/pow-sha256/">Pow_sha256 →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/terminology/">Terminology →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/help/troubleshooting/">Troubleshooting →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use MCaptcha Without JavaScript →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/ansible/">Using Ansible →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/docker/">Using Docker →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/faq/">Webmasters FAQ →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
11
docs/index.xml
Normal file
11
docs/index.xml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>mCaptcha on </title>
|
||||||
|
<link>/docs/</link>
|
||||||
|
<description>Recent content in mCaptcha on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<atom:link href="/docs/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
</channel>
|
||||||
|
</rss>
|
250
docs/self-hosting/ansible/index.html
Normal file
250
docs/self-hosting/ansible/index.html
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Using Ansible - mCaptcha</title>
|
||||||
|
<meta name="description" content="Deploy mCaptcha software using Ansible playbooks">
|
||||||
|
<link rel="canonical" href="/docs/self-hosting/ansible/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Using Ansible">
|
||||||
|
<meta name="twitter:description" content="Deploy mCaptcha software using Ansible playbooks">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Using Ansible">
|
||||||
|
<meta property="og:description" content="Deploy mCaptcha software using Ansible playbooks">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/self-hosting/ansible/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2023-12-09T03:43:25+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": "Docsself Hostingansible",
|
||||||
|
"item": "\/docsself-hostingansible\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#instructions">Instructions</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#installation">Installation</a></li>
|
||||||
|
<li><a href="#update">Update</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Using Ansible</h1>
|
||||||
|
<p class="lead">Deploy mCaptcha software using Ansible playbooks</p>
|
||||||
|
<p>Ansible playbooks to install mCaptcha are available <a href="https://git.batsense.net/mCaptcha/iac">here</a>.</p>
|
||||||
|
<h2 id="instructions">Instructions<a href="#instructions" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="installation">Installation<a href="#installation" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ol>
|
||||||
|
<li>Clone the repository:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>git clone https://git.batsense.net/mCaptcha/iac <span style="color:#ff79c6">&&</span> <span style="color:#8be9fd;font-style:italic">cd</span> iac
|
||||||
|
</span></span></code></pre></div><ol start="2">
|
||||||
|
<li>
|
||||||
|
<p>Create inventory file. You should have SSH access to the remote
|
||||||
|
machine, and the user must have <code>sudo</code> privileges. Example inventory
|
||||||
|
file:</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-ini" data-lang="ini"><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">[mcaptcha_hosts]</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">"mcaptcha_hosts"</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:#50fa7b"><node name> ansible_host</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c"><node IP> ansible_user=<remote username></span>
|
||||||
|
</span></span></code></pre></div><p>It is important that the group name be <code>mcaptcha_hosts</code>.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Configure installation by editing <a href="https://git.batsense.net/mCaptcha/iac/src/branch/master/ansible/vars/mcaptcha/vars.yml">ansible/vars/mcaptcha/vars.yml</a>. Most parameters have defaults, and the required parameters are annotated.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Run playbook:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> ansible-playbook -i path/to/inventory-file -f <span style="color:#bd93f9">10</span> ./ansible/mcaptcha.yml
|
||||||
|
</span></span></code></pre></div><h3 id="update">Update<a href="#update" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ol>
|
||||||
|
<li>Pull changes from Git repository</li>
|
||||||
|
<li>Rerun playbook</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/self-hosting/ansible.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-hosting/bare-metal/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Deploy bare metal
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/self-hosting/docker/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Using Docker →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
350
docs/self-hosting/bare-metal/index.html
Normal file
350
docs/self-hosting/bare-metal/index.html
Normal file
|
@ -0,0 +1,350 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>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-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">
|
||||||
|
<meta name="twitter:description" content="Bare metal deployment is tedious, most of this will be automated with a script in the future.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<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-hosting/bare-metal/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2024-01-08T00:31: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">
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "http://schema.org",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 1 ,
|
||||||
|
"name": "Home",
|
||||||
|
"item": "\/"
|
||||||
|
},{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 2 ,
|
||||||
|
"name": "Docsself Hostingbare Metal",
|
||||||
|
"item": "\/docsself-hostingbare-metal\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#1-install-database">1. Install Database</a></li>
|
||||||
|
<li><a href="#2-optionally-install-mcaptchacache">2. Optionally, install mCaptcha/cache</a></li>
|
||||||
|
<li><a href="#3-install-mcaptcha">3. Install mCaptcha</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#31-install-from-source">3.1 Install from source</a></li>
|
||||||
|
<li><a href="#32-install-pre-compiled-binary">3.2 Install pre-compiled binary</a></li>
|
||||||
|
<li><a href="#ii-verify-checksum">ii Verify checksum</a></li>
|
||||||
|
<li><a href="#iii-verify-gpg-signature">iii Verify GPG signature</a></li>
|
||||||
|
<li><a href="#iv-install">iv. Install</a></li>
|
||||||
|
<li><a href="#4-configuration">4. Configuration</a></li>
|
||||||
|
<li><a href="#5-systemd-service-configuration">5. Systemd service configuration:</a></li>
|
||||||
|
<li><a href="#6-install-and-configure-nginx">6. Install and configure Nginx</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Deploy bare metal</h1>
|
||||||
|
<p class="lead">Bare metal deployment is tedious, most of this will be automated with a script in the future.</p>
|
||||||
|
<h2 id="1-install-database">1. Install Database<a href="#1-install-database" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>The following databases are supported:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Postgres</li>
|
||||||
|
<li>MariaDB</li>
|
||||||
|
</ol>
|
||||||
|
<p>Please install the database of your choice. Then:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Create new database user for mCaptcha</li>
|
||||||
|
<li>Create new database for mCaptcha</li>
|
||||||
|
</ol>
|
||||||
|
<p>mCaptcha binary has migrations baked-in and is applied on start up. The
|
||||||
|
choice of database is described using the <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#scheme">scheme</a> of the database URL. For
|
||||||
|
instance:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Postgres: <code>postgres://mcaptcha:password@localhost:5432/mcaptcha</code></li>
|
||||||
|
<li>Mariadb: <code>mysql://mcaptcha:password@localhost:3306/mcaptcha</code></li>
|
||||||
|
</ol>
|
||||||
|
<h2 id="2-optionally-install-mcaptchacache">2. Optionally, install mCaptcha/cache<a href="#2-optionally-install-mcaptchacache" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>We recommend this for larger instances. For single-user instances or for
|
||||||
|
instances that protect personal websites, we recommend using the
|
||||||
|
internal cache system. To do so, please comment out the
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/blob/d4967626ee59504b32b0f85e409b4e3444ddc4f0/config/default.toml#L54"><code>redis</code></a> section of the configuration file.</p>
|
||||||
|
<p>Please see <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a> for more details.</p>
|
||||||
|
<h2 id="3-install-mcaptcha">3. Install mCaptcha<a href="#3-install-mcaptcha" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="31-install-from-source">3.1 Install from source<a href="#31-install-from-source" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>To build <code>mcaptcha</code>, you need the following dependencies:</p>
|
||||||
|
<ol>
|
||||||
|
<li>rust</li>
|
||||||
|
<li>node(<code>v20</code>)</li>
|
||||||
|
<li>yarn(JavaScript package manager)</li>
|
||||||
|
<li>make</li>
|
||||||
|
</ol>
|
||||||
|
<p>With all dependencies installed, run:</p>
|
||||||
|
<pre tabindex="0"><code>make dev-env && make release
|
||||||
|
</code></pre><p>And the following commands to install the compiled binary:</p>
|
||||||
|
<pre tabindex="0"><code>sudo cp ./target/release/mcaptcha /usr/bin/ && \
|
||||||
|
mkdir sudo /etc/mcaptcha && \
|
||||||
|
sudo cp config/default.toml /etc/mcaptcha/config.toml
|
||||||
|
</code></pre><h3 id="32-install-pre-compiled-binary">3.2 Install pre-compiled binary<a href="#32-install-pre-compiled-binary" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<h4 id="i-download-assets">i. Download assets<a href="#i-download-assets" class="anchor" aria-hidden="true">#</a> </h4>
|
||||||
|
<pre tabindex="0"><code>wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz.asc
|
||||||
|
wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz.sha256
|
||||||
|
wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz
|
||||||
|
</code></pre><h3 id="ii-verify-checksum">ii Verify checksum<a href="#ii-verify-checksum" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<pre tabindex="0"><code>sha256sum -c mcaptcha-master-linux-amd64.tar.gz.sha256
|
||||||
|
</code></pre><h3 id="iii-verify-gpg-signature">iii Verify GPG signature<a href="#iii-verify-gpg-signature" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>All mcaptcha binaries are signed with <a href="https://keyserver.ubuntu.com/pks/lookup?search=73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73&fingerprint=on&op=index">our GPG
|
||||||
|
key</a>.
|
||||||
|
Please verify signatures to verify authenticity.</p>
|
||||||
|
<pre tabindex="0"><code>gpg --keyserver keyserver.ubuntu.com --recv 73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73
|
||||||
|
gpg --verify mcaptcha-master-linux-amd64.tar.gz.asc
|
||||||
|
</code></pre><h3 id="iv-install">iv. Install<a href="#iv-install" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<pre tabindex="0"><code>tar -xvzf mcaptcha-master-linux-amd64.tar.gz \
|
||||||
|
&& sudo cp mcaptcha-master-linux-amd64/mcaptcha /usr/local/bin \
|
||||||
|
&& sudo mkdir /etc/mcaptcha \
|
||||||
|
&& sudo cp mcaptcha-master-linux-amd64/config.toml /etc/mcaptcha/
|
||||||
|
</code></pre><h3 id="4-configuration">4. Configuration<a href="#4-configuration" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>mCaptcha is highly configurable.</p>
|
||||||
|
<p>Configuration is applied/merged in the following order:</p>
|
||||||
|
<ol>
|
||||||
|
<li>path to configuration file passed in via <code>MCAPTCHA_CONFIG</code></li>
|
||||||
|
<li><code>./config/default.toml</code></li>
|
||||||
|
<li><code>/etc/mcaptcha/config.toml</code></li>
|
||||||
|
<li>environment variables. Please see
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/blob/master/docs/CONFIGURATION.md">here</a> for a full list of environment variables.</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="5-systemd-service-configuration">5. Systemd service configuration:<a href="#5-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>
|
||||||
|
<pre tabindex="0"><code>[Unit]
|
||||||
|
Description=mCaptcha: a CAPTCHA system that gives attackers a run for their money
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=mcaptcha
|
||||||
|
ExecStart=/usr/bin/mcaptcha
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=1
|
||||||
|
SuccessExitStatus=3 4
|
||||||
|
RestartForceExitStatus=3 4
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
MemoryDenyWriteExecute=true
|
||||||
|
NoNewPrivileges=true
|
||||||
|
Environment="RUST_LOG=info"
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
After=sound.target
|
||||||
|
Wants=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
Requires=postgresql.service
|
||||||
|
After=syslog.target
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
</code></pre><ol start="2">
|
||||||
|
<li>Enable service:</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>sudo systemctl daemon-reload && \
|
||||||
|
sudo systemctl enable mcaptcha && \ # Auto startup during boot
|
||||||
|
sudo systemctl start mcaptcha
|
||||||
|
</code></pre><h3 id="6-install-and-configure-nginx">6. Install and configure Nginx<a href="#6-install-and-configure-nginx" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>mCaptcha doesn’t implement SSL yet. Please use a reverse proxy like
|
||||||
|
Nginx to add SSL to your deployment. Here’s an example virtual host
|
||||||
|
configuration for Nginx:</p>
|
||||||
|
<pre tabindex="0"><code>server {
|
||||||
|
server_name <your mcaptcha hostname>;
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:<mcaptcha_port>;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
|
<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-hosting/getting-started/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Getting started
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/self-hosting/ansible/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Using Ansible →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
264
docs/self-hosting/docker/index.html
Normal file
264
docs/self-hosting/docker/index.html
Normal file
|
@ -0,0 +1,264 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Using Docker - mCaptcha</title>
|
||||||
|
<meta name="description" content="Deploy mCaptcha using 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">
|
||||||
|
<meta name="twitter:description" content="Deploy mCaptcha using docker">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<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-hosting/docker/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2024-01-08T00:32:17+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": "Docsself Hostingdocker",
|
||||||
|
"item": "\/docsself-hostingdocker\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link active" href="/docs/self-hosting/docker/">Using Docker</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="#with-docker">With Docker</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#1-configure">1. Configure</a></li>
|
||||||
|
<li><a href="#2-run-image">2. Run image</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#with-docker-compose">With docker-compose</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Using Docker</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<h2 id="with-docker">With Docker<a href="#with-docker" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="1-configure">1. Configure<a href="#1-configure" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>mcaptcha is highly configurable.</p>
|
||||||
|
<p>Configuration is applied/merged in the following order:</p>
|
||||||
|
<ol>
|
||||||
|
<li>path to configuration file passed in via <code>MCAPTCHA_CONFIG</code></li>
|
||||||
|
<li><code>./config/default.toml</code></li>
|
||||||
|
<li><code>/etc/mcaptcha/config.toml</code></li>
|
||||||
|
<li>environment variables.</li>
|
||||||
|
</ol>
|
||||||
|
<p>See
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/tree/master/docs/CONFIGURATION.md">CONFIGURATION.md</a>
|
||||||
|
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>
|
||||||
|
<pre tabindex="0"><code>docker run -p <host-machine-port>:<port-in-configuration-file> \
|
||||||
|
--add-host=database:<database-ip-addrss> \
|
||||||
|
-e RUST_LOG=debug \
|
||||||
|
-e DATABASE_URL="postgres://<db-user>:<db-password>@database:<db-port>/<db-name>" \
|
||||||
|
mcaptcha/mcaptcha:latest
|
||||||
|
</code></pre><p>If you don’t have a Postgres instance running, you can either install
|
||||||
|
one using a package manager or launch one with docker.</p>
|
||||||
|
<h2 id="with-docker-compose">With docker-compose<a href="#with-docker-compose" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<ol>
|
||||||
|
<li>Download docker-compose file and the configuration file:</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>wget https://raw.githubusercontent.com/mCaptcha/mCaptcha/master/.env.docker-compose
|
||||||
|
wget https://raw.githubusercontent.com/mCaptcha/mCaptcha/master/docker-compose.yml
|
||||||
|
</code></pre><ol start="2">
|
||||||
|
<li>
|
||||||
|
<p>Configure deployment using <code>.env.docker-compose</code> environment variable
|
||||||
|
file</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Launch containers:</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>docker-compose up -d
|
||||||
|
</code></pre><ol start="4">
|
||||||
|
<li>Configure SSL using reverse proxy: mCaptcha doesn’t support SSL at
|
||||||
|
the moment, so please use a reverse proxy to secure your instance. A
|
||||||
|
reference nginx virtual host configuration file is available <a href="../bare-metal/#6-install-and-configure-nginx">here</a>.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<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-hosting/ansible/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Using Ansible
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/help/troubleshooting/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Troubleshooting →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
222
docs/self-hosting/getting-started/index.html
Normal file
222
docs/self-hosting/getting-started/index.html
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Getting started - mCaptcha</title>
|
||||||
|
<meta name="description" content="Get started with self-hosting mCaptcha">
|
||||||
|
<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">
|
||||||
|
<meta name="twitter:description" content="Get started with self-hosting mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<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-hosting/getting-started/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:modified_time" content="2024-09-12T18:38:08+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": "Docsself Hostinggetting Started",
|
||||||
|
"item": "\/docsself-hostinggetting-started\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#get-started">Get started</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Getting started</h1>
|
||||||
|
<p class="lead">Get started with self-hosting mCaptcha</p>
|
||||||
|
<h2 id="get-started">Get started<a href="#get-started" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>There are two main ways to self-host mCaptcha:</p>
|
||||||
|
<ol>
|
||||||
|
<li><a href="/docs/self-hosting/bare-metal">Bare metal</a></li>
|
||||||
|
<li><a href="/docs/self-hosting/docker">With Docker</a></li>
|
||||||
|
<li><a href="/docs/self-hosting/ansible">With Ansible</a></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<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/webmasters/configuring-difficulty-factor/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Configuring Difficulty Factor
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/self-hosting/bare-metal/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Deploy bare metal →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
208
docs/self-hosting/index.html
Normal file
208
docs/self-hosting/index.html
Normal file
|
@ -0,0 +1,208 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Self-Hosting - mCaptcha</title>
|
||||||
|
<meta name="description" content="Instructions to self-host mCaptcha">
|
||||||
|
<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-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-Hosting">
|
||||||
|
<meta property="og:description" content="Instructions to self-host mCaptcha">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/self-hosting/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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+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",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 1 ,
|
||||||
|
"name": "Home",
|
||||||
|
"item": "\/"
|
||||||
|
},{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 2 ,
|
||||||
|
"name": "Docsself Hosting",
|
||||||
|
"item": "\/docsself-hosting\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">Self-Hosting</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/self-hosting/bare-metal/">Deploy Bare Metal →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/getting-started/">Getting Started →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/ansible/">Using Ansible →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/self-hosting/docker/">Using Docker →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
39
docs/self-hosting/index.xml
Normal file
39
docs/self-hosting/index.xml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Self-Hosting on </title>
|
||||||
|
<link>/docs/self-hosting/</link>
|
||||||
|
<description>Recent content in Self-Hosting on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<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-hosting/getting-started/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/self-hosting/getting-started/</guid>
|
||||||
|
<description><h2 id="get-started">Get started</h2>
<p>There are two main ways to self-host mCaptcha:</p>
<ol>
<li><a href="/docs/self-hosting/bare-metal">Bare metal</a></li>
<li><a href="/docs/self-hosting/docker">With Docker</a></li>
<li><a href="/docs/self-hosting/ansible">With Ansible</a></li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Deploy bare metal</title>
|
||||||
|
<link>/docs/self-hosting/bare-metal/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/self-hosting/bare-metal/</guid>
|
||||||
|
<description><h2 id="1-install-database">1. Install Database</h2>
<p>The following databases are supported:</p>
<ol>
<li>Postgres</li>
<li>MariaDB</li>
</ol>
<p>Please install the database of your choice. Then:</p>
<ol>
<li>Create new database user for mCaptcha</li>
<li>Create new database for mCaptcha</li>
</ol>
<p>mCaptcha binary has migrations baked-in and is applied on start up. The
choice of database is described using the <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#scheme">scheme</a> of the database URL. For
instance:</p>
<ol>
<li>Postgres: <code>postgres://mcaptcha:password@localhost:5432/mcaptcha</code></li>
<li>Mariadb: <code>mysql://mcaptcha:password@localhost:3306/mcaptcha</code></li>
</ol>
<h2 id="2-optionally-install-mcaptchacache">2. Optionally, install mCaptcha/cache</h2>
<p>We recommend this for larger instances. For single-user instances or for
instances that protect personal websites, we recommend using the
internal cache system. To do so, please comment out the
<a href="https://github.com/mCaptcha/mCaptcha/blob/d4967626ee59504b32b0f85e409b4e3444ddc4f0/config/default.toml#L54"><code>redis</code></a> section of the configuration file.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Using Ansible</title>
|
||||||
|
<link>/docs/self-hosting/ansible/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/self-hosting/ansible/</guid>
|
||||||
|
<description><p>Ansible playbooks to install mCaptcha are available <a href="https://git.batsense.net/mCaptcha/iac">here</a>.</p>
<h2 id="instructions">Instructions</h2>
<h3 id="installation">Installation</h3>
<ol>
<li>Clone the repository:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>git clone https://git.batsense.net/mCaptcha/iac <span style="color:#ff79c6">&amp;&amp;</span> <span style="color:#8be9fd;font-style:italic">cd</span> iac
</span></span></code></pre></div><ol start="2">
<li>
<p>Create inventory file. You should have SSH access to the remote
machine, and the user must have <code>sudo</code> privileges. Example inventory
file:</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-ini" data-lang="ini"><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">[mcaptcha_hosts]</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">&#34;mcaptcha_hosts&#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">3</span><span><span style="color:#50fa7b">&lt;node name&gt; ansible_host</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">&lt;node IP&gt; ansible_user=&lt;remote username&gt;</span>
</span></span></code></pr</description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Using Docker</title>
|
||||||
|
<link>/docs/self-hosting/docker/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
<guid>/docs/self-hosting/docker/</guid>
|
||||||
|
<description><h2 id="with-docker">With Docker</h2>
<h3 id="1-configure">1. Configure</h3>
<p>mcaptcha is highly configurable.</p>
<p>Configuration is applied/merged in the following order:</p>
<ol>
<li>path to configuration file passed in via <code>MCAPTCHA_CONFIG</code></li>
<li><code>./config/default.toml</code></li>
<li><code>/etc/mcaptcha/config.toml</code></li>
<li>environment variables.</li>
</ol>
<p>See
<a href="https://github.com/mCaptcha/mCaptcha/tree/master/docs/CONFIGURATION.md">CONFIGURATION.md</a>
for configurable options.</p>
<h3 id="2-run-image">2. Run image</h3>
<p>If you have already have a Postgres instance running, then:</p>
<pre tabindex="0"><code>docker run -p &lt;host-machine-port&gt;:&lt;port-in-configuration-file&gt; \
	--add-host=database:&lt;database-ip-addrss&gt; \
	-e RUST_LOG=debug \
	-e DATABASE_URL=&#34;postgres://&lt;db-user&gt;:&lt;db-password&gt;@database:&lt;db-port&gt;/&lt;db-name&gt;&#34; \
	mcaptcha/mcaptcha:latest
</code></pr</description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
31
docs/self-hosting/sitemap.xml
Normal file
31
docs/self-hosting/sitemap.xml
Normal 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/self-hosting/getting-started/</loc>
|
||||||
|
<lastmod>2024-09-12T18:38:08+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/bare-metal/</loc>
|
||||||
|
<lastmod>2024-01-08T00:31:40+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/ansible/</loc>
|
||||||
|
<lastmod>2023-12-09T03:43:25+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/docker/</loc>
|
||||||
|
<lastmod>2024-01-08T00:32:17+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
128
docs/sitemap.xml
Normal file
128
docs/sitemap.xml
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
<?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/user-manual/</loc>
|
||||||
|
<lastmod>2023-10-28T01:09:37+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>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/webmasters/</loc>
|
||||||
|
<lastmod>2023-10-27T21:39:40+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/</loc>
|
||||||
|
<lastmod>2022-08-01T22:24:03+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<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/user-manual/cli/</loc>
|
||||||
|
<lastmod>2023-10-28T01:09:37+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/user-manual/how-to-mcaptcha-without-js/</loc>
|
||||||
|
<lastmod>2023-10-28T03:16:49+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>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/help/faq/</loc>
|
||||||
|
<lastmod>2022-08-01T19:16:21+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/webmasters/installing-captcha/</loc>
|
||||||
|
<lastmod>2024-03-23T13:53:02+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>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/browser/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/mcaptcha-system/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/api/pow-sha256/</loc>
|
||||||
|
<lastmod>2022-08-01T20:24:18+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/getting-started/</loc>
|
||||||
|
<lastmod>2024-09-12T18:38:08+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/bare-metal/</loc>
|
||||||
|
<lastmod>2024-01-08T00:31:40+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/ansible/</loc>
|
||||||
|
<lastmod>2023-12-09T03:43:25+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>/docs/self-hosting/docker/</loc>
|
||||||
|
<lastmod>2024-01-08T00:32:17+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
321
docs/user-manual/cli/index.html
Normal file
321
docs/user-manual/cli/index.html
Normal file
|
@ -0,0 +1,321 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>CLI tool - mCaptcha</title>
|
||||||
|
<meta name="description" content="Instructions to install mCaptcha CLI">
|
||||||
|
<link rel="canonical" href="/docs/user-manual/cli/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="CLI tool">
|
||||||
|
<meta name="twitter:description" content="Instructions to install mCaptcha CLI">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="CLI tool">
|
||||||
|
<meta property="og:description" content="Instructions to install mCaptcha CLI">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/user-manual/cli/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2023-10-27T08:48:45+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-10-28T01:09:37+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": "Docsuser Manualcli",
|
||||||
|
"item": "\/docsuser-manualcli\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link active" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#install">Install</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#cratesio">crates.io</a></li>
|
||||||
|
<li><a href="#pre-compiled-binaries">Pre-compiled binaries</a></li>
|
||||||
|
<li><a href="#build-from-source">Build from source</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#pass-mcaptcha-challenge">Pass mCaptcha challenge</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#from-protected-page-url">From protected page URL</a></li>
|
||||||
|
<li><a href="#widget-url">Widget URL</a></li>
|
||||||
|
<li><a href="#developer-mode-offline">[Developer mode] Offline</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>CLI tool</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>A CLI tool exists to compute mCaptcha challenges. It can be installed
|
||||||
|
from multiple sources:</p>
|
||||||
|
<h2 id="install">Install<a href="#install" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="cratesio">crates.io<a href="#cratesio" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>The CLI tool is available on, <a href="https://crates.io">crates.io</a>, the Rust
|
||||||
|
language’s package registry. Rust language toolchain is required to
|
||||||
|
install from crates.io, please see <a href="https://rustup.rs">rustup.rs</a> for
|
||||||
|
Instructions to install it.</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>cargo install mcaptcha-cli
|
||||||
|
</span></span></code></pre></div><h3 id="pre-compiled-binaries">Pre-compiled binaries<a href="#pre-compiled-binaries" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>Nightly builds and stable releases are regularly published to
|
||||||
|
<a href="https://dl.mcaptcha.org/mcaptcha/cli">dl.mcaptcha.org</a> for a variety of
|
||||||
|
CPU architectures and operating systems.</p>
|
||||||
|
<ol>
|
||||||
|
<li>Download binary, checksum and GPG signature files</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz
|
||||||
|
</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>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.asc
|
||||||
|
</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>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.sha256
|
||||||
|
</span></span></code></pre></div><ol start="2">
|
||||||
|
<li>Verify checksum</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sha256sum -c <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.sha256
|
||||||
|
</span></span></code></pre></div><ol start="3">
|
||||||
|
<li>Download mCaptcha’s GPG release keys and verify GPG signature</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>gpg --keyserver keyserver.ubuntu.com --recv 73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73
|
||||||
|
</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>gpg --verify <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.asc
|
||||||
|
</span></span></code></pre></div><ol start="4">
|
||||||
|
<li>Install Binary</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>tar -xvzf <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz <span style="color:#ff79c6">&&</span> sudo cp <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>/mcaptcha-cli /usr/local/bin
|
||||||
|
</span></span></code></pre></div><h3 id="build-from-source">Build from source<a href="#build-from-source" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ol>
|
||||||
|
<li>Install Rust tool chain
|
||||||
|
Please see <a href="https://rustup.rs">here</a> for instructions.</li>
|
||||||
|
<li>Download source 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-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>git clone https://git.batsense.net/mCaptcha/cli
|
||||||
|
</span></span></code></pre></div><ol start="3">
|
||||||
|
<li>Compile and install</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>cargo build --release <span style="color:#ff79c6">&&</span> sudp cp ./target/release/mcaptcha-cli
|
||||||
|
</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>/usr/local/bin
|
||||||
|
</span></span></code></pre></div><h2 id="pass-mcaptcha-challenge">Pass mCaptcha challenge<a href="#pass-mcaptcha-challenge" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>The CLI tool requires details about the challenge to work on it. The
|
||||||
|
tool can be used in three different modes compute challenge:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Protected Page: Compute mCaptcha challenge for the CAPTCHA at a
|
||||||
|
protected page</li>
|
||||||
|
<li>Widget URL: Compute PoW for captcha at widget URL</li>
|
||||||
|
<li>(Developer mode) Offline: Computes PoW over given CAPTCHA parameters</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="from-protected-page-url">From protected page URL<a href="#from-protected-page-url" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>The most convenient mode: copy the URL of the webpage which has the
|
||||||
|
mCaptcha widget (example: showcase.mcaptcha.org) and run the CLI tool
|
||||||
|
with it to get an authorization code:
|
||||||
|
Compute challenge using the URL</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>03:39 atm@lab cli ±|feat-parse-webpage ✗|→ mcaptcha-cli protected-page https://showcase.mcaptcha.org/
|
||||||
|
</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>Authorization token: eRAZJiMrW58uDYA1s64Tmwq1u30HutuF
|
||||||
|
</span></span></code></pre></div><h3 id="widget-url">Widget URL<a href="#widget-url" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>If you have the widget URL (will be in format https://mcaptcha.example.org/widget?sitekey=randomstring), it can be used to solve challenge as well:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>Compute PoW by fetching parameters from CAPTCHA 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">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>Usage: mcaptcha-cli online --url <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">4</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">5</span><span>Options:
|
||||||
|
</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> -u, --url <URL> URL of the CAPTCHA. Example: https://example.org/widget?sitekey<span style="color:#ff79c6">=</span>foo
|
||||||
|
</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> -h, --help Print <span style="color:#8be9fd;font-style:italic">help</span>
|
||||||
|
</span></span></code></pre></div><p>Example usage:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>13:32 atm@lab cli ±|online ✗|→ mcaptcha-cli online -u https://demo.mcaptcha.org/widget?sitekey<span style="color:#ff79c6">=</span>pHy0AktWyOKuxZDzFfoaewncWecCHo23
|
||||||
|
</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>Authorization token: 3xleN26OctBuVu3X4t6CYyUjErhaxQvz
|
||||||
|
</span></span></code></pre></div><h3 id="developer-mode-offline">[Developer mode] Offline<a href="#developer-mode-offline" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>Useful while debugging mCaptcha configurations, works on raw challenge
|
||||||
|
parameters.</p>
|
||||||
|
<p>Help menu:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>Compute PoW with offline parameters
|
||||||
|
</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>Usage: mcaptcha-cli offline --salt <SALT> --phrase <PHRASE> --difficulty-factor <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">4</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">5</span><span>Options:
|
||||||
|
</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> -s, --salt <SALT> Salt with which PoW should be computed
|
||||||
|
</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> -p, --phrase <PHRASE> Phrase over which PoW should be computed
|
||||||
|
</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> -d, --difficulty-factor <DIFFICULTY_FACTOR> 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">9</span><span> -h, --help Print <span style="color:#8be9fd;font-style:italic">help</span>
|
||||||
|
</span></span></code></pre></div><p>Example usage:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>13:28 atm@lab cli ±|online|→ mcaptcha-cli offline -s <span style="color:#ff79c6">$(</span>rand 32<span style="color:#ff79c6">)</span> -p <span style="color:#ff79c6">$(</span>rand 32<span style="color:#ff79c6">)</span> -d <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">2</span><span>difficulty: <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>nonce: <span style="color:#bd93f9">90507</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>original phrase: f351f333d44b2c6b5bf7f033b065bbb8fb5e9dd153bd402e43ed04425f5a3859
|
||||||
|
</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>result: <span style="color:#bd93f9">340276562956196291522979356090220150471</span>
|
||||||
|
</span></span></code></pre></div><p>Where rand is <a href="https://github.com/realaravinth/dotfiles/blob/6fc6c87cc912e17488a35c0d3327ecf393221270/scripts/rand#L20">this</a> script.</p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/user-manual/cli.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/help/faq/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← FAQ
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/user-manual/how-to-mcaptcha-without-js/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Use mCaptcha without JavaScript →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
222
docs/user-manual/how-to-mcaptcha-without-js/index.html
Normal file
222
docs/user-manual/how-to-mcaptcha-without-js/index.html
Normal file
|
@ -0,0 +1,222 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Use mCaptcha without JavaScript - mCaptcha</title>
|
||||||
|
<meta name="description" content="Instructions to solve mCaptcha with JavaScript disabled">
|
||||||
|
<link rel="canonical" href="/docs/user-manual/how-to-mcaptcha-without-js/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Use mCaptcha without JavaScript">
|
||||||
|
<meta name="twitter:description" content="Instructions to solve mCaptcha with JavaScript disabled">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Use mCaptcha without JavaScript">
|
||||||
|
<meta property="og:description" content="Instructions to solve mCaptcha with JavaScript disabled">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/docs/user-manual/how-to-mcaptcha-without-js/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2023-10-27T08:48:45+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-10-28T03:16:49+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": "Docsuser Manualhow to Mcaptcha Without Js",
|
||||||
|
"item": "\/docsuser-manualhow-to-mcaptcha-without-js\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link active" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Use mCaptcha without JavaScript</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>To use mCaptcha without JavaScript:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Install mCaptcha CLI too. Please see <a href="./cli">here</a> for instructions.</li>
|
||||||
|
<li>Copy the URL of the protected page</li>
|
||||||
|
<li>Run mCaptcha CLI with that URL:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>mcapthca-cli protected-page <URL>
|
||||||
|
</span></span></code></pre></div><ol start="4">
|
||||||
|
<li>Copy authorization code and paste it in the form</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/docs/user-manual/how-to-mcaptcha-without-js.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/user-manual/cli/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← CLI tool
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/webmasters/terminology/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Terminology →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
197
docs/user-manual/index.html
Normal file
197
docs/user-manual/index.html
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>User Manual - mCaptcha</title>
|
||||||
|
<meta name="description" content="Introduction to mCaptcha for users">
|
||||||
|
<link rel="canonical" href="/docs/user-manual/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="User Manual">
|
||||||
|
<meta name="twitter:description" content="Introduction to mCaptcha for users">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="User Manual">
|
||||||
|
<meta property="og:description" content="Introduction to mCaptcha for users">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/user-manual/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="og:updated_time" content="2023-10-28T01:09:37+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+xml" href="/docs/user-manual/index.xml">
|
||||||
|
<link rel="sitemap" type="application/xml" href="/docs/user-manual/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": "Docsuser Manual",
|
||||||
|
"item": "\/docsuser-manual\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">User Manual</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/user-manual/cli/">CLI Tool →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use MCaptcha Without JavaScript →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
26
docs/user-manual/index.xml
Normal file
26
docs/user-manual/index.xml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>User Manual on </title>
|
||||||
|
<link>/docs/user-manual/</link>
|
||||||
|
<description>Recent content in User Manual on </description>
|
||||||
|
<generator>Hugo</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Sat, 28 Oct 2023 03:16:49 +0530</lastBuildDate>
|
||||||
|
<atom:link href="/docs/user-manual/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>CLI tool</title>
|
||||||
|
<link>/docs/user-manual/cli/</link>
|
||||||
|
<pubDate>Fri, 27 Oct 2023 08:48:45 +0000</pubDate>
|
||||||
|
<guid>/docs/user-manual/cli/</guid>
|
||||||
|
<description><p>A CLI tool exists to compute mCaptcha challenges. It can be installed
from multiple sources:</p>
<h2 id="install">Install</h2>
<h3 id="cratesio">crates.io</h3>
<p>The CLI tool is available on, <a href="https://crates.io">crates.io</a>, the Rust
language&rsquo;s package registry. Rust language toolchain is required to
install from crates.io, please see <a href="https://rustup.rs">rustup.rs</a> for
Instructions to install it.</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>cargo install mcaptcha-cli
</span></span></code></pre></div><h3 id="pre-compiled-binaries">Pre-compiled binaries</h3>
<p>Nightly builds and stable releases are regularly published to
<a href="https://dl.mcaptcha.org/mcaptcha/cli">dl.mcaptcha.org</a> for a variety of
CPU architectures and operating systems.</p></description>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>Use mCaptcha without JavaScript</title>
|
||||||
|
<link>/docs/user-manual/how-to-mcaptcha-without-js/</link>
|
||||||
|
<pubDate>Fri, 27 Oct 2023 08:48:45 +0000</pubDate>
|
||||||
|
<guid>/docs/user-manual/how-to-mcaptcha-without-js/</guid>
|
||||||
|
<description><p>To use mCaptcha without JavaScript:</p>
<ol>
<li>Install mCaptcha CLI too. Please see <a href="./cli">here</a> for instructions.</li>
<li>Copy the URL of the protected page</li>
<li>Run mCaptcha CLI with that URL:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>mcapthca-cli protected-page &lt;URL&gt;
</span></span></code></pre></div><ol start="4">
<li>Copy authorization code and paste it in the form</li>
</ol></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
17
docs/user-manual/sitemap.xml
Normal file
17
docs/user-manual/sitemap.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?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/user-manual/cli/</loc>
|
||||||
|
<lastmod>2023-10-28T01:09:37+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>/docs/user-manual/how-to-mcaptcha-without-js/</loc>
|
||||||
|
<lastmod>2023-10-28T03:16:49+05:30</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
</urlset>
|
261
docs/webmasters/configuring-difficulty-factor/index.html
Normal file
261
docs/webmasters/configuring-difficulty-factor/index.html
Normal file
|
@ -0,0 +1,261 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>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/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">
|
||||||
|
<meta name="twitter: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 name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<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/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="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">
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "http://schema.org",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 1 ,
|
||||||
|
"name": "Home",
|
||||||
|
"item": "\/"
|
||||||
|
},{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 2 ,
|
||||||
|
"name": "Docswebmastersconfiguring Difficulty Factor",
|
||||||
|
"item": "\/docswebmastersconfiguring-difficulty-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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#easy-option">Easy option</a></li>
|
||||||
|
<li><a href="#advance-option">Advance option</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Configuring Difficulty Factor</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>mCaptcha is highly responsive to detecting DDoS attacks. Admins are
|
||||||
|
advised to take advantage of it by setting low <a href="/docs/terminology/difficulty-factor/">difficulty
|
||||||
|
factors</a> for normal traffic levels
|
||||||
|
for their website.</p>
|
||||||
|
<p><strong>Lowest advisable difficulty factor is 5000.</strong></p>
|
||||||
|
<p>For instance, if it is normal for my website to get 2000 requests for
|
||||||
|
every 30 seconds, I will set a <a href="/docs/terminology/cooldown-period">cool
|
||||||
|
down</a> period of 30 seconds and the
|
||||||
|
first level of difficulty configuration will have a <a href="/docs/terminology/visitor-threshold">visitor threshold</a> of 2000 with a
|
||||||
|
difficulty factor of 5000.</p>
|
||||||
|
<p>There are two modes to setting difficulty factor for your website on
|
||||||
|
mCaptcha:</p>
|
||||||
|
<h3 id="easy-option">Easy option<a href="#easy-option" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>Easy mode asks a few basic statistics about your website and generates a
|
||||||
|
configuration that should work for your website. Currently, easy mode is
|
||||||
|
guided by assumptions on suitable difficulty factors to protect a
|
||||||
|
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/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3790320397528559381.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3841561947870357023.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu16851969312021998206.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu1638060647632851116.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu6084644606388858577.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu14912407229894826701.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_hu3841561947870357023.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu16851969312021998206.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu1638060647632851116.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu6084644606388858577.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu14912407229894826701.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
|
||||||
|
on their website. It has options to set the difficulty factor for each
|
||||||
|
level of traffic(or visitor threshold, in mCaptcha speak), fully taking
|
||||||
|
advantage of mCaptcha’s variable difficulty factor feature.</p>
|
||||||
|
<p>For instance, if it is normal for a website to get 200 requests over 30
|
||||||
|
seconds, then setting a very low difficulty factor for a visitor
|
||||||
|
threshold of 200 and a cool down period of 30 seconds will allow the
|
||||||
|
users to pass through without waiting on the CAPTCHA. But if 1000
|
||||||
|
requests over 30 seconds will bring down the service, then the admin can
|
||||||
|
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/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu14086191014643178449.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu15526148153509317663.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu2633109694258692951.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu4034073819773116662.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu11041752311853583462.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu13951058338117607007.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_hu15526148153509317663.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu2633109694258692951.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu4034073819773116662.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu11041752311853583462.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu13951058338117607007.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/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/webmasters/installing-captcha/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Installing mCaptcha on your website
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/self-hosting/getting-started/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Getting started →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
234
docs/webmasters/faq/index.html
Normal file
234
docs/webmasters/faq/index.html
Normal file
|
@ -0,0 +1,234 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>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="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="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/webmasters/faq/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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/">
|
||||||
|
<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": "Docswebmastersfaq",
|
||||||
|
"item": "\/docswebmastersfaq\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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>
|
||||||
|
<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 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Webmasters FAQ</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<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 “Site keys” 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/webmasters/faq/sitekey-in-dashboard-sidepanel_hu1842978153838973955.png" data-srcset="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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">
|
||||||
|
<li>click on the clipboard button to copy the site key to your
|
||||||
|
clipboard.</li>
|
||||||
|
</ol>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/faq/copy-sitekey_hu10670341732240698368.png" data-srcset="/docs/webmasters/faq/copy-sitekey_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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/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/webmasters/terminology/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Terminology
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
209
docs/webmasters/index.html
Normal file
209
docs/webmasters/index.html
Normal file
|
@ -0,0 +1,209 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>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="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="Webmasters">
|
||||||
|
<meta property="og:description" content="Introduction to mCaptcha for webmasters">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/docs/webmasters/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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+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",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 1 ,
|
||||||
|
"name": "Home",
|
||||||
|
"item": "\/"
|
||||||
|
},{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 2 ,
|
||||||
|
"name": "Docswebmasters",
|
||||||
|
"item": "\/docswebmasters\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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">Webmasters</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/webmasters/configuring-difficulty-factor/">Configuring Difficulty Factor →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/installing-captcha/">Installing MCaptcha on Your Website →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/terminology/">Terminology →</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-body">
|
||||||
|
<a class="stretched-link" href="/docs/webmasters/faq/">Webmasters FAQ →</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
40
docs/webmasters/index.xml
Normal file
40
docs/webmasters/index.xml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?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</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Sat, 23 Mar 2024 13:53:02 +0530</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><p>mCaptcha can protect your website from DDoS attacks. In this guide we&rsquo;ll
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/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8539423057366315365.png" data-srcset="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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
in @realaravinth&rsquo;s bedroom(for this same reason, it shouldn&rsquo;t be used
for anything serious)</p></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><p>mCaptcha is highly responsive to detecting DDoS attacks. Admins are
advised to take advantage of it by setting low <a href="/docs/terminology/difficulty-factor/">difficulty
factors</a> for normal traffic levels
for their website.</p>
<p><strong>Lowest advisable difficulty factor is 5000.</strong></p>
<p>For instance, if it is normal for my website to get 2000 requests for
every 30 seconds, I will set a <a href="/docs/terminology/cooldown-period">cool
down</a> period of 30 seconds and the
first level of difficulty configuration will have a <a href="/docs/terminology/visitor-threshold">visitor threshold</a> of 2000 with a
difficulty factor of 5000.</p></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><h2 id="authorization-token">Authorization token</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></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><h3 id="easy-mode-default-cooldown-period">Easy Mode: Default cooldown period</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?</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/webmasters/faq/sitekey-in-dashboard-sidepanel_hu1842978153838973955.png" data-srcset="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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">
<li>click on the clipboard button to copy the site key to your
clipboard.</li>
</ol>
<figure>
 <img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/faq/copy-sitekey_hu10670341732240698368.png" data-srcset="/docs/webmasters/faq/copy-sitekey_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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></description>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
311
docs/webmasters/installing-captcha/index.html
Normal file
311
docs/webmasters/installing-captcha/index.html
Normal file
|
@ -0,0 +1,311 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>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/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">
|
||||||
|
<meta name="twitter: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 name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<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/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="2024-03-23T13:53:02+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": "Docswebmastersinstalling Captcha",
|
||||||
|
"item": "\/docswebmastersinstalling-captcha\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#1-create-an-account-and-sign-into-the-mcaptcha-dashboard">1. Create an account and sign into the mCaptcha dashboard</a></li>
|
||||||
|
<li><a href="#2-create-new-site-key">2. Create new site key</a></li>
|
||||||
|
<li><a href="#3-copy-widget-link">3. Copy widget link</a></li>
|
||||||
|
<li><a href="#4-install-mcaptcha-on-your-website">4. Install mCaptcha on your website</a></li>
|
||||||
|
<li><a href="#5-configure-backend-to-authenticate-captcha-tokens">5. Configure backend to authenticate CAPTCHA tokens</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Installing mCaptcha on your website</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>mCaptcha can protect your website from DDoS attacks. In this guide we’ll
|
||||||
|
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/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8539423057366315365.png" data-srcset="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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
|
||||||
|
in @realaravinth’s bedroom(for this same reason, it shouldn’t be used
|
||||||
|
for anything serious)</p>
|
||||||
|
<h2 id="1-create-an-account-and-sign-into-the-mcaptcha-dashboard">1. Create an account and sign into the mCaptcha dashboard<a href="#1-create-an-account-and-sign-into-the-mcaptcha-dashboard" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Head over to <a href="https://demo.mcaptcha.org/join">demo.mcaptcha.org</a> and
|
||||||
|
create an account. When ready, sign in.</p>
|
||||||
|
<h2 id="2-create-new-site-key">2. Create new site key<a href="#2-create-new-site-key" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<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 “New Site” button in the dashboard.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-btn_hu11033699157513405873.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu10010004554705777348.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14464019368571524603.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu9084147443362993093.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14798931076198918212.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu15308330692516730217.png 500w" width="1825" height="857" alt="mCaptcha dashboard with the 'new site key' button highlighted">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu10010004554705777348.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14464019368571524603.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu9084147443362993093.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14798931076198918212.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu15308330692516730217.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-btn.png" width="1825" height="857" alt="mCaptcha dashboard with the 'new site key' 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 <a href="/docs/webmasters/configuring-difficulty-factor#easy-option">easy mode</a> in this tutorial.</strong> If you are interested
|
||||||
|
in learning more about the advance mode, please see <a href="/docs/introduction/configuring-difficulty-factor/#advance-option">here</a>.</p>
|
||||||
|
<p>Fill the form and submit it.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10048884879092657437.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu12219892087371285417.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10382683775793860778.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu9217787487936361361.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4911848437118511279.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4122546434746224491.png 500w" width="720" height="452" alt="mCaptcha dashboard with the 'new site key' 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_hu12219892087371285417.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10382683775793860778.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu9217787487936361361.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4911848437118511279.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4122546434746224491.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled.png" width="720" height="452" alt="mCaptcha dashboard with the 'new site key' 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
|
||||||
|
can be viewed. “View deployment” link will display CAPTCHA widget with
|
||||||
|
the supplied configuration. Click on it and grab the widget link.</p>
|
||||||
|
<h2 id="4-install-mcaptcha-on-your-website">4. Install mCaptcha on your website<a href="#4-install-mcaptcha-on-your-website" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>Integration support is available for some frontend JavaScript
|
||||||
|
frameworks. To see full list of supported frameworks, please see
|
||||||
|
<a href="https://github.com/mCaptcha/glue#framework-support">here</a>.</p>
|
||||||
|
<p>There are two options to use the integration library to integrate
|
||||||
|
mCaptcha on your website:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Serve the integration library yourself</li>
|
||||||
|
<li>Use a CDN like unpkg.com</li>
|
||||||
|
</ol>
|
||||||
|
<p>In this tutorial, we’ll be using the CDN.</p>
|
||||||
|
<p><strong>Pasting the following snippet on the page, within the form</strong> that requires to be protected
|
||||||
|
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;-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">label</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">data-mcaptcha_url</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"{{paste your widget link here}}"</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:#50fa7b">for</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__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"> 4</span><span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__token-label"</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></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> mCaptcha authorization 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"> 7</span><span> <<span style="color:#ff79c6">a</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">href</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"https://mcaptcha.org/docs/user-manual/how-to-mcaptcha-without-js/"</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> >Instructions</<span style="color:#ff79c6">a</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 style="color:#ff79c6">input</span> <span style="color:#50fa7b">type</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"text"</span> <span style="color:#50fa7b">name</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__token"</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__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">12</span><span></<span style="color:#ff79c6">label</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:#ff79c6">div</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__widget-container"</span>></<span style="color:#ff79c6">div</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:#ff79c6">script</span> <span style="color:#50fa7b">src</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"https://unpkg.com/@mcaptcha/vanilla-glue@0.1.0-rc2/dist/index.js"</span>></<span style="color:#ff79c6">script</span>>
|
||||||
|
</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>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>Get <a href="/docs/webmasters/terminology/#authorization-token">authorization token</a> from the user’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;-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">"mcaptcha__token"</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;-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">"token"</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">"key"</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">"secret"</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">"https://demo.mcaptha.org/api/v1/pow/siteverify"</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><p><strong>Note</strong>: secret (<code>mcaptcha_account_secret</code> from above) is available in Dashboard > Settings > Secret</p>
|
||||||
|
<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;-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">"valid"</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">"invalid captcha"</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/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/webmasters/configuring-difficulty-factor/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Configuring Difficulty Factor →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
31
docs/webmasters/sitemap.xml
Normal file
31
docs/webmasters/sitemap.xml
Normal 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>2024-03-23T13:53:02+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>
|
303
docs/webmasters/terminology/index.html
Normal file
303
docs/webmasters/terminology/index.html
Normal file
|
@ -0,0 +1,303 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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/webmasters/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="article">
|
||||||
|
<meta property="og:url" content="/docs/webmasters/terminology/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<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/">
|
||||||
|
<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": "Docswebmastersterminology",
|
||||||
|
"item": "\/docswebmastersterminology\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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/webmasters/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>Webmasters</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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>User Manual</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/cli/">CLI tool</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/user-manual/how-to-mcaptcha-without-js/">Use mCaptcha without JavaScript</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3>Self-Hosting</h3>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<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/ansible/">Using Ansible</a></li>
|
||||||
|
<li><a class="docs-link" href="/docs/self-hosting/docker/">Using Docker</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="#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 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Terminology</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<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’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’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’s variable difficulty factor mechanism requires a website’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
|
||||||
|
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.</p>
|
||||||
|
<p>For instance, consider the configuration given below:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Cool down period: 30 seconds</li>
|
||||||
|
</ul>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="text-align: left">Level</th>
|
||||||
|
<th style="text-align: left">Difficulty Factor</th>
|
||||||
|
<th style="text-align: left">Visitor Threshold</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1</td>
|
||||||
|
<td style="text-align: left">5,000</td>
|
||||||
|
<td style="text-align: left">2,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2</td>
|
||||||
|
<td style="text-align: left">50,000</td>
|
||||||
|
<td style="text-align: left">5,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3</td>
|
||||||
|
<td style="text-align: left">500,000</td>
|
||||||
|
<td style="text-align: left">10,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4</td>
|
||||||
|
<td style="text-align: left">5,000,000</td>
|
||||||
|
<td style="text-align: left">15,000</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>If the website sees 2,000 requests in a 30 second window, level 1
|
||||||
|
difficulty factor(5,000) will be deployed. If the traffic increases to
|
||||||
|
5,000 requests in a 30 second window, then difficulty factor will be
|
||||||
|
upgraded to level 2(50,000). Likewise 10,000 and 15,000 requests over 30
|
||||||
|
seconds will result in difficulty factor being upgraded to 500,000 and
|
||||||
|
5,000,000 respectively.</p>
|
||||||
|
<p>Visitor threshold is how mCaptcha determines which difficulty factor
|
||||||
|
level to deploy. mCaptcha uses leaky bucket algorithm to keep the
|
||||||
|
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/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/user-manual/how-to-mcaptcha-without-js/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
← Use mCaptcha without JavaScript
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a class="ms-auto" href="/docs/webmasters/faq/">
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-body py-2">
|
||||||
|
Webmasters FAQ →
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
183
donate/index.html
Normal file
183
donate/index.html
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Donate - mCaptcha</title>
|
||||||
|
<meta name="description" content="Donate to mCaptcha">
|
||||||
|
<link rel="canonical" href="/donate/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Donate">
|
||||||
|
<meta name="twitter:description" content="Donate to mCaptcha">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Donate">
|
||||||
|
<meta property="og:description" content="Donate to mCaptcha">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/donate/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-05-27T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-07-16T21:58:39+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": "Donate",
|
||||||
|
"item": "\/donate\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#xmr">XMR</a></li>
|
||||||
|
<li><a href="#liberapay">Liberapay</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Donate</h1>
|
||||||
|
<p><small>Last Edited July 16, 2021</small><p>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>mCaptcha is a small operation that is self-funded. At the time of
|
||||||
|
writing, we are not backed by any venture capitals. If you like
|
||||||
|
mCaptcha, please consider donating. Your donations will go a long
|
||||||
|
way in supporting us.</p>
|
||||||
|
<p>Some of the payment options are anonymous. You can optionally send
|
||||||
|
me(<a href="/contributors/aravinth-manivannan/">@realaravinth</a>) an email so that
|
||||||
|
I can thank you :)</p>
|
||||||
|
<h2 id="xmr">XMR<a href="#xmr" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<pre tabindex="0"><code>85QAHsHqg4WfA6G7ycXc7U4LmrSLCQARv6H9p3AYjf8o8YP
|
||||||
|
WH3ngC8Zi7bUYGUifdXb54Xuz41kcu2pqgGFuAYp3VSh5JsR
|
||||||
|
</code></pre><figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/donate/mcptcha-donations-monero-address-qr_hu17158619302850468841.png" data-srcset="/donate/mcptcha-donations-monero-address-qr_hu10587411859009476424.png 900w,/donate/mcptcha-donations-monero-address-qr_hu15868991819992263353.png 800w,/donate/mcptcha-donations-monero-address-qr_hu10903122095026686332.png 700w,/donate/mcptcha-donations-monero-address-qr_hu6245944374810128641.png 600w,/donate/mcptcha-donations-monero-address-qr_hu6616972071318057901.png 500w" width="240" height="240" alt="Monero address QR code">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/donate/mcptcha-donations-monero-address-qr_hu10587411859009476424.png 900w,/donate/mcptcha-donations-monero-address-qr_hu15868991819992263353.png 800w,/donate/mcptcha-donations-monero-address-qr_hu10903122095026686332.png 700w,/donate/mcptcha-donations-monero-address-qr_hu6245944374810128641.png 600w,/donate/mcptcha-donations-monero-address-qr_hu6616972071318057901.png 500w" src="/donate/mcptcha-donations-monero-address-qr.png" width="240" height="240" alt="Monero address QR code"></noscript>
|
||||||
|
<figcaption class="figure-caption"><em>Monero address QR code</em></figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="liberapay">Liberapay<a href="#liberapay" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<script src="https://liberapay.com/realaravinth/widgets/button.js"></script>
|
||||||
|
<p><noscript><a href="https://liberapay.com/realaravinth/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript></p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/donate/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
189
index.html
Normal file
189
index.html
Normal file
|
@ -0,0 +1,189 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>mCaptcha - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha is proof-of-work based captcha system that is privacy focused and fully automated.">
|
||||||
|
<link rel="canonical" href="/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="//static/images/landing.jpg">
|
||||||
|
<meta name="twitter:title" content="Defend Like Castles">
|
||||||
|
<meta name="twitter:description" content="mCaptcha is proof-of-work based captcha system that is privacy focused and fully automated.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Defend Like Castles">
|
||||||
|
<meta property="og:description" content="mCaptcha is proof-of-work based captcha system that is privacy focused and fully automated.">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:url" content="/">
|
||||||
|
<meta property="og:image" content="//static/images/landing.jpg">
|
||||||
|
<meta property="og:updated_time" content="2022-08-01T22:26:08+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+xml" href="/index.xml">
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "http://schema.org",
|
||||||
|
"@type": "BreadcrumbList",
|
||||||
|
"itemListElement": [{
|
||||||
|
"@type": "ListItem",
|
||||||
|
"position": 1 ,
|
||||||
|
"name": "Home",
|
||||||
|
"item": "\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="home">
|
||||||
|
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
|
||||||
|
<section class="section container-fluid mt-n3 pb-3">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-lg-12 text-center">
|
||||||
|
<h1 class="mt-0">Defend Like Castles</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-9 col-xl-8 text-center">
|
||||||
|
<p class="lead">mCaptcha is proof-of-work based captcha system that is privacy focused and fully automated.</p>
|
||||||
|
<a class="btn btn-primary btn-lg px-4 mb-2" href="https://showcase.mcaptcha.org/" role="button">Try mCaptcha</a>
|
||||||
|
     
|
||||||
|
<a class="btn btn-primary btn-lg px-4 mb-2" href="/docs/webmasters/installing-captcha/" role="button">Get started</a>
|
||||||
|
<p class="meta">Libre software <a href="https://github.com/mCaptcha">GitHub</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="section section-sm">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row justify-content-center text-center">
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">Privacy focused</h2>
|
||||||
|
<p>Doesn't track, doesn't profile your users.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">Robust and Accurate</h2>
|
||||||
|
<p>Got users behind <a href="https://en.wikipedia.org/wiki/Network_address_translation">NATs</a>? No issues. We don't use IP address for rate-liming. NAT or not you get the mCaptcha experience.
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">Best-in-class UX</h2>
|
||||||
|
<p>mCaptcha is silent, so silent that your users won't even feel it. No more annoying images, no more helping for Big Brothers with their ML stuff</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-center text-center">
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">Defend like castles</h2>
|
||||||
|
<p>Our <a href="https://en.wikipedia.org/wiki/Proof_of_work">PoW</a>-based solution defends fierily. mCaptcha makes attacking your site more expensive than what it will take for you to respond to the attacker's requests</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">Libre Software</h2>
|
||||||
|
<p>Client libraries are licensed using proprietary-friendly free software licenses but the core is <a href="http://www.gnu.org/licenses/agpl-3.0">AGPL'd</a>. We believe this is a tech that can change the way the web works so mCaptcha will always be free</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-5">
|
||||||
|
<h2 class="h4">xCaptcha drop-in replacement</h2>
|
||||||
|
<p>Already using a captcha solution? No worries, our APIs are compatible with reCAPTCHA and hCaptcha!</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section class="section section-sm container-fluid">
|
||||||
|
<div class="row justify-content-center text-center">
|
||||||
|
<div class="col-lg-9"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,615 @@
|
||||||
|
var suggestions=document.getElementById("suggestions"),userinput=document.getElementById("userinput");document.addEventListener("keydown",inputFocus);function inputFocus(e){e.keyCode===191&&(e.preventDefault(),userinput.focus()),e.keyCode===27&&(userinput.blur(),suggestions.classList.add("d-none"))}document.addEventListener("click",function(e){var t=suggestions.contains(e.target);t||suggestions.classList.add("d-none")}),document.addEventListener("keydown",suggestionFocus);function suggestionFocus(e){const s=suggestions.querySelectorAll("a"),o=[...s],t=o.indexOf(document.activeElement);let n=0;e.keyCode===38?(e.preventDefault(),n=t>0?t-1:0,s[n].focus()):e.keyCode===40&&(e.preventDefault(),n=t+1<o.length?t+1:t,s[n].focus())}(function(){var e=new FlexSearch({preset:"score",cache:!0,doc:{id:"id",field:["title","description","content"],store:["href","title","description"]}}),n=[{id:0,href:"/docs/webmasters/installing-captcha/",title:"Installing mCaptcha on your website",description:"Interested in deploying mCpatcha? From deploying a self-hosted instance to installing the CAPTCHA on your website, this guide will have you covered!",content:`<p>mCaptcha can protect your website from DDoS attacks. In this guide we’ll
|
||||||
|
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/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8539423057366315365.png" data-srcset="/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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_hu1419480717185241492.png 800w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu18366116196027657266.png 700w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu8883404866445004597.png 600w,/docs/webmasters/installing-captcha/mcaptcha-widget-installation-result_hu1488805238489702261.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
|
||||||
|
in @realaravinth’s bedroom(for this same reason, it shouldn’t be used
|
||||||
|
for anything serious)</p>
|
||||||
|
<h2 id="1-create-an-account-and-sign-into-the-mcaptcha-dashboard">1. Create an account and sign into the mCaptcha dashboard</h2>
|
||||||
|
<p>Head over to <a href="https://demo.mcaptcha.org/join">demo.mcaptcha.org</a> and
|
||||||
|
create an account. When ready, sign in.</p>
|
||||||
|
<h2 id="2-create-new-site-key">2. Create new site key</h2>
|
||||||
|
<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 “New Site” button in the dashboard.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-btn_hu11033699157513405873.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu10010004554705777348.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14464019368571524603.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu9084147443362993093.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14798931076198918212.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu15308330692516730217.png 500w" width="1825" height="857" alt="mCaptcha dashboard with the 'new site key' button highlighted">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/docs/webmasters/installing-captcha/new-sitekey-btn_hu10010004554705777348.png 900w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14464019368571524603.png 800w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu9084147443362993093.png 700w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu14798931076198918212.png 600w,/docs/webmasters/installing-captcha/new-sitekey-btn_hu15308330692516730217.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-btn.png" width="1825" height="857" alt="mCaptcha dashboard with the 'new site key' 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 <a href="/docs/webmasters/configuring-difficulty-factor#easy-option">easy mode</a> in this tutorial.</strong> If you are interested
|
||||||
|
in learning more about the advance mode, please see <a href="/docs/introduction/configuring-difficulty-factor/#advance-option">here</a>.</p>
|
||||||
|
<p>Fill the form and submit it.</p>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10048884879092657437.png" data-srcset="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu12219892087371285417.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10382683775793860778.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu9217787487936361361.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4911848437118511279.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4122546434746224491.png 500w" width="720" height="452" alt="mCaptcha dashboard with the 'new site key' 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_hu12219892087371285417.png 900w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu10382683775793860778.png 800w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu9217787487936361361.png 700w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4911848437118511279.png 600w,/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled_hu4122546434746224491.png 500w" src="/docs/webmasters/installing-captcha/new-sitekey-easy-mode-filled.png" width="720" height="452" alt="mCaptcha dashboard with the 'new site key' form in easy mode, with details filled in"></noscript>
|
||||||
|
</figure>
|
||||||
|
<h2 id="3-copy-widget-link">3. Copy widget link</h2>
|
||||||
|
<p>Submitting the form will take you to a page where site key configuration
|
||||||
|
can be viewed. “View deployment” link will display CAPTCHA widget with
|
||||||
|
the supplied configuration. Click on it and grab the widget link.</p>
|
||||||
|
<h2 id="4-install-mcaptcha-on-your-website">4. Install mCaptcha on your website</h2>
|
||||||
|
<p>Integration support is available for some frontend JavaScript
|
||||||
|
frameworks. To see full list of supported frameworks, please see
|
||||||
|
<a href="https://github.com/mCaptcha/glue#framework-support">here</a>.</p>
|
||||||
|
<p>There are two options to use the integration library to integrate
|
||||||
|
mCaptcha on your website:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Serve the integration library yourself</li>
|
||||||
|
<li>Use a CDN like unpkg.com</li>
|
||||||
|
</ol>
|
||||||
|
<p>In this tutorial, we’ll be using the CDN.</p>
|
||||||
|
<p><strong>Pasting the following snippet on the page, within the form</strong> that requires to be protected
|
||||||
|
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;-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">label</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">data-mcaptcha_url</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"{{paste your widget link here}}"</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:#50fa7b">for</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__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"> 4</span><span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__token-label"</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></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> mCaptcha authorization 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"> 7</span><span> <<span style="color:#ff79c6">a</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">href</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"https://mcaptcha.org/docs/user-manual/how-to-mcaptcha-without-js/"</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> >Instructions</<span style="color:#ff79c6">a</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 style="color:#ff79c6">input</span> <span style="color:#50fa7b">type</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"text"</span> <span style="color:#50fa7b">name</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__token"</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__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">12</span><span></<span style="color:#ff79c6">label</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:#ff79c6">div</span> <span style="color:#50fa7b">id</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"mcaptcha__widget-container"</span>></<span style="color:#ff79c6">div</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:#ff79c6">script</span> <span style="color:#50fa7b">src</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c">"https://unpkg.com/@mcaptcha/vanilla-glue@0.1.0-rc2/dist/index.js"</span>></<span style="color:#ff79c6">script</span>>
|
||||||
|
</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</h2>
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>Get <a href="/docs/webmasters/terminology/#authorization-token">authorization token</a> from the user’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;-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">"mcaptcha__token"</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;-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">"token"</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">"key"</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">"secret"</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">"https://demo.mcaptha.org/api/v1/pow/siteverify"</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><p><strong>Note</strong>: secret (<code>mcaptcha_account_secret</code> from above) is available in Dashboard > Settings > Secret</p>
|
||||||
|
<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;-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">"valid"</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">"invalid captcha"</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>
|
||||||
|
`},{id:1,href:"/docs/webmasters/configuring-difficulty-factor/",title:"Configuring Difficulty Factor",description:"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!",content:`<p>mCaptcha is highly responsive to detecting DDoS attacks. Admins are
|
||||||
|
advised to take advantage of it by setting low <a href="/docs/terminology/difficulty-factor/">difficulty
|
||||||
|
factors</a> for normal traffic levels
|
||||||
|
for their website.</p>
|
||||||
|
<p><strong>Lowest advisable difficulty factor is 5000.</strong></p>
|
||||||
|
<p>For instance, if it is normal for my website to get 2000 requests for
|
||||||
|
every 30 seconds, I will set a <a href="/docs/terminology/cooldown-period">cool
|
||||||
|
down</a> period of 30 seconds and the
|
||||||
|
first level of difficulty configuration will have a <a href="/docs/terminology/visitor-threshold">visitor threshold</a> of 2000 with a
|
||||||
|
difficulty factor of 5000.</p>
|
||||||
|
<p>There are two modes to setting difficulty factor for your website on
|
||||||
|
mCaptcha:</p>
|
||||||
|
<h3 id="easy-option">Easy option</h3>
|
||||||
|
<p>Easy mode asks a few basic statistics about your website and generates a
|
||||||
|
configuration that should work for your website. Currently, easy mode is
|
||||||
|
guided by assumptions on suitable difficulty factors to protect a
|
||||||
|
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/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3790320397528559381.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu3841561947870357023.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu16851969312021998206.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu1638060647632851116.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu6084644606388858577.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu14912407229894826701.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_hu3841561947870357023.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu16851969312021998206.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu1638060647632851116.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu6084644606388858577.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-easy-mode_hu14912407229894826701.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</h3>
|
||||||
|
<p>Advance mode gives the admin granular control over how mCaptcha behaves
|
||||||
|
on their website. It has options to set the difficulty factor for each
|
||||||
|
level of traffic(or visitor threshold, in mCaptcha speak), fully taking
|
||||||
|
advantage of mCaptcha’s variable difficulty factor feature.</p>
|
||||||
|
<p>For instance, if it is normal for a website to get 200 requests over 30
|
||||||
|
seconds, then setting a very low difficulty factor for a visitor
|
||||||
|
threshold of 200 and a cool down period of 30 seconds will allow the
|
||||||
|
users to pass through without waiting on the CAPTCHA. But if 1000
|
||||||
|
requests over 30 seconds will bring down the service, then the admin can
|
||||||
|
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/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu14086191014643178449.png" data-srcset="/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu15526148153509317663.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu2633109694258692951.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu4034073819773116662.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu11041752311853583462.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu13951058338117607007.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_hu15526148153509317663.png 900w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu2633109694258692951.png 800w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu4034073819773116662.png 700w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu11041752311853583462.png 600w,/docs/webmasters/configuring-difficulty-factor/new-sitekey-adv-mode_hu13951058338117607007.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>
|
||||||
|
`},{id:2,href:"/docs/self-hosting/getting-started/",title:"Getting started",description:"Get started with self-hosting mCaptcha",content:`<h2 id="get-started">Get started</h2>
|
||||||
|
<p>There are two main ways to self-host mCaptcha:</p>
|
||||||
|
<ol>
|
||||||
|
<li><a href="/docs/self-hosting/bare-metal">Bare metal</a></li>
|
||||||
|
<li><a href="/docs/self-hosting/docker">With Docker</a></li>
|
||||||
|
<li><a href="/docs/self-hosting/ansible">With Ansible</a></li>
|
||||||
|
</ol>
|
||||||
|
`},{id:3,href:"/docs/self-hosting/bare-metal/",title:"Deploy bare metal",description:"Bare metal deployment is tedious, most of this will be automated with a script in the future.",content:`<h2 id="1-install-database">1. Install Database</h2>
|
||||||
|
<p>The following databases are supported:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Postgres</li>
|
||||||
|
<li>MariaDB</li>
|
||||||
|
</ol>
|
||||||
|
<p>Please install the database of your choice. Then:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Create new database user for mCaptcha</li>
|
||||||
|
<li>Create new database for mCaptcha</li>
|
||||||
|
</ol>
|
||||||
|
<p>mCaptcha binary has migrations baked-in and is applied on start up. The
|
||||||
|
choice of database is described using the <a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL#scheme">scheme</a> of the database URL. For
|
||||||
|
instance:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Postgres: <code>postgres://mcaptcha:password@localhost:5432/mcaptcha</code></li>
|
||||||
|
<li>Mariadb: <code>mysql://mcaptcha:password@localhost:3306/mcaptcha</code></li>
|
||||||
|
</ol>
|
||||||
|
<h2 id="2-optionally-install-mcaptchacache">2. Optionally, install mCaptcha/cache</h2>
|
||||||
|
<p>We recommend this for larger instances. For single-user instances or for
|
||||||
|
instances that protect personal websites, we recommend using the
|
||||||
|
internal cache system. To do so, please comment out the
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/blob/d4967626ee59504b32b0f85e409b4e3444ddc4f0/config/default.toml#L54"><code>redis</code></a> section of the configuration file.</p>
|
||||||
|
<p>Please see <a href="https://github.com/mCaptcha/cache"><code>mCaptcha/cache</code></a> for more details.</p>
|
||||||
|
<h2 id="3-install-mcaptcha">3. Install mCaptcha</h2>
|
||||||
|
<h3 id="31-install-from-source">3.1 Install from source</h3>
|
||||||
|
<p>To build <code>mcaptcha</code>, you need the following dependencies:</p>
|
||||||
|
<ol>
|
||||||
|
<li>rust</li>
|
||||||
|
<li>node(<code>v20</code>)</li>
|
||||||
|
<li>yarn(JavaScript package manager)</li>
|
||||||
|
<li>make</li>
|
||||||
|
</ol>
|
||||||
|
<p>With all dependencies installed, run:</p>
|
||||||
|
<pre tabindex="0"><code>make dev-env && make release
|
||||||
|
</code></pre><p>And the following commands to install the compiled binary:</p>
|
||||||
|
<pre tabindex="0"><code>sudo cp ./target/release/mcaptcha /usr/bin/ && \\
|
||||||
|
mkdir sudo /etc/mcaptcha && \\
|
||||||
|
sudo cp config/default.toml /etc/mcaptcha/config.toml
|
||||||
|
</code></pre><h3 id="32-install-pre-compiled-binary">3.2 Install pre-compiled binary</h3>
|
||||||
|
<h4 id="i-download-assets">i. Download assets</h4>
|
||||||
|
<pre tabindex="0"><code>wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz.asc
|
||||||
|
wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz.sha256
|
||||||
|
wget https://dl.mcaptcha.org/mcaptcha/mCaptcha/master/mcaptcha-master-linux-amd64.tar.gz
|
||||||
|
</code></pre><h3 id="ii-verify-checksum">ii Verify checksum</h3>
|
||||||
|
<pre tabindex="0"><code>sha256sum -c mcaptcha-master-linux-amd64.tar.gz.sha256
|
||||||
|
</code></pre><h3 id="iii-verify-gpg-signature">iii Verify GPG signature</h3>
|
||||||
|
<p>All mcaptcha binaries are signed with <a href="https://keyserver.ubuntu.com/pks/lookup?search=73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73&fingerprint=on&op=index">our GPG
|
||||||
|
key</a>.
|
||||||
|
Please verify signatures to verify authenticity.</p>
|
||||||
|
<pre tabindex="0"><code>gpg --keyserver keyserver.ubuntu.com --recv 73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73
|
||||||
|
gpg --verify mcaptcha-master-linux-amd64.tar.gz.asc
|
||||||
|
</code></pre><h3 id="iv-install">iv. Install</h3>
|
||||||
|
<pre tabindex="0"><code>tar -xvzf mcaptcha-master-linux-amd64.tar.gz \\
|
||||||
|
&& sudo cp mcaptcha-master-linux-amd64/mcaptcha /usr/local/bin \\
|
||||||
|
&& sudo mkdir /etc/mcaptcha \\
|
||||||
|
&& sudo cp mcaptcha-master-linux-amd64/config.toml /etc/mcaptcha/
|
||||||
|
</code></pre><h3 id="4-configuration">4. Configuration</h3>
|
||||||
|
<p>mCaptcha is highly configurable.</p>
|
||||||
|
<p>Configuration is applied/merged in the following order:</p>
|
||||||
|
<ol>
|
||||||
|
<li>path to configuration file passed in via <code>MCAPTCHA_CONFIG</code></li>
|
||||||
|
<li><code>./config/default.toml</code></li>
|
||||||
|
<li><code>/etc/mcaptcha/config.toml</code></li>
|
||||||
|
<li>environment variables. Please see
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/blob/master/docs/CONFIGURATION.md">here</a> for a full list of environment variables.</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="5-systemd-service-configuration">5. Systemd service configuration:</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Copy the following to <code>/etc/systemd/system/mcaptcha.service</code>:</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>[Unit]
|
||||||
|
Description=mCaptcha: a CAPTCHA system that gives attackers a run for their money
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=mcaptcha
|
||||||
|
ExecStart=/usr/bin/mcaptcha
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=1
|
||||||
|
SuccessExitStatus=3 4
|
||||||
|
RestartForceExitStatus=3 4
|
||||||
|
SystemCallArchitectures=native
|
||||||
|
MemoryDenyWriteExecute=true
|
||||||
|
NoNewPrivileges=true
|
||||||
|
Environment="RUST_LOG=info"
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
After=sound.target
|
||||||
|
Wants=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
Requires=postgresql.service
|
||||||
|
After=syslog.target
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
</code></pre><ol start="2">
|
||||||
|
<li>Enable service:</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>sudo systemctl daemon-reload && \\
|
||||||
|
sudo systemctl enable mcaptcha && \\ # Auto startup during boot
|
||||||
|
sudo systemctl start mcaptcha
|
||||||
|
</code></pre><h3 id="6-install-and-configure-nginx">6. Install and configure Nginx</h3>
|
||||||
|
<p>mCaptcha doesn’t implement SSL yet. Please use a reverse proxy like
|
||||||
|
Nginx to add SSL to your deployment. Here’s an example virtual host
|
||||||
|
configuration for Nginx:</p>
|
||||||
|
<pre tabindex="0"><code>server {
|
||||||
|
server_name <your mcaptcha hostname>;
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:<mcaptcha_port>;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</code></pre>`},{id:4,href:"/docs/self-hosting/ansible/",title:"Using Ansible",description:"Deploy mCaptcha software using Ansible playbooks",content:`<p>Ansible playbooks to install mCaptcha are available <a href="https://git.batsense.net/mCaptcha/iac">here</a>.</p>
|
||||||
|
<h2 id="instructions">Instructions</h2>
|
||||||
|
<h3 id="installation">Installation</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Clone the repository:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>git clone https://git.batsense.net/mCaptcha/iac <span style="color:#ff79c6">&&</span> <span style="color:#8be9fd;font-style:italic">cd</span> iac
|
||||||
|
</span></span></code></pre></div><ol start="2">
|
||||||
|
<li>
|
||||||
|
<p>Create inventory file. You should have SSH access to the remote
|
||||||
|
machine, and the user must have <code>sudo</code> privileges. Example inventory
|
||||||
|
file:</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-ini" data-lang="ini"><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">[mcaptcha_hosts]</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">"mcaptcha_hosts"</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:#50fa7b"><node name> ansible_host</span><span style="color:#ff79c6">=</span><span style="color:#f1fa8c"><node IP> ansible_user=<remote username></span>
|
||||||
|
</span></span></code></pre></div><p>It is important that the group name be <code>mcaptcha_hosts</code>.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Configure installation by editing <a href="https://git.batsense.net/mCaptcha/iac/src/branch/master/ansible/vars/mcaptcha/vars.yml">ansible/vars/mcaptcha/vars.yml</a>. Most parameters have defaults, and the required parameters are annotated.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Run playbook:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span> ansible-playbook -i path/to/inventory-file -f <span style="color:#bd93f9">10</span> ./ansible/mcaptcha.yml
|
||||||
|
</span></span></code></pre></div><h3 id="update">Update</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Pull changes from Git repository</li>
|
||||||
|
<li>Rerun playbook</li>
|
||||||
|
</ol>
|
||||||
|
`},{id:5,href:"/docs/self-hosting/docker/",title:"Using Docker",description:"Deploy mCaptcha using docker",content:`<h2 id="with-docker">With Docker</h2>
|
||||||
|
<h3 id="1-configure">1. Configure</h3>
|
||||||
|
<p>mcaptcha is highly configurable.</p>
|
||||||
|
<p>Configuration is applied/merged in the following order:</p>
|
||||||
|
<ol>
|
||||||
|
<li>path to configuration file passed in via <code>MCAPTCHA_CONFIG</code></li>
|
||||||
|
<li><code>./config/default.toml</code></li>
|
||||||
|
<li><code>/etc/mcaptcha/config.toml</code></li>
|
||||||
|
<li>environment variables.</li>
|
||||||
|
</ol>
|
||||||
|
<p>See
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/tree/master/docs/CONFIGURATION.md">CONFIGURATION.md</a>
|
||||||
|
for configurable options.</p>
|
||||||
|
<h3 id="2-run-image">2. Run image</h3>
|
||||||
|
<p>If you have already have a Postgres instance running, then:</p>
|
||||||
|
<pre tabindex="0"><code>docker run -p <host-machine-port>:<port-in-configuration-file> \\
|
||||||
|
--add-host=database:<database-ip-addrss> \\
|
||||||
|
-e RUST_LOG=debug \\
|
||||||
|
-e DATABASE_URL="postgres://<db-user>:<db-password>@database:<db-port>/<db-name>" \\
|
||||||
|
mcaptcha/mcaptcha:latest
|
||||||
|
</code></pre><p>If you don’t have a Postgres instance running, you can either install
|
||||||
|
one using a package manager or launch one with docker.</p>
|
||||||
|
<h2 id="with-docker-compose">With docker-compose</h2>
|
||||||
|
<ol>
|
||||||
|
<li>Download docker-compose file and the configuration file:</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>wget https://raw.githubusercontent.com/mCaptcha/mCaptcha/master/.env.docker-compose
|
||||||
|
wget https://raw.githubusercontent.com/mCaptcha/mCaptcha/master/docker-compose.yml
|
||||||
|
</code></pre><ol start="2">
|
||||||
|
<li>
|
||||||
|
<p>Configure deployment using <code>.env.docker-compose</code> environment variable
|
||||||
|
file</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Launch containers:</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<pre tabindex="0"><code>docker-compose up -d
|
||||||
|
</code></pre><ol start="4">
|
||||||
|
<li>Configure SSL using reverse proxy: mCaptcha doesn’t support SSL at
|
||||||
|
the moment, so please use a reverse proxy to secure your instance. A
|
||||||
|
reference nginx virtual host configuration file is available <a href="../bare-metal/#6-install-and-configure-nginx">here</a>.</li>
|
||||||
|
</ol>
|
||||||
|
`},{id:6,href:"/docs/help/troubleshooting/",title:"Troubleshooting",description:"Solutions to common problems.",content:`<h2 id="q-i-just-setup-an-instance-but-i-am-unable-to-login">Q: I just setup an instance but I am unable to login</h2>
|
||||||
|
<p>mCaptcha by default is configured to server at <code>localhost</code> hostname. If
|
||||||
|
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;-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>`},{id:7,href:"/docs/api/browser/",title:"Browser libraries",description:"API documenttion for mCaptcha WASM library",content:`<p>The browser part of mCaptcha is divided into three components.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Glue code</li>
|
||||||
|
<li>Widget program</li>
|
||||||
|
<li>Proof-of-Work libraries(WebAssembly and JavaScript polyfill)</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="glue-code">Glue code</h2>
|
||||||
|
<p>This is the code that links mCaptcha with your website’s frontend code.
|
||||||
|
It creates an <code>iframe</code> containing the mCaptcha widget and injects the
|
||||||
|
received verification proof token into a hidden input field.</p>
|
||||||
|
<p>Support is available for various frameworks, see
|
||||||
|
<a href="https://github.com/mCaptcha/glue"><code>mCaptcha/glue</code></a> for the full list.</p>
|
||||||
|
<p>For frameworks without official support, a low-level library,
|
||||||
|
<a href="https://www.npmjs.com/package/@mcaptcha/core-glue"><code>@mcaptcha/core-glue</code></a>,
|
||||||
|
can be used to implement support.</p>
|
||||||
|
<h2 id="widget-program">Widget Program</h2>
|
||||||
|
<p>This part is served by the mCaptcha backend. It fetches PoW config from
|
||||||
|
the backend, generates proof and submits it for verification. If
|
||||||
|
verification is successful, it sends a message containing the
|
||||||
|
verification proof token to the parent window, assuming it’s loaded as
|
||||||
|
an <code>iframe</code>.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Source code:
|
||||||
|
<a href="https://github.com/mCaptcha/mCaptcha/tree/master/templates/widget"><code>mCaptcha/mCaptcha/templates/widget</code></a></li>
|
||||||
|
</ul>
|
||||||
|
<p>WebAssembly library which generates Proofs of Work for mCaptcha systems.</p>
|
||||||
|
<h2 id="proof-of-workpow-library">Proof-of-Work(PoW) library</h2>
|
||||||
|
<p>WebAssembly bindings(<a href="https://github.com/mCaptcha/pow_wasm"><code>mCaptcha/pow_wasm</code></a>) are available for the main rust library(<a href="https://github.com/mCaptcha/pow_sha256"><code>mCaptcha/pow_sha256</code></a>).</p>
|
||||||
|
<p>For browsers without support WebAssembly, a
|
||||||
|
polyfill(<a href="https://github.com/mCaptcha/pow_sha256-polyfill"><code>pow_sha256-polyfill</code></a>)
|
||||||
|
is available.</p>
|
||||||
|
`},{id:8,href:"/docs/api/mcaptcha-system/",title:"mCaptcha System Library",description:"API documenttion for the core Library used in mCaptcha",content:`<p>Documentation for the library used in mCaptcha core.</p>
|
||||||
|
<h2 id="versions">Versions</h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://mcaptcha.github.io/mCaptcha/m_captcha/index.html">master-branch</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.3/m_captcha/index.html">0.1.3</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.2/m_captcha/index.html">0.1.2</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.1/m_captcha/index.html">0.1.1</a></li>
|
||||||
|
<li><a href="/api-docs/m_captcha/0.1.0/m_captcha/index.html">0.1.0</a></li>
|
||||||
|
</ul>
|
||||||
|
`},{id:9,href:"/docs/api/pow-sha256/",title:"pow_sha256",description:"API documenttion for PoW Library used in mCaptcha",content:`<p>Rust crate which generates SHA256 Proofs of Work on serializable datatypes.</p>
|
||||||
|
<p>This is a fork of the <a href="https://github.com/bddap/pow"><code>pow</code> library</a> by
|
||||||
|
<a href="https://github.com/robkorn/pow_sha256">@robkorn</a>) with some new
|
||||||
|
additions. Primary of these being:</p>
|
||||||
|
<ul>
|
||||||
|
<li>PoW datatype now offers a constructor</li>
|
||||||
|
<li>Salt is no longer hard coded into the library, users can provide
|
||||||
|
unique salts.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Other small changes have also been included of various importance but
|
||||||
|
mostly just stylistic/ease of use improvements.</p>
|
||||||
|
<h2 id="versions">Versions</h2>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://mcaptcha.github.io/pow_sha256/pow_sha256/index.html">master-branch</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.2.1/pow_sha256/index.html">0.2.1</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.2.0/pow_sha256/index.html">0.2.0</a></li>
|
||||||
|
<li><a href="/api-docs/pow_sha256/0.1.0/pow_sha256/index.html">0.1.0</a></li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="changelog">Changelog</h2>
|
||||||
|
<p>Changelog is available at the project’s
|
||||||
|
<a href="https://github.com/mCaptcha/pow_sha256/blob/master/CHANGELOG.md">repository</a></p>
|
||||||
|
`},{id:10,href:"/docs/help/faq/",title:"FAQ",description:"Answers to frequently asked questions.",content:`<p>Coming soon</p>
|
||||||
|
`},{id:11,href:"/docs/user-manual/cli/",title:"CLI tool",description:"Instructions to install mCaptcha CLI",content:`<p>A CLI tool exists to compute mCaptcha challenges. It can be installed
|
||||||
|
from multiple sources:</p>
|
||||||
|
<h2 id="install">Install</h2>
|
||||||
|
<h3 id="cratesio">crates.io</h3>
|
||||||
|
<p>The CLI tool is available on, <a href="https://crates.io">crates.io</a>, the Rust
|
||||||
|
language’s package registry. Rust language toolchain is required to
|
||||||
|
install from crates.io, please see <a href="https://rustup.rs">rustup.rs</a> for
|
||||||
|
Instructions to install it.</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>cargo install mcaptcha-cli
|
||||||
|
</span></span></code></pre></div><h3 id="pre-compiled-binaries">Pre-compiled binaries</h3>
|
||||||
|
<p>Nightly builds and stable releases are regularly published to
|
||||||
|
<a href="https://dl.mcaptcha.org/mcaptcha/cli">dl.mcaptcha.org</a> for a variety of
|
||||||
|
CPU architectures and operating systems.</p>
|
||||||
|
<ol>
|
||||||
|
<li>Download binary, checksum and GPG signature files</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz
|
||||||
|
</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>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.asc
|
||||||
|
</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>wget https://dl.mcaptcha.org/mcaptcha/cli/<span style="color:#ff79c6">{</span>VERSION<span style="color:#ff79c6">}</span>/<span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.sha256
|
||||||
|
</span></span></code></pre></div><ol start="2">
|
||||||
|
<li>Verify checksum</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>sha256sum -c <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.sha256
|
||||||
|
</span></span></code></pre></div><ol start="3">
|
||||||
|
<li>Download mCaptcha’s GPG release keys and verify GPG signature</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>gpg --keyserver keyserver.ubuntu.com --recv 73DAC973A9ADBB9ADCB5CDC4595A08135BA9FF73
|
||||||
|
</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>gpg --verify <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz.asc
|
||||||
|
</span></span></code></pre></div><ol start="4">
|
||||||
|
<li>Install Binary</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>tar -xvzf <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>.tar.gz <span style="color:#ff79c6">&&</span> sudo cp <span style="color:#ff79c6">{</span>FILENAME<span style="color:#ff79c6">}</span>/mcaptcha-cli /usr/local/bin
|
||||||
|
</span></span></code></pre></div><h3 id="build-from-source">Build from source</h3>
|
||||||
|
<ol>
|
||||||
|
<li>Install Rust tool chain
|
||||||
|
Please see <a href="https://rustup.rs">here</a> for instructions.</li>
|
||||||
|
<li>Download source 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-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>git clone https://git.batsense.net/mCaptcha/cli
|
||||||
|
</span></span></code></pre></div><ol start="3">
|
||||||
|
<li>Compile and install</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>cargo build --release <span style="color:#ff79c6">&&</span> sudp cp ./target/release/mcaptcha-cli
|
||||||
|
</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>/usr/local/bin
|
||||||
|
</span></span></code></pre></div><h2 id="pass-mcaptcha-challenge">Pass mCaptcha challenge</h2>
|
||||||
|
<p>The CLI tool requires details about the challenge to work on it. The
|
||||||
|
tool can be used in three different modes compute challenge:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Protected Page: Compute mCaptcha challenge for the CAPTCHA at a
|
||||||
|
protected page</li>
|
||||||
|
<li>Widget URL: Compute PoW for captcha at widget URL</li>
|
||||||
|
<li>(Developer mode) Offline: Computes PoW over given CAPTCHA parameters</li>
|
||||||
|
</ol>
|
||||||
|
<h3 id="from-protected-page-url">From protected page URL</h3>
|
||||||
|
<p>The most convenient mode: copy the URL of the webpage which has the
|
||||||
|
mCaptcha widget (example: showcase.mcaptcha.org) and run the CLI tool
|
||||||
|
with it to get an authorization code:
|
||||||
|
Compute challenge using the URL</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>03:39 atm@lab cli ±|feat-parse-webpage ✗|→ mcaptcha-cli protected-page https://showcase.mcaptcha.org/
|
||||||
|
</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>Authorization token: eRAZJiMrW58uDYA1s64Tmwq1u30HutuF
|
||||||
|
</span></span></code></pre></div><h3 id="widget-url">Widget URL</h3>
|
||||||
|
<p>If you have the widget URL (will be in format https://mcaptcha.example.org/widget?sitekey=randomstring), it can be used to solve challenge as well:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>Compute PoW by fetching parameters from CAPTCHA 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">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>Usage: mcaptcha-cli online --url <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">4</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">5</span><span>Options:
|
||||||
|
</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> -u, --url <URL> URL of the CAPTCHA. Example: https://example.org/widget?sitekey<span style="color:#ff79c6">=</span>foo
|
||||||
|
</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> -h, --help Print <span style="color:#8be9fd;font-style:italic">help</span>
|
||||||
|
</span></span></code></pre></div><p>Example usage:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>13:32 atm@lab cli ±|online ✗|→ mcaptcha-cli online -u https://demo.mcaptcha.org/widget?sitekey<span style="color:#ff79c6">=</span>pHy0AktWyOKuxZDzFfoaewncWecCHo23
|
||||||
|
</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>Authorization token: 3xleN26OctBuVu3X4t6CYyUjErhaxQvz
|
||||||
|
</span></span></code></pre></div><h3 id="developer-mode-offline">[Developer mode] Offline</h3>
|
||||||
|
<p>Useful while debugging mCaptcha configurations, works on raw challenge
|
||||||
|
parameters.</p>
|
||||||
|
<p>Help menu:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>Compute PoW with offline parameters
|
||||||
|
</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>Usage: mcaptcha-cli offline --salt <SALT> --phrase <PHRASE> --difficulty-factor <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">4</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">5</span><span>Options:
|
||||||
|
</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> -s, --salt <SALT> Salt with which PoW should be computed
|
||||||
|
</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> -p, --phrase <PHRASE> Phrase over which PoW should be computed
|
||||||
|
</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> -d, --difficulty-factor <DIFFICULTY_FACTOR> 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">9</span><span> -h, --help Print <span style="color:#8be9fd;font-style:italic">help</span>
|
||||||
|
</span></span></code></pre></div><p>Example usage:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>13:28 atm@lab cli ±|online|→ mcaptcha-cli offline -s <span style="color:#ff79c6">$(</span>rand 32<span style="color:#ff79c6">)</span> -p <span style="color:#ff79c6">$(</span>rand 32<span style="color:#ff79c6">)</span> -d <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">2</span><span>difficulty: <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>nonce: <span style="color:#bd93f9">90507</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>original phrase: f351f333d44b2c6b5bf7f033b065bbb8fb5e9dd153bd402e43ed04425f5a3859
|
||||||
|
</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>result: <span style="color:#bd93f9">340276562956196291522979356090220150471</span>
|
||||||
|
</span></span></code></pre></div><p>Where rand is <a href="https://github.com/realaravinth/dotfiles/blob/6fc6c87cc912e17488a35c0d3327ecf393221270/scripts/rand#L20">this</a> script.</p>
|
||||||
|
`},{id:12,href:"/docs/user-manual/how-to-mcaptcha-without-js/",title:"Use mCaptcha without JavaScript",description:"Instructions to solve mCaptcha with JavaScript disabled",content:`<p>To use mCaptcha without JavaScript:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Install mCaptcha CLI too. Please see <a href="./cli">here</a> for instructions.</li>
|
||||||
|
<li>Copy the URL of the protected page</li>
|
||||||
|
<li>Run mCaptcha CLI with that URL:</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;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f">1</span><span>mcapthca-cli protected-page <URL>
|
||||||
|
</span></span></code></pre></div><ol start="4">
|
||||||
|
<li>Copy authorization code and paste it in the form</li>
|
||||||
|
</ol>
|
||||||
|
`},{id:13,href:"/docs/user-manual/",title:"User Manual",description:"Introduction to mCaptcha for users",content:""},{id:14,href:"/docs/webmasters/terminology/",title:"Terminology",description:"Information about terminology used in mCaptcha, some of which unique to the project",content:`<h2 id="authorization-token">Authorization token</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’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</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</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’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</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</h2>
|
||||||
|
<p>mCaptcha’s variable difficulty factor mechanism requires a website’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
|
||||||
|
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.</p>
|
||||||
|
<p>For instance, consider the configuration given below:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Cool down period: 30 seconds</li>
|
||||||
|
</ul>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="text-align: left">Level</th>
|
||||||
|
<th style="text-align: left">Difficulty Factor</th>
|
||||||
|
<th style="text-align: left">Visitor Threshold</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">1</td>
|
||||||
|
<td style="text-align: left">5,000</td>
|
||||||
|
<td style="text-align: left">2,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">2</td>
|
||||||
|
<td style="text-align: left">50,000</td>
|
||||||
|
<td style="text-align: left">5,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">3</td>
|
||||||
|
<td style="text-align: left">500,000</td>
|
||||||
|
<td style="text-align: left">10,000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: left">4</td>
|
||||||
|
<td style="text-align: left">5,000,000</td>
|
||||||
|
<td style="text-align: left">15,000</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>If the website sees 2,000 requests in a 30 second window, level 1
|
||||||
|
difficulty factor(5,000) will be deployed. If the traffic increases to
|
||||||
|
5,000 requests in a 30 second window, then difficulty factor will be
|
||||||
|
upgraded to level 2(50,000). Likewise 10,000 and 15,000 requests over 30
|
||||||
|
seconds will result in difficulty factor being upgraded to 500,000 and
|
||||||
|
5,000,000 respectively.</p>
|
||||||
|
<p>Visitor threshold is how mCaptcha determines which difficulty factor
|
||||||
|
level to deploy. mCaptcha uses leaky bucket algorithm to keep the
|
||||||
|
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>
|
||||||
|
`},{id:15,href:"/docs/webmasters/faq/",title:"Webmasters FAQ",description:"Frequently asked questions related to using mCaptcha as a webmaster",content:`<h3 id="easy-mode-default-cooldown-period">Easy Mode: Default cooldown period</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?</h2>
|
||||||
|
<ol>
|
||||||
|
<li>Go to “Site keys” 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/webmasters/faq/sitekey-in-dashboard-sidepanel_hu1842978153838973955.png" data-srcset="/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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_hu7616676515296954887.png 800w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu2820398381730295401.png 700w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu14296824487641448064.png 600w,/docs/webmasters/faq/sitekey-in-dashboard-sidepanel_hu13642425771348413616.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">
|
||||||
|
<li>click on the clipboard button to copy the site key to your
|
||||||
|
clipboard.</li>
|
||||||
|
</ol>
|
||||||
|
<figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/docs/webmasters/faq/copy-sitekey_hu10670341732240698368.png" data-srcset="/docs/webmasters/faq/copy-sitekey_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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_hu12574324563529048918.png 900w,/docs/webmasters/faq/copy-sitekey_hu10402720001579260311.png 800w,/docs/webmasters/faq/copy-sitekey_hu3452963981457815043.png 700w,/docs/webmasters/faq/copy-sitekey_hu12392874392811771870.png 600w,/docs/webmasters/faq/copy-sitekey_hu2183952705797892621.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>
|
||||||
|
`},{id:16,href:"/docs/help/",title:"Help",description:"Help mCaptcha.",content:""},{id:17,href:"/docs/webmasters/",title:"Webmasters",description:"Introduction to mCaptcha for webmasters",content:""},{id:18,href:"/docs/api/",title:"API",description:"Documentation for libraries used in mCaptcha",content:""},{id:19,href:"/docs/",title:"mCaptcha",description:"Docs mCaptcha",content:""},{id:20,href:"/docs/self-hosting/",title:"Self-Hosting",description:"Instructions to self-host mCaptcha",content:""}];e.add(n),userinput.addEventListener("input",s,!0),suggestions.addEventListener("click",o,!0);function s(){var n,i=this.value,s=e.search(i,5),o=suggestions.childNodes,r=0,c=s.length;for(suggestions.classList.remove("d-none"),s.forEach(function(e){n=document.createElement("div"),n.innerHTML="<a href><span></span><span></span></a>",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.href,t.textContent=e.title,d.textContent=e.description,suggestions.appendChild(n)});o.length>c;)suggestions.removeChild(o[r])}function o(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1}})()
|
184
index.xml
Normal file
184
index.xml
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>Defend Like Castles on </title>
|
||||||
|
<link>/</link>
|
||||||
|
<description>Recent content in Defend Like Castles on </description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<language>en-US</language>
|
||||||
|
<lastBuildDate>Tue, 09 Mar 2021 00:00:00 +0000</lastBuildDate>
|
||||||
|
|
||||||
|
<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>About</title>
|
||||||
|
<link>/about/</link>
|
||||||
|
<pubDate>Thu, 27 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/about/</guid>
|
||||||
|
<description><p>mCaptcha is a kickass CAPTCHA systems that gives (DDoS)
|
||||||
|
attackers a run for their money. And we do all of this without tracking
|
||||||
|
your users. Oh and did I mention our UX is great?</p>
|
||||||
|
<p>At mCaptcha, we believe in digital freedom and privacy and so we built
|
||||||
|
a proof-of-work based CAPTCHA system that doesn’t track. Seriously, no
|
||||||
|
tracking. But that isn’t the killer feature, our system doesn’t require
|
||||||
|
the user to pick cars or ID sidewalks — our system does it’s
|
||||||
|
thing(usually at the click of a button) and gets out of the way.</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Donate</title>
|
||||||
|
<link>/donate/</link>
|
||||||
|
<pubDate>Thu, 27 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/donate/</guid>
|
||||||
|
<description><p>mCaptcha is a small operation that is self-funded. At the time of
|
||||||
|
writing, we are not backed by any venture capitals. If you like
|
||||||
|
mCaptcha, please consider donating. Your donations will go a long
|
||||||
|
way in supporting us.</p>
|
||||||
|
<p>Some of the payment options are anonymous. You can optionally send
|
||||||
|
me(<a href="/contributors/aravinth-manivannan/">@realaravinth</a>) an email so that
|
||||||
|
I can thank you :)</p>
|
||||||
|
<h2 id="xmr">XMR</h2>
|
||||||
|
<pre tabindex="0"><code>85QAHsHqg4WfA6G7ycXc7U4LmrSLCQARv6H9p3AYjf8o8YP
|
||||||
|
WH3ngC8Zi7bUYGUifdXb54Xuz41kcu2pqgGFuAYp3VSh5JsR
|
||||||
|
</code></pre><figure>
|
||||||
|
<img class="img-fluid lazyload blur-up" data-sizes="auto" src="/donate/mcptcha-donations-monero-address-qr_hu17158619302850468841.png" data-srcset="/donate/mcptcha-donations-monero-address-qr_hu10587411859009476424.png 900w,/donate/mcptcha-donations-monero-address-qr_hu15868991819992263353.png 800w,/donate/mcptcha-donations-monero-address-qr_hu10903122095026686332.png 700w,/donate/mcptcha-donations-monero-address-qr_hu6245944374810128641.png 600w,/donate/mcptcha-donations-monero-address-qr_hu6616972071318057901.png 500w" width="240" height="240" alt="Monero address QR code">
|
||||||
|
<noscript><img class="img-fluid" sizes="100vw" srcset="/donate/mcptcha-donations-monero-address-qr_hu10587411859009476424.png 900w,/donate/mcptcha-donations-monero-address-qr_hu15868991819992263353.png 800w,/donate/mcptcha-donations-monero-address-qr_hu10903122095026686332.png 700w,/donate/mcptcha-donations-monero-address-qr_hu6245944374810128641.png 600w,/donate/mcptcha-donations-monero-address-qr_hu6616972071318057901.png 500w" src="/donate/mcptcha-donations-monero-address-qr.png" width="240" height="240" alt="Monero address QR code"></noscript>
|
||||||
|
<figcaption class="figure-caption"><em>Monero address QR code</em></figcaption>
|
||||||
|
</figure>
|
||||||
|
<h2 id="liberapay">Liberapay</h2>
|
||||||
|
<script src="https://liberapay.com/realaravinth/widgets/button.js"></script>
|
||||||
|
<p><noscript><a href="https://liberapay.com/realaravinth/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript></p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Privacy Policy</title>
|
||||||
|
<link>/privacy-policy/</link>
|
||||||
|
<pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/privacy-policy/</guid>
|
||||||
|
<description><p><strong>TLDR</strong>: We do not use cookies, we do not collect any personal data and
|
||||||
|
logs aren&rsquo;t shared with third-parties.</p>
|
||||||
|
<h2 id="website-visitors">Website visitors</h2>
|
||||||
|
<ul>
|
||||||
|
<li>No personal information is collected.</li>
|
||||||
|
<li>No information is stored in the browser.</li>
|
||||||
|
<li>No information is shared with, sent to or sold to third-parties.</li>
|
||||||
|
<li>No information is shared with advertising companies.</li>
|
||||||
|
<li>No information is mined and harvested for personal and behavioral trends.</li>
|
||||||
|
<li>No information is monetized.</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="information-we-collect-and-what-we-use-it-for">Information we collect and what we use it for</h3>
|
||||||
|
<p>Website activity is logged and stored for a period of one month for
|
||||||
|
debugging purposes. We don&rsquo;t share this information with anyone nor do
|
||||||
|
we run analytics on it.</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Community</title>
|
||||||
|
<link>/community/</link>
|
||||||
|
<pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/community/</guid>
|
||||||
|
<description><h2 id="matrix-community">Matrix Community</h2>
|
||||||
|
<p>Come say hi at our <a href="https://matrix.to/#/#mcaptcha:matrix.batsense.net">Matrix community</a>!</p>
|
||||||
|
<h2 id="fediverse-handle">Fediverse handle</h2>
|
||||||
|
<p>We are on the Fediverse at
|
||||||
|
<a href="https://gts.batsense.net/@mcaptcha">@mCapthca@batsense.net</a>, toot at
|
||||||
|
us for queries and whatnot :)</p>
|
||||||
|
<h2 id="official-twitter-handle">Official Twitter handle</h2>
|
||||||
|
<p>The project also has a twitter twitter presence at <a href="https://twitter.com/m_captcha/">@m_captcha(Nitter
|
||||||
|
hyperlink)</a>. This space is used in
|
||||||
|
addition to the blog to post short updates.</p>
|
||||||
|
<h2 id="lead-developer-email">Lead developer email</h2>
|
||||||
|
<p>Write to me at <a href="mailto:realaravinth@batsense.net">realaravinth@batsense.net</a>!</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Security</title>
|
||||||
|
<link>/security/</link>
|
||||||
|
<pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/security/</guid>
|
||||||
|
<description><p>Security is at the heart of mCaptcha. If you find any discrepancies in
|
||||||
|
our software(see listing on our <a href="https://github.com/mCaptcha">GitHub</a>,
|
||||||
|
<a href="#scope">services available</a>)</p>
|
||||||
|
<h2 id="rules">Rules:</h2>
|
||||||
|
<h3 id="before-you-start">Before you start</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Check the list of domains that are in scope for security research
|
||||||
|
and the list of targets for useful information for getting started.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Check the list of bugs that have been classified as ineligible.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Check our changelog(in our GitHub repositories) for recently launched
|
||||||
|
features.</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Thanks</title>
|
||||||
|
<link>/thanks/</link>
|
||||||
|
<pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/thanks/</guid>
|
||||||
|
<description><h2 id="funding">Funding</h2>
|
||||||
|
<h3 id="nlnet">NLnet</h3>
|
||||||
|
<div align="center">
|
||||||
|
<img
|
||||||
|
height="150px"
|
||||||
|
alt="NLnet NGIZero logo"
|
||||||
|
src="/third-party/NGIZero-green.hex.svg"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<p>2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0 Entrust
|
||||||
|
Fund</a>, via <a href="https://nlnet.nl/">NLnet</a>. Please
|
||||||
|
see <a href="https://nlnet.nl/project/mCaptcha/">here</a> for more details.</p>
|
||||||
|
<h2 id="free-software-libraries-and-tools">Free software libraries and tools</h2>
|
||||||
|
<p>mCaptcha is built entirely using free software libraries tools. We are
|
||||||
|
grateful for all maintainers and contributors for their time and effort
|
||||||
|
in making them!</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Contact</title>
|
||||||
|
<link>/contact/</link>
|
||||||
|
<pubDate>Thu, 27 Aug 2020 19:23:18 +0200</pubDate>
|
||||||
|
|
||||||
|
<guid>/contact/</guid>
|
||||||
|
<description><h2 id="matrix-community">Matrix Community</h2>
|
||||||
|
<p>We have a <a href="https://matrix.to/#/+mcaptcha:matrix.batsense.net">Matrix
|
||||||
|
community</a>, come say
|
||||||
|
hi!.</p>
|
||||||
|
<h2 id="lead-developer">Lead developer</h2>
|
||||||
|
<p>You can find me(<a href="/contributors/aravinth-manivannan/">@realaravinth</a>) on
|
||||||
|
the <a href="https://matrix.to/#/@realaravinth:matrix.batsense.net">Matrix</a>, on
|
||||||
|
<a href="https://github.com/realaravinth">GitHub</a> or email me at
|
||||||
|
<a href="mailto:realaravinth@batsense.net">realaravinth@batense.net</a>.</p></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Blog</title>
|
||||||
|
<link>/blog/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/blog/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>mCaptcha</title>
|
||||||
|
<link>/docs/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/docs/</guid>
|
||||||
|
<description></description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
194
privacy-policy/index.html
Normal file
194
privacy-policy/index.html
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Privacy Policy - mCaptcha</title>
|
||||||
|
<meta name="description" content="We do not use cookies, we do not collect any personal data and logs aren't shared with third-parties.">
|
||||||
|
<link rel="canonical" href="/privacy-policy/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Privacy Policy">
|
||||||
|
<meta name="twitter:description" content="We do not use cookies, we do not collect any personal data and logs aren't shared with third-parties.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Privacy Policy">
|
||||||
|
<meta property="og:description" content="We do not use cookies, we do not collect any personal data and logs aren't shared with third-parties.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/privacy-policy/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-05-26T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-05-27T19:15:04+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": "Privacy Policy",
|
||||||
|
"item": "\/privacy-policy\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#website-visitors">Website visitors</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#information-we-collect-and-what-we-use-it-for">Information we collect and what we use it for</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#contact-us">Contact us</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Privacy Policy</h1>
|
||||||
|
<p><small>Last Edited May 27, 2021</small><p>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p><strong>TLDR</strong>: We do not use cookies, we do not collect any personal data and
|
||||||
|
logs aren’t shared with third-parties.</p>
|
||||||
|
<h2 id="website-visitors">Website visitors<a href="#website-visitors" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<ul>
|
||||||
|
<li>No personal information is collected.</li>
|
||||||
|
<li>No information is stored in the browser.</li>
|
||||||
|
<li>No information is shared with, sent to or sold to third-parties.</li>
|
||||||
|
<li>No information is shared with advertising companies.</li>
|
||||||
|
<li>No information is mined and harvested for personal and behavioral trends.</li>
|
||||||
|
<li>No information is monetized.</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="information-we-collect-and-what-we-use-it-for">Information we collect and what we use it for<a href="#information-we-collect-and-what-we-use-it-for" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>Website activity is logged and stored for a period of one month for
|
||||||
|
debugging purposes. We don’t share this information with anyone nor do
|
||||||
|
we run analytics on it.</p>
|
||||||
|
<p>The following information is collected:</p>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Page URL</strong>. the page URL of each page view on this website. For
|
||||||
|
example: <em>https://mcaptcha.org/contact</em></li>
|
||||||
|
<li><strong>Browser</strong>. We use this to reproduce browser-specific bugs people
|
||||||
|
see. This is derived from the User-Agent HTTP header. For example: <em>Chrome</em>.</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="contact-us">Contact us<a href="#contact-us" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p><a href="/contact/">Contact us</a> if you have any questions.</p>
|
||||||
|
<p>Effective Date: <em>20th May, 2021</em></p>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/privacy-policy/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
508
security/index.html
Normal file
508
security/index.html
Normal file
|
@ -0,0 +1,508 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Security - mCaptcha</title>
|
||||||
|
<meta name="description" content="mCaptcha security policies.">
|
||||||
|
<link rel="canonical" href="/security/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Security">
|
||||||
|
<meta name="twitter:description" content="mCaptcha security policies.">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Security">
|
||||||
|
<meta property="og:description" content="mCaptcha security policies.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/security/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-10T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2021-05-27T19:15:04+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": "Security",
|
||||||
|
"item": "\/security\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#rules">Rules:</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#before-you-start">Before you start</a></li>
|
||||||
|
<li><a href="#performing-your-research">Performing your research</a></li>
|
||||||
|
<li><a href="#handling-personally-identifiable-information-pii">Handling personally identifiable information (PII)</a></li>
|
||||||
|
<li><a href="#reporting-your-vulnerability">Reporting your vulnerability</a></li>
|
||||||
|
<li><a href="#legal-safe-harbor">Legal safe harbor:</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#scope">Scope:</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#mcaptchaorg">mcaptcha.org</a></li>
|
||||||
|
<li><a href="#mcaptchaio">mcaptcha.io</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#contact">Contact</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#email">Email</a></li>
|
||||||
|
<li><a href="#gpg-key">GPG Key</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9">
|
||||||
|
|
||||||
|
<h1>Security</h1>
|
||||||
|
<p><small>Last Edited May 27, 2021</small><p>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<p>Security is at the heart of mCaptcha. If you find any discrepancies in
|
||||||
|
our software(see listing on our <a href="https://github.com/mCaptcha">GitHub</a>,
|
||||||
|
<a href="#scope">services available</a>)</p>
|
||||||
|
<h2 id="rules">Rules:<a href="#rules" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="before-you-start">Before you start<a href="#before-you-start" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Check the list of domains that are in scope for security research
|
||||||
|
and the list of targets for useful information for getting started.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Check the list of bugs that have been classified as ineligible.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Check our changelog(in our GitHub repositories) for recently launched
|
||||||
|
features.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Never attempt non-technical attacks such as social engineering,
|
||||||
|
phishing, or physical attacks against our employees, users, or
|
||||||
|
infrastructure.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>When in doubt, contact
|
||||||
|
me(<a href="/contributors/aravinth-manivannan/">@realaravinth</a>) at
|
||||||
|
<a href="mailto:realaravinth@batsense.net">realaravinth@batense.net</a>.</p>
|
||||||
|
<h3 id="performing-your-research">Performing your research<a href="#performing-your-research" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Do not impact other users with your testing, this includes testing
|
||||||
|
vulnerabilities with CAPTCHA credentials and account credentials
|
||||||
|
of accounts you do not own. If you are attempting to find an
|
||||||
|
authorization bypass, you must use accounts you own.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>The following are never allowed for research. We may
|
||||||
|
suspend your mCaptcha account for:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Performing distributed denial of service (DDoS) or other volumetric
|
||||||
|
attacks. Sure, we are a DDoS protection organisation, but with sufficient
|
||||||
|
resources and motivation, it is possible to take us down. For this
|
||||||
|
reason, we request you to not hurt us.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Spamming content Large-scale vulnerability scanners, scrapers, or
|
||||||
|
automated tools which produce excessive amounts of traffic.</p>
|
||||||
|
<p>Note: We do allow the use of automated tools so long as they do
|
||||||
|
not produce excessive amounts of traffic. For example, running
|
||||||
|
one nmap scan against one host is allowed, but sending 65,000
|
||||||
|
requests in two minutes using Burp Suite Intruder is excessive.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Researching denial-of-service attacks is allowed only if you follow
|
||||||
|
these rules:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>There are no limits for researching denial of service
|
||||||
|
vulnerabilities against your own instance of mCaptcha server. <strong>We
|
||||||
|
strongly recommend/prefer this method for researching denial of
|
||||||
|
service issues.</strong></p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>If you choose to test on mCaptcha proper (i.e.
|
||||||
|
<a href="https://mcaptcha.org">https://mcaptcha.org</a> or <a href="https://mcaptcha.io">https://mcaptcha.io</a>):</p>
|
||||||
|
<ul>
|
||||||
|
<li>Research must be performed using credentials you own.</li>
|
||||||
|
<li>Stop immediately if you believe you have affected the
|
||||||
|
availability of our services. Don’t worry about demonstrating
|
||||||
|
the full impact of your vulnerability, our team
|
||||||
|
will be able to determine the impact.</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="handling-personally-identifiable-information-pii">Handling personally identifiable information (PII)<a href="#handling-personally-identifiable-information-pii" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Personally identifying information (PII) includes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>legal and/or full names</li>
|
||||||
|
<li>names or usernames combined with other identifiers like phone numbers or email addresses</li>
|
||||||
|
<li>health or financial information (including insurance information, social security numbers, etc.)</li>
|
||||||
|
<li>information about political or religious affiliations</li>
|
||||||
|
<li>information about race, ethnicity, sexual orientation, gender, or other identifying information that could be used for discriminatory purposes</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Do not intentionally access others’ PII. If you suspect a service
|
||||||
|
provides access to PII, limit queries to your own personal
|
||||||
|
information.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Report the vulnerability immediately and do not attempt to access any
|
||||||
|
other data. We will assess the scope and impact of the PII exposure.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Limit the amount of data returned from services. For SQL injection,
|
||||||
|
for example, limit the number of rows returned</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>You must delete all your local, stored, or cached copies of data
|
||||||
|
containing PII as soon as possible. We may ask you to sign a
|
||||||
|
certificate of deletion and confidentiality agreement regarding the
|
||||||
|
exact information you accessed. We may ask you for the usernames and
|
||||||
|
IP addresses used during your testing to assess the impact of the
|
||||||
|
vulnerability.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="reporting-your-vulnerability">Reporting your vulnerability<a href="#reporting-your-vulnerability" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>Reports must include written instructions for reproducing the
|
||||||
|
vulnerability.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>When reporting vulnerabilities you must keep all information on
|
||||||
|
restricted to email correspondence with us(<a href="#contact">see below for
|
||||||
|
contact</a>). If you believe the bug to be critical, please use
|
||||||
|
encryption.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Do not post information to
|
||||||
|
video-sharing or pastebin sites.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>For vulnerabilities involving personally identifiable information,
|
||||||
|
please explain the kind of PII you believe is exposed and limit the
|
||||||
|
amount of PII data included in your bug report. For textual
|
||||||
|
information and screenshots, please only include redacted data in your
|
||||||
|
bug report.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>During the course of an investigation, it may take time to resolve
|
||||||
|
the issue you have reported. We ask that you refrain from publicly
|
||||||
|
disclosing details regarding an issue you’ve reported until the fix has
|
||||||
|
been publicly made available.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="legal-safe-harbor">Legal safe harbor:<a href="#legal-safe-harbor" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p>We currently don’t have any legal policies in place but rest assured
|
||||||
|
that as long as your research adheres to the above rules, your security
|
||||||
|
research and vulnerability disclosure activities are considered as
|
||||||
|
“authorized”.</p>
|
||||||
|
<p>A detailed policy based on this sentiment is in the works.</p>
|
||||||
|
<h2 id="scope">Scope:<a href="#scope" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>mCaptcha runs a number of services. Only domains listed below are are
|
||||||
|
eligible for security research. Any mCaptcha-owned domains not listed
|
||||||
|
below are <em>not</em> in scope and are <em>not</em> covered by our <a href="./#legal-safe-harbor">legal safe
|
||||||
|
harbor</a></p>
|
||||||
|
<h3 id="mcaptchaorg">mcaptcha.org<a href="#mcaptchaorg" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>mcaptcha.org</li>
|
||||||
|
<li>demo.mcaptcha.org</li>
|
||||||
|
<li>demo2.mcaptcha.org</li>
|
||||||
|
</ul>
|
||||||
|
<h3 id="mcaptchaio">mcaptcha.io<a href="#mcaptchaio" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<ul>
|
||||||
|
<li>mcaptcha.io</li>
|
||||||
|
</ul>
|
||||||
|
<h2 id="contact">Contact<a href="#contact" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="email">Email<a href="#email" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p><a href="mailto:realaravinth@batsense.net">realaravinth@batense.net</a>.</p>
|
||||||
|
<h3 id="gpg-key">GPG Key<a href="#gpg-key" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<p><a href="/aravinth.asc">Click here to download key</a></p>
|
||||||
|
<pre tabindex="0"><code class="language-GPG" data-lang="GPG">-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQGNBF7jJtMBDADwoO98P31bTkBmWlkICljq8o+S9ltFab9f9l6Npox+qbCnZUCd
|
||||||
|
Y+p1jCmRc+6iBh4N2p5kP/02z6BkW7BhVtPKU9Zg1nvkhluCUSMixUlpn/dUYw2J
|
||||||
|
j41lqqmvpytI5Gr9xwFbPuLxzccMge1hqlVli1eZJTQyhZnv3Og2xj6kmThgaCDO
|
||||||
|
U0lMDwT4n1AjjdLT/FX5APssw9v2fgmClmHl8YC1ojZ2msPfHd85q90YdzB5G4Q6
|
||||||
|
g3zAgv9ADkYkkvy4ElFl1ePwrUtD+EcszWZgYnqVRt1NBoo4J200fJSRmkq9qYh9
|
||||||
|
4WDLIeX+DnB2ofqJrxJFX5P7elsn3ic4WVxtpkpoCbwuVsMWi8vBBU3fyxxqwGIv
|
||||||
|
aOErCGy9Vd4iuDUu7GymDjMxJi+uYvjGncjasPRmBToCZzY94FIHgn8cxJdkrPaV
|
||||||
|
FbyE8BkxLlbaiRNLcu79EHYqs2UxygGWlglMA9Z/QmuGcHsAzUtlkcFdPLg7+KvU
|
||||||
|
xzMiBFmdh0Eabn8AEQEAAbQsQXJhdmludGggTWFuaXZhbm5hbiA8YXJhdmludGg3
|
||||||
|
ODIwQGdtYWlsLmNvbT6JAcQEEwEIAC4ECwkIBwIVCgIWAQKeAQKbAxYhBO3wOyzk
|
||||||
|
G1g2vjW6O62fDwjoVe2IBQJe7G0jAAoJEK2fDwjoVe2IPLkL/icH+eresFyQrv7S
|
||||||
|
qSUWLkTlK+Ht7qURBeb4TV+nkJshcvnxHoaDiov1ZFyvyhzLi3Ncw17ntRD+tIlr
|
||||||
|
IYZ6YWekpkYIjWRcyU0DWJI2u6OAcT/l7EbxKJzywRLi8cGJQyLxSQMFK2GsU6dt
|
||||||
|
7VSOshoXpUGApxJ0tkRZX2xQ+3LSvCNKK0VCFnT+MyJW+4/r9+NCjxyEw0FR5Rka
|
||||||
|
28kIaq8E4MwP1O1cyFAXmT9FVBAEEoAwLM7GRFguacr8EHi0W/NZKNsu87e4/oL3
|
||||||
|
lh2vetIv7+rUdH5hf2WRZcNxNJllJc7povrdUl8+5mLlRB0JAogz5nLfacr2affw
|
||||||
|
0esNL/g+Futgip3I5lLla4izMy62EsRIjqaafHpZZPfl0FmUchCZKMKaG38dyAN+
|
||||||
|
yPvxpoQuqCp/+Mch5aSijOb7tcXIzTDev38dYBW+0afrzKlMubvWTOMfwj6bo1qS
|
||||||
|
sTtxYNRt2DPOD4/ZVOSz0Flx4VxfZJ5E/a82bw3UPQaBvrk7XokBsAQTAQoAGgQL
|
||||||
|
CQgHAhUKAhYBAhkABYJe573AAp4BApsDAAoJEK2fDwjoVe2I2/QL+QHs5QblIP4C
|
||||||
|
2tPj0hE+stU5EjXipLdkO5KuLEe3qn+QtfxFFXRmsGolaWxypWIzX5A7RE28XJ+i
|
||||||
|
aaULK/YeqVzuF/UcpGuJ771v8cvJYgUcAUsQfHOubwKltxRfCzRBBVcDLG0BUOiO
|
||||||
|
alYZKZriN7R5Y/Jx14roQcC5k/RnJCLu1W3bxi/0mdmqE3fj7fkCTQeJQKNoUggt
|
||||||
|
w4uzXMqEwy0SRZeGvhZI6Mdw5TOdJO8NAy08tK4vLGVYQpQD/iOyj5NLg7PgSQTk
|
||||||
|
vt7ejl6ff7TTCcW/nEq+lymDGktxrRBeb4A1LMlSy59LSTJhk96+RXyTpmSYDmAx
|
||||||
|
T/tIL7PEjj9byzWJUrBAOeT47q0dwNMqL8Bn1mICf3OHg/dVtT61Zd/qp86vBYXx
|
||||||
|
2WZwGVKA64qJgrsFxeRfjhJHTet6SCgPygC+/k7H+YGSQ5kwwrbaTS/YOwjtgobL
|
||||||
|
pnNHKi/yoCr4cS/NUEpOeHx7+MNxf3bvz+Qk40UUEgzeqINUsQKIGIkBsAQTAQoA
|
||||||
|
GgQLCQgHAhUKAhYBAhkBBYJe4ybTAp4BApsDAAoJEK2fDwjoVe2IA54MAOe1eX6V
|
||||||
|
k3Lyse0pOdfRmaTdctLyRd3ERZecxPh8RVXoIv1U1AhoQQLfFMSUiniJvGNInWp1
|
||||||
|
qY0iPnXgLDU51mRuGw06YuBxWIEGy1oTJQ2KQ+ClA1tF75e7eX6N5PVxioKvDLSN
|
||||||
|
lzIugJIIHTeOy8uIf9vZJrduTMOADtjXKbJIh6cDyCU+t3rdPOcNrqspEVOgKpN1
|
||||||
|
2XmsD2xBkkmWpiL+CU47ZkJ49r9y6F2ojBnymceFtwc3OXKsoamzUY75cBEW+Gcm
|
||||||
|
kFVcWmffaf1VHjXCYfpki+YKxJEq7u2UwtbqAWBjGLVAC6SBPbQGUxa5tTb3MuSP
|
||||||
|
PtWF4j8LqD5ZlbNxvv/c/zOh8o0Vb2jQLUBMsaxUB6RQU1D+zSbQMr0nBJmc2Gkt
|
||||||
|
OKib/v83iM/+XfVRFy8eurPAHRIhYPuKKxHbkhUYFAqQ32sb2Y4gR8UBLsBIZj5J
|
||||||
|
TJdDSaZ36e/knxfg80GLQEBD2FF/yHlSTipeDAjF/hq7kfazRNwx5ePHubQ0QXJh
|
||||||
|
dmludGggTWFuaXZhbm5hbiA8YXJhdmludGguMTliY2U3NDE1QHZpdGFwLmFjLmlu
|
||||||
|
PokBsAQTAQoAGgQLCQgHAhUKAhYBAhkABYJe4ybTAp4BApsDAAoJEK2fDwjoVe2I
|
||||||
|
ougL/AtxgTK591CPdbb4n0J0i7raWZABJD/kjZ/5HmdypCj8l2utyw405pJsAZrg
|
||||||
|
F7QOuJ6UjLyd6hIbtTXNdC6rp1ayXudTEeJSYJzvkeWCxuY6yjDjcfKInv9/Sr3q
|
||||||
|
1XfA7N3uRIiDmyewE1scOttA8BAqGYcHYi6fPoLioHDM+yrgJUeBxSW1BpLp4jZ6
|
||||||
|
zGof4uRrFX7NtQdNJJ1A6M/+oMVxnnGDA9BN4CjQBxMfAHFVGXLNfVVhJ9g+995f
|
||||||
|
OjntCtS+fWW/PwPN5OO5mHfMleexigrx6Ju79qC69pMKGef+rVuzQBH9reg1QeSt
|
||||||
|
x7hHOoSXC/YMl8GvItqhhR84xb9EFF6WsCWlg5LwMet2vS9TYY/zbY4SO2FUvWZz
|
||||||
|
CgvxnWNasNfzMS08U1tvUH4k+Gt1m2toPacSIx1DyNExseY8FaRoXOHB8ojRcmNe
|
||||||
|
jAbpWx7tOk8hhiyvQkVFXpU/U3mzzKWNMrVIQX/ZZV4W1XQA5pIvbvgNVoSoC36C
|
||||||
|
lT8Ck7QvQXJhdmludGggTWFuaXZhbm5hbiA8cmVhbGFyYXZpbnRoQGJhdHNlbnNl
|
||||||
|
Lm5ldD6JAccEEwEIADEECwkIBwIVCgIWAQKeAQKbAxYhBO3wOyzkG1g2vjW6O62f
|
||||||
|
DwjoVe2IBQJe7G0qAhkBAAoJEK2fDwjoVe2IiusMAJYC7hrMnJFKp7JOhpj12H1H
|
||||||
|
JDKSyrok7uRCCBLCTDbKx0nDvqQqYjIlM3/ZyQruezBxgh92o6ti8wXSuygtLvmf
|
||||||
|
qQbSOzugw1nCis5WxW1g2pmZbbnTgq9KBR4dQnjSB8AVy1l6EU6bUJiQPwT5/TWo
|
||||||
|
cSPEmlycLSCNgZkUsgOSJDqb10P0PmKXbr8U0VVtUlmODDDgXtjGnvTEa76Dyryp
|
||||||
|
9uGFG+vBt6r51xn3Qdbx/fRsQMhsYZkxFlh3Uh5LgVOOCTbCUJON7mj8G6Mfl/Ek
|
||||||
|
y2zpF9+xAbpRcbgADas5hLDsoPZ6D5XglRek3lWmYjYLEYt5WOCjLgoAbLuYzH5P
|
||||||
|
1L1BAJaaXMvgxw62YA6sPnlopfglctopL0cCHo3N8TlSuYiL1p3C9jqPXc/y6zfi
|
||||||
|
4Gxq7e/y9L+TZr1BQMoWpqkzDq1ruLL3GgIairs+byHZN8vA3L5UkqsN14SLwmLb
|
||||||
|
dr50QW9vDyrHGJIPKf0W2CG25RO87RpW2QIZMdYNt4kBsAQTAQoAGgQLCQgHAhUK
|
||||||
|
AhYBAhkABYJe4ybTAp4BApsDAAoJEK2fDwjoVe2IArQL/AwOsQJUIyni9v7DhQsl
|
||||||
|
CVTGmB05xRVF7wHjuwEuFR4R8sVCqNRcFL1JcRDGjGZ+ir+VvTA1Z5a7FA+tpEFR
|
||||||
|
TVt6wZH0ewDNd47anKFJadkbdnI2fVKLZ0AIGtiohB0LWMw4LWKmfi0BZkJQnL5E
|
||||||
|
E1dvkM0oQx/KItkO+19ykTLivUyuy/cVPb3rLS4elmztxRSrjqTd3Ti7JB/FbK1X
|
||||||
|
noso7i79L63k31j8tGL1nhMF+q+0trZXWv/1iQwD+8o6WnON02VmyOpVrWnoxRos
|
||||||
|
BB7XpkDxkCreF5pU5yl5F8c9jYXyssfiyQM/37O3LLoivfzlgRC+3lW3glfO6ykt
|
||||||
|
6tggEi5wm24ojmcrlhrL0qJvwaD/5x5aOgXtgbUu7IR7smyt+l4r0xQg3Z8fTBxb
|
||||||
|
yn3FoVod97shg3X2Sq4Fo15N3TP53vRXQmVGXtwWwOPeFI0ro2aR3cjgURUrhYlm
|
||||||
|
GpfS1Sv4FMsYLWqqhdr//TsL8WI71zUoLMTuYOeqB+hDQYkBsAQTAQoAGgQLCQgH
|
||||||
|
AhUKAhYBAhkBBYJe573AAp4BApsDAAoJEK2fDwjoVe2Iu10L/1sI0nbA6GRc2BgA
|
||||||
|
dRtCTLSg809Zn1CD+6Iju4o3conFYsmRri2sbP2yVx6yJyn0004TRwqNaSx6pGWc
|
||||||
|
KLmjLDwc9WQ4CQ1FLrwxGFXs0DV3Mrgo2PuQsKzPDZ6sEh/RQutoa4aC94ShddQC
|
||||||
|
ywJ5nu2vlqnU1uchERzuwRlvLzbC0yPVz7WXhNGxji4KNs2t9r079iiTYyRYZqic
|
||||||
|
LQIHwsbmPIMo4/bqSrz3lPuft2ZZYILya/PSvfjmQC7Lz6HG/VE42yGg3iCQqMSI
|
||||||
|
WZJrVkJBxrkAbad6vf/t/FYppDrlTGtYKck+jA0UFDXSAVHKAPdJO31K4oQ2igyA
|
||||||
|
a6Db5a1AUo9Z4m9gJs/SC2+7JNusF/OR6+fLEMgOsuBgxNIIKdRGaJV2SW7wMGZY
|
||||||
|
ywUOsJA0IXw5UvJvyn0uZ5pEMKgkw0J5mhLvZPmLqwNIvuFoVdLSkofA4wzP8AaO
|
||||||
|
qr46XoZsbNfba1Rle6llEvuzUT7gjBmN4dkSbRORT9H7WcnXYbQwQXJhdmludGgg
|
||||||
|
TWFuaXZhbm5hbiA8YXJhdmludGhyZWNlaXB0c0BnbWFpbC5jb20+iQGwBBMBCgAa
|
||||||
|
BAsJCAcCFQoCFgECGQAFgl7jJtMCngECmwMACgkQrZ8PCOhV7YjJuQv9FIineflp
|
||||||
|
Yxf+Qam6thJbjY4n6N5U48s5SKx35bkFCD9YlkDsGyhNx0aTSmMSHUNTbBov/l5/
|
||||||
|
F4h7omCPVL1hSFjlzqttupsTaQKD76Z5qFRAcj2osOUOiieVOqRaCElUSERI45DA
|
||||||
|
LIHiwAFSczJ5wpkQg2gGEbH7BBWBqceLPBbxrcb82QfiKR7jUg+lpXONVZd1Sbph
|
||||||
|
VMocsPEX4mdetZNDZaodJ8nX8yEhOZGIuBrfQFpscyE3Ydg3JrZq+a+K32CKk1l6
|
||||||
|
PxXfJJh48wKePt9NmezkcJ1Gw/ITZywlufXMQj8Sqfto1fLzkMsmCFt1T9VQ6HNR
|
||||||
|
E4uw8QOSnHCnaRRPAbdFYY3rB0EIfqtM2WDV4M/4IVtVL4OGDQ9AmAp1R6j5W2Pz
|
||||||
|
EPitMteTo/0L28aB5PbAxpA+P0RROHPpqqrHtbWZ03jF4ev8NBA8DE82GkNIJlio
|
||||||
|
+MCs4QeSge1OcPAb8aMJ+7+KYOYlPDYFLb/1ubiVGcmmQjwhNIM6fo/YtCxBcmF2
|
||||||
|
aW50aCBNYW5pdmFubmFuIDxhcmF2bnRoQHByb3Rvbm1haWwuY29tPokBsAQTAQoA
|
||||||
|
GgQLCQgHAhUKAhYBAhkABYJe4ybTAp4BApsDAAoJEK2fDwjoVe2IdGAL/00PcW0k
|
||||||
|
M2PqzJXogxWBELPTTaP4Yd4vEuGZfAoXlUsAFqmgqnM8GGEWnVA2Axr6f1i8IEV/
|
||||||
|
vRgpEd9HBka8Uftv5luVU9SS9KXExALqfai19/R1AE0QNTAm/2ZsWAb6fWC1o9yQ
|
||||||
|
l7HaBsX3DPtKYwwOJGwdbdStqRlH90T/+VoVLLVdrewo2Gk0k/37pExl0v04Wt3m
|
||||||
|
JR1+Gh6nFDRDRlZkuX0EGLhWIoOn9F/HFpNElVwkuSIToTASTZhM+WgX2PxAyw9t
|
||||||
|
Gb9u2vavvWrR0bnhlrn5kmnW8O633bzwL4WdnP0bhOhSH6l/rQob5QnEU4Ur4/HS
|
||||||
|
F+yw8lCjF3gS7U3NlXgD3IMxBzKuAXgEF69NKYJEd4a2P3MWVRuy7eQz21v1dEot
|
||||||
|
KuUsRbe5BU4Ya20nKU102Z63dIdRXi3Z1XazKmwSTPYaS/Rt1GUeU3cZ0b6u8DL4
|
||||||
|
TgjfrEZXYp+4/UWVa6l+B44fmfiyBgialyZnhwluq56UeWr6t+NtPnuUcbQxQXJh
|
||||||
|
dmludGggTWFuaXZhbm5hbiA8cmVhbGFyYXZpbnRoQHByb3Rvbm1haWwuY29uPokB
|
||||||
|
sAQTAQoAGgQLCQgHAhUKAhYBAhkABYJe4ybTAp4BApsDAAoJEK2fDwjoVe2IV90M
|
||||||
|
AL4u9dGEZcOY9HqPduqv+i/IWlY/ws3BSQyihR0HTobtWq0u/5Hti60HOqQ+Kenj
|
||||||
|
9fVwzraEyub6BheajU86iqACKnkTSV32fQGe2ccnioLTNXsyPWTSI8iaJdJIJVhg
|
||||||
|
5K+3bScKE/spjH38fQWtyy2myZyGZASj6DEjpbbKIqJBjcWNJ3/byXRmg94mfS1P
|
||||||
|
H+hXZ3BbbhTklQ6iZS+X6B1tlvdEHd3I7zXDcT4nqUt0VqdSjX+ivfWYJqwkMDw4
|
||||||
|
GmcACHqATurJMmFX+INFbdtM7IASpfCsHuVMoibifyb+YpGcS9IgB/qOfWmicCl8
|
||||||
|
HvJ7hKV1MfZQtwSos63tbg3R37aQbSsebvfE+Vqs2vVUB1VkmYvDsqZQwy/ek+yB
|
||||||
|
pvKP0gAUOoOziIfr3nxtKEEQwNuJkb9d+Ef3+cEPBdt8R+oQpiw194QPFDsLvXW6
|
||||||
|
DoJzcJ8kt8V0JCEEkbkLa2NX9xZ89TqnVopaWd8IZueqR4eLAcgBorwDYpq13+ix
|
||||||
|
dIkBnwQwAQoACQIdAAWCXuORlgAKCRCtnw8I6FXtiPrzDAC9m3dUOPwXTXv1qCst
|
||||||
|
+Cd/h3mwlwKaGNbQkqP498vG4BNGeOmGkFl3TI17yaK7T1jCaxNmvnoX6b2IE+uO
|
||||||
|
CCNq4t98dsvVw5M8K3SX9NRO6hUZRKq1l7/9MhsATpSus7jfJIkFs4++6MngHzA2
|
||||||
|
F0fLcuVpeWNtp8kE4hPFQvvNl1kAQc0IQ+tzJeLG5j1K8BUX68HmiSj/ZzoYjNGc
|
||||||
|
IF/XlXyJXnrtoId1SmFk8iBvmwkEfzs5uZNd/jqLoWj3JDgfxGBOzC8n+V5jlQAP
|
||||||
|
7PHedw2TX+iCs2KDdSatbY09GXi1mTfYxqFmLlxSFeuB7GqerwpqmIR2n7iJxh1q
|
||||||
|
O5121cR4xY1WR+LjTpGUJ3c0oKwbDi/RYq2KEzH5zt1Wz5rEq/Rch8coo+q0gn/n
|
||||||
|
a3Ab6OB8Y4JJ8lFlM0oO0dInT3nmdFA9hxFtwLBlmZkmB0wtq1gM3uwTc1yMDknW
|
||||||
|
iqVD7gRaw0audTs7c0OxopyI58e+5qdk9BWKwLIkpGHz13K0LEFyYXZpbnRoIE1h
|
||||||
|
bml2YW5uYW4gPHJlYWxhcmF2aW50aEBnbWFpbC5jb20+iQGwBBMBCgAaBAsJCAcC
|
||||||
|
FQoCFgECGQAFgl7jkZYCngECmwMACgkQrZ8PCOhV7YgayAv/dEbOEAbW2qGcT46Y
|
||||||
|
PJe1mjNkc6ll4CER5Pa8armuM0a+XAKrKOyfejlN6vbKCe/yV8elGWau6P8D2QbF
|
||||||
|
/dmm4yzm7qNiCND932e3skqloR8xu3jSfscc7tH07aZaxDtEa7f0na4/n/PYBHV9
|
||||||
|
LQN/8OdeZbWSYtEQiX6iD5w5sw74wdOKZbPXgkJPOQ5dn5RFAsqvRfZiHWnHwQnT
|
||||||
|
RbtBsWbQA2nCdPgm36Jd6L3WzLOg0OD8dS0xQKvApg4+zzYsemB+E0tevko4ywld
|
||||||
|
nogdo83buiqh5Q3XlqK5SSlJtEVW5mF/kxxIGIzcpsalMvM5pmHxDquDM8+f6mE2
|
||||||
|
AYHza0nBERvaeG8bJ7DvGAGlIz40aiy1LlSwqYSDy8sR813sAPBpxgoevUQ1hEQ/
|
||||||
|
p1LtlRY/WANFuY3oOxSMQ1m1zG8E1yMiMfC+mQHxEkCONeOfYbk3k+/a0YOKepZq
|
||||||
|
ixNf5XiUnEa6zWehtB9WEAWvDIqmJaF9k8Wt9UWgpfnx1LGbtDFBcmF2aW50aCBN
|
||||||
|
YW5pdmFubmFuIDxyZWFsYXJhdmludGhAcHJvdG9ubWFpbC5jb20+iQGwBBMBCgAa
|
||||||
|
BAsJCAcCFQoCFgECGQAFgl7jkZYCngECmwMACgkQrZ8PCOhV7YjxKgwAm4BThlJI
|
||||||
|
JIcDFuqfDDQQEwRR3ZVIPw9hnO5Z2xQp+uJndMSVSKs31GddYW5M69ksjkm9kcLQ
|
||||||
|
oTZc/z/paSIRjPc1RUTPSNwtjmP7LN1h4v9lHahQD++FnoA61vrwWPN74U1rhYPI
|
||||||
|
8vs+0pKDcShHIikv0a9hz13VTQls7QWOnCDB3xtyVn1mCRQdTN4Nk6fNZL0WYVGP
|
||||||
|
K5UhFOiXD2YC+9bxkp66bSyngriftCb4v/BONaNEydYYQLRcFje8S5oomdCUyHbX
|
||||||
|
YhdIzucAK3nPfHITHNdjTSe1iE3mDOWmu04KM/BMIXtzv7T4/B0YaZ2MrrC+8kdE
|
||||||
|
I2QtOKm4FpOvn1LK6ZopOzi5oB/Ffg5nGesBmP7CDxFVjo+z9Yyg3dnrzvD2OmZ0
|
||||||
|
603m6z5PGs2q1bLDcPAU+cy7X0A5va98VvsqKybgeSjrNR61Jlp4iJdUXxmRML7J
|
||||||
|
PRfq891t+saJDivhtvmpwShqILGv5qDBCqS2bYYdwFfqPTIBJtdIneWCuQGNBF7j
|
||||||
|
JtMBDACbpNg346AJzKI2unuBlR2OtTKra7jtEJTxDSZg0HhiDz752gCguA2UV2Kl
|
||||||
|
qmXhTycIwYD+gYyz0ly3l/dKyHDItF4DHRT7ba8+wQcnWyiGX7WZepIcj8KJfDvJ
|
||||||
|
dTtpZUauPhNEPH0qZEFL9waOZIbFUdpv9zmcAJ/NAAVDFbn9NQlyKskbNrNMjA8u
|
||||||
|
JnzYMN3fP1pNAJRJ5UX9aBsYONhagUBCSj6AdZc8YFENCz9ZznBNqjVyqHQyixA1
|
||||||
|
5xLs715hgWA8BlKLOvowTWYGQUeVpzEaA05DBo33XnQzfDRb5JecC7vmLJld7RWs
|
||||||
|
e3KrGTANskM1NffGnmBmujiQGXJiU5flzN0pCwPJexsZGXkd10Y3SKB7lrz/Sac0
|
||||||
|
/L9ORSiGNre/rx7W0H+7vJwYSuZjI3gg5w9UADwLxMQ68Hu6zgSi/Y3hEdUbMcrn
|
||||||
|
nbuZC7irjCtiXRuyQCWD6an/SFZsG6fnVfYVqcLb8GIb24uLMBnW+xX62aPaxszC
|
||||||
|
eFkQpb0AEQEAAYkBnwQYAQoACQWCXuMm0wKbDAAKCRCtnw8I6FXtiC6xC/4xQqBq
|
||||||
|
n1x53JxF938xiZMYxWXOELZk106/prs7F5/vM6XvZ+ZSnqa1/IrdUYjwXYRx27A0
|
||||||
|
DkfFqXeREBQDxEWZlaNH615MGfF+tg1F/IN0ERI187sbezLhRFXf2srqyQh2WvHm
|
||||||
|
htE+DVgnYhv+aqJxNxTPT0lpgu5M6bSWdj938mruLoyo/wFamWlokuZmHEf4uuV+
|
||||||
|
Xc9ZaOWY0Q50vk675OXJyH8haaewt2aN28JS7dNY5ArohRj6r4spxrik5VfLtei1
|
||||||
|
KcJGwB4O3/VbRh9OfzPqK/ZnYpWrrz2PDlqpcvJiXeFWEf4MIjbAEHte1YbAJ3CE
|
||||||
|
yLhn0Ut5RSd7zCg8DMXTWdMr1hoUSshiF71F/Wxji1TN5vYZGGHykhjfeubl21dV
|
||||||
|
NXxBvA5ABkcHzULubZWLB3QoKDP5DgEXB4cA7kMDryFPnN2shSdBsWt69g1E3gVo
|
||||||
|
zKdOEDuIPIv4f7HhhCDCylGwfwqar5XJwnHQrBXLpwlTm4neDsnEOvOzyd8=
|
||||||
|
=gpUQ
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
</code></pre>
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/security/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
195
thanks/index.html
Normal file
195
thanks/index.html
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
<!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.daf9ee98168127ebe801fa49abea19e9b93a1e6615b5fb8613d39531c652f02d2d15c7680cf20e2047c2887b04f2192dc9a7847c62393718246d9f3e634a4e4d.css" integrity="sha512-2vnumBaBJ+voAfpJq+oZ6bk6HmYVtfuGE9OVMcZS8C0tFcdoDPIOIEfCiHsE8hktyaeEfGI5NxgkbZ8+Y0pOTQ==" 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>Thanks - mCaptcha</title>
|
||||||
|
<meta name="description" content="Thank you">
|
||||||
|
<link rel="canonical" href="/thanks/">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:image" content="/icon.png">
|
||||||
|
<meta name="twitter:title" content="Thanks">
|
||||||
|
<meta name="twitter:description" content="Thank you">
|
||||||
|
|
||||||
|
<meta name="twitter:site" content="@">
|
||||||
|
<meta name="twitter:creator" content="@">
|
||||||
|
|
||||||
|
<meta property="og:title" content="Thanks">
|
||||||
|
<meta property="og:description" content="Thank you">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:url" content="/thanks/">
|
||||||
|
|
||||||
|
<meta property="og:image" content="/icon.png"/>
|
||||||
|
<meta property="article:published_time" content="2021-03-10T00:00:00+00:00">
|
||||||
|
<meta property="article:modified_time" content="2023-03-08T17:28:52+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": "Thanks",
|
||||||
|
"item": "\/thanks\/"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</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="page 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">
|
||||||
|
<a class="nav-link" href="/docs/webmasters/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">
|
||||||
|
<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="#funding">Funding</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#nlnet">NLnet</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><a href="#free-software-libraries-and-tools">Free software libraries and tools</a></li>
|
||||||
|
<li><a href="#creative-commons-licensed-artwork">Creative Commons licensed artwork</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<main class="docs-content col-lg-11 col-xl-9 mx-xl-auto">
|
||||||
|
|
||||||
|
<h1>Thanks</h1>
|
||||||
|
<p class="lead"></p>
|
||||||
|
<h2 id="funding">Funding<a href="#funding" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<h3 id="nlnet">NLnet<a href="#nlnet" class="anchor" aria-hidden="true">#</a> </h3>
|
||||||
|
<div align="center">
|
||||||
|
<img
|
||||||
|
height="150px"
|
||||||
|
alt="NLnet NGIZero logo"
|
||||||
|
src="/third-party/NGIZero-green.hex.svg"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<p>2023 development is funded through the <a href="https://nlnet.nl/entrust">NGI0 Entrust
|
||||||
|
Fund</a>, via <a href="https://nlnet.nl/">NLnet</a>. Please
|
||||||
|
see <a href="https://nlnet.nl/project/mCaptcha/">here</a> for more details.</p>
|
||||||
|
<h2 id="free-software-libraries-and-tools">Free software libraries and tools<a href="#free-software-libraries-and-tools" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>mCaptcha is built entirely using free software libraries tools. We are
|
||||||
|
grateful for all maintainers and contributors for their time and effort
|
||||||
|
in making them!</p>
|
||||||
|
<h2 id="creative-commons-licensed-artwork">Creative Commons licensed artwork<a href="#creative-commons-licensed-artwork" class="anchor" aria-hidden="true">#</a> </h2>
|
||||||
|
<p>mCaptcha shied logo is derived from <a href="https://unsplash.com/photos/RovCBKMfK_k">this
|
||||||
|
photo</a> captured by <a href="https://unsplash.com/@pawel_czerwinski">Paweł
|
||||||
|
Czerwiński</a>. You can check out
|
||||||
|
their work at:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://unsplash.com/@pawel_czerwinski">Unsplash</a></li>
|
||||||
|
<li><a href="www.instagram.com/pmcze">Instagram</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="edit-page"><a href="https://git.batsense.net/mCaptcha/website/blob/master/content/thanks/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>
|
||||||
|
|
||||||
|
</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.70f918bab2664d7be941298c2bbe499887e963319637b9d3caf20dc1803bb92e051efe68b3607d5ed5426842d80ac1e73f48bed63468a7139e31546f0c3ffb80.js" integrity="sha512-cPkYurJmTXvpQSmMK75JmIfpYzGWN7nTyvINwYA7uS4FHv5os2B9XtVCaELYCsHnP0i+1jRopxOeMVRvDD/7gA==" crossorigin="anonymous" defer></script>
|
||||||
|
<script src="/index.min.8e2c5b66d3a3b8a6089866a5588aa2b9a97df428eebf33fd518690ce9bc1172b809b3a138e891a9fe1965832688b9f535efe05248ecef5787f9727128e6ff5c7.js" integrity="sha512-jixbZtOjuKYImGalWIqiual99CjuvzP9UYaQzpvBFyuAmzoTjokan+GWWDJoi59TXv4FJI7O9Xh/lycSjm/1xw==" crossorigin="anonymous" defer></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in a new issue