izagoto/wall-of-flippers

GitHub: izagoto/wall-of-flippers

Stars: 0 | Forks: 0

Wall of Flippers

🐬 A simple and easy way to find Flipper Zero Devices and Bluetooth Low Energy Based Attacks 🐬

🐬 Local project documentation for BLE monitoring and analysis 🐬

Project Maintainer

Contributor

Discord Shield

🐬 Table of Contents

- [Introduction](#doc_introduction) - [Features](#doc_features) - [Videos](#doc_videos) - [Install Guide](#doc_install) - [How to install](#install_guides) - [Debian Linux Install](#debian_install) - [Fedora Install](#fedora_install) - [macOS Install](#macos_install) - [Arch Linux Install (SOON)](#arch_install) - [Windows Install](#windows_install) - [Run Backend and Frontend](#run_backend_frontend) - [Headless Usage](#headless_usage) - [Runtime Config](#runtime_config) - [Architecture](#architecture) - [Issues and Fixes](#doc_issues_and_fixes) - [Common Errors and Fixes](#doc_c_and_e) - [Related Projects](#doc_related) - [Notice](#doc_statement)

# 🐬 Wall of Flippers? # 🐬 Current features and future updates - [x] Discover Flipper Zero Devices (Bluetooth must be enabled) - [x] Flipper Name Discovery - [x] Flipper Address Discovery - [x] Flipper "Identifier" Discovery ( Transparent, White, & Black Flipper Detection) - [ ] Spoof Detection (Coming Soon) - [x] Ability to archive past flipper zero devices discovered - [x] Auto-install functionality for Debian Linux and Windows - [x] Ability to identify potential Bluetooth Advertisement attacks - [x] Suspected Advertisement Attacks - [x] ~iOS Crash Advertisement Attack~ - [x] iOS Popup Advertisement Attacks - [x] Samsung and Android BLE Advertisement Attacks - [x] Windows Swift Pair Advertisement Attacks - [x] LoveSpouse Advertisement Attacks (Denial of Pleasure) - [x] BT Settings Flood - [x] Bluetooth Remote Detection - [x] BLE Advertiser (Detect other WoF Instances) - [x] Custom Name Implementation - [x] BLE Chat - [x] Badge Mode (Less fancy stats) - [x] BLE External / Internal Adapter Support - [x] Linux Supported - [ ] Windows Supported - [x] Ratelimiting (New Connections) - [x] Linux Supported - [x] Windows Supported (Limited) - [x] Runtime config via JSON for scan and offline thresholds - [ ] Chromium Web Bluetooth Support - [ ] iOS/Android Detection (Pairing) - [ ] Animations (Looking for ascii artists) # 🐬 Articles

Talking Sasquach - Wall of Flippers Busts Flipper Zero BLE Spammers Red Handed!

BleepingComputer - ‘Wall of Flippers’ detects Flipper Zero Bluetooth spam attacks

# 🐬 Installing and Requirements ## How to install # 🐬 Run Backend and Frontend ## Run Backend python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r requirements.txt python3 run_web.py Backend default: `http://127.0.0.1:8787` Untuk akses dari device lain di jaringan lokal: python3 run_web.py --host 0.0.0.0 --port 8787 ## Run Frontend cd web-frontend npm install npm run dev Frontend default: `http://127.0.0.1:5173`
Debian Linux Install Guide ### Debian Linux Install Guide ### Step 1 (One): Full system upgrade / update sudo apt-get update && sudo apt-get upgrade -y ### Step 2 (Two): Git Clone and Git Installiation sudo apt-get install git cd /path/to/Wall-of-Flippers ### Step 3 (Three): Installing python (python3) sudo apt-get install python3 sudo apt-get install python3-dev ### Step 4 (Four): Setting up and Installing the required packages (Multiple Ways) sudo apt-get install libglib2.0-dev sudo apt-get install python3-bluez python3 -m venv .venv source .venv/bin/activate ################## PACKAGES ######################## # requirement.txt method python3 -m pip install -r requirements.txt # command method python3 -m pip install bluepy python3 -m pip install pybluez ################## PACKAGES ######################## deactivate bash wof.sh # You should get a prompt upon startup, about setting up a managed environment, feel free to let it do for you. Then once an environemnet is complete run `wof.sh` again and use the auto install option to install the dependencies. ### Step 5 (Five): Running Wall of Flippers bash wof.sh sudo chmod +x WallofFlippers.py ./WallofFlippers.py
Fedora Linux Install Guide ### Fedora Install Guide ### Step 1 (One): Full system upgrade / update sudo dnf update && sudo dnf upgrade -y ### Step 2 (Two): Git Clone and Git Installiation sudo dnf install git cd /path/to/Wall-of-Flippers ### Step 3 (Three): Installing python (python3) sudo dnf install python3 sudo dnf install python3-dev ### Step 4 (Four): Setting up and Installing the required packages (Multiple Ways) sudo dnf install glib2-devel sudo dnf install python3-bluez python3 -m venv .venv source .venv/bin/activate ################## PACKAGES ######################## # requirement.txt method python3 -m pip install -r requirements.txt # command method python3 -m pip install bluepy python3 -m pip install pybluez ################## PACKAGES ######################## deactivate bash wof.sh # You should get a prompt upon startup, about setting up a managed environment, feel free to let it do for you. Then once an environemnet is complete run `wof.sh` again and use the auto install option to install the dependencies. ### Step 5 (Five): Running Wall of Flippers bash wof.sh sudo chmod +x WallofFlippers.py ./WallofFlippers.py
macOS Install Guide ## macOS Install Guide ### Step 1 (One): Create and activate a virtual environment python3 -m venv .venv source .venv/bin/activate ### Step 2 (Two): Install dependencies python3 -m pip install -r requirements.txt ### Step 3 (Three): Run Wall of Flippers python WallofFlippers.py --wall
Windows Install Guide ## Windows Install Guide ### Step 1 (One): Git Clone and Git Installiation cd /path/to/Wall-of-Flippers ### Step 2 (Two): Installing python and pip (python / pip) pip install bleak pip install -r requirements.txt python WallofFlippers.py # You should get a prompt upon startup, use the auto install option to install the dependencies. for the easy install and follow the directions and prompts for the install. ### Step 3 (Three): Running Wall of Flippers python WallofFlippers.py
# Headless Usage usage: WalloFlippers.py [-h] [-w] [i] [-d DEVICE] options: -h, --help Help Message -w, --wall Wall of Flippers -i, --install Install Dependencies -b, --badgemode Toggle Badge Mode -a, --advertise Advertise WoF Exsistance (OFF=Default) -d DEVICE, --device DEVICE A bluetooth device (External/Internal) # Issues and Fixes # Common Errors and Fixes ### No such file or directory /sys/class/bluetooth sudo service bluetooth status sudo service bluetooth restart ### pybluez failing to properly install # Related Projects **Pwnagotchi plugin**\ _Written by: cyberartemio_\ wof-pwnagotchi-plugin **Evil-M5Core2**\ _Written by: 7h30th3r0n3_\ Evil-M5Core2 # Notice # 🐬 Runtime Config Runtime tuning sekarang bisa diatur dari: `config/wof.defaults.json` Atau dengan file custom: python WallofFlippers.py --wall --config /path/to/custom.json Contoh parameter yang bisa diubah: - `bleak_scan_timeout` - `offline_miss_threshold` - `offline_hold_seconds` - `ble_tx_power_dbm` - `ble_path_loss_n` - `rssi_history_max_points` - `rssi_history_max_devices` - `max_online` - `max_offline` - `ble_threshold` Structured events untuk automation/debug juga bisa diaktifkan: python WallofFlippers.py --wall --jsonl Contoh event: - `startup` - `scan_started` - `scan_completed` - `device_seen_strong` - `device_seen_soft` - `device_online` - `device_offline` # 🐬 Architecture Struktur project yang dikustomisasi di workspace ini sekarang sudah lebih modular: - `WallofFlippers.py` Entry point CLI dan loop utama aplikasi. - `utils/wof_engine.py` Orchestration satu siklus scan live. - `utils/wof_scanner.py` Abstraksi scan BLE untuk macOS/Linux. - `utils/wof_detection.py` Parsing packet dan klasifikasi Flipper. - `utils/wof_presence.py` State machine online/offline dan `missed_scans`. - `utils/wof_storage.py` Storage SQLite dan metadata lokasi lokal scanner. - `utils/wof_library.py` Helper/UI layer untuk ASCII rendering, terminal selection, dan persistence logging ringan. - `utils/wof_display.py` Render dashboard terminal live. - `utils/wof_trust.py` Trust scoring deteksi. - `utils/wof_rssi_geo.py` Estimasi jarak kasar dari RSSI. - `utils/wof_rssi_history.py` Histori tren RSSI per device. - `utils/wof_config.py` Load runtime config JSON. - `utils/wof_events.py` Structured event emission untuk automation/debug. - `utils/wof_logging.py` File logging ke `logs/wof.log`. Storage runtime utama sekarang memakai: `data/flippers.db`