Metadata-Version: 2.4
Name: lazyssh
Version: 1.5.1
Summary: A comprehensive SSH toolkit for managing connections and tunnels
Author-email: Bochner <lazyssh@example.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Bochner/lazyssh
Project-URL: Bug Tracker, https://github.com/Bochner/lazyssh/issues
Project-URL: Documentation, https://github.com/Bochner/lazyssh
Project-URL: Source Code, https://github.com/Bochner/lazyssh
Keywords: ssh,tunnel,proxy,socks,terminal,connection,management
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: Console
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: colorama>=0.4.6
Requires-Dist: rich>=13.0.0
Requires-Dist: click>=8.0.0
Requires-Dist: pexpect>=4.8.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: prompt_toolkit<3.1.0,>=3.0.39
Requires-Dist: wcwidth>=0.2.5
Requires-Dist: art>=5.9
Requires-Dist: paramiko>=3.0.0
Requires-Dist: tomli-w>=1.0.0
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# LazySSH

LazySSH is a modern CLI for managing SSH connections, tunnels, file transfers, and automation from one interactive prompt.

![LazySSH](https://raw.githubusercontent.com/Bochner/lazyssh/main/lazyssh.png)

## Highlights
- Interactive command mode with tab completion for every workflow
- Persistent SSH control sockets so sessions, tunnels, and transfers stay fast
- Forward, reverse, and dynamic SOCKS tunnels with friendly status tables
- Rich SCP mode with trees, batch downloads, and progress indicators
- Plugin system for local Python/shell automation that reuses open sockets

## Install
```bash
# Recommended
pipx install lazyssh

# Or use pip
pip install lazyssh

# From source
git clone https://github.com/Bochner/lazyssh.git
cd lazyssh
pip install -e .
```

Dependencies: Python 3.11+, OpenSSH client, and optionally the Terminator terminal emulator (LazySSH falls back to the native terminal automatically).

## Quick Start
```bash
# Launch the interactive shell
lazyssh

# Create a new connection (SSH key and SOCKS proxy optional)
lazyssh> lazyssh -ip 192.168.1.100 -port 22 -user admin -socket myserver -ssh-key ~/.ssh/id_ed25519

# Review active connections and tunnels
lazyssh> list

# Open a terminal session in the current window
lazyssh> open myserver

# Save the connection for next time
lazyssh> save-config myserver

# Show saved configs at startup (explicit path to the default file)
$ lazyssh --config /tmp/lazyssh/connections.conf

# Create a forward tunnel to a remote web service
lazyssh> tunc myserver l 8080 localhost 80

# Enter SCP mode to transfer files
lazyssh> scp myserver
scp myserver:/home/admin> get backup.tar.gz
```

Need a guided setup? Run `lazyssh> wizard lazyssh` for a prompt-driven connection workflow.

## Learn More
- [Getting Started](docs/getting-started.md) – first-run walkthroughs and everyday workflows
- [Reference](docs/reference.md) – command lists, environment variables, and config file details
- [Guides](docs/guides.md) – advanced tunnels, SCP tips, and automation with plugins
- [Troubleshooting](docs/troubleshooting.md) – quick fixes for connection, terminal, or SCP issues
- [Maintainers](docs/maintainers.md) – development environment, logging, and releasing

## Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions and coding standards.

## License
LazySSH is released under the MIT License.
