# P7-InfraNET CLRadio-Hybrid A-1-ii Integra **Integra** is a high-performance, dual-pane terminal communication hub built for real-time "radio" style messaging. It features a split-pane interface powered by `Rich` and `Prompt-Toolkit`, allowing users to chat on one side while managing system commands on the other. --- ## 🚀 Key Features * **Dual-Pane UI**: Dedicated panels for live chat (left) and system commands (right). * **Active Listening**: Automatically binds to Port 443 on startup to receive incoming traffic. * **Command Parser**: Integrated command-line interface in the "Cmd" panel for profile management and connections. * **Automatic Scrolling**: Intelligent log management that slices history to fit your terminal height perfectly. * **Visual Feedback**: Active panel highlighting and a blinking cursor to indicate focus. * **Profile Persistence**: Saves and loads known peers from `known_connections.txt`. --- ## ⌨️ Controls & Navigation | Key | Action | |:--- |:--- | | **`TAB`** | Switch focus between the **Chat** and **Cmd** panels. | | **`ENTER`** | Send a message (if in Chat) or execute a command (if in Cmd). | | **`Ctrl + Q`** | Safe Exit: Disconnects sockets and closes the application. | | **`Backspace`** | Standard text deletion in the active panel. | --- ## 🛠️ Installation & Setup (Linux/macOS) Because this app uses specific dependencies and requires privileged ports, follow these steps to ensure a clean environment. ### 1. Create a Virtual Environment It is highly recommended to use a `venv` to avoid library conflicts: ```bash python3 -m venv CLRadio source CLRadio/bin/activate ``` ### 2. Install Dependencies ```bash pip install rich prompt-toolkit ``` ### 3. Running with Sudo (The "Venv" Trick) Since the app binds to **Port 443**, it needs root privileges. To use `sudo` without losing your `venv` libraries, use the absolute path to the venv's python: ```bash sudo ./CLRadio/bin/python3 CLRadio-Hybrid-A-1-ii-Integra.py ``` --- ## 📡 Commands (Cmd Panel Only) All commands must be typed into the **Right Panel** and start with a `/`. * **`/connect`**: Displays all saved profiles from your `known_connections.txt`. * **`/connect `**: Attempts to establish a connection to the $n^{th}$ profile in your list. * **`/profiles add `**: Saves a new peer to your permanent list. * **`/profiles clear`**: Wipes all saved profiles. * **`/listen`**: Checks the status of the background receiver. * **`/help`**: Displays the in-app command reference. --- ## ⚠️ Security Note Port **443** is a restricted port. Ensure your firewall (ufw/iptables) allows incoming TCP traffic on 443 to receive messages from peers. If running on Windows, ensure you are using an Administrative Terminal. --- *Developed by P7MJ | P7-InfraNET Architecture*