DEV Community

Ciara
Ciara

Posted on • Updated on

Pwnagotchi - Web UI over Bluetooth

I haven't posted in a while, so I decided I will talk about new things I have been trying and learning with Pwnagotchi.

There is a plugin that allows for the web ui to be viewed on your mobile phone web browser once the unit is tethered to the phone over bluetooth. The advantages of this are:

  • pwnagotchi can be safely shutdown after use from the shutdown button on the web user interface.
  • pwnagotchi ui can be viewed from your phone if your unit is not connected to a computer screen

Pwnagotchi is now using toml format for the config file. I straight away noticed the benefits: no more fiddling with indenting and formatting.

What caught me out while adding in the bluetooth tether entries was the phone ip entry. This needs to be the static ip address given in the config file, this will be what is used to access the pwnagotchi web UI from your mobile device

main.plugins.bt-tether.devices.android-phone.ip = "192.168.44.44"

In order to get the pairing to work, I needed to follow this forum guide which details the steps to sudo bluetoothctl to manually pair the phone by it's MAC address to the pwnagotchi unit.

New TOML, who dis?

Here's my updated config.toml with the entries needed for bluetooth tether

main.name = "nickname"
main.lang = "en"

main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourNetwork"
]
main.plugins.bt-tether.enabled = true

main.plugins.bt-tether.devices.android-phone.enabled = true
main.plugins.bt-tether.devices.android-phone.search_order = 1
main.plugins.bt-tether.devices.android-phone.mac = "de:ad:be:ef:ba:be"
main.plugins.bt-tether.devices.android-phone.ip = "192.168.44.44"
main.plugins.bt-tether.devices.android-phone.netmask = 24
main.plugins.bt-tether.devices.android-phone.interval = 1
main.plugins.bt-tether.devices.android-phone.scantime = 10
main.plugins.bt-tether.devices.android-phone.max_tries = 10
main.plugins.bt-tether.devices.android-phone.share_internet = false
main.plugins.bt-tether.devices.android-phone.priority = 1

main.plugins.memtemp.enabled = true
main.plugins.memtemp.scale = "celsius"
main.plugins.memtemp.orientation = "horizontal"

ui.display.enabled = true
ui.display.type = "inky"
ui.display.color = "fastAndFurious"
ui.web.enabled = true
ui.web.address = "0.0.0.0"
ui.web.port = 8080
ui.web.origin = ""


personality.advertise = true
personality.deauth = true
personality.associate = true

TADA!

Bluetooth tethering success!

Special thanks to the kind people on the pwnagotchi slack and the pwnagotchi forum guide for helping me to get my gotchi and android phone paired :)

Top comments (0)