EasySpot
1.5.0 · GitHub
More about this app
An app that allows you to turn on your hotspot remotely via Bluetooth - think Apple Continuity, but for everyone
EasySpot
An Android app that allows you to turn on (or off) your hotspot remotely via Bluetooth - think Apple Continuity, but for everyone!
Requirements
- An Android phone
- with Android 12 or higher
- with Bluetooth Low Energy (BLE) advertising support
- with Shizuku installed and running
- The client program on a computer with Bluetooth Low Energy or nRF Connect Mobile on another BLE-capable phone
Setup
- Install and set up Shizuku
- Install the EasySpot app from GitHub Releases
- Open the app and grant all permissions
- Follow the instructions in the client's README to set up the client program
TODO
- Android 11 and lower support
- More robust, Rust-based client with a system tray icon and WiFi auto-connection
- Android client
- More hotspot control methods for improved reliability on different OS versions
- About menu
BLE API
This app exposes a BLE GATT service to allow remote control of the hotspot.
- Service UUID:
7baad717-1551-45e1-b852-78d20c7211ec - Status characteristic UUID:
47436878-5308-40f9-9c29-82c2cb87f595- Properties: Write, Read, Notify
- Values:
[0x00](hotspot off),[0x01](hotspot on)
The app's settings (gear icon in the top right) allow you to configure the security options ( encryption, MITM protection) - it's set to encrypted (pairing required) without MITM protection by default.
Implementation details can be found in
xyz.ggorg.easyspot.service.server.
License and Credits
This project is licensed under the GNU GPL v3.
Big thanks to supershadoe's Delta project (licensed under BSD-3-Clause)! Some code, specifically related to hidden API hotspot control, has been adapted from there.
This project also uses:
How Shizuku is used
Can turn the Wi-Fi hotspot on and off remotely via Bluetooth with `ITetheringConnector` through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used to access the system tethering and Wi-Fi services so the hotspot can be controlled by a paired Bluetooth device.
- Control hotspot remotely: a paired device writing to the Bluetooth hotspot characteristic turns the Wi-Fi hotspot on or off through the privileged tethering service.
- Track hotspot status: the app listens for hotspot state changes through the privileged Wi-Fi service so it knows whether the hotspot is enabled and can report it to connected Bluetooth devices.
Android APIs or commands used
ITetheringConnector.startTetheringITetheringConnector.stopTetheringIWifiManager.registerSoftApCallbackIWifiManager.unregisterSoftApCallback
Changelog
What's new for version 1.5.0
- Migrated to a more stable HiddenAPI implementation
- Enabled optimizations (reduced APK size from 24.8MB to 2.1MB)
- Added an icon
- Implemented read and notify actions
Permissions
8 permissions requested