FOCUSSYMPHONY

Block distractions, play focus music, and stay in flow — from your terminal. Built with Go. Works on Linux, macOS, and Windows. No extra runtime required.

GITHUB RELEASES README ISSUES
Version
v1.0
Stable Release
Language
Go
Compiled Core
License
MIT
Open Source
Platform
Multi
Linux · Mac · Win

The Conductor (Terminal CLI)

focus-symphony

Download Prebuilt Binary

No Go installation required. Grab the binary for your platform and run. Site-blocking requires sudo — music and stats work without it.

🐧

Linux

focus-symphony-linux
x86_64 · Arch, Ubuntu, Debian, Fedora. Use install.sh to set up mpv + yt-dlp automatically.
↓ DOWNLOAD
🍎

macOS

focus-symphony-mac
x86_64 · Intel Macs. Apple Silicon: build from source. Requires mpv + yt-dlp via Homebrew.
↓ DOWNLOAD
🪟

Windows

focus-symphony.exe
x86_64 · Admin required for site-blocking. WSL not fully supported — use native Linux.
↓ DOWNLOAD
Recommended (Linux/Mac): chmod +x install.sh && ./install.sh

The Instruments

01 — Shield

Acoustic Shield

Blocks YouTube, Reddit, and Twitter/X via /etc/hosts. Type start — auto-prompts for sudo inline. Cleans up on stop.

02 — Music

Terminal Music Player

Streams focus playlists via yt-dlp + mpv. Falls back to local lofi.mp3 if available. Pick tracks by number. Runs in the background.

03 — Pomodoro

Rapid Focus Mode

Type rapid for a 25-min Pomodoro — activates the shield and starts music in one shot.

The Score

Use install.sh for the easiest setup — it detects your distro and handles dependencies automatically. Or build from source if you prefer full control.

Quick Start — install.sh

  1. Clone: git clone https://github.com/BISHT-CX/focus-symphony-.git
  2. Install: chmod +x install.sh && ./install.sh — installs deps + binary
  3. Run: focus-symphony — type help to see commands
— or build from source (Go required) —
  1. Build: go build -o focus-symphony main.go
  2. Run: ./focus-symphony — sudo is prompted automatically when needed

What's Under the Hood

A single compiled Go binary. No runtime, no daemon, no background service. Only does what you ask it to do.

  • Single Go binary — no runtime deps
  • Cross-platform — Linux, macOS, Windows
  • Cross-distro — apt, dnf, pacman, brew, apk
  • Site-blocking via /etc/hosts (auto sudo)
  • Music via mpv + yt-dlp or local file
  • MIT licensed — fork freely
Available Commands
startBlock sites + begin session
stopUnblock sites + end session
musicPlay a random focus track
playlistList tracks (type 1–5 to pick)
stop_musicStop playback
rapid25-min Pomodoro + music
statsSession time + now playing
exitQuit gracefully
README.md — focus-symphony v1.6.0

🎵 Focus Symphony

A compiled Go CLI that helps you enter deep focus mode — blocking distracting sites, streaming ambient music, and running Pomodoro sessions. All from your terminal.

v1.6.0GoMITCross-PlatformCross-Distro

What it does

  • Acoustic Shield — blocks YouTube, Reddit, Twitter/X via /etc/hosts
  • Music Player — streams focus playlists via yt-dlp + mpv (or local lofi.mp3)
  • Rapid Focus — one command starts a 25-min Pomodoro + music
  • Session Stats — shows focus time + currently playing track
  • Auto sudo — typing start prompts for password inline, no restart needed

Install (Recommended)

The installer detects your package manager and installs mpv and yt-dlp automatically:

git clone https://github.com/BISHT-CX/focus-symphony-.git cd focus-symphony- chmod +x install.sh && ./install.sh

Supports: pacman (Arch), apt (Ubuntu/Debian), dnf (Fedora), brew (macOS), zypper, apk.

Manual Install

go build -o focus-symphony main.go mv focus-symphony ~/.local/bin/ # Optional: local music fallback mkdir -p ~/.local/share/focus-symphony/assets cp assets/lofi.mp3 ~/.local/share/focus-symphony/assets/

Commands

start Block distracting sites [auto-prompts sudo] stop Unblock sites [auto-prompts sudo] music Play a random focus track playlist List tracks (type 1-5 to pick) stop_music Stop music rapid 25-min Pomodoro + music [auto-prompts sudo] stats Session time + now playing exit Quit

A note on sudo

Site-blocking modifies /etc/hosts and requires root. If you run without sudo and type start, the app automatically re-launches with sudo inline — just enter your password and continue. No need to close and reopen.

Dependencies

  • mpv — audio playback engine
  • yt-dlp — resolves YouTube stream URLs
pip3 install yt-dlp # recommended — stays up to date

Platform Notes

  • ✓ Linux — Arch, Ubuntu, Debian, Fedora (fully supported)
  • ✓ macOS — Intel x86_64 (brew install mpv yt-dlp)
  • ✓ Windows — x86_64 (admin required for site-blocking)
  • ⚠ Apple Silicon — build from source (no arm64 binary yet)
⚠ WSL: Audio and /etc/hosts behaviour differ under WSL. Use native Linux for the full experience.

⚠️ Important: Site Blocking & DNS

If site blocking (YouTube, etc.) does not work even after running start:

  • Disable "Secure DNS" / "DNS over HTTPS" in your browser settings.
  • Restart your browser for changes to take effect.
  • Flush DNS cache (e.g., resolvectl flush-caches).

Build from source

git clone https://github.com/BISHT-CX/focus-symphony-.git cd focus-symphony- go build -o focus-symphony main.go ./focus-symphony

Contributing

PRs and issues welcome at github.com/BISHT-CX/focus-symphony-. Built by BISHT × FLAVOURTOWN.