Skip to content

Commit f65f57e

Browse files
committed
Better readme and toml updates
1 parent c0d7f7d commit f65f57e

File tree

2 files changed

+58
-35
lines changed

2 files changed

+58
-35
lines changed

README.md

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,60 @@
22

33
[![Build status](https://github.com/NtWriteCode/ssh-tunnel-manager/actions/workflows/main-build.yml/badge.svg)](https://github.com/NtWriteCode/ssh-tunnel-manager/actions/workflows/main-build.yml)
44

5+
<p align="center"><img src="./ssh_tunnel_manager/icon.ico" width="128" alt="SSH Tunnel Manager Icon"></p>
6+
57
A modern, user-friendly desktop application for managing SSH tunnels with ease.
68

79
## Overview
810

911
The SSH Tunnel Manager simplifies creating, managing, and executing SSH tunnels through an intuitive Graphical User Interface (GUI). Built with Python and PyQt6, it allows for easy configuration of connection profiles, port forwarding, and tunnel control.
1012

13+
## Getting Started
14+
15+
There are a couple of easy ways to get started with SSH Tunnel Manager:
16+
17+
### 1. Download Executable (Recommended)
18+
19+
The easiest way to use the application is to download a pre-built executable for your operating system.
20+
21+
1. Go to the [Releases page](https://github.com/NtWriteCode/ssh-tunnel-manager/releases).
22+
2. Download the latest executable for your system (Windows, macOS, or Linux).
23+
3. Run the downloaded application. No installation is typically required.
24+
25+
### 2. Install with pip (Cross-Platform)
26+
27+
If you have Python and pip installed, you can install the SSH Tunnel Manager GUI directly from PyPI:
28+
29+
```bash
30+
pip install ssh-tunnel-manager-gui
31+
```
32+
Then, you should be able to run it from your terminal (the exact command might depend on your system's PATH configuration, often it's `ssh-tunnel-manager-gui`).
33+
1134
## Key Features
1235

13-
* **Intuitive Profile Management:** Save, load, and manage multiple SSH connection profiles (server, port, key, port mappings).
36+
* **Intuitive Profile Management:** Save, load, and manage multiple SSH connection profiles.
1437
* **Easy Port Forwarding:** Configure multiple local-to-remote port mappings per profile.
15-
* **Simple Tunnel Control:** Start/stop tunnels with a click. Copy the underlying SSH command if needed.
38+
* **Simple Tunnel Control:** Start/stop tunnels with a click. Copy the underlying SSH command.
1639
* **Real-time Status:** Clear visual feedback on tunnel status (Idle, Starting, Running, Stopped, Errors).
1740
* **Automatic Persistence:** Profiles are saved to `~/.config/ssh_tunnel_manager/config.json`.
18-
* **User-Friendly Design:** Dynamic UI adjustments and clear visual cues for an improved experience.
1941

20-
## Requirements (for running from source)
42+
## Configuration
2143

22-
* Python 3.x
23-
* PyQt6 (`PyQt6>=6.0.0`)
24-
* `typing-extensions>=4.0.0`
25-
* An SSH client installed and available in your system's PATH (e.g., OpenSSH).
44+
Once the application is running:
2645

27-
## Getting Started
46+
* **Server:** Enter the SSH server address (`user@hostname`).
47+
* **SSH Port:** Specify the SSH server port (defaults to 22).
48+
* **SSH Key File:** (Optional) Path to your SSH private key (tilde `~` expansion supported).
49+
* **Port Forwarding:** Add/remove `Local Port` to `Remote Port` mappings.
50+
* **Profiles:** Save, load, or delete configurations. Changes are auto-saved.
51+
52+
Application data is stored in `~/.config/ssh_tunnel_manager/config.json`.
2853

29-
### Using a Release (Recommended)
54+
## For Developers
3055

31-
1. Go to the [Releases page](https://github.com/NtWriteCode/ssh-tunnel-manager/releases).
32-
2. Download the latest executable for your operating system (Windows, macOS, or Linux).
33-
3. Run the downloaded application. No installation is typically required.
56+
If you want to contribute or run the latest development version:
3457

35-
### Running from Source (for Development)
58+
### Running from Source
3659

3760
1. **Clone the repository:**
3861
```bash
@@ -42,39 +65,39 @@ The SSH Tunnel Manager simplifies creating, managing, and executing SSH tunnels
4265
2. **Create a virtual environment (recommended):**
4366
```bash
4467
python -m venv venv
45-
source venv/bin/activate # On Windows: venv\\Scripts\\activate
68+
source venv/bin/activate # On Windows: venv\Scripts\activate
4669
```
4770
3. **Install dependencies:**
4871
```bash
4972
pip install -r requirements.txt
73+
# For development, also install dev dependencies:
74+
# pip install -r requirements.dev.txt
5075
```
5176
4. **Run the application:**
5277
```bash
53-
python main.py
78+
python -m ssh_tunnel_manager.main # Or your project's main entry point
5479
```
80+
*(Note: I've assumed `python -m ssh_tunnel_manager.main` as a common way to run GUI apps from a package structure. If your entry point is just `python main.py` at the root, please adjust or let me know.)*
5581
56-
## Configuration
57-
58-
Once the application is running:
59-
60-
* **Server:** Enter the SSH server address (`user@hostname`).
61-
* **SSH Port:** Specify the SSH server port (defaults to 22).
62-
* **SSH Key File:** (Optional) Path to your SSH private key (tilde `~` expansion supported).
63-
* **Port Forwarding:** Add/remove `Local Port` to `Remote Port` mappings.
64-
* **Profiles:** Save, load, or delete configurations. Changes are auto-saved.
65-
* **Controls:** Use "Start/Stop Tunnel" and "Copy SSH Command" as needed.
82+
### Requirements (for running from source)
6683
67-
Application data is stored in `~/.config/ssh_tunnel_manager/config.json`.
84+
* Python 3.x
85+
* PyQt6 (`PyQt6>=6.0.0`)
86+
* `typing-extensions>=4.0.0`
87+
* An SSH client installed and available in your system's PATH (e.g., OpenSSH).
6888

69-
## Building from Source
89+
### Building from Source
7090

7191
The project uses PyInstaller. The GitHub Actions workflow (`.github/workflows/main-build.yml`) handles release builds.
7292

7393
To build manually:
74-
1. Install build dependencies: `pip install pyinstaller`
75-
2. Navigate to the project root.
76-
3. Run PyInstaller: `pyinstaller --onefile --name ssh-tunnel-manager main.py`
77-
(Add `--windowed` for a no-console build on Windows).
94+
1. Ensure you are in the project root with your virtual environment activated.
95+
2. Install build dependencies: `pip install pyinstaller`
96+
3. Run PyInstaller (example):
97+
```bash
98+
pyinstaller --onefile --name ssh-tunnel-manager-gui --windowed ssh_tunnel_manager/main.py
99+
```
100+
(Adjust `ssh_tunnel_manager/main.py` to your actual main script path. `--windowed` is good for GUI apps, especially on Windows. The name `ssh-tunnel-manager-gui` aligns with the assumed PyPI name.)
78101
Executables are found in the `dist` directory.
79102

80103
## Contributing
@@ -83,7 +106,7 @@ Contributions are welcome! Please fork the repository, create a feature branch,
83106

84107
1. Fork the Project
85108
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
86-
3. Commit your Changes (`git commit -m \'Add some AmazingFeature\'`)
109+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
87110
4. Push to the Branch (`git push origin feature/AmazingFeature`)
88111
5. Open a Pull Request
89112

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ requires = ["setuptools>=42", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[project]
6-
name = "ssh-tunnel-manager"
7-
version = "0.1.1"
6+
name = "ssh-tunnel-manager-gui"
7+
version = "0.2.0"
88
description = "A manager for SSH tunnels with a GUI."
99
readme = "README.md"
1010
requires-python = ">=3.8"

0 commit comments

Comments
 (0)