Skip to content

Developer-RU/PHONE-BROKER

PHONE BROKER

Release License: MIT Platform: iOS Flutter

PHONE BROKER is an iOS Flutter application that runs one or more embedded MQTT brokers directly on an iPhone.

It is designed for local IoT testing, demos, and diagnostics when you need a portable broker endpoint without external server infrastructure.

Highlights

  • Run multiple broker instances on independent ports.
  • Start, stop, restart, duplicate, and delete broker profiles.
  • Inspect runtime state, connected clients, and packet-level logs.
  • Import and export broker configurations as JSON.
  • Export broker logs for diagnostics and support.
  • Use built-in network diagnostics (local/public IP, Wi-Fi metadata).
  • Configure app language and global defaults for broker creation.

Screenshots

Brokers screen Settings screen Debug screen Broker settings screen Import and export screen

Repository Structure

  • lib/: Flutter/Dart application source.
  • ios/: iOS host app, Xcode project/workspace, CocoaPods integration.
  • assets/: App images and visual resources.
  • docs/: Project documentation, architecture notes, and generated API docs.
  • test/: Widget and future test suites.

Requirements

  1. macOS (recent stable version)
  2. Xcode (recent stable version)
  3. Flutter SDK (stable channel)
  4. CocoaPods (pod CLI available)

Quick Start

From repository root:

flutter pub get
cd ios
pod install
cd ..
flutter run -d <device_id>

Build and Run

Run in debug:

flutter run -d <device_id>

Run in profile:

flutter run --profile -d <device_id>

Run in release:

flutter run --release -d <device_id>

Build iOS debug without signing:

flutter build ios --debug --no-codesign

Build iOS release:

flutter build ios --release

Running in Xcode

  1. Open ios/Runner.xcworkspace.
  2. Select the Runner target.
  3. Configure Signing & Capabilities.
  4. Select simulator or physical iPhone.
  5. Run using Product -> Run.

Operational Notes

  • The app is intended for local/edge usage.
  • iOS background policies may suspend long-lived socket activity.
  • Wireless debugging can be less reliable than USB deployment.
  • Startup is protected by timeout and storage recovery safeguards.

Documentation Index

GitHub Wiki

Wiki source pages are included in this repository under wiki/:

  • wiki/Home.md
  • wiki/Getting-Started.md
  • wiki/Architecture.md
  • wiki/Troubleshooting.md
  • wiki/FAQ.md
  • wiki/Release-Process.md

You can copy these pages into the GitHub Wiki repository (PHONE-BROKER.wiki.git) to publish them.

Quality Checks

Static analysis:

flutter analyze

Tests:

flutter test

License

This project is licensed under the MIT License. See LICENSE.

About

Phone BROKER is a full-featured iOS application that allows you to run lightweight MQTT brokers directly on iPhone. The project is distributed as a free open-source solution: you can inspect the source code, verify behavior, adapt the UI/UX, and use it in your own workflows.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages