Skip to main content

Command Broker


PyPI version Test Status Lint Status codecov Join the chat at https://gitter.im/brad/cmdbroker License Code style: black


Read Latest Documentation - Browse GitHub Code Repository


cmdbroker Broker commands to a server

Overview

Command Broker (cmdbroker) is a tool that allows a client to send commands to a server and get the results back. While for most use cases you can simply run commands over SSH, cmdbroker is designed for scenarios where you need to run commands with access to the server's UI. This can be particularly useful for commands that require graphical interfaces or other UI elements that are not accessible through standard SSH sessions.

Features

  • Client-Server Architecture: cmdbroker uses a client-server model to facilitate command execution and result retrieval.
  • SSL Encryption: All communications between the client and server are secured using SSL, ensuring that data is encrypted and protected from eavesdropping.
  • UI Access: Enables running commands that require access to the server's UI, which is not possible with standard SSH.
  • Easy Integration: Simple to integrate into existing workflows and systems.

Installation

You can install cmdbroker using pip:

pip install cmdbroker

Usage

Server

cmdbroker --server

This will walk you through generating an SSL certificate and then start the server. Protect the generated key with chmod 600 broker-key.pem. Copy the generated broker-cert.pem file to your client machine (after copying, protect it with a similar chmod) and follow the instructions for the client

Client

cmdbroker 'echo "Hello, World!"'

The following happens when you do this:

  • The client makes a secure connection to the server
  • The client sends the command to the server over this connection
  • The server component runs echo "Hello, World!"
  • The server component takes the output from that command and returns it to the client
  • The client outputs the results on stdout

You may also redirect stdin and use it in the server-side command, ex:

echo "Hello, World\!" | cmdbroker cat

Metadata

Release files for cmdbroker 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cmdbroker 0.0.4
File Size Uploaded Provenance Actions
cmdbroker-0.0.4.tar.gz 6.9 kB Without provenance Details for cmdbroker-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cmdbroker 0.0.4
File Interpreter ABI Platform Actions
cmdbroker-0.0.4-py3-none-any.whl Python 3 none any Details for cmdbroker-0.0.4-py3-none-any.whl

Total release size: 15.3 kB

Release files / cmdbroker-0.0.4.tar.gz

Download URL cmdbroker-0.0.4.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4507ec3ead997b9fd1099c800a639caa26a6a774ee025aec2cd6cfb0ba6cbb77
BLAKE2b-256 checksum
How to use checksums
55f3f0121529fee6708e1fea9542be43f4d284c3c21decf844af6671cd8fee0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-119-generic

Release files / cmdbroker-0.0.4-py3-none-any.whl

Download URL cmdbroker-0.0.4-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56cb86d2f304a616daebefe31089569efd4df19dbe4a377f8f188869ba69044a
BLAKE2b-256 checksum
How to use checksums
832fe270b416f13e5528b48148ff4ade3f5067db8a834da39286ae4882de0a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.10.12 Linux/5.15.0-119-generic

Security for cmdbroker 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page