Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenHaystack with MacOS 13.0 #3

Open
wants to merge 79 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
b56aa1f
Added import and export options
Sn0wfreezeDev Mar 12, 2021
ab1c3eb
Adding a button that shows if the mail plug-in is active. The button …
Sn0wfreezeDev Mar 12, 2021
9406f81
Instead of showing a mail button a small circle is shown next to the …
Sn0wfreezeDev Mar 12, 2021
e7a6135
Showing error messages when the import fails
Sn0wfreezeDev Mar 15, 2021
2f32efe
Mark accessory as deployed when deploy was successful
schmittner Mar 15, 2021
1b6eadb
Run autoformat
schmittner Mar 15, 2021
d5546e1
Disable deploy tests (will hang if no accessory is connected)
schmittner Mar 15, 2021
5117674
Mark accessories as online when receiving Bluetooth advertisements
schmittner Mar 15, 2021
37de037
Mark devices as active (orange) if they have been active in the past
schmittner Mar 15, 2021
eb07546
Update preview mode
schmittner Mar 15, 2021
cf0416e
Unmark devices as nearby when they stop sending advertisements
schmittner Mar 15, 2021
a88f5ab
Move nearby marker to the right
schmittner Mar 15, 2021
2db3190
Update issue templates
schmittner Mar 16, 2021
76a01c1
Add history view (shows all location reports for a single accessory)
schmittner Mar 15, 2021
1883d47
Add time slider
schmittner Mar 15, 2021
c7696b6
Resolving the UI glitch when moving the slider quickly by delaying th…
Sn0wfreezeDev Mar 16, 2021
0e126e7
Make update delay reusable and include call to `zoomInOnAll`
schmittner Mar 16, 2021
9f8352b
Add logarithmic slider
schmittner Mar 16, 2021
d1731c6
Fix swift-format complaints
schmittner Mar 16, 2021
bdb8e80
Consolidate infos about supported devices in README
schmittner Mar 16, 2021
21eacc6
"tag" -> "accessory" (consistent with app UI)
schmittner Mar 16, 2021
cf5103f
Updating the mail state indicator when closing the mail app and reloa…
Sn0wfreezeDev Mar 17, 2021
edf2b59
Export the created firmware file (instead of flashing directly)
Sn0wfreezeDev Apr 6, 2021
880f135
Reducing sending frequency of micro:bit firmware to 2s to reduce powe…
Sn0wfreezeDev Apr 6, 2021
acdae59
Updating ESP32 firmware to sending rate of 1-2s
Sn0wfreezeDev Apr 6, 2021
b513d47
Updated Readme with info for missing Manage Plug-Ins button
Sn0wfreezeDev Apr 15, 2021
b5a577e
Add "cleanup" to the deployment script #44 (enhancement)
mowtschan Apr 15, 2021
9f41994
ESP32 Firmware: Consider Port and De-Duplicate Flashing Script
fhessel Apr 16, 2021
f8fb99c
burn some leaks
tomasharkema Apr 27, 2021
c618aab
make it a todo
tomasharkema Apr 27, 2021
ba17419
Calling the completion handler in the case of a nil self
Sn0wfreezeDev Apr 29, 2021
5dc6158
Fixing leaks in boring ssl usage
Sn0wfreezeDev Apr 29, 2021
f73c1ac
Fixing memory leaks in ReportsFetcher
Sn0wfreezeDev Apr 29, 2021
ffc5170
Added a fix for the cropped rows on macOS 11.3
Sn0wfreezeDev Apr 29, 2021
c7a15fe
Add WiSec demo
schmittner Jun 2, 2021
71fb26d
Added a bunch of ID's into the plist for Mail app version 14
May 27, 2021
6105a94
Updating preview for better control of Screenshots
Sn0wfreezeDev Aug 6, 2021
48ceb95
Small icon changes
Sn0wfreezeDev Aug 6, 2021
aa7c0a5
Updating workflows to macOS 11
Sn0wfreezeDev Aug 6, 2021
78fba73
Checking if the Mail plug-in is installed in the correct version. Oth…
Sn0wfreezeDev Aug 6, 2021
206a2e7
Copying public to clipboard as Byte array or escaped string
Sn0wfreezeDev Aug 25, 2021
f9149cd
nrf52832 pin layout
Sn0wfreezeDev Aug 25, 2021
e39e328
Updating UUIDs for macOS 11.6
Sn0wfreezeDev Sep 21, 2021
e55aa25
Fixes #85
mowtschan Oct 31, 2021
204473c
Fixing issues with the Mail plug-in update processs
Sn0wfreezeDev Nov 3, 2021
599c240
Fixing an issue with swift-format. It has changed the command line ar…
Sn0wfreezeDev Nov 4, 2021
e95fe0c
Update README.md
yoution Jul 1, 2021
9363dc0
Clarify the nature of the key parameter used by flash_esp32.sh
HouzuoGuo Jun 5, 2021
c6600b0
Updating esp-idf version
Sn0wfreezeDev Nov 4, 2021
3a8e543
Using the ESP32 v4.3 branch and not the release since the release is …
Sn0wfreezeDev Nov 4, 2021
d9a1a33
Updating project to be M1 (ARM) compatible
Sn0wfreezeDev Nov 25, 2021
278fe4e
Added support for key derivation
NeoZ16 Nov 4, 2021
e55a095
Adding a class that automatically checks for updates of the app
Sn0wfreezeDev Nov 29, 2021
f582d86
Updating mail plug-in for macOS 12.1
Sn0wfreezeDev Jan 4, 2022
c349ffd
Updating mail plug-in for macOS 12.1
Sn0wfreezeDev Jan 4, 2022
005d642
Adding new NRF firmware which supports rotating keys
Sn0wfreezeDev Jan 4, 2022
ebfe792
Updating build workflow for Xcode 13
Sn0wfreezeDev Jan 4, 2022
190d9f3
Importing and exporting in JSON possible
Sn0wfreezeDev Jan 4, 2022
b65a6e6
Changing time-out for nearby devices
Sn0wfreezeDev Jan 4, 2022
3d593a0
Adding OpenHaystack Mobile app
MaxGranzow May 11, 2022
00e3b5a
Update readme with OpenHaystack Mobile info
MaxGranzow May 12, 2022
62bbee5
Adding OpenHaystack Mobile screenshots
MaxGranzow May 12, 2022
ed2c80b
Fixing readme image alignment
MaxGranzow May 12, 2022
e27051e
Update README.md
Sn0wfreezeDev May 12, 2022
33716d7
Update README.md
Sn0wfreezeDev May 12, 2022
6c4895d
Proxy Server Info
Sn0wfreezeDev May 12, 2022
9829d6c
OpenHaystackMail: add support for Mail.app version 16.0 (macOS 12.3)
noahwilliamsson Apr 23, 2022
6b3196e
Adding option to copy the private key from the repository
Sn0wfreezeDev Jun 1, 2022
4e0f37d
Updating action to macOS 12
Sn0wfreezeDev Jun 1, 2022
fe1e286
Compatibility with macOS 13.3
Sn0wfreezeDev Apr 21, 2023
6eb2822
Updating Mail Plugin to work with macOS 13.5 and 13.6
Sn0wfreezeDev Oct 9, 2023
7d72fa1
[fix] Derive symmetric key correctly
freak4pc Oct 16, 2023
e8dcf61
Adding CITATION.cff file
Sn0wfreezeDev Jun 11, 2024
1b66d15
Fix report decryption for new report format
sebinbash Jun 9, 2024
3ef4280
Use AOSKit to generate anisette headers
sebinbash Jun 10, 2024
17410e2
Create a SetttingsView to manually enter Search Party Token, add erro…
sebinbash Jun 29, 2024
173eb74
Fix CI to use renamed GitHub Action
sebinbash Jul 8, 2024
27d975b
Add manual trigger for all workflows
sebinbash Jul 8, 2024
8d214aa
Use macOS 14 runner with Xcode 15.3
sebinbash Jul 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**OpenHaystack version:**
[e.g. 0.3.4] (copy from _OpenHaystack → About OpenHaystack_)

**macOS version:**
[e.g. 11.3]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/general-question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: General question
about: Ask a question
title: ''
labels: question
assignees: ''

---


2 changes: 1 addition & 1 deletion .github/actions/build-esp-idf/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ runs:
sudo apt install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
mkdir -p /opt/esp
cd /opt/esp
git clone --recursive --depth 1 --branch v4.2 https://github.com/espressif/esp-idf.git
git clone --recursive --depth 1 --branch release/v4.3 https://github.com/espressif/esp-idf.git
cd /opt/esp/esp-idf
./install.sh
- name: Build firmware
Expand Down
15 changes: 8 additions & 7 deletions .github/workflows/build-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
branches: [ main ]
paths:
- OpenHaystack/**
workflow_dispatch:

env:
APP: OpenHaystack
Expand All @@ -18,17 +19,17 @@ defaults:

jobs:
format-swift:
runs-on: macos-latest
runs-on: macos-14
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: "Install swift-format"
run: brew install swift-format
- name: "Run swift-format"
run: swift-format --recursive --mode lint .
run: swift-format lint --recursive .

format-objc:
runs-on: macos-latest
runs-on: macos-14
steps:
- name: "Checkout code"
uses: actions/checkout@v2
Expand All @@ -38,16 +39,16 @@ jobs:
run: clang-format -n **/*.{h,m}

build-app:
runs-on: macos-latest
runs-on: macos-14
needs:
- format-swift
- format-objc
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: "Select Xcode 12"
uses: devbotsxyz/xcode-select@v1
- name: "Select Xcode 15.3"
uses: keehun/xcode-select@v1
with:
version: "12"
version: "15.3"
- name: "Archive project"
run: xcodebuild archive -scheme ${APP} -configuration release -archivePath ${APP}.xcarchive
6 changes: 3 additions & 3 deletions .github/workflows/build-cve-2020-9986.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defaults:

jobs:
lint-swiftlint:
runs-on: macos-latest
runs-on: macos-11
steps:
- name: "Checkout code"
uses: actions/checkout@v2
Expand All @@ -32,7 +32,7 @@ jobs:
- name: "Checkout code"
uses: actions/checkout@v2
- name: "Select Xcode 12"
uses: devbotsxyz/xcode-select@v1
uses: keehun/xcode-select@v1
with:
version: "12"
- name: "Archive project"
Expand All @@ -47,7 +47,7 @@ jobs:
- name: "Checkout code"
uses: actions/checkout@v2
- name: "Select Xcode 12"
uses: devbotsxyz/xcode-select@v1
uses: keehun/xcode-select@v1
with:
version: "12"
- name: "Archive project"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-firmware-esp32.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
branches: [ main ]
paths:
- Firmware/ESP32/**
workflow_dispatch:

jobs:
build-firmware-esp32:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build-firmware.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ on:
branches: [ main ]
paths:
- Firmware/Microbit_v1/**
workflow_dispatch:

defaults:
run:
working-directory: Firmware/Microbit_v1

jobs:
build-firmware:
runs-on: macos-latest
runs-on: macos-14
steps:
- uses: actions/checkout@v2

Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
workflow_dispatch:

jobs:
build-firmware-esp32:
Expand All @@ -30,7 +31,7 @@ jobs:

build-and-release:
name: "Create release on GitHub"
runs-on: macos-latest
runs-on: macos-14
env:
APP: OpenHaystack
PROJECT_DIR: OpenHaystack
Expand All @@ -42,10 +43,10 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: "Select Xcode 12"
uses: devbotsxyz/xcode-select@v1
- name: "Select Xcode 15.3"
uses: keehun/xcode-select@v1
with:
version: "12"
version: "15.3"
- name: "Add ESP32 firmware"
uses: actions/download-artifact@v2
with:
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
# Created by https://www.toptal.com/developers/gitignore/api/xcode,swift
# Edit at https://www.toptal.com/developers/gitignore?templates=xcode,swift

## macOS ##

.DS_Store

### Swift ###
# Xcode
#
Expand Down Expand Up @@ -106,4 +110,4 @@ iOSInjectionProject/
# End of https://www.toptal.com/developers/gitignore/api/xcode,swift

# Exports folder
Exports/
Exports/
31 changes: 31 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: OpenHaystack
message: 'If you use this software, please cite it as below.'
type: software
authors:
- given-names: Alexander
family-names: Heinrich
affiliation: 'SEEMOO, TU Darmstadt'
orcid: 'https://orcid.org/0000-0002-1150-1922'
- given-names: Milan
family-names: Stute
affiliation: 'SEEMOO, TU Darmstadt'
orcid: 'https://orcid.org/0000-0003-4921-8476'
- given-names: Matthias
family-names: Hollick
affiliation: 'SEEMOO, TU Darmstadt'
orcid: 'https://orcid.org/0000-0002-9163-5989'
repository-code: 'https://github.com/seemoo-lab/openhaystack'
abstract: >-
OpenHaystack is a framework for tracking personal
Bluetooth devices via Apple's massive Find My network. Use
it to create your own tracking tags that you can append to
physical objects (keyrings, backpacks, ...) or integrate
it into other Bluetooth-capable devices such as notebooks.
license: AGPL-3.0
commit: 7d72fa1ac19d2a9f6dec43011be07df8976a8b02
version: 0.5.3
date-released: '2023-10-09'
50 changes: 25 additions & 25 deletions CVE-2020-9986/OFReadKeys/OFFetchReports/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@ import SwiftUI
@main
class AppDelegate: NSObject, NSApplicationDelegate {

var window: NSWindow!

func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the window contents.
let contentView = OFFetchReportsMainView()

// Create the window and set the content view.
window = NSWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
window.isReleasedWhenClosed = false
window.center()
window.setFrameAutosaveName("Main Window")
window.contentView = NSHostingView(rootView: contentView)
window.makeKeyAndOrderFront(nil)
}

func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
var window: NSWindow!

func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the window contents.
let contentView = OFFetchReportsMainView()

// Create the window and set the content view.
window = NSWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
window.isReleasedWhenClosed = false
window.center()
window.setFrameAutosaveName("Main Window")
window.contentView = NSHostingView(rootView: contentView)
window.makeKeyAndOrderFront(nil)
}

func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}

func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}

}
14 changes: 7 additions & 7 deletions CVE-2020-9986/OFReadKeys/OFFetchReports/ContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
import SwiftUI

struct ContentView: View {
var body: some View {
Text("Hello, World!")
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
var body: some View {
Text("Hello, World!")
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
static var previews: some View {
ContentView()
}
}
Loading