Skip to content

TuneBox 0.3.0 — now on iPhone, and properly signed on Android

Choose a tag to compare

@x1eddy x1eddy released this 27 Sep 10:01
· 20 commits to main since this release

iPhone

TuneBox now builds for iOS, from the same code as Android and Linux.
TuneBox-0.3.0-unsigned.ipa (attached by CI shortly after this release is
created) is an unsigned build you sign with your own free Apple ID using
SideStore, AltStore or Xcode.
On a free Apple ID it needs re-signing every 7 days, which those tools do for
you. Requires iOS 15 or newer.

Music lands on an iPhone through the Files app: TuneBox appears under
On My iPhone, and anything you drop there can be imported.

Android: a real signature

Every previous APK was signed with the debug key every Android toolchain
generates (CN=Android Debug) and carried only a v2 signature. That is one of
the clearest hints Play Protect has that an app is a throwaway test build.
From 0.3.0 the APK is signed with a 4096-bit key with a real identity and
v1/v2/v3 signatures:

CN=x1eddy, OU=TuneBox, O=TuneBox
SHA-256  B7:DD:73:CD:77:8A:3A:38:1B:9E:2E:09:21:02:AE:AD:7E:0D:2B:FD:10:A1:9E:21:D4:CF:82:4A:36:5B:85:44

Verify any APK before installing it: apksigner verify --print-certs <file>.

Upgrading from 0.2.7 or earlier: Android refuses to replace an app when the
signing key changes, so you have to uninstall the old one first. Export your
taste from Settings before you do — it carries your likes, play counts and
everything the AI learned. Downloaded audio has to be fetched again.

Android will still ask permission to install from an unknown source, and may
note that it has not seen the app before. That is reputation, not a verdict:
no app installed outside the Play Store has any. The permission list is the
thing worth reading, and it is short — internet, playback, notifications, and
audio files only if you import your own music.

Also in this build

  • iOS: background audio, Files-app import, an ATS exception for the in-app
    audio proxy, opaque icons and a dark launch screen
  • CI builds and tests all three platforms on every push