A modern, responsive administration panel for UnrealIRCd servers built with React, TypeScript, Tailwind CSS, and Go.
- Modern UI: Built with React 18, TypeScript, and Tailwind CSS
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Dark/Light Theme: Full theme switching support
- Real-time Updates: WebSocket integration for live network statistics
- Component Library: Using Shadcn/UI for consistent, accessible components
- Go API Server: High-performance REST API built with Go
- WebSocket Support: Real-time data streaming to frontend
- RPC Bridge: Connects to UnrealIRCd via RPC (ready for integration)
- CORS Enabled: Proper cross-origin resource sharing configuration
- Dashboard: Real-time network overview with statistics and charts
- User Management: View and manage connected users
- Channel Management: Monitor IRC channels
- Server Administration: Manage server bans, operators, and settings
- Plugin Management: Install and configure plugins
- Logs: Real-time log viewing
- Role Management: User permissions and access control
- Node.js 18+ or Bun
- Modern web browser with ES2020 support
- Go 1.21+
- UnrealIRCd 6.0+ with RPC module enabled
- Install dependencies:
cd unrealircd-admin-panel
bun install- Start the development server:
bun run devThe frontend will be available at http://localhost:5173
- Navigate to the backend directory:
cd backend- Initialize Go modules and download dependencies:
go mod tidy- Start the API server:
go run main.goThe API will be available at http://localhost:8080
Demo Credentials:
- Username:
admin - Password:
admin
In production, replace the mock authentication with your actual authentication system.
- React 18: Modern React with hooks and functional components
- TypeScript: Full type safety and better developer experience
- Tailwind CSS: Utility-first CSS framework
- Shadcn/UI: High-quality React components
- Recharts: Beautiful, responsive charts
- React Router: Client-side routing
- Sonner: Toast notifications
- Go: High-performance backend language
- Gorilla Mux: HTTP router and URL matcher
- Gorilla WebSocket: WebSocket implementation
- CORS: Cross-origin resource sharing middleware
unrealircd-admin-panel/
βββ src/ # Frontend source code
β βββ components/ # React components
β β βββ layout/ # Layout components (header, sidebar)
β β βββ ui/ # Shadcn/UI components
β βββ contexts/ # React contexts (auth, theme)
β βββ hooks/ # Custom React hooks
β βββ pages/ # Application pages
β βββ lib/ # Utility functions
βββ backend/ # Go backend
β βββ main.go # Main server file
β βββ go.mod # Go module definition
βββ public/ # Static assets
βββ .same/ # Development tracking
GET /api/network/stats- Network statisticsGET /api/network/health- Network health status
GET /api/users- List connected users
WS /ws- WebSocket connection for live updates
- Modern Interface: Clean, professional design inspired by modern admin dashboards
- Data Visualization: Interactive charts for network traffic and statistics
- Responsive Layout: Adaptive design that works on all screen sizes
- Accessibility: WCAG compliant components with proper ARIA labels
- Theme Support: Light and dark mode with system preference detection
- Live network statistics updates
- Real-time user connection/disconnection notifications
- Server status monitoring
- Activity feed with recent events
- JWT-based authentication (ready for implementation)
- Role-based access control
- CORS protection
- Input validation and sanitization
bun run buildDeploy the dist/ folder to your web server or CDN.
cd backend
go build -o unrealircd-admin-panel main.go
./unrealircd-admin-panel- Full UnrealIRCd RPC integration
- Advanced user actions (kick, ban, etc.)
- Channel management interface
- Server ban management with filters
- Plugin marketplace
- Configuration file editor
- Audit logging
- Multi-server support
- Mobile app (React Native)
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
For support and questions:
- Open an issue on GitHub
- Check the UnrealIRCd documentation
- Join the UnrealIRCd community
- Original UnrealIRCd WebPanel team
- Shadcn for the excellent UI components
- The React and Go communities