mStream
The easiest music streaming server available
파일 탐색기
최종 버전 다운로드 (.zip)- build-bun.yml
- build-rust-launcher.yml
- build-rust-parser-musl.yml
- build-rust-parser.yml
- deploy-demo.yml
- npm-publish.yml
- publish-api-docs.yml
- test.yml
- update-ffmpeg-manifest.yml
- update-mstream-player-manifest.yml
- update-website.yaml
- FUNDING.yml
- manifest.json
- README.md
- manifest.json
- README.md
- manifest-musl.json
- manifest.json
- README.md
- .source-tree
- mstream-launcher-darwin-arm64
- mstream-launcher-darwin-x64
- mstream-launcher-linux-x64
- mstream-launcher-win32-x64.exe
- .source-tree
- .source-tree-musl
- README.md
- rust-parser-darwin-arm64
- rust-parser-darwin-x64
- rust-parser-linux-arm
- rust-parser-linux-arm-musl
- rust-parser-linux-arm64
- rust-parser-linux-arm64-musl
- rust-parser-linux-x64
- rust-parser-linux-x64-musl
- rust-parser-win32-x64.exe
- icon.png
- mac-entitlements-server.plist
- mstream-logo-cut.icns
- mstream-logo-cut.ico
- windows-installer.iss
- admin.png
- devices.png
- devices2.png
- mstream-concept.png
- mstream-express-2.png
- mstream-express.png
- mstream-icon.jpg
- mstream-icon.psd
- mstreamV1.png
- mstreamV2.png
- mstreamv4.png
- mstreamv5.png
- shared.png
- subsonic-panel.png
- deploy.md
- dlna-todo.md
- federation-ticket.md
- install.md
- iroh-pairing-code.md
- json_config.md
- openapi.yaml
- p2p-sidecar-distribution.md
- subsonic-deprecation.md
- subsonic-phase3.md
- README.md
- autostart.rs
- main.rs
- paths.rs
- platform.rs
- server.rs
- tray_app.rs
- build.rs
- Cargo.lock
- Cargo.toml
- main.rs
- Cargo.lock
- Cargo.toml
- README.md
- README.md
- README.md
- README.md
- README.md
- README.md
- build-bun.mjs
- check-win-versioninfo.ps1
- fetch-mstream-player.mjs
- fetch-p2p-sidecar.mjs
- gen-bpm-smoke-library.mjs
- gen-param-smoke-library.mjs
- iroh-poc.mjs
- mstream-iroh-client.mjs
- release-manifest.sh
- sign-discovery-seeds.mjs
- update-ffmpeg-manifest.mjs
- update-mstream-player-manifest.mjs
- update-p2p-sidecar-manifest.mjs
- win-versioninfo.mjs
- discovery-seeds.json
- base.js
- index.js
- mpd.js
- mplayer.js
- mpv.js
- vlc.js
- auth.js
- handlers.js
- identicon.js
- index.js
- lrc-parser.js
- now-playing.js
- response.js
- admin-federation.js
- admin-torrent.js
- admin.js
- album-art.js
- auth.js
- backup.js
- cuepoints.js
- db.js
- discogs.js
- discovery-federation.js
- discovery-p2p.js
- discovery.js
- dlna.js
- download.js
- federation-auth.js
- federation-discovery.js
- federation-limits.js
- federation-stream.js
- federation.js
- file-explorer.js
- iroh.js
- listenbrainz.js
- lyrics-cache.js
- lyrics.js
- playlist.js
- random.js
- remote.js
- scan.js
- scrobbler.js
- search.js
- server-playback.js
- shared.js
- smart-playlists.js
- torrent.js
- transcode.js
- user-api-keys.js
- user-settings.js
- user-subsonic-password.js
- velvet-stubs.js
- waveform.js
- wrapped.js
- ytdl.js
- manager.js
- worker.mjs
- acoustid-backfill.mjs
- album-art-backfill.mjs
- album-art-lib.js
- album-migration.js
- artist-extraction.js
- audio-analysis-backfill.mjs
- audio-analysis-lib.js
- audio-hash.js
- bun-sqlite-adapter.js
- discovery-backfill.mjs
- discovery-db.js
- discovery-export-script.mjs
- discovery-export.js
- discovery-features-lib.js
- discovery-novelty.js
- discovery-similarity.js
- effnet-mel.js
- enrichment-status-lib.js
- federation.js
- hash-migration.js
- image-compress-manager.js
- image-compress-script.js
- lyrics-backfill.mjs
- lyrics-extraction.js
- lyrics-lookup-lib.js
- manager.js
- migrate-from-loki.js
- orphan-cleanup.js
- scan-ignore.js
- scan-pidfile.js
- scanner.mjs
- schema.js
- source-detect.js
- sqlite-driver.js
- task-queue.js
- track-order.js
- waveform-fallback.js
- waveform-lib.js
- mdns.js
- dlna-server.js
- media-path.js
- ssdp.js
- time-seek.js
- config.js
- discovery-catalog.js
- discovery-p2p-stack.js
- discovery-p2p.js
- discovery-peer-dbs.js
- discovery-peer-rotation.js
- discovery-seeds-verify.js
- discovery-seeds.js
- federation-client.js
- federation.js
- iroh-common.js
- iroh.js
- kill-list.js
- lastfm.js
- subsonic-server.js
- bencode.js
- completion-watcher.js
- constants.js
- deluge-rpc.js
- info-hash.js
- managed-torrents.js
- metadata.js
- path-probe.js
- path-template.js
- qbittorrent-rpc.js
- rpc-errors.js
- seed-existing-flow.js
- seed-existing.js
- tag-probe.js
- transmission-rpc.js
- vpath-access-cache.js
- vpath-sweep.js
- ddns.js
- README.md
- admin-network.js
- admin.js
- artist-normalize.js
- atomic-json.js
- auth.js
- boot-config.js
- compression.js
- esm-helpers.js
- ffmpeg-bootstrap.js
- file-explorer.js
- image-thumbs.js
- iroh-selftest.js
- kept-listener.js
- library-watcher.js
- m3u.js
- mstream-player-bootstrap.js
- p2p-sidecar-bootstrap.js
- parse-size.js
- search-query.js
- ssl-test.js
- subsonic-password.js
- supervision.js
- update-check.js
- validation.js
- vpath.js
- web-error.js
- worker-process.js
- logger.js
- server.js
- Dockerfile
- entrypoint.sh
- mpd.conf
- test-routing.mjs
- db-federation-limits.test.mjs
- db-fts5-backfill.test.mjs
- db-fts5-lyrics.test.mjs
- db-fts5-schema.test.mjs
- db-fts5-triggers.test.mjs
- db-read-paths.test.mjs
- db-v18-albums-rebuild.test.mjs
- db-v32-bpm-key.test.mjs
- db-v34-drop-genre.test.mjs
- db-v36-tracks-source.test.mjs
- db-v48-multi-art.test.mjs
- db-v50-content-hash.test.mjs
- db-v52-hash-repair.test.mjs
- db-v57-federation.test.mjs
- db-v59-lyrics-search-text.test.mjs
- discovery-db.test.mjs
- discovery-hot-loops.test.mjs
- discovery-infra-churn.test.mjs
- discovery-model-files.test.mjs
- discovery-path.test.mjs
- dlna-surface.test.mjs
- effnet-mel-parity.test.mjs
- enrichment-coverage.test.mjs
- hash-migration.test.mjs
- migrate-from-loki.test.mjs
- orphan-cleanup.test.mjs
- render-metadata-by-ids.test.mjs
- schema-v60-prestamp.test.mjs
- status-admin-heavy.test.mjs
- fail-copyfile.cjs
- fail-partial-write.cjs
- fail-rename-once.cjs
- fail-utimes.cjs
- grow-during-copy.cjs
- reverse-readdir.cjs
- vanish-readdir.cjs
- apply-migrations.mjs
- db-snapshot.mjs
- ensure-prereqs.mjs
- fake-rust-audio.mjs
- ffmpeg.mjs
- fixtures.mjs
- id3.mjs
- library-gen.mjs
- scanner-fixture.mjs
- scanner-runner.mjs
- server.mjs
- soap.mjs
- acoustid-backfill.test.mjs
- admin-access.test.mjs
- admin-lyrics-settings.test.mjs
- admin-page-gate.test.mjs
- admin-scan-params.test.mjs
- admin-users-lastfm.test.mjs
- album-art-downloader.test.mjs
- album-track-order-surfaces.test.mjs
- album-track-order.test.mjs
- audio-analysis-backfill.test.mjs
- backup-api.test.mjs
- backup-batch4.test.mjs
- backup-batch6.test.mjs
- backup-nfd.test.mjs
- backup-worker-batch2.test.mjs
- backup-worker.test.mjs
- canonical-hash-endpoints.test.mjs
- compression-config.test.mjs
- db-stats.test.mjs
- discovery-backfill.test.mjs
- discovery-export.test.mjs
- discovery-p2p.test.mjs
- discovery-similarity.test.mjs
- dlna.test.mjs
- download-routes.test.mjs
- download-size-limit.test.mjs
- enrichment-status.test.mjs
- feature-disabled-403.test.mjs
- federation-dial.test.mjs
- federation-discovery-aggregate.test.mjs
- federation-discovery.test.mjs
- federation-e2e.test.mjs
- federation-handshake.test.mjs
- federation-limits.test.mjs
- file-explorer-metadata.test.mjs
- genre-agg-endpoints.test.mjs
- hash-transition-applier.test.mjs
- iroh-handshake.test.mjs
- lastfm-status.test.mjs
- lyrics-backfill.test.mjs
- media-access-control.test.mjs
- media-library-name.test.mjs
- notfound-codes.test.mjs
- playlist-load.test.mjs
- public-mode-library-filter.test.mjs
- public-mode-privacy.test.mjs
- random-route.test.mjs
- random-similar-artists.test.mjs
- random-sonic.test.mjs
- reboot-keeps-listener.test.mjs
- reboot-keeps-services.test.mjs
- scan-status.test.mjs
- search-route.test.mjs
- supervision-shutdown.test.mjs
- task-queue.test.mjs
- transcode-route.test.mjs
- update-check.test.mjs
- audio-hash-parity.test.mjs
- fingerprint.test.mjs
- hash-generation-migration.test.mjs
- lyrics-parity.test.mjs
- sampled-hash-vectors.test.mjs
- scanner-external-ids.test.mjs
- scanner-folder-art-drift.test.mjs
- scanner-follow-symlinks.test.mjs
- scanner-js-guard.test.mjs
- scanner-lyrics-clobber-guard.test.mjs
- scanner-move-rehome.test.mjs
- scanner-multi-art.test.mjs
- scanner-parity.test.mjs
- scanner-schema-guard.test.mjs
- scanner-star-survival.test.mjs
- scanner-subtree-sweep.test.mjs
- scanner-track-disc-numbers.test.mjs
- waveform-fallback.test.mjs
- waveform-scan.test.mjs
- waveform.test.mjs
- ytdl-provenance.test.mjs
- .dockerignore
- .gitignore
- compose.smoke.yaml
- Dockerfile.mstream
- Dockerfile.mstream.dockerignore
- p2p-sidecar-volume-smoke.sh
- README.md
- run-docker-stack-smoke.mjs
- README.md
- windows-native-daemons.mjs
- admin-subsonic-ui.test.mjs
- subsonic-client-flow.test.mjs
- subsonic-info-endpoints.test.mjs
- subsonic-jukebox.test.mjs
- subsonic-lyrics.test.mjs
- subsonic-modes.test.mjs
- subsonic-multi-artist.test.mjs
- subsonic-password.test.mjs
- subsonic-phase3.test.mjs
- subsonic-polish.test.mjs
- subsonic-search.test.mjs
- subsonic-surface-perf.test.mjs
- subsonic-ui.test.mjs
- subsonic.test.mjs
- torrent-bencode.test.mjs
- torrent-completion-watcher.test.mjs
- torrent-constants.test.mjs
- torrent-db-helpers.test.mjs
- torrent-info-hash.test.mjs
- torrent-metadata.test.mjs
- torrent-path-probe.test.mjs
- torrent-path-template.test.mjs
- torrent-qbit-rpc.test.mjs
- torrent-routes.test.mjs
- torrent-seed-existing-flow.test.mjs
- torrent-seed-existing.test.mjs
- admin-config-save.test.mjs
- artist-resolve.test.mjs
- atomic-json.test.mjs
- auto-dj-client.test.mjs
- boot-config.test.mjs
- cli-audio-error-codes.test.mjs
- dataroot-system-prefix.test.mjs
- discovery-catalog-prune.test.mjs
- discovery-novelty.test.mjs
- discovery-p2p-stack-race.test.mjs
- discovery-peer-rotation.test.mjs
- discovery-seeds-verify.test.mjs
- discovery-seeds.test.mjs
- federation-auth.test.mjs
- federation-config.test.mjs
- federation-ticket.test.mjs
- ffmpeg-bootstrap.test.mjs
- ffmpeg-manifest-pins.test.mjs
- image-thumbs.test.mjs
- iroh-code-gate.test.mjs
- iroh-config.test.mjs
- iroh-envelope.test.mjs
- iroh-ticket.test.mjs
- kept-listener.test.mjs
- lastfm-cache.test.mjs
- library-watcher.test.mjs
- lrc-search-text.test.mjs
- lyrics-lookup-lib.test.mjs
- model-cache-config.test.mjs
- mstream-player-fetch.test.mjs
- p2p-sidecar-fetch.test.mjs
- parse-size.test.mjs
- search-query-parser.test.mjs
- server-playback-vpath.test.mjs
- update-check.test.mjs
- web-error.test.mjs
- webapp-waveform-cache.test.mjs
- worker-role-parity.test.mjs
- wrapped-period-range.test.mjs
- wrapped-stats.test.mjs
- mdns.test.mjs
- README.md
- scanner-ignore-rules.test.mjs
- README.md
- index.css
- index.html
- index.js
- api.js
- auto-dj.js
- m.js
- scan-progress.js
- spa.css
- spa.js
- vp.js
- izi-toast.css
- lang-dropdown.css
- lazy-load-polyfill.css
- materialize.css
- modal.css
- spa.css
- spinner.css
- waves.css
- android-chrome-192x192.png
- android-chrome-512x512.png
- apple-touch-icon.png
- browserconfig.xml
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
- mstile-150x150.png
- safari-pinned-tab.svg
- site.webmanifest
- z7NbdRfiaC4VXcBJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcdJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXchJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXclJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcpJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcRJUQZA3Jw.woff2
- z7NbdRfiaC4VXctJUQZA3JzsTQ.woff2
- jura.css
- app-store-logo.png
- default.png
- drag-handle.svg
- folder.svg
- mstream-icon.svg
- mstream-logo.png
- mstream-logo.svg
- music-note.svg
- next-white.svg
- pause-white.svg
- play-store-logo.png
- play-white.svg
- previous-white.svg
- spinner.svg
- star.svg
- struckaxiom.png
- struckaxiom_@2X.png
- volume-mute.svg
- volume.svg
- axios.js
- butterchurn-presets-extra.js
- butterchurn-presets.min.js
- butterchurn.min.js
- clipboard.js
- cookie.min.js
- dropzone.js
- hyst-modal.js
- izi-toast.js
- jwt-decode.js
- lazy-load-polyfill.js
- lazy-load.js
- materialize.js
- popper.js
- qr.js
- qrcode.js
- sortable.js
- star-rating.js
- vue-sortable.js
- vue2.js
- api.js
- flags.js
- i18n.js
- lang-dropdown.js
- mstream.jukebox.js
- mstream.player.js
- mstream.server-audio.js
- mstream.vue.player.js
- quick-connect.js
- spa.js
- t.js
- waves.js
- index.html
- de.json
- en.json
- es.json
- fr.json
- it.json
- ja.json
- ko.json
- languages.json
- nl.json
- pl.json
- pt.json
- ru.json
- zh.json
- index.html
- index.js
- index.html
- index.css
- index.html
- index.js
- index.html
- index-Bu0XnV9O.js
- index-D6a5aVG3.css
- env.js
- icon.svg
- index.html
- LICENSE.AGPL
- manifest.webmanifest
- NOTICE.md
- index.html
- index.js
- index.css
- index.html
- index.js
- api.js
- m.js
- spa.css
- spa.js
- vp.js
- foundation.css
- izi-toast.css
- lazy-load-polyfill.css
- master.css
- materialize.css
- modal.css
- mstream-player.css
- spa.css
- spinner.css
- waves.css
- android-chrome-192x192.png
- android-chrome-512x512.png
- apple-touch-icon.png
- browserconfig.xml
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
- mstile-150x150.png
- safari-pinned-tab.svg
- site.webmanifest
- z7NbdRfiaC4VXcBJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcdJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXchJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXclJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcpJUQZA3JzsTQ.woff2
- z7NbdRfiaC4VXcRJUQZA3Jw.woff2
- z7NbdRfiaC4VXctJUQZA3JzsTQ.woff2
- jura.css
- app-store-logo.png
- default.png
- drag-handle.svg
- folder.svg
- mstream-icon.svg
- mstream-logo.png
- mstream-logo.svg
- music-note.svg
- next-white.svg
- pause-white.svg
- play-store-logo.png
- play-white.svg
- previous-white.svg
- spinner.svg
- star.svg
- struckaxiom.png
- struckaxiom_@2X.png
- volume-mute.svg
- volume.svg
- audiomotion-analyzer.js
- axios.js
- butterchurn-presets-extra.js
- butterchurn-presets.min.js
- butterchurn.min.js
- clipboard.js
- cookie.min.js
- dropzone.js
- hyst-modal.js
- izi-toast.js
- jwt-decode.js
- lazy-load-polyfill.js
- lazy-load.js
- materialize.js
- popper.js
- qr.js
- sortable.js
- star-rating.js
- vue-sortable.js
- vue2.js
- api.js
- api2.js
- mstream.js
- mstream.jukebox.js
- mstream.player.js
- mstream.vue-browser.js
- mstream.vue-player-controls.js
- mstream.vue.player.js
- spa.js
- t.js
- waves.js
- index.html
- index.js
- index.html
- index.css
- index.html
- index.js
- index.html
- index.html
- app.js
- index.html
- old.html
- style.css
- index.html
- package.json
- .gitattributes
- .gitignore
- .npmignore
- CHANGELOG.md
- cli-boot-wrapper.js
- dev-app-update.yml
- eslint.config.js
- install.ps1
- install.sh
- LICENSE
- package-lock.json
- package.json
- README.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/IrosTheBeggar/mStream
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd mStream
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Node.js
쉬움 추천사전 준비물
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
3. Rust
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
cd rust-launcher
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
cargo build --release
Rust 프로젝트를 컴파일합니다.
cargo run
빌드 후 바로 실행까지 진행합니다.
cargo build가 에러 없이 끝나면 성공입니다. target/ 폴더에 실행 파일이 생성됩니다.
// repository documentation
Was this content helpful?
(0 ratings)
