Show HN: Crate – Wireless music manager for Android phones (open source)

andout_1 pts0 comments

GitHub - ivancernja/crate: See and manage your Android phone's music from your Mac, over WiFi. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

ivancernja

crate

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>2 Commits<br>2 Commits

build

build

docs

docs

electron

electron

scripts

scripts

src

src

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

package-lock.json

package-lock.json

package.json

package.json

vite.config.js

vite.config.js

View all files

Repository files navigation

Crate

Your Android phone's music, on your Mac. Browse your collection with cover art, play it, and drag new tracks onto the phone over WiFi.

Crate is for people who use an Android phone, or an old one repurposed as a DAP (digital audio player), to carry their own local music (FLAC and friends) instead of streaming, and want a simple, seamless way to manage what's on it. It talks to the phone over wireless ADB, reads the library straight from Android, and keeps everything local.

Crate is free, and I plan to keep it that way. I build and maintain it on my own time, and I'll keep improving it. If it makes managing your music easier, you can support the work by buying me a coffee.

Install

Download the latest Crate.dmg from Releases.

Open it and drag Crate into Applications.

Launch it. A short setup wizard connects your phone (about a minute, the first time only).

It's signed and notarized by Apple, so it opens without any warnings. Crate bundles adb, so there is nothing else to install.

Requirements: a Mac with Apple Silicon (M1 or newer) and an Android phone. Intel Macs aren't covered by the prebuilt release yet, but you can build from source for one.

What it does

Browse your whole library as albums, artists, or one flat song list, with cover art.

Play any track right on your Mac.

Drag in files or whole folders to send them to the phone (it keeps the audio and cover art, skips the junk).

Delete tracks or albums, with an undo.

Save music back to your Mac.

Recover messy metadata: artist, album, title, and track numbers get rebuilt from the folder and filenames when a rip has no tags, missing artists are looked up online, and durations are read from the file.

Set or fetch album covers, see collection stats, and auto-sync a watched Mac folder.

How connecting works

Crate uses ADB, Google's own tool, bundled inside the app.

The first time, plug the phone in with a USB cable. The wizard helps you turn on USB debugging (with steps for Pixel, Samsung, Xiaomi, and OnePlus) and then flips the connection to WiFi.

After that it reconnects over WiFi on its own whenever both devices are on the same network. Unplug the cable and forget about it.

On macOS 15 and later you grant Crate one Local Network permission. The wizard detects if it's blocked and shows you how to fix it.

It works with any Android phone, since it uses standard Android APIs. Setup menus differ a little across brands, which the wizard handles. Xiaomi/MIUI is the fussy one: it wants a Mi account and an extra "USB debugging (Security settings)" toggle before ADB works.

Privacy

Crate talks to your phone and nothing else, except anonymous album lookups to MusicBrainz, Cover Art Archive, and Wikipedia for artwork and descriptions.

Build from source

npm install<br>npm run dev # hot-reloading dev app (connect over USB)<br>npm run pack # unsigned .app in dist/ for local testing

Wireless only works from a packaged build, not npm run dev, because macOS ties the Local Network permission to the real app bundle.

Cutting a signed, notarized DMG needs a Developer ID certificate in your keychain and these for notarization:

export APPLE_ID="you@example.com"<br>export APPLE_APP_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"<br>export APPLE_TEAM_ID="XXXXXXXXXX"<br>npm run dist

The bundled adb is fetched at build time and is not committed to the repo.

License

MIT, see LICENSE.

Not affiliated with Google, Android, or Poweramp.

About

See and manage your...

crate phone android from build music

Related Articles