ProxymanApp / ProxymanApp/TCPViewer

Add tcpviewer-cli command-line support

Open
#96 1 comment 0 reactions 1 assignee View on GitHub

@NghiaTranUIT is already working on this.

Since Aug 30, 2026.

DONE enhancement
Dominant language
Swift
Stars
434
Forks
20
Avg merge
13h 46m
Merged PRs (30d)
17

Description

Summary

Add tcpviewer-cli, a small command-line tool for controlling TCP Viewer from Terminal, scripts, and other apps.

The CLI should work whether TCP Viewer is open or closed. If the app is closed, the command should launch it quietly and leave it running. JSON should be the default output so other tools can read the result without parsing human text.

What the command line should support

  • Check app status, version, license state, capture state, active file, and packet count.
  • List available network interfaces and show the selected interface.
  • Start capture on a chosen interface, with an optional BPF filter.
  • Pause, resume, stop, and check the current capture.
  • List and summarize packets with filters, limits, ordering, and pagination.
  • Read packet details and raw bytes, clear packets, or reveal a packet in the app.
  • List packets in a TCP stream and follow a stream as text, hex, or base64.
  • Import pcap, pcapng, and tcpviewsession files.
  • Export selected packets as pcap or pcapng, or export the full TCP Viewer session.
  • Check, activate, and revoke a license. Activation must read the key from stdin or a hidden prompt so it does not appear in shell history.
  • List, read, change, and reset common TCP Viewer settings.
  • Return text output when a person wants to read the result directly.

Packet commands should support common filters such as protocol, domain, address, port, client, packet ID, and stream ID. Advanced field filters should also be available for automation.

Related implementation: #93

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.