reciva-web-remote

command module
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2023 License: MIT Imports: 5 Imported by: 0

README

reciva-web-remote

GitHub GitHub tag (latest SemVer) GitHub last commit GitHub go.mod Go version Go Report Card

Control your legacy Reciva based internet radios (Crane, Grace Digital, Tangent, etc.) via web browser or HTTP API.

Desktop Demo

Features

  • Toggle radio power
  • Change radio volume
  • Change radio audio source (unreliable)
  • Play radio presets (make sure audio source is Internet radio or else it will hang)
  • Host playlists for radios

Running

Download and extract the zip/tar.gz file from releases.

Windows

Open the extracted folder and double-click start.bat to run the server on port 80.

You may need to press enter in the terminal and also press allow on the firewall prompt.

You may also want use winsw to run the program as a Windows service.

Flags

The web server listens on port 8080 by default. It can be changed by setting the -port flag.

./reciva-web-remote -port 9000

The UPnP control point listens on port 8058 by default. It can be changed by setting the -cport flag.

./reciva-web-remote -cport 9058

The program looks for reciva-web-remote.json file in the current folder by default. It can be changed by setting the -config flag.

./reciva-web-remote -config example.json

Host Playlists

Credit to this article.

Playlists can be hosted on the web server. This is only useful if you were able to point your presets to a domain or an IP that you own before Reciva shutdown it's service.

Take for example you have a radio where preset 1 and 2 point to http://192.168.1.2:9000/01.m3u and http://192.168.1.2:9000/02.m3u respectively.

You will have reciva-web-remote.json file with the following content.

{
  "presets": [
    {
      "url": "http://192.168.1.2:9000/01.m3u"
    },
    {
      "url": "http://192.168.1.2:9000/02.m3u"
    }
  ]
}

Then you will run the program on a machine that has the IP address 192.168.1.2 and with port 9000 available.

./reciva-web-remote -port 9000

The program will host the playlists on /01.m3u and /02.m3u.

The contents of the playlists can be changed in the web interface.

Edit Demo

API

REST API is documented using Swagger. Swagger file is stored in swagger.json and can be viewed using Swagger UI.

Build

Install npm packages.

make npm

Build program.

make build

Binary will be in ./bin.

Development

Install npm packages.

make npm

Run frontend.

make dev-frontend

Run backend.

make dev-backend

To Do

  • Readd toasts in web interface
  • Add volume slider in web interface
  • Document WebSocket API

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
swagger
Code generated by swaggo/swag.
Code generated by swaggo/swag.
ws
hub
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL