All notable changes to SQLMap GUI project.
-
💾 Database ZIP Export - Download entire databases as compressed archives
- Export button under each database in DB Explorer
- Includes both JSON and CSV formats for all tables
- Auto-generated README.txt with database metadata
- File naming:
{dbname}_{date}.zip - Powered by JSZip for client-side compression
-
📄 Improved Table Pagination - Enhanced data viewing experience
- Fixed horizontal scrolling for wide tables
- Visible pagination controls with page numbers
- Smart pagination with ellipsis for large datasets
- "Showing X to Y of Z entries" counter
- Minimum column widths for better readability
- 🐛 ScrollArea Conflicts - Replaced with native overflow divs
- Fixed pagination controls being cut off
- Improved horizontal scrolling behavior
- Better mobile responsiveness
- ✅ TypeScript Safety - Added null checks for database names
- Added
jszipdependency to webui - New
downloadDatabaseAsZip()function insqlmap-gui.tsx - CSV export with proper escaping and quote handling
- JSON export with pretty-printing (2-space indentation)
-
✅ Never show "Unknown Database" - Intelligent database name resolution with multi-tier fallback
- Priority: explicit
dbfield →dbmsfield → first discovered database → "target_database" - Two-pass processing ensures all data is correctly attributed
- Smart handling of items without database assignment
- Priority: explicit
-
✅ Fixed all log parsing regexes - Now correctly captures all SQLMap output
- Database enumeration:
available databases [\d+]: - Table listing: Properly extracts from ASCII table format
- Column definitions: Accurately parses with type information
- Handles edge cases and filters invalid entries
- Database enumeration:
-
✅ Added structured API data parsing - New
parseStructuredData()function- Parses Type 12 (database lists), Type 13 (table lists), Type 14 (column lists)
- Converts SQLMap API JSON format to normalized structure
- Removes backticks and cleanslashes from identifiers
- Consistent output format matching log file parsing
-
✅ Automatic legacy data conversion - Backward compatibility ensured
- Detects raw API format in database (checks for
typefield) - Automatically parses and updates to new normalized format
- Seamless migration of old scan data
- Detects raw API format in database (checks for
-
✅ Enhanced data merging - Smart deduplication
- Merges parsed API data with existing database data
- Removes duplicates while preserving all unique information
- Prevents data loss during updates
-
✅ Full logs always displayed - All scan output captured and shown
- Complete log history preserved in database
- Fallback to DB when SQLMap API unavailable
- Real-time log updates during scan execution
- 📄 PARSING_FIXES_SUMMARY.md - Comprehensive documentation of all parsing improvements
- Detailed explanation of data flow
- Code examples and regex patterns
- Testing results and verification
Backend Changes (backend/index.ts):
- New
parseStructuredData()function (lines 500-552) - Enhanced
parseSqlmapLog()with fixed regexes (lines 554-677) - Updated
/api/scan/:taskId/dataendpoint with intelligent parsing (lines 747-810)
Frontend Changes (webui/src/components/sqlmap-gui.tsx):
- Enhanced
DbExplorercomponent with two-pass processing (lines 175-393) - Intelligent database name resolution algorithm
- Better handling of all data types (databases, tables, columns, values)
- ✅ Real-time database enumeration updates - Database names now appear immediately in DB Explorer during scanning
- Fixed closure bug in
handleDbActionthat prevented live data updates - Added real-time data fetching during database enumeration (not just on completion)
- Improved state updates using functional setters to avoid stale closure values
- Enhanced polling to fetch final data for terminated scans if missed
- Fixed closure bug in
- 🔄 Live UI updates - DB Explorer now refreshes automatically as SQLMap discovers databases
- Data updates every 1 second during active database actions
- No need to wait for scan completion to see enumerated databases
- ✨ Next.js 16 modern web interface
- 🎨 Sticky Navbar with quick actions
- Animated logo with hover effects
- Refresh, Console, Settings buttons
- GitHub link
- Version badge
- 📑 Enhanced Tab Navigation
- Icons for all 8 tabs
- Active scan counter with animated badge
- Gradient backgrounds on active tabs
- Shadow effects and smooth transitions
- Responsive design (mobile-friendly)
- 🦶 Footer Component
- Copyright and branding
- Links to SQLMap project and docs
- Version information
- ✨ Framer Motion animations throughout
- 🎭 Shadcn UI component library
- 🔧 run-webui.ps1 - Launch backend + WebUI
- ✅ Automatic Port Cleanup - Kills processes on ports 3000, 5173, 8080, 8776
- 🎯 No More Port Conflicts - Clean startup every time
- 🚀 Beautiful Terminal Output - Professional status messages
- ✅ SQLMap API Port Cleanup - Automatic cleanup of port 8776
- 🔄 Better Error Handling - Improved process management
- 📝 Enhanced Logging - More detailed startup logs
- 📚 README.md - Comprehensive guide (updated)
- ⚡ QUICKSTART.md - Get started in 2 minutes
- 🎨 WEBUI_FEATURES.md - Detailed UI feature guide
- 📋 CHANGELOG.md - This file
- 🎨 Tab Design - From basic to professional with icons
- 📱 Responsive Layout - Better mobile support
- 🎯 Active Scan Badge - Now animated and more visible
- 📦 Package Scripts - Added
webuiandbuild:webuicommands - 🎭 Metadata - Updated page titles and descriptions
- 🐛 Port Conflicts - Automatic cleanup prevents "port in use" errors
- 🐛 PC Lag - Zombie processes now cleaned automatically
- 🐛 SQLMap API Crashes - Better process management
- 🐛 Multiple Instance Issues - Only one instance per port
- ✅ React + Vite frontend (Port 5173)
- ✅ Express backend with Winston logging (Port 3000)
- ✅ SQLMap API integration (Port 8776)
- ✅ SQLite database for scan history
- ✅ 8 functional tabs:
- New Scan
- Active Scans
- Dumped Databases
- Status
- Vulnerabilities
- DB Explorer
- Logs
- History
- ✅ Advanced scan options
- ✅ Real-time status updates
- ✅ OS Shell access
- ✅ Professional logging with rotation
No migration needed! Both UIs work side-by-side:
# Use new WebUI (recommended)
bun run webui
# Or use original frontend
bun run allBoth share the same backend and database!
None! All existing features work the same.
bun run webui # New: Backend + WebUI
bun run build:webui # New: Build WebUI for production| Date | Version | Description |
|---|---|---|
| 2024-12-11 | 2.0 | WebUI release with navbar and enhanced tabs |
| 2024-XX-XX | 1.0 | Initial release with React frontend |
- Dark/Light theme toggle
- Keyboard shortcuts
- Notification system
- User preferences
- Export results (JSON, CSV, PDF)
- Scan comparison
- Advanced filtering
- Multi-user support
- API key authentication
- Scan templates
- Scheduled scans
- Docker support
- Cloud deployment guide
- Mobile app
- VS Code extension
- Browser extension
- Collaboration features
See changes you'd like to make? Contributions welcome!
- Fork the repository
- Create feature branch
- Make changes
- Test with both UIs
- Submit pull request
Questions? Check the README.md or QUICKSTART.md