Razer Chroma HTTP Wrapper
The Razer Chroma HTTP Wrapper is a system tray application that exists to wrap the (rather confusing) Razer Chroma REST SDK to enable easier scripting. The HTTP Wrapper exposes localhost HTTP endpoints that can be queried from scripts or applications to cause your Razer peripherals to flash and notify you of an event.
Quickstart
- Download the latest release
- Extract the zip file
- Run the binary (if necessary, tell Windows it's okay to run)
- Visit one of the endpoints listed below in your web browser
Endpoints
All endpoints are HTTP GET requests for scripting simplicity. Params embedded in the URI are required, anything after ?
are optional.
http://localhost:1323/color/be2be3
http://localhost:1323/color/pink (if "pink" is configured in custom_colors)
http://localhost:1323/flash/color/ff0000?count=3&duration=1000&interval=500
http://localhost:1323/flash/color/success?count=3&duration=1000&interval=500 (if "success" is configured in color_aliases and points to a valid color)
Configuration
Configuration is handled by the optional config.toml
file. This file, if present, needs to be in the same directory as razer-chroma-http-wrapper.exe
. See config.toml
in this repo for an example. Supported configuration values are defined below:
server_port
(defaults to 1323
): An integer value specifying which port to listen on for HTTP GET requests
default_color
(defaults to #bada55
): A hex color value that the Razer peripheral defaults to when not currently displaying an alert
custom_colors
(optional): A key/value object containing custom, named colors for easier referencing
color_aliases
(optional): A key/value object containing alternative names for colors defined in custom_colors
Compatibility
Operating System
My use case is Windows 10 with the Razer Goliathus Chroma Extended mousepad. The Razer Chroma HTTP Wrapper may work with other OSs and other peripherals, but it is not guaranteed. I'm happy to accept PRs to add desired functionality.
Razer Chroma SDK
Please note, the Razer Chroma HTTP Wrapper was written for this version of the Chroma SDK. It may work with others, but has not been tested.
{
"core": "3.20.02",
"device": "3.20.02",
"version": "3.20.03"
}