|
|
||
|---|---|---|
| .github/workflows | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| shell.nix | ||
README.md
Eleanor Server
A HTTP remote media server for the Eleanor music player.
Usage (command line)
-
Setup:
- Run the
eleanor-serverexecutable; exit - Edit the
settings.tomlfile. Example:
port = 8008 [[sources]] id = 0 path = "/home/agatha/Music/local/"- Add user(s) using the
usersubcommand - Start the server again
- Run the
-
Adding a user:
./eleanor-server user add username password -
Removing a user:
./eleanor-server user remove username
Development
A testing server can be quickly set up in a temporary directory like this:
nix develop .#dev
REST API Implementation
GET / → A binary messagepack-encoded list of tracks indexed by the server
POST / → Starts a full reindex by the server
GET /:hash → Responds with the requested song's audio file (hash can be obtained from the index)
GET /:hash/cover → Responds with the album art attached to the requested song's file
All endpoints require HTTP Basic Auth using credentials of any formerly added user.