cli/README.md

3.2 KiB

mCaptcha PoW CLI

mCaptcha - PoW based DoS protection

Documentation CI (Linux) dependency status
codecov

Usage

Modes:

  1. Offline: Computes PoW over given CAPTCHA parameters
  2. Protected Page: Compute mCaptcha challenge for the CAPTCHA at a protected page
  3. Widget URL: Compute PoW for captcha at widget URL
Usage: mcaptcha-cli <COMMAND>

Commands:
  offline         Compute PoW with offline parameters
  protected-page  Compute PoW by fetching parameters from  protected page URL
  widget-url      Compute PoW by fetching parameters from  CAPTCHA URL
  help            Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Offline

Help menu:

Compute PoW with offline parameters

Usage: mcaptcha-cli offline --salt <SALT> --phrase <PHRASE> --difficulty-factor <DIFFICULTY_FACTOR>

Options:
  -s, --salt <SALT>                            Salt with which PoW should be computed
  -p, --phrase <PHRASE>                        Phrase over which PoW should be computed
  -d, --difficulty-factor <DIFFICULTY_FACTOR>  Difficulty Factor
  -h, --help                                   Print help

Example usage:

13:28 atm@lab cli ±|online|→ mcaptcha-cli offline -s $(rand 32) -p $(rand 32) -d 50000
difficulty: 50000
nonce: 90507
original phrase: f351f333d44b2c6b5bf7f033b065bbb8fb5e9dd153bd402e43ed04425f5a3859
result: 340276562956196291522979356090220150471

(where rand is this script)

Protected Page

Used to generate authorization tokens for CAPTCHA at a protected page

03:39 atm@lab cli ±|feat-parse-webpage ✗|→ mcaptcha-cli protected-page https://showcase.mcaptcha.org/
Authorization token: eRAZJiMrW58uDYA1s64Tmwq1u30HutuF

Widget URL

Fetches CAPTCHA parameters from CAPTCHA URL, computes PoW, validates against given mCaptcha server and returns authorization token

Help menu:

Compute PoW by fetching parameters from  CAPTCHA URL

Usage: mcaptcha-cli online --url <URL>

Options:
  -u, --url <URL>  URL of the CAPTCHA. Example:  https://example.org/widget?sitekey=foo
  -h, --help       Print help

Example usage:

13:32 atm@lab cli ±|online ✗|→ mcaptcha-cli online -u https://demo.mcaptcha.org/widget?sitekey=pHy0AktWyOKuxZDzFfoaewncWecCHo23
Authorization token: 3xleN26OctBuVu3X4t6CYyUjErhaxQvz

Funding

NLnet

NLnet NGIZero logo

2023 development is funded through the NGI0 Entrust Fund, via NLnet. Please see here for more details.