Show HN: I reverse engineered the Bose iOS app and rebuilt it for Mac

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • based-connect

    A reverse-engineered Bose Connect imitation program for Linux.

  • 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 (https://github.com/Denton-L/based-connect) 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

  • Bluetility

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

  • I don't take quite the same bearish view on this app.

    I suspect the "reverse engineering" here was just looking at Bluetooth LE GATT attributes and values, which you can just look at using something like Bluetility [1]. There appears to be some exemptions to DMCA for compatibility so long as the author didn't copy Bose' code, but IANAL. [2]

    The name I think is the more challenging part because it's very close - probably a C&D if it becomes popular to change the name.

    [1] https://github.com/jnross/Bluetility

    [2] https://www.eff.org/issues/coders/reverse-engineering-faq

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts