Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
shapecaptcha
Advanced tools
Readme
ShapeCaptcha is a not-a-bot test. Users are given an easy drawing task. They have to produce several geometric shapes: circles, triangles and rectangles. One stroke for each. The total number of the shapes is configurable, but how many particular shapes is chosen randomly. ShapeCaptcha expects very approximate similarity to those geometric shapes.
ShapeCaptcha's recognition algorithm is based on this work - just refactored and simplified.
Upon initialization ShapeCaptcha launches drawing canvas and returns a Promise to your application. If the task is completed correctly, the Promise is resolved. If time is up, the Promise is rejected.
Download the repository as an archive and grab the files in the dist
folder or
npm install shapecaptcha
or
<script src="https://unpkg.com/shapecaptcha"></script>
There is no need for any external dependencies.
Include ShapeCaptcha's script in your application in a way that fits your needs. Create an instance of ShapeCaptcha via:
const sc = ShapeCaptcha.create(options);
Then launch it when you need it and provide callbacks for the Promise:
sc.start()
.then(() => {
// yep, that's your beloved user here
})
.catch(() => {
// either your user suddenly decided to have a cup of coffee while solving this captcha or it's not a human
});
For your convenience, there is a possibility to combine those steps. You can create an instance and run it right away:
ShapeCaptcha.start(options)
.then(() => {
// ...
})
.catch(() => {
// ...
});
Shapecaptcha takes just one argument - a configuration object. You can provide the following options:
const options = {
timeout: 30, // sec, timeout before the task is rejected
items: 5, // total number of shapes to draw
container: '', // css selector for the captha container. Any falsy value makes document.body to be your container.
font: 'sans-serif', // If your font is not generic, make sure it's already loaded.
bgColor: '#000',
drawColor: '#FFFF00',
acceptColor: '#00FF00',
textColor: '#000',
textBgColor: '#CCC',
helperText: '', // In addition to the task, you can display a help text. For example: "Important! Draw a shape in one stroke."
drawLineWidth: 4,
successLineWidth: 8
};
Notes:
You can change the options after initialization:
sc.setOptions("timeout", 60);
// or
sc.setOptions({timeout: 60});
Play with settings on the demo page
ShapeCaptcha is available under the MIT license. See the LICENCE file.
FAQs
later
The npm package shapecaptcha receives a total of 27 weekly downloads. As such, shapecaptcha popularity was classified as not popular.
We found that shapecaptcha 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
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.