evilsocket / evilsocket/pwnagotchi
Advertise BLE Services for Better iOS/Android Support
- Dominant language
- Python
- Stars
- 9.2k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
Connecting the Pwnagotchi to an Android or iOS device is necessary for anything involving internet to work, but it's a huge pain. Even when connected, it's not possible to use the phone's GPS (for example) to determine position, which is a waste since you need to carry the phone around anyway.
**Describe the solution you'd like**
1. Update bluez to >= 5.4X if it isn't already.
2. Create a plugin that runs a BLE GATT server that allows (a) sending pcaps (b) requesting GPS coordinates (c) receiving GPS coordinates.
Once that's done, it's fairly trivial to create an app to interface with that. This is what a lot of devices (especially smartwatches) already do, so it should work.
**Additional context**
I'm imagining an app that allows you to connect to the pwnagotchi and send GPS coordinates to it when the pwnagotchi requests it. Then, when a pcap is generated, it gets sent back to the app for upload / processing / whatever. It should feel a lot nicer than BT tethering.
Contributor guide
Research direction
Start by checking the repository's existing plugin structure and the current BlueZ version. Define the BLE GATT services and data flows for sending pcaps and requesting or receiving GPS coordinates, then verify interoperability with the proposed iOS and Android app behavior. Done means the plugin exposes these operations and the phone can exchange the specified data over BLE.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, mobile-dev, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100