Skip to content
 
 

Latest commit

 

History

47 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS ESP32 Blocker

demo_blocker.mov

A simple app blocker that bricks your iPhone to lock distracting apps. The only way to unlock them is by scanning a QR code displayed on an ESP32.

No network connection is needed between the iPhone and the ESP32: they use a shared secret + timestamp (TOTP algorithm, RFC 6238) to generate and verify codes. The ESP32 only needs internet at boot to sync its clock via NTP.

Inspired by Brick.

Requirements

Compatible hardware

  • Lilygo ESP32 T-Display S3

Setup

(Optional) Enable git hooks

git config core.hooksPath .githooks

This enables a pre-commit hook that prevents from committing hardcoded WiFi credentials.

WiFi Credentials for the ESP32

Edit esp32/src/config.h:

#define WIFI_SSID "your_wifi_name"
#define WIFI_PASSWORD "your_wifi_password"

WiFi is only used for NTP time sync on boot.

(Optional) Change the TOTP Secret

The 20 bytes TOTP secret can be found esp32/src/config.h and ios/ESPBlocker/Config.swift.

Building

ESP32

cd esp32
~/.platformio/penv/bin/pio run -t upload

iOS

cd ios
xcodegen generate
open ESPBlocker.xcodeproj

Set your Development Team in Xcode, then build to device.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages