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_HOME
environment 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 assembly
This 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.