GitHub DeepWiki Version Platform Jetpack Compose License: CC BY-NC-SA 4.0

English | Chinese (Simplified)
Changelog | Documentation | Roadmap | Security Policy | License | Collaborators
Third-Party Licenses

ScreenshotsDemo Videos

InteractiveChecklists

InteractiveChecklists is an Android application for viewing and interacting with Markdown and PDF checklists. It is built with Jetpack Compose and follows an MVVM-style architecture.

Development status: This repository is a development version and not an official release. The app is functional but under active development and may contain experimental features.

Note: A preview APK for version 1.1 is planned. If you are not familiar with Android Studio or building apps from source, please wait for the official preview release to test the app.

Current Development Focus (December 2025)
I am currently primarily working on the core infrastructure to enable secure data transfer between devices and DCS World. This includes finalizing the ECDH handshake implementation, preparing the groundwork for future squad mode (secure data sharing between multiple devices), and completing database integration and data formatting. These foundational changes are complex and time-intensive, which means progress on other areas—such as UI performance improvements, visual enhancements, and smaller features—is happening only on the side and at a slower pace. Thank you for your patience!

Table of Contents

Features

Experimental: DataPad (Live Flight Telemetry)

DataPad is an experimental feature that receives real-time aircraft telemetry from DCS World via UDP (default port 5010). It is intended for advanced users and requires running the forward_parsed_udp.py script to forward telemetry to your device.

Security Features (NEW - December 2025)

✅ ECDH Handshake Mode - Production-ready secure communication:

🔒 Server Key Pinning (TOFU) - Trust-On-First-Use server key pinning to detect man-in-the-middle attacks after the first successful connection (auto-pins the server key on first contact).

🔑 PSK Handshake Manager (optional) - Optional pre-shared key (PSK) handshake manager for compatibility and scripted deployments. See the docs for guidance on generating a 32-byte (256-bit) key and secure distribution.

🛡️ Optional Proof-of-Work (PoW) - Configurable anti-DoS protection for handshake requests; trade off handshake latency for robustness using --enable-pow and --pow-difficulty.

Quick Start (Handshake & PoW):

# Python: Enable handshake mode (ECDH + TOFU)
python forward_parsed_udp.py --interval 10 --host 192.168.178.132 --port 5010 --verbose --authorized-devices authorized_devices.json --bind-ip 192.168.178.100

# Python: Enable Proof-of-Work (anti-DoS)
python forward_parsed_udp.py --enable-pow --pow-difficulty 16 --interval 10 --host 192.168.178.132 --port 5010 --verbose --authorized-devices authorized_devices.json --bind-ip 192.168.178.100

# Python: Same-PC testing with handshake port
python forward_parsed_udp.py --repeat-last --interval 3 --host 127.0.0.1 --port 5010 --handshake-port 5011 --use-handshake --authorized-devices authorized_devices.json

# Android: Settings → DataPad → Enable "ECDH Handshake Mode" (optional: enable Server Key Pinning / configure Pre-Shared Key)
# Add your device ID to authorized_devices.json on the server

See docs/EN/technical/ECDH_USAGE_GUIDE.md and docs/EN/technical/DATA_FLOW_ANALYSIS.md for complete setup instructions, PSK guidance, and PoW tuning and troubleshooting.

DataPad also supports receiving entity contacts (tactical units) exported from DCS. Enable Entity Tracking in the app to receive tactical units and display them as live markers (requires running the forwarder with entity tracking enabled). For details and setup instructions, see scripts/DCS-SCRIPTS-FOLDER-Experimental/README_ENTITY_TRACKING.md and docs/EN/features/TACTICAL_UNITS_TRACKING.md.

See docs/EN/technical/ECDH_USAGE_GUIDE.md for complete setup instructions and docs/EN/features/DATAPAD_FEATURE.md for full usage, configuration, and troubleshooting.

Phase 1 (experimental): This release represents Phase 1 of DataPad. Future phases will expand telemetry coverage and add visual and security improvements, including live animated aircraft visualizations and a dedicated UI redesign.

Next up: 2-way communication (experimental) — enabling data flow from the app back to DCS.

Planned enhancements include additional telemetry (speed, vertical speed, fuel, systems), live animated aircraft visualizations, and UI/UX improvements.

Screenshots

File explorer - list of files and folders Markdown viewer showing interactive checklists PDF viewer with annotation tools QuickNotes bottom sheet and editor Calculator for landing patterns Full tactical live data Support Route lines overlay with labels Route planner - line preview Create Route sheet DataPad live telemetry panel Settings and preferences

Demo Videos 🎬

Carrier Landing Pattern – Live Tracking & Pattern Calculation Test (STATE App 1.0.19)   Demo 1   Demo 2

📝 NOTE
This is a test recording to evaluate recording performance, tablet capture workflow, resolution settings, and overall system stability during DCS gameplay. Mission content and pacing are deliberately simple and functional.

Installation

Step-by-step instructions to get the project running locally.

  1. Prerequisites
    • Install Android Studio (Arctic Fox or later recommended).
    • Install a compatible JDK (Java 11 or later recommended).
    • Configure Android SDK and at least one emulator or use a physical device.
  2. Clone the repository
git clone https://github.com/arn-c0de/InteractiveChecklists.git
cd InteractiveChecklists
  1. Build with Gradle (command-line)
./gradlew assembleDebug
  1. Open in Android Studio
    • Open the InteractiveChecklists directory in Android Studio.
    • Let Gradle sync and allow Android Studio to download any missing SDK components.
    • Run the app on an emulator or connected device.

System Requirements

How to Build & Run

Key Components

Contributing

We welcome contributions. For guidelines, issue workflow, and coding standards, see COLLABORATORS.md.

Quick contribution ideas:

For larger or breaking changes, please open an issue first to discuss design and scope.

Roadmap

Planned features and long-term improvements are tracked in the Roadmap document.

Support & Contact

If you encounter issues or have questions:

FAQ

Acknowledgements & Credits

Thanks to all contributors and to the Jetpack Compose and Android open-source ecosystems used in this project.

Contributors

License

This project is licensed under the terms in the LICENSE file (CC BY-NC-SA 4.0).