Program I wrote for a Linux only Terminal
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Ryan Collier 0e31ca3406
Add session management: F7/F8/F9 keys and Ctrl+A N/1-4
3 weeks ago
LINBPQ New Version starting with CLI 4 weeks ago
v32 New Version starting with CLI 4 weeks ago
.gitignore Version 0.0.53 — forms, background send, monitor fixes 4 weeks ago
10.0.2.7_17022_20260623_130146.log New Version starting with CLI 4 weeks ago
BPQTermTCP.ini first commit 2 years ago
CLI_SUMMARY.txt New Version starting with CLI 4 weeks ago
COMPARISON.md New Version starting with CLI 4 weeks ago
Makefile Rename source and makefile 3 weeks ago
QUICKSTART_CLI.md New Version starting with CLI 4 weeks ago
README.md Update README version to 0.0.53 4 weeks ago
README_BOTH_VERSIONS.txt New Version starting with CLI 4 weeks ago
README_CLI.md New Version starting with CLI 4 weeks ago
TermTCP.32 New Version starting with CLI 4 weeks ago
TermTCPCli.zip New Version starting with CLI 4 weeks ago
termtcp New Version 52 all issues fix with better menu's and borders along with port names. 4 weeks ago
termtcp.c Add session management: F7/F8/F9 keys and Ctrl+A N/1-4 3 weeks ago
termtcp_cli.o New Version 52 all issues fix with better menu's and borders along with port names. 4 weeks ago

README.md

TermTCP CLI

A terminal TCP client for BPQ32 packet radio nodes, written in C with an ncurses TUI. Connects via BPQTermTCP protocol, displays split output/monitor panes, and supports real-time RF frame monitoring with port filtering.

Features

  • ncurses TUI with split output and monitor panes
  • BPQ packet radio node support (BPQTermTCP protocol)
  • RF monitor with per-port and frame-type filtering
  • Auto-populates port names from the BPQ server on connect
  • Scrollable output and monitor windows with history
  • Input history (Up/Down arrows)
  • Session logging to timestamped files
  • Multiple host configuration with quick connect
  • Unicode box-drawing borders on all menus

Dependencies

  • GCC
  • ncurses (wide character support — libncursesw6)

Install dependencies on Debian/Ubuntu

sudo apt install gcc libncurses-dev

Build

make -f Makefile_CLI

The binary is ./termtcp.

Other make targets

make -f Makefile_CLI clean     # Remove build artifacts
make -f Makefile_CLI debug     # Build with debug symbols
make -f Makefile_CLI install   # Install to /usr/local/bin/

Manual compile

gcc -Wall -Wextra -O2 -std=gnu99 -D_XOPEN_SOURCE_EXTENDED \
    -o termtcp termtcp_cli.c -lm -lncursesw

Configuration

On first run, ~/.termtcprc is created automatically. Edit it to add BPQ nodes:

[Host0]
Host=10.0.2.7
Port=17023
Username=kb8pmy
Password=yourpassword
Name=Home Node

[Host1]
Host=10.121.15.68
Port=17023
Username=kb8pmy
Password=yourpassword
Name=Water Tower

Port names and monitor settings are also saved here automatically.

Usage

./termtcp

Key bindings

Key Action
Ctrl+A Open menu
Ctrl+A C Connect
Ctrl+A D Disconnect
Ctrl+A O Config / host editor
Ctrl+A M Monitor options
Ctrl+A L Toggle session log
Ctrl+A H Help
Ctrl+A Q Quit
Up / Down Input history
PgUp / PgDn Scroll output window
Home / End Scroll monitor window
Enter Send line to server

Monitor options (Ctrl+A M)

  • Toggle TX, supervisor, nodes, and UI-only filtering
  • Toggle monitor pane visibility
  • Select which RF ports to monitor (Tab to switch to port selection)

Port names are auto-populated from the BPQ server when you connect.

BPQ Protocol Notes

  • Connects using BPQTermTCP protocol (same as QtTermTCP)
  • Sends trace options on connect to enable RF monitoring
  • Port list is requested automatically via P8=1 parameter
  • Monitor frames delimited by 0xFF / 0xFE byte markers
  • NODES broadcasts filtered client-side via >NODES detection in AX.25 header

Version

Current: 0.0.53

Powered by TurnKey Linux.