Skip to content

Radware/CWAAP-Mapper-Unified-UI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CWAAP Unified Config Mapper

A web-based tool for exporting Radware Cloud WAF (CWAAP) application configurations to CSV. It connects to the Radware Cloud WAF API, fetches all application settings, and lets you select exactly which fields to include in your export.


Features

  • API-Key + Context Authentication — Authenticate using your Radware Cloud WAF API Key and Tenant ID (Context header).
  • 39 Exportable Fields across 6 categories: Basic Info, Network, Security, SSL/TLS, Settings, and Advanced.
  • Selective Field Export — Choose individual fields or entire categories; search, select/deselect all.
  • CSV Export — Download a fully formatted CSV with all selected fields for all (or filtered) applications.
  • Data Preview — Preview the first 5 records in a modal table before exporting.
  • Real-Time Progress — Server-Sent Events (SSE) stream export/preview progress with a step-by-step progress bar.
  • Application Filtering — Optionally filter by application name (or export all).

Tech Stack

Layer Technology
Backend Node.js + Express
Frontend Vanilla HTML/CSS/JS (no frameworks)
HTTP Axios (server-side API calls)
CSV json2csv
Streaming SSE (Server-Sent Events)

Prerequisites

  • Node.js >= 16.0.0
  • A valid Radware Cloud WAF API Key and Context (Tenant ID)

Installation

# Clone the repository
git clone <repo-url>
cd cwaap-unified-config-mapper

# Install dependencies
npm install

Usage

# Start the server
npm start

The application will be available at http://localhost:5000.

  1. Enter your API Key and Context (Tenant ID) in the authentication card.
  2. Optionally set an Application Filter (leave as ALL to export everything).
  3. Select the fields you want using the Field Selector panel on the right.
  4. Click Preview Data to see a sample of the first 5 records, or Export CSV to download the full export.

Project Structure

├── package.json                 # Project metadata & dependencies
├── public/                      # Static frontend assets
│   ├── index.html               # Main HTML (two-panel layout + preview modal)
│   ├── css/
│   │   └── styles.css           # Application styles
│   └── js/
│       └── app.js               # Frontend logic (field selection, SSE streaming, export/preview)
└── server/
    ├── index.js                 # Express server & API routes
    ├── cwapi.js                 # CloudWAFAPI class (Radware API client)
    └── dataExtractor.js         # Field definitions, extractors & CSV conversion

API Endpoints

Method Path Description
GET /api/fields Returns available field definitions by category
POST /api/export-stream SSE streaming CSV export (base64-encoded result)
POST /api/preview-stream SSE streaming data preview (first 5 records)
POST /api/export Non-streaming CSV export
POST /api/preview Non-streaming preview (first 5 records)

Request Body (POST endpoints)

{
  "apiKey": "<your-api-key>",
  "context": "<tenant-id>",
  "appNameFilter": "ALL",
  "selectedFields": ["name", "operationMode", "ddosProtectionStatus"]
}

Available Fields (39 total)

Category Fields
Basic Info (8) ID, Name, Asset Type, Description, Deployment Status, Tenant, Creation Date, Main Domain
Network (7) Operation Mode, Origin Servers, Service Configuration, Health Checks, IP Range, Record Types, PoP Details
Security (18) DDoS Protection, Anti-Bot, Vulnerabilities (Status/Config), Database Protection (Status/Config), Allowed File Extensions (Status/Config), API Protection, API Discovery, Geo Blocking (Mode/Countries/Excluded IPs), Access Control List, HTTP Protocol Compliance, IP Reputation, Attackers Feed, Rate Limit
SSL/TLS (3) Certificate Details, TLS/SSL Versions, Cipher Suite
Settings (14) HSTS, HSTS Age, HTTP/2, Mux, Compression, Redirect, CDN, mTLS, SSRF, AW Bypass, Custom Deployment, JSON Parsing, Big File Config, Access Logs
Advanced (3) Advanced Rules, Tunable Stream Parameters, Tunable HTTP Parameters

How It Works

  1. Authentication — The server validates API credentials against https://api.radwarecloud.app.
  2. Fetch — All applications are retrieved with pagination (200 per page), with optional name filtering.
  3. Extract — Selected field extractors run against each application's JSON response.
  4. Convert — Extracted data is converted to CSV using json2csv.
  5. Stream — Progress updates are streamed to the browser via SSE; the final CSV is sent as a base64-encoded payload.

License

CWAAP Unified Config Mapper © 2026 — Radware

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors