evilsocket / evilsocket/pwnagotchi

Advertise BLE Services for Better iOS/Android Support

Open
#516 11 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.