Repository navigation
Releases: ImOstrovskiy/untether
Release list
Untether 0.2.4
Updates from inside the apps. From this version on, Untether looks for a new release at start
and every 12 hours and offers it right where you are:
- Mac: a banner in the window, Install. It downloads the new version, checks that it is signed
like the one running, puts it in place and restarts. - Phone: a card in the app, Install. It downloads the APK and hands it to Android's installer,
which asks once whether Untether may install apps, then to confirm the update. - What's new opens the release page.
This release itself still has to be installed by hand.
Your hotspot stays yours. New installs keep the hotspot name and password set in Android (Use
Android's hotspot settings is on by default). Randomize gives the hotspot a new random name and
password and opens the pairing window for the Mac.
Updating
- Phone: install
Untether-0.2.4.apkover 0.2.3. The app now asks for internet access, for the
update check. Pairing and settings stay. - Mac: put Untether from
Untether-0.2.4.dmgin Applications (self-signed: on macOS 15 and newer
allow it once in System Settings → Privacy & Security → Open Anyway). If you built Untether
yourself before, replace it with this one: in-app updates only accept a release-signed app.
Play Protect may still block the APK as harmful; its verdict is tied to the app's package on
Google's side. Tap Install anyway; the APK is built by GitHub Actions straight from this
repository.
Untether 0.2.3
A fix release for phones whose hotspot would not start from Untether.
Fixed
- "Could not start (code -1)": some phones cannot run a hotspot on 5 GHz channel 36 with WPA3,
which Untether sets for a fast join. When that start fails, the phone now retries once on any
band with WPA2 and keeps using that. The network's name and password stay the same, so the Mac
still joins, just with a scan. - After the hotspot settings were changed by hand in Android, Untether showed its own network name
while another one was on the air, and the Mac could not join. The config is now checked before
every start, and the app shows the name really on the air. - The Mac could get stuck reconnecting after the phone app updated: when macOS sends no disconnect
event, the session now ends by itself within a few seconds.
Updating
- Phone: install
Untether-0.2.3.apkover 0.2.2; pairing and settings stay. - Mac: replace Untether in Applications with the one from
Untether-0.2.3.dmg(self-signed: on
macOS 15 and newer allow it once in System Settings → Privacy & Security → Open Anyway).
Play Protect may still block the APK as harmful; its verdict is tied to the app's package on
Google's side. Tap Install anyway; the APK is built by GitHub Actions straight from this
repository.
Untether 0.2.2
The menu bar tells it all. A grey mark while the phone is out of reach, the mark while the
hotspot is off, and once it is on, the phone's signal alone: iPhone-style bars with the network type
(5G, LTE, 3G, 2G, or Wi-Fi when the phone shares its own Wi-Fi). The mark blinks while the hotspot
goes on or off.
New
- Quick connect: a click on the menu bar icon turns the hotspot on or off; right-click (or
Option-click) opens the window. Settings → Quick connect. - Network mode for the mobile data SIM, from the Mac or the phone: Auto, 5G, LTE, 3G or 2G. 5G keeps
LTE as the anchor that non-standalone 5G needs and is offered only where the SIM allows 5G; Auto
gives back exactly what the phone had before. - Signal for every generation: RSRP and SINR on 5G and LTE, RSCP and Ec/No on 3G, RSSI on 2G.
- Use Android's hotspot settings: keep the name, password and band set in Android instead of
Untether's own. - Stop Untether on the phone, from its notification or the app. It stays stopped, also after a
reboot, until you start it again, and the Mac shows the phone gone at once. - The Mac app has an icon, and Cmd+Q quits it from the window.
Better
- After the phone app updates, the Mac picks it up again in under a minute instead of up to three.
- The DMG is no longer signed: macOS rejected the self-signed image before it even mounted.
- Phone app sections fill the width.
Updating
- Phone: install
Untether-0.2.2.apkover 0.2.1; pairing and settings stay. - Mac: replace Untether in Applications with the one from
Untether-0.2.2.dmg. It is self-signed,
not notarized: on macOS 15 and newer open it once, then allow it in System Settings → Privacy &
Security → Open Anyway (on macOS 14 a right-click → Open is enough). - Update both: the Mac's new checks expect the phone's new 30 s heartbeat.
Play Protect may still block the APK as harmful. Its verdict is tied to the app's package on
Google's side, not to the code, and stays until Google reviews it. Tap Install anyway; the APK is
built by GitHub Actions straight from this repository.
Untether 0.2.1
Signal in the menu bar. The Untether icon now carries the phone's signal bars and network type
(3G, LTE, 5G), so you can see whether the hotspot is worth turning on before you click. Unlit bars
are dimmed; Settings → Signal in the menu bar hides them.
Also in this release
- Android: the hotspot is controlled from a Shizuku user service, a separate process that runs as
the shell user. The app no longer ships a hidden API bypass library, and the APK no longer carries
Google's encrypted dependency list. - macOS: the mark sits on one line with the bars and the label.
Updating
- Phone: install
Untether-0.2.1.apkover 0.2.0, pairing and settings stay. A build you made
yourself has a different signature: uninstall it first and pair again. - Mac: replace Untether in Applications with the one from
Untether-0.2.1.dmg. It is self-signed,
not notarized: the first launch needs a right-click → Open.
Play Protect may still block the APK as harmful. Its verdict is tied to the app's package on
Google's side, not to the code, and stays until Google reviews it. Tap Install anyway; the APK is
built by GitHub Actions straight from this repository.
Known limits. Tested on a Pixel 9 with Android 17; Android 12–16 are expected to work but have not
been tried on a device yet.
Untether 0.2.0
The first public build of Untether: turn on your Android phone's hotspot from the Mac menu bar over
Bluetooth, no root.
Downloads
Untether-0.2.0.apk: the phone app, Android 12 or newer, needs Shizuku.Untether-0.2.0.dmg: the Mac menu bar app, macOS 14 or newer, Apple Silicon.
What's inside
- One click on the Mac: the phone starts its hotspot and the Mac joins it in about 4–5 s.
- Battery, temperature, operator, network type, RSRP/SINR with graphs, devices on the hotspot.
- Choose the data SIM, reconnect mobile data, block a device, ring the phone or the Mac.
- Idle auto-off, battery guard, off when the Mac sleeps or leaves the hotspot.
- Signed commands with one-time nonces over an encrypted, bonded BLE link.
- English and Ukrainian.
First launch on the Mac. The app is self-signed and not notarized: right-click → Open, or
run xattr -dr com.apple.quarantine /Applications/Untether.app.
Play Protect. It may block the APK as harmful: the app is installed from outside Google Play
and switches the hotspot through hidden system APIs (via Shizuku). Tap Install anyway. The APK is built by GitHub Actions straight from this repository.
Known limits. Tested on a Pixel 9 with Android 17; Android 12–16 builds are expected to work
but have not been tried on a device yet. Reports are welcome.

