feat: initial x3-ssh client
- GTK3 GUI with VTE terminal emulation - Tabbed SSH sessions - Server management (add/edit/remove) - SSH key management (generate/import/delete) - Quick connect bar - libssh for SSH connections - autotools build system (configure && make)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# x3-ssh
|
||||
|
||||
A GTK3-based SSH client with a tabbed terminal interface, server management, and SSH key storage.
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
- **Tabbed terminal** - Multiple SSH sessions in tabs
|
||||
- **Server management** - Save, edit, and remove SSH server configurations
|
||||
- **SSH key management** - Generate, import, and manage SSH keys
|
||||
- **Quick connect** - Connect directly via host/user/port fields
|
||||
- **VTE terminal** - Full terminal emulation with 256 color support
|
||||
- **Resizable pty** - Terminal auto-resizes the remote pty on window resize
|
||||
|
||||
## Dependencies
|
||||
|
||||
- GTK+ 3.0 (>= 3.24)
|
||||
- VTE 2.91 (>= 0.50)
|
||||
- libssh (>= 0.9)
|
||||
- autotools / autoconf / automake / libtool
|
||||
- pkg-config
|
||||
- g++ with C++17 support
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
# Install dependencies (Debian/Ubuntu)
|
||||
sudo apt install libgtk-3-dev libvte-2.91-dev libssh-dev \
|
||||
autoconf automake libtool pkg-config
|
||||
|
||||
# Build
|
||||
mkdir -p build-aux
|
||||
autoreconf -fi
|
||||
./configure
|
||||
make
|
||||
|
||||
# Install (optional)
|
||||
sudo make install
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Server configurations are stored in:
|
||||
```
|
||||
~/.config/sshclient/servers.conf
|
||||
```
|
||||
|
||||
SSH keys are stored in:
|
||||
```
|
||||
~/.config/sshclient/keys.conf
|
||||
~/.config/sshclient/keys/
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
1. Start the application: `./x3-ssh`
|
||||
2. **Quick Connect**: Enter host, user, and port in the toolbar, click "Connect"
|
||||
3. **Saved Servers**: Click "Servers" to add/edit/remove saved server configurations
|
||||
4. **SSH Keys**: Click "Keys" to generate or import SSH keys
|
||||
5. **Tabs**: Click "+ Tab" for a new empty tab, "Close Tab" to close the current one
|
||||
6. Select a saved server from the dropdown to auto-fill connection details
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user