Skip to content
trylinerPublic

About

✨πŸͺ‰ Liner is a desktop player for Windows and Linux that lets you pull your music and playlists from other platforms into one clean app. No ads and bloated features, just synced lyrics and your tracks without anything getting in the way.

Topics

Resources

Contributing

Stars

237 stars

Watchers

6 watching

Forks

Repository files navigation

Liner

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

Electron React 19 TypeScript 5 Tailwind CSS v4 WebAssembly License: Source-Available

Preview β€’ Architecture β€’ Getting Started β€’ Building β€’ Contributing β€’ License


Liner Fullscreen Lyrics

Preview

Liner Home Page
Home
Liner Fullscreen Mode Demo
Fullscreen mode

Note

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


Architecture

liner/desktop/
β”œβ”€β”€ electron/
β”‚   β”œβ”€β”€ main.ts              # Electron main process & IPC handlers
β”‚   β”œβ”€β”€ preload.ts           # Context bridge & secure renderer bindings
β”‚   β”œβ”€β”€ crypto.ts            # High-performance in-memory WebAssembly signer
β”‚   └── signer.ts            # Embedded WebAssembly binary
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/              # Static assets and media
β”‚   β”œβ”€β”€ components/          # Shared reusable UI components
β”‚   β”œβ”€β”€ features/            # Feature modules (player, lyrics, queue, library, search, auth)
β”‚   β”œβ”€β”€ pages/               # Route views (Home, Search, Album, Artist, Playlist)
β”‚   β”œβ”€β”€ shared/              # API client, state stores (Zustand), and data contracts
β”‚   β”œβ”€β”€ App.tsx              # Application root
β”‚   └── main.tsx             # Vite entry point
β”œβ”€β”€ package.json
└── vite.config.ts

Getting Started

Prerequisites

  • Node.js v20+ and pnpm or Bun
  • Modern OS (Windows 10/11, macOS, or Linux)

Setup

# 1. Clone repository
git clone https://github.com/tryliner/desktop.git
cd desktop

# 2. Install dependencies (pnpm or Bun)
pnpm install
# or
bun install

Running in Development

# Start Liner in development mode (Electron app with Vite hot-reload)
pnpm run dev
# or
bun run dev

Testing

# Run test suite with Vitest
bun run test
# or
pnpm test

Building

# Build desktop packages for your current OS:

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

# Windows (.exe installer)
bun run electron:build:win

Compiled distributions will be placed in the release/ directory.


Contributing

Bug fixes, small features, and docs fixes are welcome. Read CONTRIBUTING.md before you open a pull request. 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.

About

✨πŸͺ‰ Liner is a desktop player for Windows and Linux that lets you pull your music and playlists from other platforms into one clean app. No ads and bloated features, just synced lyrics and your tracks without anything getting in the way.

Topics

Resources

Contributing

Stars

237 stars

Watchers

6 watching

Forks

Releases

Contributors

Languages