A simple and powerful PulseAudio Remote API for Linux systems.
go-prapi is a backend implementation for pulse-remote written in Go. It provides a WebSocket-based API to control and gather information from PulseAudio devices and sinks.
- Works with Linux PulseAudio and PipeWire
- WebSocket communication for real-time updates
- Control volume, mute status, and audio outputs
- Retrieve information about audio cards and sinks
- Clone the repository
- Run the server:
- The server will start on
ws://localhost:8448/api/v1/ws
An actively developed frontend for this API is available at pr-web.
To use the frontend:
- Build the pr-web project
- Copy or symlink the build output to the
frontend
folder in this project
Example (if pr-web is in a sibling directory):
ln -s ../pr-web/dist frontend
For detailed API documentation, connect to the WebSocket endpoint and send a GetSchema
action.
Check the Makefile for available commands:
make test
: Run testsmake build
: Build the applicationmake run/watch
: Run with auto-reload on file changes
This project is licensed under the GNU General Public License v2.0.
Contributions are welcome! Please feel free to submit a Pull Request.