A professional TUI (Text User Interface) music player for Termux and Linux, featuring Discord Rich Presence (RPC), Termux media notification support, and synchronized lyrics display.
CRITICAL: READ BEFORE USING DISCORD RPC
This project uses a direct WebSocket gateway connection to update your Discord presence using a User Token.
- Risk of Suspension: Using a user token to automate account actions (including Rich Presence updates outside of the official desktop client) is considered "self-botting" and is a violation of Discord's Terms of Service (ToS).
- Account Security: Never share your Discord token with anyone. It gives full access to your account.
- Liability: The developers and contributors of this project are not responsible for any actions taken against your Discord account. Use this feature at your own risk.
- Download: This allows Termux to create media controls.
apt install -y termux-api mpv ffmpegStart the player by passing a file or a folder:
node player.js /path/to/musicnode player.js audio.m4aSpace: Pause / Resume←→: Seek ±10 secondsCtrl+←→: Previous / Next track↑↓/+−: Volume ControlCtrl+Alt+s: Shuffle playlist/queueCtrl+l: Toggle lyrics viewm: Toggle Muter: Cycle Repeat Mode (none → one → all)s: Toggle Shufflei: Toggle File Info Panelp: Toggle Playlist Panelq: Quit
- ws: for Discord RPC (Packed inside player.js)
- ncc: to packed entire codebase into 1 file
- Node.js: v18 or later.
- mpv: Required as the audio backend.
- ffprobe: Optional (part of FFmpeg) for enhanced metadata.
- mpv: The powerful audio backend used for all media playback.
- ffprobe: Used for extracting high-quality audio metadata and technical stream info.
- Termux_api: This allows Termux to communicate with the Android system API.
- This project is self-coded by the author.
- Professional refactoring and modularization were performed using Gemini CLI (AI Agent) to optimize the codebase structure.
MIT