The Ultimate RGB Control Interface for OpenRGB
Features β’ Quick Start β’ Documentation β’ Screenshots β’ License
Nightwolf RGB is a premium, full-stack RGB control application that integrates seamlessly with OpenRGB. It provides an intuitive, modern interface for controlling all your RGB devices without the bloat of manufacturer software.
- π¨ Premium UI: Stunning, futuristic design that makes RGB control a visual experience
- β‘ Real-time Control: Instant hardware response via WebSocket communication
- π§Ή RGB Cleanup: Exclusive feature to eliminate conflicting RGB software
- πΎ Profile System: Save and restore complex lighting configurations
- π Universal Sync: Synchronize all RGB components of your PC simultaneously*
- π Web-based: Access from anywhere on your local network
- π Open Source: Free, transparent, and community-driven
*What are "devices"? In OpenRGB/Nightwolf context, "devices" means the individual RGB components connected to your PC, such as:
- Motherboard RGB headers:
- ARGB (Addressable RGB / 5V / 3-pin) - Individual LED control
- RGB (Non-addressable / 12V / 4-pin) - All LEDs same color
- RAM modules (DDR4/DDR5 with RGB/ARGB)
- Graphics card RGB lighting
- AIO liquid coolers (pump + radiator fans with ARGB/RGB)
- Case fans (ARGB or RGB)
- LED strips (Addressable or Non-addressable)
- RGB controllers (Corsair Commander, NZXT Hue, etc.)
- Some RGB peripherals (keyboards, mice - if supported by OpenRGB)
ARGB vs RGB Support:
β
ARGB (Addressable): Full support - control each LED individually
β
RGB (Non-addressable): Full support - all LEDs change to same color
Example: Your gaming PC might have 5 "devices": Z790 Motherboard (ARGB header), Corsair RAM (ARGB - 4 sticks = 1 device), NZXT AIO Cooler (ARGB), GPU (RGB), and LED Strip (ARGB). Nightwolf RGB can control all 5 simultaneously with one click.
- β Device Discovery: Automatic detection of all OpenRGB-compatible RGB components in your PC
- β Color Control: Hex color picker with 10 preset palettes
- β Brightness Control: Master illumination slider (0-100%)
- β Global Sync: Apply same color to all RGB components at once (motherboard, RAM, fans, etc.)
- β Individual Control: Target specific components independently (e.g., only RAM)
- β Native Modes: Access hardware-specific lighting effects (breathing, rainbow, etc.)
-
π§Ή RGB Cleanup (Exclusive): Automatically detect and terminate conflicting RGB software:
Corsair:
- iCUE, iCUE Service, Corsair Service, LLA Service
ASUS:
- Armoury Crate (Service + User Helper), Aura Service, Lighting Service, System Analysis
Razer:
- Synapse, Chroma SDK, Central Service, Ingame Engine, Stream Server
MSI:
- Afterburner, Dragon Center, Mystic Light, MSI SDK
NZXT:
- CAM, CAM Service
Gigabyte:
- RGB Fusion, RGB Fusion 2, GCC
ASRock:
- Polychrome RGB, ASR Services
Others:
- SignalRGB, Logitech G HUB, SteelSeries GG, HyperX NGenuity, Thermaltake TT RGB Plus, Cooler Master Portal, EVGA Precision, EKWB Connect, JackNet RGB Sync
Total: 70+ processes detected
-
πΎ Profile Management:
- Create snapshots of current configuration
- Save unlimited profiles
- One-click profile application
- Profile metadata (created date, description)
-
π¨ Visual Effects (Planned):
- Constant Aura (Static)
- Wolf Heartbeat (Breathing)
- Thunder Strike (Flash)
- Sonic Reaction (Audio-reactive)
- π WebSocket Communication: Real-time bidirectional updates
- π Auto-reconnect: Resilient connection handling
- π‘ REST API: Complete HTTP API for external integrations
- π― Type-safe: Structured data validation
- βοΈ Modular Architecture: Easy to extend and customize
- OpenRGB (Download from openrgb.org)
- Node.js v18 or higher
- Windows (Linux/Mac support planned)
# Clone the repository
git clone https://github.com/klebertiko/NightwolfRGB.git
cd nightwolf-rgb
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install- Open OpenRGB
- Navigate to SDK Server tab
- Click Start Server
- Verify status shows Online on port 6742
# Terminal 1 - Start backend
cd backend
npm run dev
# Terminal 2 - Start frontend
cd frontend
npm run devAccess the interface at: http://localhost:5173
GET /api/statusReturns connection status and device count.
GET /api/devices # List all devices
GET /api/devices/:id # Get specific device
POST /api/devices/:id/color # Set device color
POST /api/devices/:id/mode # Change device mode
POST /api/devices/:id/brightness # Adjust brightness
POST /api/devices/sync # Sync all devicesGET /api/profiles # List profiles
POST /api/profiles # Create profile
POST /api/profiles/snapshot # Snapshot current state
POST /api/profiles/:id/apply # Apply profile
DELETE /api/profiles/:id # Delete profileGET /api/cleanup/status # Get cleanup status
GET /api/cleanup/detect # Detect conflicts
POST /api/cleanup/kill-processes # Kill RGB processes
POST /api/cleanup/disable-services # Stop RGB services
POST /api/cleanup/full # Complete cleanup// WebSocket connection
const { connected, deviceCount, status } = useOpenRGB();
// Device management
const { devices, loading, setColor, setMode, setBrightness, syncAll } = useDevices();
// Profile management
const { profiles, createProfile, applyProfile, deleteProfile } = useProfiles();
// RGB Cleanup
const { status, detectConflicts, fullCleanup } = useCleanup();βββββββββββββββββββ HTTP/WS ββββββββββββββββββββ
β React Frontend ββββββββββββββββββββΊβ Express Backend β
β (Port 5173) β β (Port 3001) β
βββββββββββββββββββ βββββββββββ¬βββββββββ
β OpenRGB
β SDK Protocol
β TCP:6742
βββββββββΌβββββββββ
β OpenRGB SDK β
β Server β
βββββββββ¬βββββββββ
β USB/I2C/SMBus
βββββββββββββ΄ββββββββββββ
β β
βββββββββΌββββββ ββββββββΌβββββββ
β Motherboard β β RAM β
β RGB Headers β β (4 sticks) β
βββββββββββββββ βββββββββββββββ
β β
βββββββββββββΌββββββββββββ¬ββββββββββββ
β β β
ββββββββΌβββββ βββββΌβββββ βββββΌββββββ
β AIO/Pump β β Fans β β GPU β
β Cooler β β RGB β β RGB β
βββββββββββββ ββββββββββ βββββββββββ
β
ββββββββΌββββββββ
β LED Strips β
β (Addressable)β
ββββββββββββββββ
β² ALL components in ONE PC = "Devices"
Key Points:
- One instance of Nightwolf RGB = One PC's RGB components
- "Sync All" = Synchronize motherboard + RAM + AIO + fans + GPU + strips
- Each component can also be controlled individually
Frontend:
- React 18.2
- Vite (Build tool)
- Lucide React (Icons)
- Axios (HTTP client)
- WebSocket (Real-time)
Backend:
- Node.js Express
- openrgb-sdk 0.6.0
- WebSocket (ws library)
- File-based storage (JSON)
nightwolf-rgb/
βββ backend/
β βββ controllers/
β β βββ openrgb.controller.js # OpenRGB SDK integration
β β βββ profiles.controller.js # Profile CRUD
β β βββ cleanup.controller.js # RGB cleanup logic
β βββ routes/
β β βββ devices.routes.js
β β βββ profiles.routes.js
β β βββ cleanup.routes.js
β βββ utils/
β β βββ color.utils.js # Color conversions
β βββ data/
β β βββ profiles.json # Saved profiles
β βββ server.js # Main server
βββ frontend/
βββ src/
β βββ components/
β β βββ ConnectionStatus.jsx
β β βββ CleanupPanel.jsx
β βββ hooks/
β β βββ useOpenRGB.js
β β βββ useDevices.js
β β βββ useProfiles.js
β β βββ useCleanup.js
β βββ api/
β β βββ client.js
β βββ App.jsx # Main application
βββ package.json
Backend (.env):
OPENRGB_HOST=localhost
OPENRGB_PORT=6742
SERVER_PORT=3001
NODE_ENV=developmentFrontend (.env):
VITE_API_URL=http://localhost:3001Symptoms:
β Failed to connect to OpenRGB
Solutions:
- Ensure OpenRGB is running
- Check SDK Server is "Online" in OpenRGB
- Verify port 6742 is not blocked by firewall
- Try restarting OpenRGB with
--serverflag
Symptoms:
Red status indicator, no devices shown
Solutions:
- Verify backend is running on port 3001
- Check browser console for WebSocket errors
- Confirm
.envfile exists in frontend folder - Try hard refresh (Ctrl+Shift+R)
Symptoms:
UI updates but hardware doesn't respond
Solutions:
- Close other RGB software (iCUE, Armoury Crate, etc)
- Use built-in RGB Cleanup feature
- Set device to "Direct" mode in OpenRGB first
- Check device permissions (may need admin rights)
Symptoms:
Processes still running after cleanup
Requirements:
- Windows only (currently)
- Run backend as Administrator for service control
- Some processes may require manual termination
- Audio-reactive effects
- Custom effect builder
- Gradient color picker
- Per-zone control
- Scheduler (time-based profiles)
- Game integration hooks
- Mobile responsive design
- Dark/Light theme toggle
- Electron desktop app
- System tray integration
- Auto-start with Windows
- Cloud profile sync
- Community profile marketplace
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style
- Add comments for complex logic
- Test with real RGB hardware
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenRGB Team - For the amazing open-source RGB control software
- Lucide Icons - Beautiful icon library
- React Community - Excellent documentation and support
- All Contributors - Thank you for making this project better!
R: NΓ£o. Cada instΓ’ncia do Nightwolf RGB (backend + OpenRGB) controla apenas o hardware do computador onde estΓ‘ instalado.
Como funciona:
βββββββββββββββββββββββββββββββββββββββββββ
β PC Gaming (192.168.1.100) β
β βββββββββββββββββββββββββββββββββββ β
β β OpenRGB + Nightwolf Backend β β
β β Controla: MB, RAM, GPU deste PC β β
β βββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββ
β²
β HTTP/WebSocket
β (Acesso via rede)
β
ββββββββββ΄βββββββββββββββββββββββββββββββ
β Qualquer dispositivo na rede β
β - Notebook, Tablet, Celular β
β - Acessa http://192.168.1.100:5173 β
β - Controla o RGB do PC Gaming β
βββββββββββββββββββββββββββββββββββββββββ
BenefΓcios do Web-based:
- β Acesse de qualquer navegador (nΓ£o precisa instalar nada)
- β Controle do sofΓ‘ via tablet/celular
- β MΓΊltiplos usuΓ‘rios podem ver/controlar (desde que na mesma rede)
- β Interface nΓ£o depende de sistema operacional
Para controlar mΓΊltiplos PCs: VocΓͺ precisaria instalar Nightwolf RGB em cada PC:
- PC 1: http://192.168.1.100:5173 (controla hardware do PC 1)
- PC 2: http://192.168.1.101:5173 (controla hardware do PC 2)
- Etc.
R: Depende da configuraΓ§Γ£o, mas um setup gaming comum tem entre 3-8 devices:
Exemplo - PC Gaming MΓ©dio:
- ASUS ROG STRIX Z790 (Motherboard) - 1 device
- Corsair Dominator Platinum 64GB (4x16GB) - 1 device (RAM Γ© agrupada)
- NZXT Kraken Z73 AIO - 1 device
- QL120 RGB Fans (6x) - 1 device (fans conectadas ao mesmo hub)
- NVIDIA RTX 4090 - 1 device
- LED Strip Addressable - 1 device
Total: 6 devices que podem ser controlados individual ou simultaneamente.
Setup Extremo (Entusiasta):
- Motherboard RGB
- RAM (pode ser 2 devices se canais separados)
- AIO Pump
- AIO Radiator Fans (separado do pump)
- Case Fans Intake
- Case Fans Exhaust
- GPU
- LED Strip Teto
- LED Strip Mesa
- Vertical GPU Mount RGB
- Cable Combs RGB
Total: 11+ devices
R: Sim, para controle em tempo real. PorΓ©m, as configuraΓ§Γ΅es salvas nos dispositivos (modos nativos) persistem mesmo apΓ³s fechar a aplicaΓ§Γ£o.
R:
- Backend: Sim, Node.js Γ© multiplataforma
- OpenRGB: Sim, suporta Linux e Mac
- RGB Cleanup: Apenas Windows (usa comandos especΓficos do Windows)
R:
- Bloatware: Softwares oficiais consomem muita RAM/CPU
- Conflitos: MΓΊltiplos softwares brigam pelo controle
- LimitaΓ§Γ΅es: Cada um controla apenas sua marca
- OpenRGB + Nightwolf: Leve, universal, open-source, sem telemetria
R: Sim. Os processos RGB sΓ£o apenas para iluminaΓ§Γ£o. Funcionalidades crΓticas (atualizaΓ§Γ£o de firmware, monitoring) nΓ£o sΓ£o afetadas. VocΓͺ pode reiniciar os softwares depois, se necessΓ‘rio.
R:
- Matar processos: NΓ£o (maioria dos casos)
- Parar serviΓ§os: Sim (requer admin)
Execute o backend como administrador para funcionalidade completa:
# Windows (PowerShell como Admin)
cd backend
npm run dev- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Discord: Join our server (Coming soon)
- Email: support@nightwolf-rgb.com
Made with β€οΈ and RGB



