Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
algebraic-captcha
Advanced tools
Generate CAPTCHA from algebraic equation
Install package as yet another npm package:
npm install algebraic-captcha
Also yarn package manager can be used:
yarn add algebraic-captcha
Simple example.
const {AlgebraicCaptcha} = require('algebraic-captcha');
async function generateCaptcha() {
const algebraicCaptcha = new AlgebraicCaptcha({
width: 200,
height: 200,
background: '#ffffff',
noise: 1,
minValue: 1,
maxValue: 10,
operandAmount: 1,
operandTypes: ['+', '-'],
mode: 'formula',
targetSymbol: '?'
});
const {image, answer} = await algebraicCaptcha.generateCaptcha();
}
Here:
answer
- is numeric answer for given equation (10 for this case).image
- svg image string
Using inside express middleware.
const express = require('express');
const session = require('express-session');
const {AlgebraicCaptcha} = require('algebraic-captcha');
const app = express();
const algebraicCaptcha = new AlgebraicCaptcha({});
app.use(session({secret: 'my awesome session', resave: true}));
app.get('/captcha', async (req, res) => {
const {image, answer} = await algebraicCaptcha.generateCaptcha();
req.session.captcha = answer;
res.writeHead(200, {'Content-Type': 'image/svg+xml'});
res.end(image);
});
app.listen(3000);
Available options:
width
.Width of generated image in pixels
height
Height of generated image in pixels
minValue
Min operand value used in equation
maxValue
Max operand value used in equation
background
Background color of captcha image
noise
Number of noise lines
operandAmount
Number of equation operations
operandTypes
Array of used math operators
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)
targetSymbol
Symbol which is used as placeholder for answer
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 developmentImportant Use command npm run cm
for commit your changes instead of git commit
.
Apache-2.0
Bugs, PRs, comments, suggestions welcomed!
Maintainer: Andrey Kuznetsov
FAQs
NodeJS math captcha package with algebraic formulas
The npm package algebraic-captcha receives a total of 18 weekly downloads. As such, algebraic-captcha popularity was classified as not popular.
We found that algebraic-captcha demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.