Skip to main content

Websocket terminal client

Project description

WSCls

The WebSocket Client Application is a terminal-based graphical user interface (TUI) designed to manage WebSocket connections and configurations. This application provides a user-friendly interface for connecting to WebSocket servers, sending and receiving messages, and managing various configurations and contexts.

Demo

Installation

pip install wscls

Run

wscls

Features

  • WebSocket Connection Management: Easily connect to and disconnect from WebSocket servers with support for SSL and auto-reconnect options.
  • Message Logging: View incoming and outgoing WebSocket messages in a rich log with options for word wrapping and auto-scrolling.
  • Configuration Management: Create, edit, and delete multiple configurations for different WebSocket servers.
  • Context and Variable Management: Define global and context-specific variables to customize WebSocket requests dynamically.
  • Template Support: Use templates for URLs and data, allowing for dynamic content generation based on defined variables.
  • User-Friendly Interface: Intuitive navigation and controls for managing connections, configurations, and messages.

Main Interface

Request Tab

  • Address Input: Enter the WebSocket server URL.
  • Connect Button: Initiate or terminate the connection to the specified WebSocket server.
  • Status Display: Shows the current connection status.
  • Log: Displays incoming and outgoing messages with options to clear and toggle word wrapping.
  • Data selector: choose predefined data to send.
  • Text Area: Compose messages to send to the WebSocket server.
  • Send and Ping Buttons: Send messages or ping the server to check connectivity.

Options Tab

  • Headers Management: Add, edit, or delete HTTP headers for WebSocket requests.
  • Auto Ping and Reconnect: Toggle automatic pinging and reconnection features.
  • SSL Check: Enable or disable SSL verification for secure connections.
  • Template Usage: Toggle the use of templates for URLs and data.
  • Configurations: Manage different server configurations.
  • Contexts and Variables: Define and manage contexts and their associated variables.

Templates usage

Templating involves using placeholders within a string that can be replaced with actual values at runtime. This is particularly useful when you need to send requests with dynamic content that changes based on the context or user input.

  1. Template Syntax:

    • The application uses Python's string.Template syntax, where placeholders are defined using the $ symbol followed by the variable name (e.g., $variable_name).
    • For more complex expressions or to avoid ambiguity, you can use curly braces to enclose the variable name (e.g., ${variable_name}).
  2. Defining Variables:

    • Variables can be defined globally or within specific contexts. Global variables are available across all contexts, while context-specific variables override global ones within their context.
    • These variables are stored in dictionaries and can be managed through the application's interface.
  3. Using Templates:

    • URL Templating: When the "Use Template for the URL" option is enabled, the application will process the URL field as a template, replacing any placeholders with their corresponding variable values.
    • Data Templating: Similarly, when the "Use templates for the data being sent" option is enabled, the message content will be processed as a template before being sent over the WebSocket connection.
  4. Example:

    • Suppose you have a global variable username with the value Alice. You can define a URL template like ws://example.com/user/$username.
    • When the application processes this template, it will replace $username with Alice, resulting in the URL ws://example.com/user/Alice.

Hotkeys

  • Ctrl + r - Send message(on text area only)
  • Ctrl + c - Quit

when focus is on the log area:

  • c - Clear log
  • w - Toggle word wrap
  • s - Toggle auto-scrolling

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wscls-1.1.6.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

wscls-1.1.6-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file wscls-1.1.6.tar.gz.

File metadata

  • Download URL: wscls-1.1.6.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for wscls-1.1.6.tar.gz
Algorithm Hash digest
SHA256 be90332fb55cf709b79d0a9c8aa1b1aaf2ec9bf8daa22d31ad616c907b1b63a6
MD5 099b3d2ba3db428cb87f3427f863a06d
BLAKE2b-256 837db47deffd272d8c908e99721e78a969c67bc5d67a3ee3790e8131b1b7642a

See more details on using hashes here.

File details

Details for the file wscls-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: wscls-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.4

File hashes

Hashes for wscls-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8ee6e2f398634b1194d158e7e7ca1ef75c9a0694362549da262784ea71b5bda0
MD5 f639738d3c1b965917fed2c0ab617a92
BLAKE2b-256 d2ffdaa6e5bcfe3e3913bc18e1341109105bc3c7b70117de1a42b92d6f0d5ba6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page