cybershield-js
v1.1.1
Published
CyberShield Web Application Firewall — Express.js middleware plugin
Maintainers
Readme
CyberShield JS — Usage Guide
Installation
Copy the cybershield-js/ folder into your project, then:
# If published to npm (future):
npm install cybershield-js
# Local usage — reference via relative path in package.json:
# "cybershield-js": "file:./cybershield-js"Express / Node.js
const express = require('express');
const cybershield = require('cybershield-js/express');
const app = express();
app.use(express.json());
// Add WAF middleware (before your routes)
app.use(cybershield({
excludePaths: ['/health', '/metrics'],
skipInDev: true, // skip when NODE_ENV=development
}));
// Optional: mount admin panel
const adminPanel = require('cybershield-js/admin');
app.use('/cybershield-admin', adminPanel());
app.listen(3000);Configuration
Via environment variables (recommended for production):
CYBERSHIELD_API_KEY=your-api-key
[email protected]Via admin panel:
Mount the admin router and open it in your browser:
app.use('/cybershield-admin', require('cybershield-js/admin')());
// → http://localhost:3000/cybershield-admin
// Default password: admin (change it immediately!)Via code:
const { config } = require('cybershield-js');
config.set('cybershield_api_key', 'your-api-key');
config.set('cybershield_email_address', '[email protected]');
config.set('cybershield_site_url', 'https://yourdomain.com');
config.set('cybershield_api_key_status', 'valid');Settings are persisted in cybershield-js/config/settings.json.
Features
| Feature | Express | |--------------------------|:-------:| | Request logging (API) | ✓ | | Security headers | ✓ | | IP blocking | ✓ | | Country blocking | ✓ | | Threat detection | ✓ | | Bot filtering | ✓ | | Input sanitization | ✓ | | Admin panel | ✓ | | Hourly key check (cron) | ✓ |
