Android SSH VPN Client Application -- 2

Job ID: 38768580

Budget: $30 – $250 USD

Project Overview
Using Java and Gradle; Develop an Android application that functions as an SSH VPN client, allowing users to manage server connection profiles for both target servers and jump boxes. The application must support adding, editing, saving, and deleting these profiles.

Must be completed in 1 week.

Key Features

Profile Management
Connect to remote, Add, Edit, Save, and Delete Profiles: Users should be able to manage multiple server connection profiles.
Profile Details: Each profile must capture the following details:
Target Server:
Username
Password (to be ignored if a private key is provided)
Server IP or DNS
Port
Option to select private key from filesystem

JumpBox
Username
Password (to be ignored if a private key is provided)
Server IP or DNS
Port
Option to select private key from filesystem

Profile Format: Profiles can be combined into a single string format: username@server:port.
Connect via SSH using keyfile or password to selected server using jumpbox if supplied

Key Management
Support for loading and managing private key files.
Ensure that if a private key is supplied, the password field is not used.

User Interface
Create a user-friendly interface for easy navigation and profile management.
Ensure the interface allows easy access to all features mentioned above.

Security Features
Implement secure storage of sensitive information (e.g., passwords and private keys).
Follow best practices for encryption and data protection.

Compilation and Deployment
Provide all source code, build files, and rights upon project completion.
Payment will be made after successful compilation, building, and deployment of the APK file.

Technical Requirements
Development Environment: Android Studio or equivalent.
Programming Languages: Java/Kotlin for Android development.
Libraries/Frameworks: Familiarity with SSH libraries (e.g., JSch) is essential.

Freelancer Qualifications
Proven experience in Android app development.
Strong understanding of SSH protocols and VPN technologies.
Experience with secure key management practices.
Ability to deliver high-quality code.

Payment Terms
Payment will be released upon successful delivery of the compiled APK that meets all specified requirements.