Skip to content
ํ”„๋กœ์ ํŠธ

tryliner/desktop has 883 GitHub stars and 129 forks. GitHot measured +18 stars in 24 hours and +155 in 7 days. Last checked 2026-11-10 01:28 UTC. Last push 2026-11-03.

์ด ์ˆ˜์น˜๋ฅผ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

โœจ๐Ÿช‰ Liner๋Š” Windows์™€ Linux์šฉ ๋ฐ์Šคํฌํ†ฑ ์Œ์•… ํ”Œ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”Œ๋žซํผ์˜ ์Œ์•…๊ณผ ์žฌ์ƒ๋ชฉ๋ก์„ ๊น”๋”ํ•œ ํ•˜๋‚˜์˜ ์•ฑ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด‘๊ณ ๋‚˜ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ ์—†์ด, ๋ฐฉํ•ด๋ฐ›์ง€ ์•Š๊ณ  ์Œ์•…๊ณผ ๋™๊ธฐํ™”๋œ ๊ฐ€์‚ฌ๋ฅผ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธก์ •๋œ ์Šคํƒ€ ์ฆ๊ฐ€

in 24h
+18
in 7 days
+155
in 15 days
์—…๋ฐ์ดํŠธ ์ง€์—ฐ
in 1 month
์—…๋ฐ์ดํŠธ ์ง€์—ฐ

์„œ๋กœ ๊ฒน์น˜๋Š” ๊ธฐ๊ฐ„์˜ ์ˆœ์ฆ๊ฐ€๋Ÿ‰์ด๋ฉฐ ์ผ๋ณ„ ํ•ฉ๊ณ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ธก์ •๊ฐ’์ด ์—†์œผ๋ฉด ๋น„์›Œ ๋‘ก๋‹ˆ๋‹ค. ์Šคํƒ€๋Š” ๊ด€์‹ฌ๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

README.md

Original

Liner

Modern desktop music streaming player with syllable-synced lyrics and reactive dynamic visuals.

CI Release Downloads Platforms Discussions License

Preview โ€ข Architecture โ€ข Getting Started โ€ข Building โ€ข Docs โ€ข Contributing โ€ข License


Liner Album Page

Preview

Liner Library
Library
Liner Fullscreen Lyrics
Fullscreen lyrics

[!NOTE] Liner client connects to the official Liner API backend for music catalog, streaming playback, and synchronized lyrics.


Architecture

The renderer follows Feature-Sliced Design: imports only point down the layers (app โ†’ widgets โ†’ features โ†’ entities โ†’ shared).

liner/desktop/
โ”œโ”€โ”€ electron/
โ”‚   โ”œโ”€โ”€ main.ts              # Main process: windows, IPC, updates, deep links
โ”‚   โ”œโ”€โ”€ preload.ts           # Context bridge between the renderer and the main process
โ”‚   โ”œโ”€โ”€ local-tracks/        # Imported audio files and the liner-local:// protocol
โ”‚   โ”œโ”€โ”€ youtube/             # Helpers for the YouTube playback fallback
โ”‚   โ”œโ”€โ”€ overlay.ts           # Floating overlay player window
โ”‚   โ”œโ”€โ”€ discord.ts           # Discord Rich Presence
โ”‚   โ”œโ”€โ”€ crypto.ts            # In-memory WebAssembly request signer
โ”‚   โ””โ”€โ”€ signer.ts            # Embedded WebAssembly binary
โ”œโ”€โ”€ native/                  # Windows snap preview add-on
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/                 # App shell, routes, providers, global styles
โ”‚   โ”œโ”€โ”€ widgets/             # Screen blocks: sidebar, header, player bar, fullscreen player, modals
โ”‚   โ”œโ”€โ”€ features/            # player, lyrics, library, search, collection, settings, overlay, โ€ฆ
โ”‚   โ”œโ”€โ”€ entities/            # track, playlist, artist, user
โ”‚   โ”œโ”€โ”€ shared/              # API client, storage, UI kit, contracts, utilities
โ”‚   โ”œโ”€โ”€ languages/           # Translations for 11 languages
โ”‚   โ””โ”€โ”€ main.tsx             # Vite entry point
โ”œโ”€โ”€ docs/                    # Design, storage, privacy, translations, FAQ
โ”œโ”€โ”€ package.json
โ””โ”€โ”€ vite.config.ts

Getting Started

Prerequisites

  • Node.js v22+ and pnpm v10+
  • Windows 10/11, macOS or Linux

Setup

git clone https://github.com/tryliner/desktop.git
cd desktop
pnpm install

Running in Development

# Electron app with Vite hot reload
pnpm dev

Testing

# Tests only
pnpm test

# Everything CI runs on a pull request: lint, format check, types, build, tests
pnpm check

Building

# Linux (AppImage & .deb)
pnpm electron:build:linux

# Windows (.exe installer)
pnpm electron:build:win

# macOS (.dmg & .zip, for both Intel and Apple Silicon)
pnpm electron:build:mac

The macOS build produces x64 (Intel) and arm64 (Apple Silicon) packages. To build only one, add --arm64 or --x64. Packages are placed in the release/ directory.


Docs

  • Design guidelines: tokens, glass surfaces, motion and building blocks
  • Storage: where data lives on your device and what "Clear cache" removes
  • Privacy: everything the app sends off your device
  • Translations: adding strings, plurals and languages
  • FAQ: answers to the most common problems

Contributing

Bug fixes, small features, translations and docs fixes are welcome. Read CONTRIBUTING.md and AGENTS.md before you open a pull request, and report bugs with the issue forms. Questions and ideas go to Discussions, security issues to SECURITY.md. The license limits what a fork is allowed to do.


Special Thanks


License

Liner is distributed under the Liner Source-Available & Non-Commercial Contribution License.

  • Allowed: Personal non-commercial usage, local builds, and upstream contributions.
  • Prohibited: Commercial distribution, public competing forks, or extracting core algorithms for third-party products.

See LICENSE for details.

๊ด€๋ จ ํ”„๋กœ์ ํŠธ ์‚ดํŽด๋ณด๊ธฐ