An All-in-One Desktop Tool for API Testing, Load Testing, Web Scraping & Fuzzing
[ English ] | [ العربية ]
KAT is a lightweight, ultra-fast desktop suite built with Tauri v2 and Rust for API testing, high-concurrency load benchmarking, automated web scraping, and security fuzzing.
تطبيق KAT هو أداة مكتبية فائقة السرعة ومتكاملة تم بناؤها باستخدام Tauri v2 بلغة Rust لاختبار الواجهات (APIs)، اختبار الأحمال والضغط، التجريف الإلكتروني (Web Scraping)، والفحص الأمني للروابط والنطاقات الفرعية.
- Full HTTP Method Support: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS.
- Custom Headers & Query Parameters: Easy parameter builder with quick toggles.
- cURL Import & Export: Seamlessly import cURL commands or export requests into ready-to-run cURL snippets.
- Rich Response Viewer: Status code metrics, execution timing, pretty-printed JSON body, raw output, headers, and web preview pane.
- High Concurrency Engine: Built natively in Rust using
tokioandfuturesfor maximum performance with minimum memory consumption. - Flexible Execution: Configure concurrent virtual users (VUs), request limits, duration, and ramp-up timings.
- Real-time Performance Metrics: Live metrics for Requests/Sec (RPS), Latency distribution (P50, P90, P99), Success/Failure ratios, and HTTP status code breakdowns.
- Automated Extraction: Extract links, media images, tables, metadata, and custom DOM elements.
- CSS Selector & XPath Support: Target precise elements with CSS query selectors.
- Data Export: Export scraped datasets into formatted JSON or CSV files effortlessly.
- Automated Credential Testing: Perform dictionary attacks and custom parameter brute-forcing.
- Template Placeholders: Inject custom payloads with dynamic placeholders (e.g.,
{{FUZZ}},{{username}},{{password}}). - Smart Detection: Filter by HTTP status codes, response length, or success body text.
- Domain Enumeration: Discover hidden subdomains using customized wordlists.
- Concurrent DNS & HTTP Probing: Fast asynchronous probing with wildcard DNS filtering and response code tracking.
- Directory Fuzzing: Uncover hidden API endpoints, admin panels, and static assets.
- Filtering & Regex: Filter results by status code range, content length, or regex patterns.
| Layer | Technology |
|---|---|
| Framework | Tauri v2 (Cross-Platform Desktop Framework) |
| Backend Engine | Rust (tokio, reqwest with Rustls TLS, curl-parser) |
| Frontend UI | Modern Vanilla JavaScript (ES Modules), Custom CSS3 Glassmorphism System |
| Styling & Theme | Dark Mode Theme, Dynamic Micro-animations |
- Node.js (v18 or higher)
- Rust toolchain (latest stable)
- Tauri Prerequisites for your operating system
-
Clone the repository:
git clone https://github.com/4karam/kat.git cd kat -
Install Node dependencies:
npm install
-
Run in Development Mode:
npm run dev
-
Build Production Application:
npm run build
kat/
├── src/ # Frontend Application (HTML/CSS/JS)
│ ├── index.html # UI Layout & Tab Navigation
│ ├── styles.css # Custom Styling & Glassmorphism Design System
│ └── app.js # UI Logic & Tauri IPC Bindings
├── src-tauri/ # Tauri Rust Backend
│ ├── src/
│ │ ├── brute/ # Brute Force Module
│ │ ├── curl/ # cURL Parsing Engine
│ │ ├── fuzzer/ # Path & Subdomain Fuzzing Engine
│ │ ├── load/ # High-Performance Load Testing Module
│ │ ├── network/ # HTTP Client Core Engine
│ │ ├── scrap/ # Web Scraping Engine
│ │ ├── commands.rs # Tauri IPC Command Handlers
│ │ └── lib.rs # Application Initialization
│ ├── Cargo.toml # Rust Dependencies
│ └── tauri.conf.json # Tauri Application Configuration
├── package.json # Node Scripts & Dependencies
└── README.md # Project Documentation
Contributions, issues, and feature requests are welcome!
This project is licensed under the MIT License.