From efe78d7e07a0130e4bc347e867654a635043caf8 Mon Sep 17 00:00:00 2001 From: mrleo1nid <43583385+mrleo1nid@users.noreply.github.com> Date: Wed, 21 Oct 2026 23:45:03 +0300 Subject: [PATCH] feat(desktop): wrap the web client in a Tauri app EOF Co-authored-by: Cursor --- .gitea/workflows/ci-desktop.yml | 33 ++++ README.md | 3 +- apps/desktop/inject-version.mjs | 17 ++ apps/desktop/package.json | 15 ++ apps/desktop/src-tauri/Cargo.toml | 42 +++++ apps/desktop/src-tauri/build.rs | 3 + apps/desktop/src-tauri/capabilities/main.json | 7 + apps/desktop/src-tauri/icons/128x128.png | Bin 0 -> 6690 bytes apps/desktop/src-tauri/icons/128x128@2x.png | Bin 0 -> 16126 bytes apps/desktop/src-tauri/icons/32x32.png | Bin 0 -> 1243 bytes apps/desktop/src-tauri/icons/64x64.png | Bin 0 -> 2797 bytes apps/desktop/src-tauri/icons/icon.icns | Bin 0 -> 243031 bytes apps/desktop/src-tauri/icons/icon.ico | Bin 0 -> 26879 bytes apps/desktop/src-tauri/icons/icon.png | Bin 0 -> 42608 bytes apps/desktop/src-tauri/src/lib.rs | 157 ++++++++++++++++ apps/desktop/src-tauri/src/main.rs | 5 + apps/desktop/src-tauri/src/media.rs | 62 +++++++ apps/desktop/src-tauri/src/proxy.rs | 168 ++++++++++++++++++ apps/desktop/src-tauri/src/store.rs | 80 +++++++++ apps/desktop/src-tauri/tauri.conf.json | 31 ++++ apps/web/src/app/router.tsx | 36 +++- apps/web/src/desktop.test.ts | 28 +++ apps/web/src/desktop.ts | 94 ++++++++++ apps/web/src/main.tsx | 15 +- apps/web/src/pages/ConnectPage.tsx | 55 ++++++ apps/web/src/pages/LoginPage.tsx | 10 +- apps/web/src/pages/SettingsPage.tsx | 17 ++ apps/web/src/player/player.ts | 36 ++++ docs/IDEA.md | 4 +- docs/README.md | 1 + docs/architecture.md | 5 +- docs/desktop.md | 15 ++ pnpm-lock.yaml | 137 +++++++++++++- 33 files changed, 1056 insertions(+), 20 deletions(-) create mode 100644 .gitea/workflows/ci-desktop.yml create mode 100644 apps/desktop/inject-version.mjs create mode 100644 apps/desktop/package.json create mode 100644 apps/desktop/src-tauri/Cargo.toml create mode 100644 apps/desktop/src-tauri/build.rs create mode 100644 apps/desktop/src-tauri/capabilities/main.json create mode 100644 apps/desktop/src-tauri/icons/128x128.png create mode 100644 apps/desktop/src-tauri/icons/128x128@2x.png create mode 100644 apps/desktop/src-tauri/icons/32x32.png create mode 100644 apps/desktop/src-tauri/icons/64x64.png create mode 100644 apps/desktop/src-tauri/icons/icon.icns create mode 100644 apps/desktop/src-tauri/icons/icon.ico create mode 100644 apps/desktop/src-tauri/icons/icon.png create mode 100644 apps/desktop/src-tauri/src/lib.rs create mode 100644 apps/desktop/src-tauri/src/main.rs create mode 100644 apps/desktop/src-tauri/src/media.rs create mode 100644 apps/desktop/src-tauri/src/proxy.rs create mode 100644 apps/desktop/src-tauri/src/store.rs create mode 100644 apps/desktop/src-tauri/tauri.conf.json create mode 100644 apps/web/src/desktop.test.ts create mode 100644 apps/web/src/desktop.ts create mode 100644 apps/web/src/pages/ConnectPage.tsx create mode 100644 docs/desktop.md diff --git a/.gitea/workflows/ci-desktop.yml b/.gitea/workflows/ci-desktop.yml new file mode 100644 index 0000000..0991543 --- /dev/null +++ b/.gitea/workflows/ci-desktop.yml @@ -0,0 +1,33 @@ +# Rust-часть десктопа: прокси и проверки URL. Полная сборка инсталлятора — локально +# (`pnpm --filter @pipu/desktop bundle`): на раннере нет Windows и WebKitGTK. +name: ci / desktop + +on: + push: + branches: [main] + paths: + - 'apps/desktop/**' + - '.gitea/workflows/ci-desktop.yml' + pull_request: + paths: + - 'apps/desktop/**' + - '.gitea/workflows/ci-desktop.yml' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + rust: + name: rust (desktop proxy) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Rust + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --profile minimal + echo "$HOME/.cargo/bin" >> "$GITHUB_PATH" + - run: | + sudo apt-get update + sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libdbus-1-dev + - run: cargo test --manifest-path apps/desktop/src-tauri/Cargo.toml diff --git a/README.md b/README.md index 7354bf4..3bcbc23 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # pipu-music -Self-hosted музыкальный сервис: веб и Android-приложение, библиотека на NFS, +Self-hosted музыкальный сервис: веб, десктоп и Android-приложение, библиотека на NFS, умная бесконечная лента «Моя волна» с учётом вкуса, звучания треков и настроения. - Идея продукта: [docs/IDEA.md](docs/IDEA.md) @@ -15,6 +15,7 @@ Self-hosted музыкальный сервис: веб и Android-прилож | `services/api` | Go: публичный API (`cmd/api`) и агент хранилищ (`cmd/storage-agent`) | | `services/recommender` | Python: рекомендации (`pipu-rec serve`) и аудиоанализ (`pipu-rec analyze`) | | `apps/web` | Веб-клиент (React + Vite) | +| `apps/desktop` | Десктоп Windows / Linux / macOS (Tauri, тот же веб) | | `apps/mobile` | Android-приложение (React Native + Expo) | | `packages/*` | Общий TS-код: `api-client`, `core`, `i18n`, `design-tokens` | | `deploy/` | Docker Compose, nginx, скрипты установки и обновления | diff --git a/apps/desktop/inject-version.mjs b/apps/desktop/inject-version.mjs new file mode 100644 index 0000000..560ec3f --- /dev/null +++ b/apps/desktop/inject-version.mjs @@ -0,0 +1,17 @@ +import { execFileSync } from 'node:child_process'; +import { readFileSync, writeFileSync } from 'node:fs'; +import { dirname, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const root = dirname(fileURLToPath(import.meta.url)); +const conf = JSON.parse(readFileSync(resolve(root, 'src-tauri/tauri.conf.json'), 'utf8')); +let version = '0.0.0'; +try { + const tag = execFileSync('git', ['describe', '--tags', '--abbrev=0'], { encoding: 'utf8' }).trim(); + version = tag.replace(/^v/, '').replace(/-rc\.\d+$/, ''); +} catch { + // local untagged build +} +conf.version = version; +writeFileSync(resolve(root, 'src-tauri/tauri.release.json'), JSON.stringify(conf, null, 2)); +console.log(`desktop version ${version}`); diff --git a/apps/desktop/package.json b/apps/desktop/package.json new file mode 100644 index 0000000..55bc4ff --- /dev/null +++ b/apps/desktop/package.json @@ -0,0 +1,15 @@ +{ + "name": "@pipu/desktop", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "tauri dev", + "bundle": "node inject-version.mjs && tauri build --config src-tauri/tauri.release.json", + "tauri": "tauri", + "icons": "tauri icon ../web/public/favicon.svg" + }, + "devDependencies": { + "@tauri-apps/cli": "^2.9.0" + } +} diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml new file mode 100644 index 0000000..f27dc4e --- /dev/null +++ b/apps/desktop/src-tauri/Cargo.toml @@ -0,0 +1,42 @@ +[package] +name = "pipu-desktop" +version = "0.0.0" +edition = "2021" + +[lib] +name = "pipu_desktop_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[[bin]] +name = "pipu-desktop" +path = "src/main.rs" + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = ["tray-icon"] } +tauri-plugin-window-state = "2" +tauri-plugin-single-instance = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tokio = { version = "1", features = ["net", "sync", "time"] } +axum = "0.8" +reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream", "json"] } +uuid = { version = "1", features = ["v4"] } +url = "2" +souvlaki = "0.8.3" + +[target.'cfg(target_os = "windows")'.dependencies] +keyring = { version = "3.6.3", features = ["windows-native"] } + +[target.'cfg(target_os = "linux")'.dependencies] +keyring = { version = "3.6.3", features = ["sync-secret-service", "crypto-rust"] } + +[target.'cfg(target_os = "macos")'.dependencies] +keyring = { version = "3.6.3", features = ["apple-native"] } + +[profile.release] +strip = true +lto = "thin" +codegen-units = 1 diff --git a/apps/desktop/src-tauri/build.rs b/apps/desktop/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/apps/desktop/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/apps/desktop/src-tauri/capabilities/main.json b/apps/desktop/src-tauri/capabilities/main.json new file mode 100644 index 0000000..08c10cf --- /dev/null +++ b/apps/desktop/src-tauri/capabilities/main.json @@ -0,0 +1,7 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "main", + "description": "Only the bundled main window may invoke desktop integration.", + "windows": ["main"], + "permissions": ["core:default", "core:event:default"] +} diff --git a/apps/desktop/src-tauri/icons/128x128.png b/apps/desktop/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..8c63fb52414af30a54792ef466fd2110d408b188 GIT binary patch literal 6690 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/128x128@2x.png b/apps/desktop/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f308b2ee4b56e019d2187d9abb9dc4f5a382a8a6 GIT binary patch literal 16126 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/icon.icns b/apps/desktop/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..f3e77c9bd3fdf996c46f2e385926ee0ffa8609ab GIT binary patch literal 243031 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/icon.ico b/apps/desktop/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dc81fe6750b3ac0742e4439a5317e1ef964114f0 GIT binary patch literal 26879 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/icon.png b/apps/desktop/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c10b7b8e2e33cf553b43800e0665b9602aa777 GIT binary patch literal 42608 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, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct Bootstrap { + proxy_base: String, + server: Option, +} + +fn show_main(app: &AppHandle) { + if let Some(window) = app.get_webview_window("main") { + let _ = window.unminimize(); + let _ = window.show(); + let _ = window.set_focus(); + } +} + +#[tauri::command] +fn bootstrap(app: AppHandle, state: State) -> Result { + Ok(Bootstrap { + proxy_base: state.proxy.base.clone(), + server: store::load_server(&app)?, + }) +} + +#[tauri::command] +async fn set_server(app: AppHandle, state: State<'_, AppState>, url: String) -> Result { + let server = proxy::validate_server(&url)?; + state.proxy.check(&server).await?; + store::save_server(&app, Some(&server))?; + *state.proxy.server.write().map_err(|e| e.to_string())? = Some(server.clone()); + *state.server.lock().map_err(|e| e.to_string())? = Some(server.clone()); + Ok(server) +} + +#[tauri::command] +fn clear_server(app: AppHandle, state: State) -> Result<(), String> { + store::save_server(&app, None)?; + store::save_user(&app, None)?; + store::save_refresh(None)?; + *state.proxy.server.write().map_err(|e| e.to_string())? = None; + *state.server.lock().map_err(|e| e.to_string())? = None; + Ok(()) +} + +#[tauri::command] +fn token_get() -> Result, String> { + store::load_refresh() +} + +#[tauri::command] +fn token_set(token: String) -> Result<(), String> { + store::save_refresh(Some(&token)) +} + +#[tauri::command] +fn token_clear() -> Result<(), String> { + store::save_refresh(None) +} + +#[tauri::command] +fn user_get(app: AppHandle) -> Result, String> { + store::load_user(&app) +} + +#[tauri::command] +fn user_set(app: AppHandle, json: String) -> Result<(), String> { + store::save_user(&app, Some(&json)) +} + +#[tauri::command] +fn user_clear(app: AppHandle) -> Result<(), String> { + store::save_user(&app, None) +} + +#[tauri::command] +fn media_set( + state: State, + title: String, + artist: String, + album: String, + cover_url: Option, + playing: bool, +) -> Result<(), String> { + state.media.set(&title, &artist, &album, cover_url.as_deref(), playing) +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_single_instance::init(|app, _, _| show_main(app))) + .plugin(tauri_plugin_window_state::Builder::default().build()) + .setup(|app| { + let saved = store::load_server(app.handle())?; + let proxy = tauri::async_runtime::block_on(Proxy::start(saved.clone())).map_err(|e| e.to_string())?; + let media = Media::new(); + if let Some(window) = app.get_webview_window("main") { + let _ = media.attach(app.handle().clone(), &window); + } + app.manage(AppState { + proxy, + media, + server: Mutex::new(saved), + }); + + let open = MenuItem::with_id(app, "open", "Открыть", true, None::<&str>)?; + let quit = MenuItem::with_id(app, "quit", "Выход", true, None::<&str>)?; + let menu = Menu::with_items(app, &[&open, &quit])?; + let icon: Image = include_image!("../icons/32x32.png"); + TrayIconBuilder::new() + .icon(icon) + .menu(&menu) + .show_menu_on_left_click(false) + .on_menu_event(|app, event| match event.id.as_ref() { + "open" => show_main(app), + "quit" => app.exit(0), + _ => {} + }) + .on_tray_icon_event(|tray, event| { + if let TrayIconEvent::Click { + button: MouseButton::Left, + button_state: MouseButtonState::Up, + .. + } = event + { + show_main(tray.app_handle()); + } + }) + .build(app)?; + Ok(()) + }) + .invoke_handler(tauri::generate_handler![ + bootstrap, set_server, clear_server, token_get, token_set, token_clear, user_get, user_set, user_clear, media_set + ]) + .run(tauri::generate_context!()) + .expect("desktop app failed to start"); +} diff --git a/apps/desktop/src-tauri/src/main.rs b/apps/desktop/src-tauri/src/main.rs new file mode 100644 index 0000000..9bba55a --- /dev/null +++ b/apps/desktop/src-tauri/src/main.rs @@ -0,0 +1,5 @@ +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + pipu_desktop_lib::run(); +} diff --git a/apps/desktop/src-tauri/src/media.rs b/apps/desktop/src-tauri/src/media.rs new file mode 100644 index 0000000..cf99abb --- /dev/null +++ b/apps/desktop/src-tauri/src/media.rs @@ -0,0 +1,62 @@ +use souvlaki::{MediaControlEvent, MediaControls, MediaMetadata, MediaPlayback, PlatformConfig}; +use std::sync::Mutex; +use tauri::{AppHandle, Emitter, WebviewWindow}; + +pub struct Media { + controls: Mutex>, +} + +impl Media { + pub fn new() -> Self { + Self { controls: Mutex::new(None) } + } + + pub fn attach(&self, app: AppHandle, window: &WebviewWindow) -> Result<(), String> { + #[cfg(target_os = "windows")] + let hwnd = window.hwnd().ok().map(|h| h.0 as *mut std::ffi::c_void); + #[cfg(not(target_os = "windows"))] + let hwnd = { + let _ = window; + None + }; + let mut controls = MediaControls::new(PlatformConfig { + dbus_name: "app.pipu.music.desktop", + display_name: "Pipu Music", + hwnd, + }) + .map_err(|e| format!("{e:?}"))?; + let handle = app.clone(); + controls + .attach(move |event| { + let name = match event { + MediaControlEvent::Play => "play", + MediaControlEvent::Pause => "pause", + MediaControlEvent::Toggle => "toggle", + MediaControlEvent::Next => "next", + MediaControlEvent::Previous => "previous", + MediaControlEvent::Stop => "stop", + _ => return, + }; + let _ = handle.emit("media", name); + }) + .map_err(|e| format!("{e:?}"))?; + *self.controls.lock().map_err(|e| e.to_string())? = Some(controls); + Ok(()) + } + + pub fn set(&self, title: &str, artist: &str, album: &str, cover_url: Option<&str>, playing: bool) -> Result<(), String> { + let mut slot = self.controls.lock().map_err(|e| e.to_string())?; + let Some(controls) = slot.as_mut() else { return Ok(()); }; + controls + .set_metadata(MediaMetadata { + title: Some(title), + artist: Some(artist), + album: Some(album), + cover_url, + duration: None, + }) + .map_err(|e| format!("{e:?}"))?; + let playback = if playing { MediaPlayback::Playing { progress: None } } else { MediaPlayback::Paused { progress: None } }; + controls.set_playback(playback).map_err(|e| format!("{e:?}")) + } +} diff --git a/apps/desktop/src-tauri/src/proxy.rs b/apps/desktop/src-tauri/src/proxy.rs new file mode 100644 index 0000000..d2eec8f --- /dev/null +++ b/apps/desktop/src-tauri/src/proxy.rs @@ -0,0 +1,168 @@ +//! Loopback-only streaming transport. The random per-process path is a capability; +//! it never leaves the app except for OS media artwork requests. No open proxy. +use axum::{body::Body, extract::{Request, State}, http::{HeaderMap, HeaderValue, Method, StatusCode}, response::{IntoResponse, Response}, Router}; +use serde_json::Value; +use std::{sync::{Arc, RwLock}, time::Duration}; +use url::Url; + +#[derive(Clone)] +pub struct Proxy { + pub server: Arc>>, + pub base: String, + secret: String, + authority: String, + client: reqwest::Client, +} + +pub fn validate_server(raw: &str) -> Result { + let url = Url::parse(raw.trim()).map_err(|_| "Invalid server URL")?; + if !matches!(url.scheme(), "http" | "https") || url.host_str().is_none() + || !url.username().is_empty() || url.password().is_some() + || url.query().is_some() || url.fragment().is_some() + { return Err("Use an HTTP(S) server address without credentials, query or fragment".into()); } + Ok(url.as_str().trim_end_matches('/').to_string()) +} + +impl Proxy { + pub async fn start(server: Option) -> Result { + let listener = tokio::net::TcpListener::bind("127.0.0.1:0").await.map_err(|e| e.to_string())?; + let authority = listener.local_addr().map_err(|e| e.to_string())?.to_string(); + let secret = uuid::Uuid::new_v4().simple().to_string(); + let proxy = Self { + server: Arc::new(RwLock::new(server)), + base: format!("http://{authority}/{secret}"), secret, authority, + client: reqwest::Client::builder() + .redirect(reqwest::redirect::Policy::none()) + .connect_timeout(Duration::from_secs(10)) + .read_timeout(Duration::from_secs(60)) + .build().map_err(|e| e.to_string())?, + }; + let router = Router::new().fallback(forward).with_state(proxy.clone()); + tauri::async_runtime::spawn(async move { + if let Err(e) = axum::serve(listener, router).await { eprintln!("Desktop transport stopped: {e}"); } + }); + Ok(proxy) + } + + pub async fn check(&self, server: &str) -> Result<(), String> { + let response = self.client.get(format!("{server}/api/v1/server-info")) + .timeout(Duration::from_secs(10)).send().await.map_err(|_| "Server unavailable")?; + if !response.status().is_success() { return Err("Server unavailable".into()); } + let info: Value = response.json().await.map_err(|_| "Not a Pipu server")?; + if info.get("api_version").is_none() || info.get("name").is_none() { return Err("Not a Pipu server".into()); } + Ok(()) + } +} + +fn allowed_origin(origin: &str) -> bool { + matches!(origin, "tauri://localhost" | "http://tauri.localhost") + || (cfg!(debug_assertions) && origin == "http://127.0.0.1:5173") +} + +// Signed media and tus URLs are relative in the API. Rewrite only API URLs from +// the configured server; never route arbitrary URLs supplied in server content. +fn local_url(value: &str, server: &str, base: &str) -> Option { + if value.starts_with("/api/") { return Some(format!("{base}{value}")); } + value.strip_prefix(server).filter(|p| p.starts_with("/api/")) + .map(|p| format!("{base}{p}")) +} + +fn rewrite_json(value: &mut Value, server: &str, base: &str) { + match value { + Value::Array(items) => items.iter_mut().for_each(|v| rewrite_json(v, server, base)), + Value::Object(fields) => for (key, v) in fields { + if matches!(key.as_str(), "stream_url" | "cover_url" | "tus_url" | "download_url") { + if let Some(url) = v.as_str().and_then(|s| local_url(s, server, base)) { *v = Value::String(url); } + } else { rewrite_json(v, server, base); } + }, + _ => {} + } +} + +fn cors(headers: &mut HeaderMap, origin: Option<&str>) { + if let Some(origin) = origin { + headers.insert("access-control-allow-origin", HeaderValue::from_str(origin).unwrap()); + headers.insert("vary", HeaderValue::from_static("Origin")); + } + headers.insert("access-control-allow-methods", HeaderValue::from_static("GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS")); + headers.insert("access-control-allow-headers", HeaderValue::from_static("authorization, content-type, range, tus-resumable, upload-length, upload-offset, upload-metadata, upload-defer-length, x-requested-with")); + headers.insert("access-control-expose-headers", HeaderValue::from_static("content-range, accept-ranges, location, upload-offset, upload-length, tus-resumable, retry-after")); +} + +async fn forward(State(proxy): State, request: Request) -> Response { + let origin = request.headers().get("origin").and_then(|v| v.to_str().ok()).map(str::to_owned); + if request.headers().get("host").and_then(|v| v.to_str().ok()) != Some(&proxy.authority) + || origin.as_deref().is_some_and(|s| !allowed_origin(s)) + { return StatusCode::FORBIDDEN.into_response(); } + let prefix = format!("/{}/api/", proxy.secret); + let Some(tail) = request.uri().path().strip_prefix(&prefix) else { return StatusCode::NOT_FOUND.into_response(); }; + // Prevent URL normalization escaping the configured API path, including encoded segments. + if tail.split('/').any(|s| s == "." || s == "..") || tail.to_lowercase().contains("%2e") + || tail.contains('\\') || tail.to_lowercase().contains("%5c") || tail.to_lowercase().contains("%2f") + { return StatusCode::BAD_REQUEST.into_response(); } + if origin.is_none() && !matches!(*request.method(), Method::GET | Method::HEAD) { + return StatusCode::FORBIDDEN.into_response(); + } + let mut response = if request.method() == Method::OPTIONS { + StatusCode::NO_CONTENT.into_response() + } else { + match transfer(&proxy, request, tail.to_owned()).await { + Ok(response) => response, + Err(_) => (StatusCode::BAD_GATEWAY, "Server unavailable").into_response(), + } + }; + cors(response.headers_mut(), origin.as_deref()); + response +} + +async fn transfer(proxy: &Proxy, request: Request, tail: String) -> Result { + let server = proxy.server.read().map_err(|_| "State unavailable")?.clone().ok_or("No server selected")?; + let query = request.uri().query().map(|q| format!("?{q}")).unwrap_or_default(); + let url = format!("{server}/api/{tail}{query}"); + let (parts, body) = request.into_parts(); + let mut upstream = proxy.client.request(parts.method.clone(), url); + for name in ["authorization", "content-type", "content-length", "range", "if-range", "if-none-match", "tus-resumable", "upload-length", "upload-offset", "upload-metadata", "upload-defer-length"] { + if let Some(value) = parts.headers.get(name) { upstream = upstream.header(name, value); } + } + let upstream = upstream.body(reqwest::Body::wrap_stream(body.into_data_stream())).send().await.map_err(|e| e.to_string())?; + let status = upstream.status(); + let mut headers = HeaderMap::new(); + for name in ["content-type", "content-length", "content-range", "accept-ranges", "etag", "last-modified", "cache-control", "upload-offset", "upload-length", "tus-resumable", "retry-after", "content-disposition"] { + if let Some(value) = upstream.headers().get(name) { headers.insert(name, value.clone()); } + } + if let Some(location) = upstream.headers().get("location").and_then(|v| v.to_str().ok()) { + let local = local_url(location, &server, &proxy.base).ok_or("External redirect refused")?; + headers.insert("location", HeaderValue::from_str(&local).map_err(|e| e.to_string())?); + } + let json = headers.get("content-type").and_then(|v| v.to_str().ok()) + .is_some_and(|v| v.contains("application/json") || v.contains("application/problem+json")); + let body = if json && parts.method != Method::HEAD { + // Bound only JSON, never buffer a song or an upload in memory. + let bytes = axum::body::to_bytes(Body::from_stream(upstream.bytes_stream()), 16 * 1024 * 1024).await.map_err(|e| e.to_string())?; + let mut value: Value = serde_json::from_slice(&bytes).map_err(|e| e.to_string())?; + rewrite_json(&mut value, &server, &proxy.base); + headers.remove("content-length"); + headers.remove("etag"); + Body::from(serde_json::to_vec(&value).map_err(|e| e.to_string())?) + } else { Body::from_stream(upstream.bytes_stream()) }; + let mut response = Response::new(body); + *response.status_mut() = status; + *response.headers_mut() = headers; + Ok(response) +} + +#[cfg(test)] +mod tests { + use super::*; + #[test] + fn validates_server_and_scopes_media_urls() { + assert_eq!(validate_server("https://music.example/pipu/").unwrap(), "https://music.example/pipu"); + for url in ["file:///etc/passwd", "https://user:pass@host", "https://host/?token=x", "https://host/#x"] { assert!(validate_server(url).is_err()); } + assert_eq!(local_url("https://music.example.evil/api/a", "https://music.example", "http://local"), None); + let mut value = serde_json::json!({"tracks": [{"stream_url": "/api/v1/stream/a?sig=b", "title": "/api/private", "album": {"cover_url": "/api/v1/covers/a"}}]}); + rewrite_json(&mut value, "https://music.example", "http://local/key"); + assert_eq!(value["tracks"][0]["stream_url"], "http://local/key/api/v1/stream/a?sig=b"); + assert_eq!(value["tracks"][0]["title"], "/api/private"); + assert_eq!(value["tracks"][0]["album"]["cover_url"], "http://local/key/api/v1/covers/a"); + } +} diff --git a/apps/desktop/src-tauri/src/store.rs b/apps/desktop/src-tauri/src/store.rs new file mode 100644 index 0000000..74cf0c8 --- /dev/null +++ b/apps/desktop/src-tauri/src/store.rs @@ -0,0 +1,80 @@ +use std::fs; +use std::path::PathBuf; +use tauri::{AppHandle, Manager}; + +const SERVICE: &str = "app.pipu.music.desktop"; + +fn config_dir(app: &AppHandle) -> Result { + let dir = app.path().app_config_dir().map_err(|e| e.to_string())?; + fs::create_dir_all(&dir).map_err(|e| e.to_string())?; + Ok(dir) +} + +pub fn load_server(app: &AppHandle) -> Result, String> { + let path = config_dir(app)?.join("server.txt"); + match fs::read_to_string(path) { + Ok(s) => { + let s = s.trim().to_string(); + Ok((!s.is_empty()).then_some(s)) + } + Err(e) if e.kind() == std::io::ErrorKind::NotFound => Ok(None), + Err(e) => Err(e.to_string()), + } +} + +pub fn save_server(app: &AppHandle, server: Option<&str>) -> Result<(), String> { + let path = config_dir(app)?.join("server.txt"); + match server { + Some(s) => fs::write(path, s).map_err(|e| e.to_string()), + None => match fs::remove_file(path) { + Ok(()) => Ok(()), + Err(e) if e.kind() == std::io::ErrorKind::NotFound => Ok(()), + Err(e) => Err(e.to_string()), + }, + } +} + +fn refresh_entry() -> Result { + keyring::Entry::new(SERVICE, "refresh").map_err(|e| e.to_string()) +} + +pub fn load_refresh() -> Result, String> { + match refresh_entry()?.get_password() { + Ok(s) => Ok(Some(s)), + Err(keyring::Error::NoEntry) => Ok(None), + Err(e) => Err(e.to_string()), + } +} + +pub fn save_refresh(token: Option<&str>) -> Result<(), String> { + let entry = refresh_entry()?; + match token { + Some(t) => entry.set_password(t).map_err(|e| e.to_string()), + None => match entry.delete_credential() { + Ok(()) => Ok(()), + Err(keyring::Error::NoEntry) => Ok(()), + Err(e) => Err(e.to_string()), + }, + } +} + +pub fn load_user(app: &AppHandle) -> Result, String> { + let path = config_dir(app)?.join("user.json"); + match fs::read_to_string(path) { + Ok(s) => Ok(Some(s)), + Err(e) if e.kind() == std::io::ErrorKind::NotFound => Ok(None), + Err(e) => Err(e.to_string()), + } +} + +pub fn save_user(app: &AppHandle, json: Option<&str>) -> Result<(), String> { + let path = config_dir(app)?.join("user.json"); + match json { + Some(s) => fs::write(path, s).map_err(|e| e.to_string()), + None => match fs::remove_file(path) { + Ok(()) => Ok(()), + Err(e) if e.kind() == std::io::ErrorKind::NotFound => Ok(()), + Err(e) => Err(e.to_string()), + }, + } +} diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json new file mode 100644 index 0000000..4c9f388 --- /dev/null +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Pipu Music", + "version": "0.0.0", + "identifier": "app.pipu.music.desktop", + "build": { + "beforeDevCommand": "pnpm --filter @pipu/web dev", + "devUrl": "http://127.0.0.1:5173", + "beforeBuildCommand": "pnpm --filter @pipu/web build", + "frontendDist": "../../web/dist" + }, + "app": { + "withGlobalTauri": true, + "windows": [{ "label": "main", "title": "Pipu Music", "width": 1200, "height": 800, "minWidth": 720, "minHeight": 540 }], + "security": { + "csp": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: http://127.0.0.1:*; font-src 'self' data:; media-src 'self' blob: http://127.0.0.1:*; connect-src 'self' ipc: http://ipc.localhost http://127.0.0.1:*; object-src 'none'; base-uri 'self'; frame-src 'none'" + } + }, + "bundle": { + "active": true, + "targets": ["nsis", "appimage", "deb", "rpm"], + "category": "Music", + "shortDescription": "Self-hosted music player", + "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.ico", "icons/icon.icns"], + "linux": { + "deb": { "depends": ["libwebkit2gtk-4.1-0", "libayatana-appindicator3-1", "libsecret-1-0", "gstreamer1.0-plugins-good", "gstreamer1.0-plugins-bad", "gstreamer1.0-libav"] }, + "appimage": { "bundleMediaFramework": true } + }, + "windows": { "nsis": { "installMode": "currentUser", "languages": ["English", "Russian"], "displayLanguageSelector": true } } + } +} diff --git a/apps/web/src/app/router.tsx b/apps/web/src/app/router.tsx index f3646bc..99c9728 100644 --- a/apps/web/src/app/router.tsx +++ b/apps/web/src/app/router.tsx @@ -18,7 +18,9 @@ const MyUploadsPage = lazy(() => import('../pages/uploads/MyUploadsPage').then(( const SuggestPage = lazy(() => import('../pages/uploads/SuggestPage').then((m) => ({ default: m.SuggestPage }))); const SourcesPage = lazy(() => import('../pages/admin/SourcesPage').then((m) => ({ default: m.SourcesPage }))); const UsersPage = lazy(() => import('../pages/admin/UsersPage').then((m) => ({ default: m.UsersPage }))); +import type { DesktopHandle } from '../desktop'; import { AlbumPage } from '../pages/AlbumPage'; +import { ConnectPage } from '../pages/ConnectPage'; import { TrackPage } from '../pages/TrackPage'; import { ArtistPage } from '../pages/ArtistPage'; import { CollectionPage } from '../pages/CollectionPage'; @@ -34,6 +36,7 @@ import { RouteError } from '../widgets/RouteError'; export interface RouterContext { session: AuthSession; + desktop: DesktopHandle | null; } /** Куда пользователю можно попасть сейчас: обязательные шаги первого входа важнее всего. */ @@ -52,9 +55,12 @@ export function safeRedirect(target: unknown): string { return typeof target === 'string' && target.startsWith('/') && !target.startsWith('//') ? target : '/'; } -function requireUser(session: AuthSession, location: ParsedLocation): AuthUser { +function requireUser(session: AuthSession, location: ParsedLocation, desktop: DesktopHandle | null): AuthUser { const user = signedInUser(session); - if (!user) throw redirect({ to: '/login', search: { redirect: location.href } }); + if (!user) { + if (desktop && !desktop.server) throw redirect({ to: '/connect' }); + throw redirect({ to: '/login', search: { redirect: location.href } }); + } return user; } @@ -66,12 +72,23 @@ const rootRoute = createRootRouteWithContext()({ // Публичная: ссылку на приложение отправляют тем, у кого ещё нет аккаунта на этом устройстве. const androidAppRoute = createRoute({ getParentRoute: () => rootRoute, path: '/android', component: AppDownloadPage }); +const connectRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/connect', + beforeLoad: ({ context }) => { + if (!context.desktop) throw redirect({ to: '/login' }); + if (context.desktop.server) throw redirect({ to: '/login' }); + }, + component: ConnectPage, +}); + const loginRoute = createRoute({ getParentRoute: () => rootRoute, path: '/login', validateSearch: (search: Record): { redirect?: string } => typeof search.redirect === 'string' ? { redirect: search.redirect } : {}, beforeLoad: ({ context, search }) => { + if (context.desktop && !context.desktop.server) throw redirect({ to: '/connect' }); const user = signedInUser(context.session); if (!user) return; const home = homeFor(user); @@ -85,7 +102,7 @@ const setupAdminRoute = createRoute({ getParentRoute: () => rootRoute, path: '/setup/admin', beforeLoad: ({ context, location }) => { - const user = requireUser(context.session, location); + const user = requireUser(context.session, location, context.desktop); if (homeFor(user) !== '/setup/admin') throw redirect({ to: homeFor(user) }); }, component: () => , @@ -95,7 +112,7 @@ const setupPasswordRoute = createRoute({ getParentRoute: () => rootRoute, path: '/setup/password', beforeLoad: ({ context, location }) => { - const user = requireUser(context.session, location); + const user = requireUser(context.session, location, context.desktop); if (homeFor(user) !== '/setup/password') throw redirect({ to: homeFor(user) }); }, component: () => , @@ -106,7 +123,7 @@ const appRoute = createRoute({ getParentRoute: () => rootRoute, id: 'app', beforeLoad: ({ context, location }) => { - const user = requireUser(context.session, location); + const user = requireUser(context.session, location, context.desktop); const home = homeFor(user); if (home !== '/') throw redirect({ to: home }); return { user }; @@ -246,6 +263,7 @@ const adminSettingsRoute = createRoute({ const routeTree = rootRoute.addChildren([ androidAppRoute, + connectRoute, loginRoute, setupAdminRoute, setupPasswordRoute, @@ -273,8 +291,12 @@ const routeTree = rootRoute.addChildren([ ]), ]); -export function createAppRouter(session: AuthSession, opts: { history?: Parameters[0]['history'] } = {}) { - const router = createRouter({ routeTree, context: { session }, defaultPreload: false, ...opts }); +export function createAppRouter( + session: AuthSession, + opts: { history?: Parameters[0]['history']; desktop?: DesktopHandle | null } = {}, +) { + const { desktop = null, ...rest } = opts; + const router = createRouter({ routeTree, context: { session, desktop }, defaultPreload: false, ...rest }); // Выход, блокировка, отзыв сессии — guards пересчитываются, и пользователь уходит на /login. session.subscribe(() => void router.invalidate()); return router; diff --git a/apps/web/src/desktop.test.ts b/apps/web/src/desktop.test.ts new file mode 100644 index 0000000..6a358bd --- /dev/null +++ b/apps/web/src/desktop.test.ts @@ -0,0 +1,28 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { createDesktop, isDesktop } from './desktop'; + +afterEach(() => { + vi.unstubAllGlobals(); +}); + +describe('desktop bridge', () => { + it('is inactive in the browser', () => { + expect(isDesktop()).toBe(false); + }); + + it('bootstraps through the Tauri invoke surface', async () => { + const invoke = vi.fn(async (cmd: string) => { + if (cmd === 'bootstrap') return { proxyBase: 'http://127.0.0.1:9/abc', server: 'https://music.example' }; + if (cmd === 'set_server') return 'https://music.example/pipu'; + return null; + }); + (window as Window & { __TAURI__?: unknown }).__TAURI__ = { core: { invoke }, event: { listen: vi.fn() } }; + const desktop = await createDesktop(); + expect(desktop?.proxyBase).toBe('http://127.0.0.1:9/abc'); + expect(desktop?.server).toBe('https://music.example'); + await desktop?.setServer('https://music.example/pipu'); + expect(invoke).toHaveBeenCalledWith('set_server', { url: 'https://music.example/pipu' }); + delete (window as Window & { __TAURI__?: unknown }).__TAURI__; + }); +}); diff --git a/apps/web/src/desktop.ts b/apps/web/src/desktop.ts new file mode 100644 index 0000000..d08d6fb --- /dev/null +++ b/apps/web/src/desktop.ts @@ -0,0 +1,94 @@ +import type { AuthUser, RefreshStore } from '@pipu/core'; +import { createContext, createElement, useContext, type ReactNode } from 'react'; + +type Tauri = { + core: { invoke: (cmd: string, args?: Record) => Promise }; + event: { listen: (event: string, handler: (e: { payload: string }) => void) => Promise<() => void> }; +}; + +function api(): Tauri | undefined { + return (window as Window & { __TAURI__?: Tauri }).__TAURI__; +} + +export function isDesktop(): boolean { + return api() !== undefined; +} + +function invoke(cmd: string, args?: Record): Promise { + const tauri = api(); + if (!tauri) throw new Error('Tauri API unavailable'); + return tauri.core.invoke(cmd, args) as Promise; +} + +export type DesktopHandle = { + proxyBase: string; + server: string | null; + setServer: (url: string) => Promise; + clearServer: () => Promise; + refreshStore: RefreshStore; + listenMedia: (handler: (action: string) => void) => Promise<() => void>; + setMedia: (info: { title: string; artist: string; album: string; coverUrl?: string | null; playing: boolean }) => void; +}; + +export const DesktopContext = createContext(null); + +export function DesktopProvider({ value, children }: { value: DesktopHandle | null; children: ReactNode }) { + return createElement(DesktopContext.Provider, { value }, children); +} + +export function useDesktop(): DesktopHandle | null { + return useContext(DesktopContext); +} + +let active: DesktopHandle | null = null; + +export function desktopHandle(): DesktopHandle | null { + return active; +} + +export async function createDesktop(): Promise { + if (!isDesktop()) return null; + const boot = await invoke<{ proxyBase: string; server: string | null }>('bootstrap'); + const handle: DesktopHandle = { + proxyBase: boot.proxyBase, + server: boot.server, + setServer: async (url) => { + const server = await invoke('set_server', { url }); + handle.server = server; + return server; + }, + clearServer: async () => { + await invoke('clear_server'); + handle.server = null; + }, + refreshStore: { + get: () => invoke('token_get'), + set: (token) => invoke('token_set', { token }), + clear: async () => { + await invoke('token_clear'); + await invoke('user_clear'); + }, + getUser: async () => { + const json = await invoke('user_get'); + return json ? (JSON.parse(json) as AuthUser) : null; + }, + setUser: (user) => invoke('user_set', { json: JSON.stringify(user) }), + }, + listenMedia: async (handler) => { + const tauri = api(); + if (!tauri) return () => undefined; + return tauri.event.listen('media', (e) => handler(e.payload)); + }, + setMedia: (info) => { + void invoke('media_set', { + title: info.title, + artist: info.artist, + album: info.album, + coverUrl: info.coverUrl ?? null, + playing: info.playing, + }); + }, + }; + active = handle; + return handle; +} diff --git a/apps/web/src/main.tsx b/apps/web/src/main.tsx index ce22b37..a6e8a36 100644 --- a/apps/web/src/main.tsx +++ b/apps/web/src/main.tsx @@ -9,6 +9,7 @@ import { I18nextProvider } from 'react-i18next'; import { App } from './App'; import { createAppRouter } from './app/router'; import { applyTheme } from './app/session'; +import { createDesktop, DesktopProvider } from './desktop'; const LOCALE_KEY = 'pipu.locale'; @@ -63,15 +64,23 @@ i18n.on('languageChanged', (l) => { } }); -const session = new AuthSession({ clientType: 'web', deviceName: deviceName() }); +const desktop = await createDesktop(); +const session = new AuthSession({ + clientType: desktop ? 'desktop' : 'web', + deviceName: desktop ? 'Pipu / Desktop' : deviceName(), + baseUrl: desktop?.proxyBase, + refreshStore: desktop?.refreshStore, +}); // До первого рендера узнаём, есть ли сессия (refresh-cookie), — guards роутера решают сразу. await session.restore(); -const router = createAppRouter(session); +const router = createAppRouter(session, { desktop }); createRoot(document.getElementById('root')!).render( - + + + , ); diff --git a/apps/web/src/pages/ConnectPage.tsx b/apps/web/src/pages/ConnectPage.tsx new file mode 100644 index 0000000..2b4231d --- /dev/null +++ b/apps/web/src/pages/ConnectPage.tsx @@ -0,0 +1,55 @@ +import { useState, type FormEvent } from 'react'; +import { useTranslation } from 'react-i18next'; +import { useRouter } from '@tanstack/react-router'; + +import { useDesktop } from '../desktop'; +import { Button, Field, FormError } from '../shared/ui/ui'; +import { AuthLayout } from './AuthLayout'; +import s from './auth.module.css'; + +export function ConnectPage() { + const { t } = useTranslation(); + const desktop = useDesktop(); + const router = useRouter(); + const [address, setAddress] = useState(desktop?.server ?? ''); + const [busy, setBusy] = useState(false); + const [error, setError] = useState(null); + + const submit = async (e: FormEvent) => { + e.preventDefault(); + if (!desktop) return; + setBusy(true); + setError(null); + try { + await desktop.setServer(address); + await router.invalidate(); + await router.navigate({ to: '/login' }); + } catch (err) { + const text = err instanceof Error ? err.message : ''; + setError(/Invalid|query|fragment|credentials/i.test(text) ? t('server.invalid_address') : t('server.offline')); + setBusy(false); + } + }; + + return ( + +

{t('server.title')}

+

{t('app.tagline')}

+
void submit(e)} noValidate> + + {error} + + +
+ ); +} diff --git a/apps/web/src/pages/LoginPage.tsx b/apps/web/src/pages/LoginPage.tsx index 58fa433..496f6fe 100644 --- a/apps/web/src/pages/LoginPage.tsx +++ b/apps/web/src/pages/LoginPage.tsx @@ -3,6 +3,7 @@ import { useState, type FormEvent } from 'react'; import { useTranslation } from 'react-i18next'; import { useSession } from '../app/session'; +import { useDesktop } from '../desktop'; import { useErrorText } from '../shared/lib/errors'; import { Button, Field, FormError } from '../shared/ui/ui'; import { AuthLayout } from './AuthLayout'; @@ -11,6 +12,7 @@ import s from './auth.module.css'; export function LoginPage() { const { t } = useTranslation(['auth', 'common']); const session = useSession(); + const desktop = useDesktop(); const errorText = useErrorText(); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); @@ -41,7 +43,13 @@ export function LoginPage() { footer={ info.data ? ( <> - pipu {info.data.version} · {t('app.link')} + pipu {info.data.version} + {desktop ? null : ( + <> + {' · '} + {t('app.link')} + + )} ) : undefined } diff --git a/apps/web/src/pages/SettingsPage.tsx b/apps/web/src/pages/SettingsPage.tsx index b8a28b0..800cfe3 100644 --- a/apps/web/src/pages/SettingsPage.tsx +++ b/apps/web/src/pages/SettingsPage.tsx @@ -1,10 +1,12 @@ import type { components } from '@pipu/api-client'; import { unwrap } from '@pipu/core'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; +import { useNavigate } from '@tanstack/react-router'; import { useState, type FormEvent } from 'react'; import { useTranslation } from 'react-i18next'; import { useSession, useUser } from '../app/session'; +import { useDesktop } from '../desktop'; import { useErrorText, useFieldError } from '../shared/lib/errors'; import { formatDateTime } from '../shared/lib/format'; import { Button, Field, FormError, Segmented } from '../shared/ui/ui'; @@ -297,6 +299,8 @@ function PasswordSection() { function SessionsSection() { const { t, i18n } = useTranslation(); const session = useSession(); + const desktop = useDesktop(); + const navigate = useNavigate(); const queryClient = useQueryClient(); const errorText = useErrorText(); const sessions = useQuery({ @@ -333,6 +337,19 @@ function SessionsSection() { {sessions.error || revoke.error ? errorText(sessions.error ?? revoke.error) : null}
+ {desktop && ( + + )} diff --git a/apps/web/src/player/player.ts b/apps/web/src/player/player.ts index 2baaae1..fcbb4cc 100644 --- a/apps/web/src/player/player.ts +++ b/apps/web/src/player/player.ts @@ -10,6 +10,8 @@ import { type Track, } from '@pipu/core'; +import { desktopHandle } from '../desktop'; + export type { PlayContext, Track }; export interface WaveInfo { @@ -121,6 +123,7 @@ export class Player { }; this.bindAudio(); this.bindMediaSession(); + this.bindDesktopMedia(); } /** Запуск фоновой отправки событий (парный вызов — dispose). */ @@ -137,9 +140,13 @@ export class Player { getState = () => this.state; + private lastDesktop: { id?: string; playing?: boolean } = {}; + private desktopUnlisten: (() => void) | null = null; + private update(patch: Partial) { this.state = { ...this.state, ...patch }; for (const fn of this.listeners) fn(); + this.syncDesktopMedia(); } private syncQueue() { @@ -678,6 +685,33 @@ export class Player { // --- Media Session --- + private bindDesktopMedia() { + void desktopHandle()?.listenMedia((action) => { + if (action === 'play') this.play(); + else if (action === 'pause' || action === 'stop') this.pause(); + else if (action === 'toggle') this.toggle(); + else if (action === 'next') this.next(); + else if (action === 'previous') this.prev(); + }).then((stop) => { + this.desktopUnlisten = stop; + }); + } + + private syncDesktopMedia() { + const desktop = desktopHandle(); + const track = this.state.track; + if (!desktop || !track) return; + if (this.lastDesktop.id === track.id && this.lastDesktop.playing === this.state.playing) return; + this.lastDesktop = { id: track.id, playing: this.state.playing }; + desktop.setMedia({ + title: track.title, + artist: track.artists.map((a) => a.name).join(', '), + album: track.album.title, + coverUrl: track.album.cover_url, + playing: this.state.playing, + }); + } + private bindMediaSession() { const ms = typeof navigator !== 'undefined' ? navigator.mediaSession : undefined; if (!ms) return; @@ -855,6 +889,8 @@ export class Player { this.overlap.load(); for (const t of this.timers) clearInterval(t); this.timers = []; + this.desktopUnlisten?.(); + this.desktopUnlisten = null; void this.events.flush(); } } diff --git a/docs/IDEA.md b/docs/IDEA.md index 5f17f52..194e96a 100644 --- a/docs/IDEA.md +++ b/docs/IDEA.md @@ -5,7 +5,7 @@ ## Суть Закрытое (self-hosted) музыкальное приложение для прослушивания музыки с собственного сервера. -Есть веб-версия и мобильное приложение для Android. Главная фишка — **«Моя волна»**: бесконечный умный поток +Есть веб-версия, десктоп и мобильное приложение для Android. Главная фишка — **«Моя волна»**: бесконечный умный поток музыки, который подстраивается под вкус пользователя и под выбранное настроение или занятие. Масштаб: до ~100 пользователей, библиотека от 11 000 треков и больше. @@ -16,7 +16,7 @@ ## Доступ и учётные записи - При первом открытии приложение показывает **экран входа** (логин + пароль). - В мобильном приложении на этом экране также указывается **адрес сервера**. + В мобильном приложении и на десктопе на этом экране также указывается **адрес сервера**. - **Регистрации нет.** Учётные записи создаёт администрация. - Роли: - **Администратор** — полный доступ; единственный, кто может создавать и назначать модераторов diff --git a/docs/README.md b/docs/README.md index cdbafcd..6d81c1f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -18,6 +18,7 @@ Pipu Music — self-hosted музыкальный сервис (веб + Android | [playlists.md](playlists.md) | Личные плейлисты: API, веб и Android | | [recommendations.md](recommendations.md) | Рекомендательная система и «Моя волна» | | [web.md](web.md) | Веб-клиент | +| [desktop.md](desktop.md) | Десктоп Windows / Linux / macOS (Tauri) | | [mobile.md](mobile.md) | Android-приложение, офлайн, самообновление | | [i18n.md](i18n.md) | Локализация (ru / en, расширяемость) | | [install-guide.md](install-guide.md) | **Пошагово:** установка сервера на домен с HTTPS, подключение веба и Android | diff --git a/docs/architecture.md b/docs/architecture.md index 53205fb..f2e9fe2 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -6,14 +6,14 @@ - Всё разворачивается на одном сервере через Docker Compose. - Музыка лежит на NFS-хранилищах, которые подключает администратор из админки. Для всех сервисов доступ к музыке — **только чтение**; единственный писатель — `storage-agent`, который раскладывает одобренные треки из очереди на добавление. -- Клиенты: веб (SPA) и Android-приложение. +- Клиенты: веб (SPA), десктоп (Tauri) и Android-приложение. ## 2. Компоненты ``` ┌──────────────┐ ┌────────────────┐ Web SPA ─────┐ │ │ │ │ - ├──► │ nginx │────►│ api │──► PostgreSQL (+pgvector) + Desktop ─────┼──► │ nginx │────►│ api │──► PostgreSQL (+pgvector) Android ─────┘ │ (TLS, SPA, │ │ (Go) │──► Redis │ X-Accel) │ │ │──► Meilisearch └──────┬───────┘ └───┬────────┬───┘ @@ -82,6 +82,7 @@ pipu-music/ ├── apps/ │ ├── web/ # React + Vite SPA +│ ├── desktop/ # Tauri 2: то же SPA в нативном окне │ └── mobile/ # React Native (Expo) Android ├── packages/ # общий TypeScript-код (pnpm workspaces) │ ├── api-client/ # сгенерированный из OpenAPI клиент + типы diff --git a/docs/desktop.md b/docs/desktop.md new file mode 100644 index 0000000..d2aaaca --- /dev/null +++ b/docs/desktop.md @@ -0,0 +1,15 @@ +# Десктоп (`apps/desktop`) + +Windows, Linux и macOS: тот же веб-клиент в окне [Tauri 2](https://tauri.app/). Запросы к API идут через локальный прокси на `127.0.0.1`, чтобы плеер не открывал чужой origin. Refresh-токен хранится в системной связке ключей. Тип клиента — `desktop`. + +При первом запуске нужно указать адрес сервера (как в Android). Дальше вход тот же, что в вебе. Кнопка «Другой сервер» в настройках забывает адрес и токен. Трея: левый клик открывает окно; меню — открыть и выход. Клавиши медиаплеера ОС управляют воспроизведением. + +Плейлисты, ссылка на трек и остальной интерфейс совпадают с вебом. Сборка подставляет версию из git-тега. + +```bash +pnpm --filter @pipu/desktop icons +pnpm --filter @pipu/desktop dev +pnpm --filter @pipu/desktop bundle +``` + +На Windows получается NSIS-установщик, на Linux — AppImage, deb и rpm. Зависимости Linux: WebKitGTK 4.1, AppIndicator, libsecret, GStreamer. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e83d80..e429f0a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,6 +18,12 @@ importers: specifier: 5.8.3 version: 5.8.3 + apps/desktop: + devDependencies: + '@tauri-apps/cli': + specifier: ^2.9.0 + version: 2.12.3 + apps/mobile: dependencies: '@expo/vector-icons': @@ -116,7 +122,7 @@ importers: version: 19.0.14 vitest: specifier: ^3.2.7 - version: 3.2.7(@types/node@22.20.5)(jsdom@26.1.0)(lightningcss@1.27.0)(terser@5.51.2) + version: 3.2.7(@types/node@22.20.5)(jsdom@26.1.0)(lightningcss@1.27.0)(supports-color@10.2.2)(terser@5.51.2) apps/web: dependencies: @@ -1458,6 +1464,82 @@ packages: '@tanstack/virtual-core@3.19.6': resolution: {integrity: sha512-CsTW892z23gy7IyxYTTorVu1uZWB+0N349rSMgKz4rFLPpLza7F7TpcCKeI5iUAwYQCt8QUlOU67J+KXCxtpGw==} + '@tauri-apps/cli-darwin-arm64@2.12.3': + resolution: {integrity: sha512-xmVNoJOOKzKLj7GLHXmXLimRby9M42aBIJa0sB80N7o24eKV5JiVmToKTRLVH9yhL05GZ/B6rSSOmbzNFJwBAA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@2.12.3': + resolution: {integrity: sha512-URd+0usfmUQQyb5kNPiKt2OT8gp7oGU7QR+qOppB6e35mpVBFFVNhWc9oWb3p0u71fDJ09DpF4T6m9xYxoIB8g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@2.12.3': + resolution: {integrity: sha512-0kwUVx2LbmOoTRlwF1oDww7th4/NSluv4ZBQ6KRZsFKg4g0TlTcIiJ0VehqkQYUeC9xIT1Mk6XtF52mI155VSQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@2.12.3': + resolution: {integrity: sha512-gKSGDx6fx+HBLQmG6guChFdisbrCSdx9Yli+j5teOa64gm1CeM+C6NLru5Pj3ZkkEep05BmCFjxvX+cjqAycZQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-arm64-musl@2.12.3': + resolution: {integrity: sha512-Yr59qMy/gcvAfBuFdCGlAmGiLsYWMFDbsP4bAI6iNBzcJTGrYWZGeiQhGDo29MQwfF/NUBqyM2qljXu5tZ6wjQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-linux-riscv64-gnu@2.12.3': + resolution: {integrity: sha512-jKr0/REBMnLKC0OwPQZkyge0mKDaNZ0b/AbfGwVyCgFfwS730EVLfVDo3nt7MUu6jJaytRq08+xSj5qfy+U1+Q==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-gnu@2.12.3': + resolution: {integrity: sha512-gTkEqJAGCMROGanxHnzaJzQ+/rXl39HWVg0/hDODS1wDWBGqoceqGC6Qm1+mQbyT11xnsB8mKu/gyVID/YpFIw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tauri-apps/cli-linux-x64-musl@2.12.3': + resolution: {integrity: sha512-T2dTxL1svRym71fZtaW4pZYXbthbfFsEJr1NeOUg/p7laWXZbUt/8DMSZf8recu9f7+1F/Lv00HtzsEu6vDO9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tauri-apps/cli-win32-arm64-msvc@2.12.3': + resolution: {integrity: sha512-eoiQwpEZWbpsVHcM9BAzqqe4TCHszvr3rsM7pUQ4ofLK0lF1i1d/jX0Qo5DYMqcrUtwQuDdDuOCbcT0Izf1VwQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@2.12.3': + resolution: {integrity: sha512-kE+KUg6Dbbkgvcw0m99wJVIToFQzJqpMBAXah74WqxaLzssNwSTUccrHp6+QVzMhjQP330tvekFmnQF+0NbE6Q==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@2.12.3': + resolution: {integrity: sha512-L7wndWAgX2mLW7alswpL3d1R0P9FN2WYBgHaQkAYEBxHHGkY4vFX9CjcRQ1LAxDAMIJxrY7/aDziFJeChS84NQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@2.12.3': + resolution: {integrity: sha512-f7/LsY74SVb1ChmOPw1ajOpxii0GSzDAgmWHRci8JUYuuai04rXsSbFobpmB0sP2DdlvMD/B5ZotEn8GOGMRUg==} + engines: {node: '>= 10'} + hasBin: true + '@testing-library/dom@10.4.2': resolution: {integrity: sha512-yzr2S9HyAIdhz2/6qHgbs665Q7PKVcDF05vsOlHPxG1mo36gKVesdYVeDLnXgfjJ03CrKRk08knc6+E/9m8v2Q==} engines: {node: '>=18'} @@ -5560,6 +5642,53 @@ snapshots: '@tanstack/virtual-core@3.19.6': {} + '@tauri-apps/cli-darwin-arm64@2.12.3': + optional: true + + '@tauri-apps/cli-darwin-x64@2.12.3': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@2.12.3': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@2.12.3': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@2.12.3': + optional: true + + '@tauri-apps/cli-linux-riscv64-gnu@2.12.3': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@2.12.3': + optional: true + + '@tauri-apps/cli-linux-x64-musl@2.12.3': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@2.12.3': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@2.12.3': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@2.12.3': + optional: true + + '@tauri-apps/cli@2.12.3': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 2.12.3 + '@tauri-apps/cli-darwin-x64': 2.12.3 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.12.3 + '@tauri-apps/cli-linux-arm64-gnu': 2.12.3 + '@tauri-apps/cli-linux-arm64-musl': 2.12.3 + '@tauri-apps/cli-linux-riscv64-gnu': 2.12.3 + '@tauri-apps/cli-linux-x64-gnu': 2.12.3 + '@tauri-apps/cli-linux-x64-musl': 2.12.3 + '@tauri-apps/cli-win32-arm64-msvc': 2.12.3 + '@tauri-apps/cli-win32-ia32-msvc': 2.12.3 + '@tauri-apps/cli-win32-x64-msvc': 2.12.3 + '@testing-library/dom@10.4.2': dependencies: '@babel/code-frame': 7.29.7 @@ -8118,7 +8247,7 @@ snapshots: vary@1.1.2: {} - vite-node@3.2.4(@types/node@22.20.5)(lightningcss@1.27.0)(terser@5.51.2): + vite-node@3.2.4(@types/node@22.20.5)(lightningcss@1.27.0)(supports-color@10.2.2)(terser@5.51.2): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@10.2.2) @@ -8188,7 +8317,7 @@ snapshots: lightningcss: 1.27.0 terser: 5.51.2 - vitest@3.2.7(@types/node@22.20.5)(jsdom@26.1.0)(lightningcss@1.27.0)(terser@5.51.2): + vitest@3.2.7(@types/node@22.20.5)(jsdom@26.1.0)(lightningcss@1.27.0)(supports-color@10.2.2)(terser@5.51.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.7 @@ -8211,7 +8340,7 @@ snapshots: tinypool: 1.1.1 tinyrainbow: 2.0.0 vite: 6.4.4(@types/node@22.20.5)(lightningcss@1.27.0)(terser@5.51.2) - vite-node: 3.2.4(@types/node@22.20.5)(lightningcss@1.27.0)(terser@5.51.2) + vite-node: 3.2.4(@types/node@22.20.5)(lightningcss@1.27.0)(supports-color@10.2.2)(terser@5.51.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.20.5