[PR #1200] feat: Add managed Web Interface with Dashboard and REST API #194

Open
opened 2026-02-26 02:31:33 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kgretzky/evilginx2/pull/1200
Author: @xhzeem
Created: 1/11/2026
Status: 🔄 Open

Base: masterHead: master


📝 Commits (3)

  • bd4f357 added RemoveIP func
  • 435e6ba Implement Web UI with Dashboard expansion, mobile support, and pagination
  • b9c7da8 added new web ui

📊 Changes

9 files changed (+2172 additions, -0 deletions)

View changed files

📝 README.md (+16 -0)
core/api.go (+503 -0)
📝 core/blacklist.go (+45 -0)
core/web_ui.go (+78 -0)
📝 main.go (+27 -0)
web/app.js (+491 -0)
web/fs.go (+14 -0)
web/index.html (+412 -0)
web/style.css (+586 -0)

📄 Description

image

Description

This PR introduces a built-in Web Interface for Evilginx2, allowing for easier management of phishlets, lures, sessions, and server configuration directly from the browser. The interface is designed as a modern, responsive Single Page Application (SPA) that communicates with a new REST API backend.

Key Features

  • Interactive Dashboard: A high-level overview featuring real-time statistics for active phishlets, captured sessions, total lures, and blacklisted IPs. It also includes server information (Domain/IP) and a "Recent Sessions" quick-view table.
  • Phishlet Management: Full control to enable/disable phishlets and configure hostnames/unauth URLs via an intuitive UI.
  • Lure Management: Create, list, and copy phishing lure URLs with ease.
  • Session Explorer: Detailed view of captured credentials and session cookies, with the ability to delete sessions directly.
  • Configurable Settings: Interactive forms to update general server configuration (Domain, External IPv4, Bind IP, Ports, AutoCert) and Upstream Proxy settings.
  • Blacklist Management: Ability to view and remove IP addresses from the blacklist, persisting changes to the local blacklist file.
  • Mobile Responsive: Optimized layout for mobile devices, featuring a fixed sidebar and a hamburger menu for seamless management on the go.
  • Table Pagination: All management tables (Sessions, Lures, Phishlets, Blacklist) support client-side pagination (20 entries per page) for better performance and usability.
  • Embedded Assets: All frontend assets (HTML, CSS, JS) are embedded into the Go binary using //go:embed, ensuring no external file dependencies for deployment.
  • Toast Notifications: Replaced intrusive alerts with a sleek, non-blocking toast notification system for user feedback.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kgretzky/evilginx2/pull/1200 **Author:** [@xhzeem](https://github.com/xhzeem) **Created:** 1/11/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (3) - [`bd4f357`](https://github.com/kgretzky/evilginx2/commit/bd4f357b5800eb7c04251c8cccd9f216150f1ccf) added RemoveIP func - [`435e6ba`](https://github.com/kgretzky/evilginx2/commit/435e6ba58fa9c54192e56e2b4c0b3c2e4266a52f) Implement Web UI with Dashboard expansion, mobile support, and pagination - [`b9c7da8`](https://github.com/kgretzky/evilginx2/commit/b9c7da8ef08c29a5545e1d91ef2c5a22f583a97a) added new web ui ### 📊 Changes **9 files changed** (+2172 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+16 -0) ➕ `core/api.go` (+503 -0) 📝 `core/blacklist.go` (+45 -0) ➕ `core/web_ui.go` (+78 -0) 📝 `main.go` (+27 -0) ➕ `web/app.js` (+491 -0) ➕ `web/fs.go` (+14 -0) ➕ `web/index.html` (+412 -0) ➕ `web/style.css` (+586 -0) </details> ### 📄 Description <img width="1799" height="593" alt="image" src="https://github.com/user-attachments/assets/118d666b-a79c-4fcb-a57c-d16267bf0369" /> ### Description This PR introduces a built-in Web Interface for Evilginx2, allowing for easier management of phishlets, lures, sessions, and server configuration directly from the browser. The interface is designed as a modern, responsive Single Page Application (SPA) that communicates with a new REST API backend. #### Key Features - Interactive Dashboard: A high-level overview featuring real-time statistics for active phishlets, captured sessions, total lures, and blacklisted IPs. It also includes server information (Domain/IP) and a "Recent Sessions" quick-view table. - Phishlet Management: Full control to enable/disable phishlets and configure hostnames/unauth URLs via an intuitive UI. - Lure Management: Create, list, and copy phishing lure URLs with ease. - Session Explorer: Detailed view of captured credentials and session cookies, with the ability to delete sessions directly. - Configurable Settings: Interactive forms to update general server configuration (Domain, External IPv4, Bind IP, Ports, AutoCert) and Upstream Proxy settings. - Blacklist Management: Ability to view and remove IP addresses from the blacklist, persisting changes to the local blacklist file. - Mobile Responsive: Optimized layout for mobile devices, featuring a fixed sidebar and a hamburger menu for seamless management on the go. - Table Pagination: All management tables (Sessions, Lures, Phishlets, Blacklist) support client-side pagination (20 entries per page) for better performance and usability. - Embedded Assets: All frontend assets (HTML, CSS, JS) are embedded into the Go binary using //go:embed, ensuring no external file dependencies for deployment. - Toast Notifications: Replaced intrusive alerts with a sleek, non-blocking toast notification system for user feedback. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/evilginx2-kgretzky#194
No description provided.