Skip to content

skydashnet/SkyForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkyForge

FreeRADIUS Configuration Manager — A modern web application for managing FreeRADIUS server configurations with a sleek hacker-inspired interface.

Version License Go Next.js


Overview

SkyForge provides a powerful web interface to manage your FreeRADIUS server configurations remotely via SSH. Built with a cyberpunk/hacker aesthetic, it offers full control over configuration files, service management, and diagnostic tools — all from your browser.

Key Features

  • Remote Configuration Management — Edit radiusd.conf, clients.conf, users, mods-enabled, and sites-enabled files
  • Live Service Control — Monitor status, restart service, and view resource usage (CPU, memory, PID)
  • Real-time Log Viewer — Stream FreeRADIUS logs with auto-refresh and color-coded output
  • RadTest Integration — Test RADIUS authentication directly from the web interface
  • Debug Mode — Run radiusd -X and capture diagnostic output
  • Backup Management — Auto-backup before edits with one-click restore capability
  • NAS Client Manager — Add and remove RADIUS clients through a visual interface
  • Dictionary Browser — Search and explore RADIUS attributes
  • Audit Logging — Track all configuration changes and actions

Screenshots

Dashboard

The main dashboard displays real-time service status with CPU, memory usage, and quick access to all tools.

Dashboard

Configuration Editor

macOS-style terminal windows for editing configuration files with syntax preservation.

Configuration Editor

Live Logs

Real-time log streaming with auto-refresh and color-coded output.

Live Logs

RadTest

Test RADIUS authentication directly from the web interface.

RadTest


Quick Start

Prerequisites

  • Go 1.21 or higher
  • Node.js 18 or higher
  • FreeRADIUS server accessible via SSH
  • SSH user with passwordless sudo access for cat and tee commands

Installation

  1. Clone the repository

    git clone https://github.com/skydashnet/skyforge.git
    cd skyforge
  2. Setup Backend

    cd backend
    cp .env.example .env
    # Edit .env with your JWT secret
    go build -o skyforge .
    ./skyforge
  3. Setup Frontend

    cd frontend
    cp .env.local.example .env.local
    # Edit .env.local with your backend URL
    npm install
    npm run dev
  4. Access the application

    Open http://localhost:3000 and login with default credentials:

    • Username: admin
    • Password: admin123
  5. Configure RADIUS Server Connection

    Navigate to Settings and enter your FreeRADIUS server SSH details.


Configuration

Backend Environment Variables

Variable Description Default
APP_PORT Backend server port 8889
JWT_SECRET Secret key for JWT tokens Required

Frontend Environment Variables

Variable Description Default
NEXT_PUBLIC_API_URL Backend API URL http://localhost:8889

SSH Requirements

The SSH user on your RADIUS server needs passwordless sudo access for file operations. Add to /etc/sudoers.d/:

your_user ALL=(ALL) NOPASSWD: /usr/bin/cat
your_user ALL=(ALL) NOPASSWD: /usr/bin/tee

Tech Stack

Component Technology
Backend Go, Fiber, GORM, SQLite
Frontend Next.js 15, React, Tailwind CSS
UI Components shadcn/ui, Lucide Icons
Authentication JWT, bcrypt
Remote Access SSH (golang.org/x/crypto/ssh)

Features in Detail

Configuration Management

Edit all major FreeRADIUS configuration files with automatic backup before save. Supports:

  • radiusd.conf — Main server configuration
  • clients.conf — NAS client definitions
  • users — User authorization file
  • mods-enabled/* — Module configurations
  • sites-enabled/* — Virtual server configurations

Service Control

  • View real-time service status (active/inactive)
  • One-click service restart
  • CPU and memory usage monitoring
  • Process ID tracking

Diagnostic Tools

  • Live Logs — Real-time log streaming with 3-second auto-refresh
  • RadTest — Test username/password authentication against any NAS
  • Debug Mode — Capture radiusd -X output for troubleshooting

Security Features

  • JWT-based authentication
  • Audit logging for all actions
  • Automatic configuration backup
  • Secure SSH key/password authentication

Supported Platforms

SkyForge works with FreeRADIUS installations on:

  • Ubuntu/Debian (/etc/freeradius/3.0)
  • CentOS/RHEL (/etc/raddb)
  • Arch Linux (/etc/raddb)
  • FreeBSD (/usr/local/etc/raddb)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.


Author

SkydashNET


Acknowledgments

  • FreeRADIUS — The world's most popular RADIUS server
  • Fiber — Express-inspired Go web framework
  • Next.js — The React framework for production
  • shadcn/ui — Beautifully designed components
  • Lucide — Beautiful & consistent icons