telnet_wrapper-0.1.0 is not a library.
telnet_wrapper
A telnet server that wraps any terminal application, exposing it to telnet clients with proper protocol support.
Features
- Wraps any terminal application and exposes it via telnet
- Telnet protocol support using libtelnet-rs
- Window size negotiation (NAWS) - automatically resizes the PTY when the client window changes
- Character-by-character input (no line buffering)
- Supports multiple concurrent clients
- Configurable initial terminal size
- Configurable listening port
Installation
From crates.io
From source
Usage
Arguments
| Argument | Description |
|---|---|
<APP_COMMAND> |
The application command to run within the PTY |
[APP_ARGS]... |
Arguments to pass to the application command |
Options
| Option | Default | Description |
|---|---|---|
--port <PORT> |
23 | Port to listen on |
--rows <ROWS> |
24 | Initial number of rows for the PTY |
--cols <COLS> |
80 | Initial number of columns for the PTY |
-h, --help |
Print help | |
-V, --version |
Print version |
Examples
Expose htop on port 2323
Then connect:
Run a shell accessible via telnet
Run vim with a specific file
Custom terminal size
Telnet Protocol Support
This wrapper implements the following telnet options:
| Option | Description |
|---|---|
| ECHO | Server-side echo (enables character mode) |
| SGA | Suppress Go Ahead (required for character mode) |
| NAWS | Negotiate About Window Size (dynamic terminal resizing) |
| LINEMODE | Disabled to ensure character-by-character input |
Tips
- To close a telnet connection, press
Ctrl+]and then typeqor pressCtrl+D - Ports below 1024 require root/administrator privileges. Use higher port numbers when possible
- Don't expose terminals/shells/file editors on publicly accessible addresses! This can be easily exploited to take control over your server. Only expose services within trusted local network or securely-designed applications that do not expose a risk of damaging your system.
- The
TERMenvironment variable is set toxterm-256colorfor the wrapped application
License
MIT License - see LICENSE for details.