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
- 🖥️ 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
- Java Development Kit (JDK) 11 or higher
- Scala 3.3.1
- SBT (Scala Build Tool)
- JavaFX SDK 22.0.1 or compatible version
- Install JDK 11 or higher
- Install Scala 3.3.1 and SBT
- Download and install JavaFX SDK
- Set the
JAVAFX_HOMEenvironment variable to point to your JavaFX SDK directory
-
Clone the repository:
git clone https://github.com/rxxuzi/asap.git cd asap -
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.
- For Windows users:
Use the provided create_ssh_config.bat script:
-
Run the application:
sbt run
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.
- Connect to SSH:
- In the Home tab, enter the path to your SSH JSON configuration file.
- Click "Connect" to establish the SSH connection instantly.
- File Transfer: Use the Send tab to upload files to the remote server.
- File Browsing: Navigate remote files in the View tab.
- Remote Execution: Run commands on the remote server using the Exec tab.
To build ASAP from source:
sbt assemblyThis will create a fat JAR in the target/scala-3.3.1/ directory.
The project uses SBT for build management. Key dependencies include:
- JavaFX 22.0.1
- Apache SSHD 2.13.1
- Gson 2.10.1
For a complete list of dependencies, please refer to the build.sbt file.
This project is licensed under the MIT License - see the LICENSE file for details.