A browser extension for LISTEN.moe - stream anime and J-pop/K-pop radio directly from your browser.
- Stream JPOP and KPOP radio stations
- Now playing display with song title, artist, character CV info, and album art
- Song progress tracking via metadata stream
- Favorite songs (requires a LISTEN.moe account)
- Song change and event notifications
- Volume control with mouse wheel support
- Keyboard shortcuts
- Autoplay on browser start
- Fallback stream support
- WXT - cross-browser extension framework
- Vue 3 - UI with Composition API and
<script setup> - TypeScript
- Bun - runtime and package manager
# Install dependencies
bun install
# Development (Chrome)
bun run dev
# Development (Firefox)
bun run dev:firefox
# Build (Chrome)
bun run build
# Build (Firefox)
bun run build:firefox
# Lint
bun run lintsrc/
├── components/ # Vue components (AlbumArt, NowPlaying, PlayerControls, etc.)
├── composables/ # Vue composables (useRadioState, useSongProgress)
├── entrypoints/
│ ├── background.ts # Service worker / background script
│ ├── offscreen/ # Chrome MV3 offscreen document for audio playback
│ └── popup/ # Popup UI entry point
├── types/ # TypeScript interfaces and message types
└── utils/ # Shared utilities (websocket, storage, graphql, etc.)
- Chrome: MV3 service worker + offscreen document for audio
- Firefox: MV2 background page with direct audio access
