Metadata-Version: 2.4
Name: divein
Version: 1.0.7
Summary: A simple, secure, and modern SSH connection manager
Home-page: https://github.com/Akhilesh2220/divein
Author: Akhilesh S
Author-email: akhileshs222000@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer
Requires-Dist: rich
Requires-Dist: cryptography
Requires-Dist: pexpect
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# DiveIn 🌊

DiveIn is a secure, modern, and user-friendly CLI tool for managing and connecting to your SSH hosts. It serves as a robust alternative to managing a complex `~/.ssh/config` file, offering features like encrypted password storage and an interactive interface.

## Features

-   **Secure Storage**: SSH passwords are encrypted using AES (Fernet) with a master password.
-   **Interactive UI**: Beautiful terminal interface powered by `Rich` and `Typer`.
-   **Quick Connect**: Connect to hosts by ID (`divein 1`) or nickname (`divein my-server`).
-   **Bulk Management**: Delete multiple hosts at once with range support (`divein rm 1-3,5`).
-   **Native Experience**: Seamless SSH integration without external dependencies like `sshpass`.

## Installation

Clone the repository and install it locally:

```bash
git clone https://github.com/yourusername/divein.git
cd divein
pip install -e .
```

## Usage

### Add a Host
Add a new SSH host. You will be prompted for a Master Password to encrypt your SSH password.

```bash
divein add
```

### List Hosts
View all your managed hosts in a table. You can interactively connect or delete hosts from this view.

```bash
divein list
```

### Connect
Connect to a host directly using its ID or nickname.

```bash
divein 1
# or
divein production-server
```

### View Details
See detailed information about a specific host.

```bash
divein show 1
```

### Remove Hosts
Delete hosts by ID, nickname, or range.

```bash
divein rm 1
divein rm 2-5,old-server
```

## Security

DiveIn uses PBKDF2HMAC for key derivation and Fernet (AES) for symmetric encryption. Your Master Password is used to unlock your SSH credentials only when needed and is never stored on disk.
