Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rxxuzi/asap
The mission of this project: to make ssh operable with gui in a way that is easy to use even for beginners.
https://github.com/rxxuzi/asap
gui-application javafx-gui scala-app ssh ssh-client
Last synced: 2 months ago
JSON representation
The mission of this project: to make ssh operable with gui in a way that is easy to use even for beginners.
- Host: GitHub
- URL: https://github.com/rxxuzi/asap
- Owner: rxxuzi
- License: mit
- Created: 2024-07-09T12:45:55.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-02T05:37:35.000Z (5 months ago)
- Last Synced: 2024-09-30T03:23:38.484Z (3 months ago)
- Topics: gui-application, javafx-gui, scala-app, ssh, ssh-client
- Language: Scala
- Homepage:
- Size: 179 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![GitHub License](https://img.shields.io/github/license/rxxuzi/asap)
![GitHub Tag](https://img.shields.io/github/v/tag/rxxuzi/asap)
![Author](https://img.shields.io/badge/author-rxxuzi-70f)# asap
ASAP is a modern, GUI-based SSH client built with Scala 3, JavaFX, and Apache SSHD. It provides an intuitive interface for managing SSH connections, file transfers, and remote command execution.
Table of Contents
- [Features](#features)
- [Prerequisites](#Prerequisites)
- [Setup](#environment-setup)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Usage](#usage)
- [Build](#building-from-source)
- [Structure](#project-structure)
- [License](#license)## Features
- 🖥️ User-friendly GUI for SSH operations
- 🔐 Secure SSH connections using Apache SSHD
- 📁 Remote file browsing and management
- 🚀 Easy file transfer between local and remote systems
- 💻 Remote command execution with real-time output
- 🌓 Dark mode support for comfortable viewing
- 🛠️ Built with Scala 3 and SBT for modern development practices
- ⚙️ Customizable settings via JSON configuration files## Prerequisites
- Java Development Kit (JDK) 11 or higher
- Scala 3.3.1
- SBT (Scala Build Tool)
- JavaFX SDK 22.0.1 or compatible version## Environment Setup
1. Install JDK 11 or higher
2. Install Scala 3.3.1 and SBT
3. Download and install JavaFX SDK
4. Set the `JAVAFX_HOME` environment variable to point to your JavaFX SDK directory## Quick Start
1. Clone the repository:
```bash
git clone https://github.com/rxxuzi/asap.git
cd asap
```
2. Configure your SSH settings:
- For Windows users:
Use the provided create_ssh_config.bat script:
```
create_ssh_config.bat
```
- For Linux/macOS users:
Use the provided create_ssh_config.sh script:
```
chmod +x create_ssh_config.sh
./create_ssh_config.sh
```
- Follow the prompts to enter your SSH connection details.
- The script will generate an ssh_config.json file.3. Run the application:
```bash
sbt run
```## Configuration
ASAP uses JSON files for configuration. The main configuration file is typically named `asap.json`, and SSH connection details are stored in separate JSON files.
For detailed information about configuration options and file formats, please refer to the [Configuration Guide](doc/config.md).
## Usage
1. **Connect to SSH**:
- In the Home tab, enter the path to your SSH JSON configuration file.
- Click "Connect" to establish the SSH connection instantly.
2. **File Transfer**: Use the Send tab to upload files to the remote server.
3. **File Browsing**: Navigate remote files in the View tab.
4. **Remote Execution**: Run commands on the remote server using the Exec tab.## Building from Source
To build ASAP from source:
```bash
sbt assembly
```This will create a fat JAR in the `target/scala-3.3.1/` directory.
## Project Structure
The project uses SBT for build management. Key dependencies include:
- JavaFX 22.0.1
- Apache SSHD 2.13.1
- Gson 2.10.1For a complete list of dependencies, please refer to the [build.sbt](build.sbt) file.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.