mirror of
https://github.com/agersant/polaris
synced 2024-11-10 02:04:13 +00:00
No description
c2807b60de
* Adds actix dependency * Failed attempt at test harness using actix * Fixed test panic * Simplified tests * Run web server in tests * Send json payloads * Static file serving * Default shutdown timeout * Implement version endpoint * Implements #[get("/initial_setup")] * WIP put_settings endpoint * Adds AdminRights extractor * Fixed a bug where AdminRights extractor always failed * Implements collection endpoints * Re-use system runnner between calls * Preserve client headers between API calls (tentative) * Fixed test interferences * Implemented more endpoints * Implemented audio file serving * Fixed sketchy responses * Implements thumbnail endpoint * Login endpoint WIP * Implement login endpoint * Auth support * When using HTTP headers to authenticate, response now includes expected cookies * Tentative fix for server not responding within docker * Adds logging middleware + browse troubleshooting * Tentative fix for path decoding issues * Tentative fix for broken path decoding * Fix routing issues w/ paths * Fixed a bug where auth cookies were sent in every response * More lenient test timeouts * Fixed a bug where recent/random endpoints required trailing slashes * Compilation fix for rocket branch * More useful test matrix * Signed session cookies (#106) * Isolate conflicting dependencies between rocket and actix versions * Removed macOS from test matrix * Glorious test harness simplification * Removed RequestBuilder * Shutdown on ctrl+c * Pin to stable * Drop rocket * Simplify dependencies * Removed stray rocket dependency * Better test matrix * Skip windows build without bundled sqlite * Offload thumbnail creation to a thread pool * Compress responses when possible * Removed unused manage state * Fixed a bug where large playlists could not be saved * Return HTTP 401 for last fm requests without authentication * Web block (#115) * web::block around DB operations * web::block during auth utils hitting DB * Fixed incorrect http response code for missing thumbnail * Removed unecessary unwrap * Eliminated unecessary unwrap |
||
---|---|---|
.github | ||
.vscode | ||
docs | ||
migrations | ||
res | ||
src | ||
test-data | ||
.codecov.yml | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
diesel.toml | ||
LICENSE | ||
README.md | ||
rust-toolchain | ||
update_db_schema.bat |
Polaris is a music streaming application, designed to let you enjoy your music collection from any computer or mobile device. Polaris works by streaming your music directly from your own computer, without uploading it to a third-party. It is free and open-source software, without any kind of premium version. The only requirement is that your computer stays on while it streams music!
Features
- Optimized for large music collections
- Can run on Windows, Linux, BSD, or through Docker
- Listen to your music on the web or using the Polaris Android app
- Easy to setup and configure via the built-in web UI
- Support for
flac
,mp3
,mp4
,mpc
,ogg
andopus
files - Support for album art images
- Last.fm scrobbling
- Color themes
- Restrict access to your music collection with user accounts
Tutorials
Screenshots
Documentation
API Documentation
The Polaris server API is documented via Swagger. Please note that this Swagger page does not point to a live Polaris server so the Try it out
buttons are not expected to work.
Every installation of Polaris also distributes this documentation, with the ability to use the Try it out
buttons. To access it, simply open http://localhost:5050/swagger/ in your browser on the machine running Polaris.
Feel free to open Github issues or Pull Requests if clarifications are needed.