From c1b0738c470c7a618e4c75f53a1afd7dc7686850 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 11 Nov 2022 08:48:10 +0000 Subject: [PATCH] Add app to allow openhaystack to work on Bangle.js (hopefully) --- apps/openhaystack/ChangeLog | 1 + apps/openhaystack/README.md | 18 ++++++++++ apps/openhaystack/custom.html | 56 ++++++++++++++++++++++++++++++++ apps/openhaystack/icon.png | Bin 0 -> 16114 bytes apps/openhaystack/metadata.json | 14 ++++++++ 5 files changed, 89 insertions(+) create mode 100644 apps/openhaystack/ChangeLog create mode 100644 apps/openhaystack/README.md create mode 100644 apps/openhaystack/custom.html create mode 100644 apps/openhaystack/icon.png create mode 100644 apps/openhaystack/metadata.json diff --git a/apps/openhaystack/ChangeLog b/apps/openhaystack/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/openhaystack/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/openhaystack/README.md b/apps/openhaystack/README.md new file mode 100644 index 000000000..e2d5e2212 --- /dev/null +++ b/apps/openhaystack/README.md @@ -0,0 +1,18 @@ +# OpenHaystack (AirTag) + +Copy a base64 key from https://github.com/seemoo-lab/openhaystack and make your Bangle.js trackable as if it's an AirTag + +Based on https://github.com/seemoo-lab/openhaystack/issues/59 + +## Usage + +* Follow the steps on https://github.com/seemoo-lab/openhaystack#how-to-use-openhaystack to install OpenHaystack and get a unique base64 code +* Click the ≡ icon next to `OpenHaystack (AirTag)` +* Paste in the base64 code +* Click `Upload` + +## Note + +This code changes your Bangle's MAC address, so while it still advertises with +the same `Bangle.js abcd` name, devices that were previously paired with it +won't automatically reconnect it until you re-pair. diff --git a/apps/openhaystack/custom.html b/apps/openhaystack/custom.html new file mode 100644 index 000000000..f56e94a98 --- /dev/null +++ b/apps/openhaystack/custom.html @@ -0,0 +1,56 @@ + + + + + + +

Follow the steps on https://github.com/seemoo-lab/openhaystack to install OpenHaystack and get a unique base64 code

+

Then paste the key in below and click Upload

+ +

Base64 key:

+

 

+ +

Click

+ + + + + + + diff --git a/apps/openhaystack/icon.png b/apps/openhaystack/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e4f7f3be6917d6c0a7d269796ff8933758b5c7 GIT binary patch literal 16114 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 LHJMr|^N{}o$)=JK literal 0 HcmV?d00001 diff --git a/apps/openhaystack/metadata.json b/apps/openhaystack/metadata.json new file mode 100644 index 000000000..5573529f7 --- /dev/null +++ b/apps/openhaystack/metadata.json @@ -0,0 +1,14 @@ +{ "id": "openhaystack", + "name": "OpenHaystack (AirTag)", + "icon": "icon.png", + "version":"0.01", + "description": "Copy a base64 key from https://github.com/seemoo-lab/openhaystack and make your Bangle.js trackable as if it's an AirTag", + "tags": "openhaystack,bluetooth,ble,tracking,airtag", + "type": "bootloader", + "custom": "custom.html", + "readme": "README.md", + "supports": ["BANGLEJS","BANGLEJS2"], + "storage": [ + {"name":"openhaystack.boot.js"} + ] +}