NullMagic2/magic-hotspot

Rust GTK3 iPhone hotspot helper for Linux: USB, Wi-Fi and Bluetooth PAN with integrated CSR8510/UB500 transport.

Rust

0

5 commits

updated Oct 14, 2026

See the code

See what people are saying

SourceMessageScoreDate

New Bluetooth dongle drivers: TP-Link UB500, CSR8510, and Magic Hotspot (r/opensource)

Hi, everyone, as you know, I have been releasing Linux drivers for a while. When using USB dongles, it has come to attention the CSR8510 (a specific CSR Bluetooth dongle clone). In my case, my device would simply be detected as a generic CSR clone and not work at all. The TP-Link UB500, on the…

18

Oct 14, 2026

README

Magic Hotspot

A compact Rust/GTK3 app for connecting Linux to an iPhone hotspot over USB, saved Wi-Fi or Bluetooth PAN. Current release: 0.2.24.

Magic Hotspot English interface mockup with a fictional Demo Phone
  • Nearby-device discovery with Connect and Disconnect controls.
  • Blue Wi-Fi tray icon and optional login startup.
  • English, Portuguese, Spanish and Greek; remembers the selected language and uses the system locale initially.
  • Bounded Bluetooth hotspot recovery when IP setup fails.
  • Integrated magic-usb/ transport for CSR8510 and TP-Link UB500, with graceful adapter swaps and conditional btusb restoration.

NetworkManager owns connections and credentials; BlueZ owns Bluetooth pairing and profiles. The iPhone must have Cellular Data and Personal Hotspot enabled.

Install

Download the .deb from Releases. Packages target Ubuntu 24.04/26.04, Debian 13, and Mint 22.x amd64. See PACKAGING.md for supported distributions and package details.

sudo apt install ./magic-hotspot_0.2.24-1ubuntu26.04_amd64.deb
magic-hotspot --show

The single package includes the app, iPhone USB helper, magic-usb 0.1.3 and shared CSR client 1.1.2. Driver service startup remains an explicit choice.

Build from source

Install Rust/Cargo and the GTK3, libusb, libplist and packaging build tools:

sudo apt install build-essential pkg-config libgtk-3-dev libayatana-appindicator3-dev libdbusmenu-gtk3-dev libusb-1.0-0-dev libplist-dev libzstd-dev dpkg-dev python3
cargo fetch --locked
./build.sh

Use a current Rust toolchain with edition 2024 support. Outputs are written to bin/ and outputs/. The vendored USB backend and shared driver source are included, so no Git submodule setup is needed.

Driver repositories

The complete driver snapshot stays in magic-usb/ for integrated builds. Adapter-focused repositories are CSR8510 and TP-Link UB500.

For detailed implementation notes, see ARCHITECTURE.md and the development guide.

Licenses

Magic Hotspot's own application code is MIT licensed; see LICENSE. Third-party components and the existing driver retain their licenses:

  • magic-usb/: MIT, including the shared CSR client.
  • vendor/usbmuxd-1.1.2/: upstream GPL-2.0-or-3.0 terms; see its COPYING files.
  • assets/fluent/: Microsoft Fluent System Icons, MIT.

The GPL USB engine is built as a separate executable. All bundled corresponding source and notices are included.

Distribution builds and standalone driver package details: PACKAGING.md.

bluetooth
linux
rust

NullMagic2/magic-hotspot

Rust GTK3 iPhone hotspot helper for Linux: USB, Wi-Fi and Bluetooth PAN with integrated CSR8510/UB500 transport.

Rust

0

5 commits

updated Oct 14, 2026

See the code

See what people are saying

SourceMessageScoreDate

New Bluetooth dongle drivers: TP-Link UB500, CSR8510, and Magic Hotspot (r/opensource)

Hi, everyone, as you know, I have been releasing Linux drivers for a while. When using USB dongles, it has come to attention the CSR8510 (a specific CSR Bluetooth dongle clone). In my case, my device would simply be detected as a generic CSR clone and not work at all. The TP-Link UB500, on the…

18

Oct 14, 2026

README

Magic Hotspot

A compact Rust/GTK3 app for connecting Linux to an iPhone hotspot over USB, saved Wi-Fi or Bluetooth PAN. Current release: 0.2.24.

Magic Hotspot English interface mockup with a fictional Demo Phone
  • Nearby-device discovery with Connect and Disconnect controls.
  • Blue Wi-Fi tray icon and optional login startup.
  • English, Portuguese, Spanish and Greek; remembers the selected language and uses the system locale initially.
  • Bounded Bluetooth hotspot recovery when IP setup fails.
  • Integrated magic-usb/ transport for CSR8510 and TP-Link UB500, with graceful adapter swaps and conditional btusb restoration.

NetworkManager owns connections and credentials; BlueZ owns Bluetooth pairing and profiles. The iPhone must have Cellular Data and Personal Hotspot enabled.

Install

Download the .deb from Releases. Packages target Ubuntu 24.04/26.04, Debian 13, and Mint 22.x amd64. See PACKAGING.md for supported distributions and package details.

sudo apt install ./magic-hotspot_0.2.24-1ubuntu26.04_amd64.deb
magic-hotspot --show

The single package includes the app, iPhone USB helper, magic-usb 0.1.3 and shared CSR client 1.1.2. Driver service startup remains an explicit choice.

Build from source

Install Rust/Cargo and the GTK3, libusb, libplist and packaging build tools:

sudo apt install build-essential pkg-config libgtk-3-dev libayatana-appindicator3-dev libdbusmenu-gtk3-dev libusb-1.0-0-dev libplist-dev libzstd-dev dpkg-dev python3
cargo fetch --locked
./build.sh

Use a current Rust toolchain with edition 2024 support. Outputs are written to bin/ and outputs/. The vendored USB backend and shared driver source are included, so no Git submodule setup is needed.

Driver repositories

The complete driver snapshot stays in magic-usb/ for integrated builds. Adapter-focused repositories are CSR8510 and TP-Link UB500.

For detailed implementation notes, see ARCHITECTURE.md and the development guide.

Licenses

Magic Hotspot's own application code is MIT licensed; see LICENSE. Third-party components and the existing driver retain their licenses:

  • magic-usb/: MIT, including the shared CSR client.
  • vendor/usbmuxd-1.1.2/: upstream GPL-2.0-or-3.0 terms; see its COPYING files.
  • assets/fluent/: Microsoft Fluent System Icons, MIT.

The GPL USB engine is built as a separate executable. All bundled corresponding source and notices are included.

Distribution builds and standalone driver package details: PACKAGING.md.

bluetooth
linux
rust