
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
crowdsec-client
Advanced tools
This library is a Node.js client to talk with crowdsec rest API .
install it
npm i crowdsec-client
First, create a client, pointing to your crowdsec instance . With a bouncer api key (doc)
const client = new BouncerClient({
url: process.env.CROWDSEC_URL,
auth: {
apiKey: process.env.CROWDSEC_API_KEY || ''
},
//use this option if you use a self signed ssl certificate
strictSSL: false
});
await client.login();
Second, ask for a decision
const stream = client.Decisions.getStream({
//the stream will poll the API at the interval . in ms
interval: 10000
});
//or with filters
const filteredStream = client.Decisions.getStream({
//the stream will poll the API at the interval . in ms
interval: 10000,
scopes: ['ip', 'range'],
origins: ['capi'] ,
scenarios_containing: ['bruteforce'],
scenarios_not_containing: ['slow'],
});
now, use this stream
import * as stream from "stream";
stream.on('added', (decision) => {
//will be emited when a new decision is added
});
stream.on('deleted', (decision) => {
//will be emitted when a decision is deleted
});
//you can control the stream
//start the stream
stream.resume();
//pause the stream
stream.pause()
//check if the stream is paused
if(stream.paused) {
}
it's also possible to use a callback, but you can't control the stream (I recommend using the stream)
const stream = client.Decisions.getStream(
{
//the stream will poll the API at the interval . in ms
interval: 10000
},
(err, {decision, type}) => {
if(err) {
console.error(err);
return;
}
if(type === 'added') {
//when a new decision is added
}
if(type === 'deleted') {
//when a new decision is added
}
});
First, create a client, pointing to your crowdsec instance . With a machine login/password (doc)
const client = new WatcherClient({
url: process.env.CROWDSEC_URL,
auth: {
machineID: 'nameOfTheMachine',
password: 'password',
//the crowdsec token is valid for only 1h ... did you want to autorenew it ?
autoRenew: true,
},
//use this option if you use a self signed ssl certificate
strictSSL: false
});
await client.login();
Search for Alert
//get alerts with an active decision
const alerts = await client.Alerts.search({
has_active_decision: true
});
//select one alert
const alert = alerts[0]
if(!alert.id) {
//do something if no id
}
//delete it ?
await client.Alerts.deleteById(alert.id);
//or delete all the alerts about an ip
await client.Alerts.delete({
ip: '127.0.0.1'
});
this library include debug, to debug, you can set the env variable :
DEBUG=crowdsec-client:*
FAQs
A Crowdsec client that allow you to easily create bouncer or watcher
The npm package crowdsec-client receives a total of 66 weekly downloads. As such, crowdsec-client popularity was classified as not popular.
We found that crowdsec-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.