1-bit

Open-source companion server

1-bit bridge

Reach your home library over HTTPS, with QR-code pairing and TLS fingerprint pinning — typically faster than SMB, and reachable from outside your home network. As of 0.1.8 it serves PDF album booklets, ships a rebuilt admin console you can run from your phone, and installs in a single Docker command.

Architecture

Bytes, the short way.

A small Go binary indexes your library into a manifest and serves byte ranges over HTTP/2 with a pinned TLS fingerprint — no SMB round-trips, no transcoding.

  1. Host machine Your library Mac · Windows · Linux · Pi — files on disk, indexed into a manifest
  2. 1-bit bridge · Go Serves byte ranges HTTP/2 over TLS · fingerprint-pinned · no transcode
  3. iPhone → DAC Lock-free render DoP / native PCM · bit-perfect to your USB DAC

TLS fingerprint-pinned · direct byte-range streaming · no server-side transcoding

What it is

1-bit bridge is a small Go server you run on a Mac, Windows PC, Linux box, or Raspberry Pi alongside your music library. It serves the iOS app over HTTPS instead of SMB — same files, same bit-exact audio, but a transport designed for the app rather than a decades-old file-sharing protocol.

It's free and open source under the MIT license. The code, binaries, wire protocol, and release notes live on GitHub; everything you need to install, pair, and run it is documented right here.

New here?

The setup walkthrough takes you from a blank machine to a paired iPhone in about ten minutes. Hit a snag? The troubleshooting page is symptom-to-fix.

Why use it instead of SMB

  • Faster. A pre-indexed library manifest replaces the iOS app's two-phase SMB scan. The first sync finishes in seconds, not minutes.
  • Reachable remotely. SMB is a LAN protocol. The bridge speaks HTTP/2 over TLS — Tailscale, WireGuard, or any direct route works without extra plumbing.
  • Easier to set up. Run the installer, approve the device on the admin console, you're paired. No share permissions, no Samba quirks.
  • Same audio path. The bridge ships bytes; the iOS app still owns DSD, DoP, gapless, and everything else. No server-side transcoding, ever.

What's new in 0.1.8

Since 0.1.7. The iOS wire protocol stays at v1 — everything below is additive, so older app builds keep working unchanged, no re-pairing and no app update are required, and the bit-exact audio path is untouched:

  • PDF album booklets (opt-in). When a release has a digital booklet — the sleeve essays, personnel, and lyrics that shipped with the record — the bridge caches it and serves it alongside the artwork you already see. It rides the optional Atlas metadata path, so it's off unless you've turned Atlas harvest on.
  • A rebuilt admin console. A ground-up, modern-minimal redesign with a light / dark / system theme toggle and a mobile-first layout that's finally usable from a phone — usually where you are when you notice something's off with the library. The Library Inspector now carries album and artist artwork, bios, booklet chips, and per-folder coverage bars measured against what's actually eligible rather than raw track counts; a new Enrichment tab exposes the metadata source and a per-folder "retry missing"; and the dashboard breaks your library down into filesystem roots vs. UPnP upstreams.
  • Docker in one command. The container image now bundles the sox / ffmpeg audio toolchain and self-initialises on first boot, so a single docker run (or docker compose up) gets you a running, scanning bridge — no separate init step, no config file to write. See the new Docker guide.
  • The largest hardening pass yet. A full-codebase audit plus several external review rounds landed 83 fixes — security (a UPnP-proxy SSRF, bounds on unauthenticated requests, public-mode rate limiting), safer self-updates (validated download URLs, a crash-safe binary swap), and steadier scanning. Two you may feel directly: macOS-composed (NFD) folder names with accents now resolve instead of showing phantom misses, and upscaling refuses sources your sox can't actually decode rather than failing the job after you've asked for it.
The rebuilt 1-bit bridge admin console at phone width — stat cards stacked two-up, the master-quality composition breakdown below, and the theme toggle in the header.
The rebuilt console at phone width — check on your library from the device in your hand.

Full release notes and upgrade guidance: github.com/acoseac/1-bit-bridge/releases.

Bit-exact, by design

The bridge never decodes, resamples, or transcodes the source files. It serves the bytes the iOS app asks for — DSF, DFF, FLAC, ALAC, WAV, AIFF, MP3, AAC — and the iOS app does the rest. The full DSD pre-cache that protects DoP marker alignment still applies; the bridge just gets the bytes there faster. Optional upscaled variants are generated alongside the originals, never in place of them.

Get it

Run the bridge, pair your iPhone.

Grab a build on the download page, then follow the setup walkthrough. Source and releases live on GitHub.