A reverse-engineered Bose Connect imitation program for Linux. (by Denton-L)


Basic based-connect repo stats
over 1 year ago

Denton-L/based-connect is an open source project licensed under GNU General Public License v3.0 only which is an OSI approved license.

Based-connect Alternatives

Similar projects and alternatives to based-connect

  • GitHub repo Bluetility

    A Bluetooth Low Energy browser, an open-source alternative to LightBlue for OS X

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better based-connect alternative or higher similarity.


Posts where based-connect has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-05-04.
  • Show HN: I reverse engineered the Bose iOS app and rebuilt it for Mac | 2021-05-04
    For those on Linux; I had great success with the “based-connect” program, which enables me to configure “known devices” (which one is primary and so on) and, crucially, configure noise cancelling. | 2021-05-04
    I really love my Bose headphones and in the past year I've used them almost exclusively on my Mac.

    Started running into problems where because I didn't have visibility on the battery level they would die on me during focused work or meetings

    I know there's some way to get the voice assistant to tell me the battery level but that's not as useful as being able to glance in the top-right hand corner and having to move from my keyboard to press some buttons I can't see on my head is a bit silly?

    So thanks to this repo ( and the ability to dump Bluetooth logs from Android to Wireshark I was able to figure out how the official Bose app communicates to the headphones not just to get information but also to send commands such as Connecting/Disconnecting paired devices, changing the noise canceling level and media control

    It wasn't all easy, there's not great support for Bluetooth in the JS world and I wanted it to be cross-platform one day so Swift was off the table but it turns out to use the SPP protocol on Macos you have to go through the IOBluetooth APIs - Thanks to Pyobjc I was able to call the native Objective-C api's from Python and thanks to Pybluez I was able to use an interface that was a complete replica of Python's built-in sockets

    Would to head some feedback