algebraic-captcha
Generate CAPTCHA from algebraic equation
Install
Install package as yet another npm package:
npm install algebraic-captcha
Also yarn package manager can be used:
yarn add algebraic-captcha
Usage
Simple example.
const AlgebraicCaptcha = ; { const algebraicCaptcha = width: 200 height: 200 background: '#ffffff' noise: 1 minValue: 1 maxValue: 10 operandAmount: 1 operandTypes: '+' '-' mode: 'formula' targetSymbol: '?' ; const image answer = await algebraicCaptcha;}
Here:
answer
- is numeric answer for given equation (10 for this case).image
- svg image string
Using inside express middleware.
const express = ;const session = ;const AlgebraicCaptcha = ; const app = ;const algebraicCaptcha = {}; app; app; app;
Options
Available options:
width
.
Width of generated image in pixels
- minimal value: 20
- minimal value: 1000
- default value: 200
height
Height of generated image in pixels
- minimal value: 20
- minimal value: 1000
- default value: 100
minValue
Min operand value used in equation
- minimal value: 1
- minimal value: 10000
- default value: 1
maxValue
Max operand value used in equation
- minimal value: 1
- minimal value: 10000
- default value: 1
background
Background color of captcha image
- default value: '#ffffff'
noise
Number of noise lines
- default value: 1
operandAmount
Number of equation operations
- default value: 1
operandTypes
Array of used math operators
- default value: ['+', '-']
mode
Can have two available values: formula
, equation
In formula
mode anwer placeholder will be put to the last position of generated string, such as:
5 + 2 = ?
In equation
mode answer placeholder will be put on random operand position except last:
5 + ? = 7 //(or ? + 2 = 7)
- default value: 'formula'
targetSymbol
Symbol which is used as placeholder for answer
- default value: '?'
Development
Clone repository or its fork to local filesystem
git clone https://github.com/tormozz48/algebraic-captcha.git
Install npm dependencies:
npm install
Here are some suitable commands that can be used during development:
npm run build
- compile typescript filesnpm run lint
- run tslint verification toolnpm test
- run tests with mochanpm run watch
- launch watcher for compile source files during development
Important Use command npm run cm
for commit your changes instead of git commit
.
License
Apache-2.0
Support
Bugs, PRs, comments, suggestions welcomed!
Maintainer: Andrey Kuznetsov