swi

SwiftSH

A Swift SSH framework that wraps libssh2.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

157

Maintenance

Last Commit

2yrs ago

Contributors

3

Package

Dependencies

0

License

MIT

Categories

Readme

SwiftSH

Build Status Carthage compatible Pods Pod platforms

A Swift SSH framework that wraps libssh2.

Features:

  • Thread-safety
  • SSH shell
  • SSH command
  • SCP
  • SFTP
  • Tests
  • Documentation

📦 Installation

CocoaPods

CocoaPods is the dependency manager for Swift and Objective-C Cocoa projects. It has over ten thousand libraries and can help you scale your projects elegantly.

Add this to your Podfile:

use_frameworks!

pod 'SwiftSH'

Carthage

Carthage builds your dependencies and provides you with binary frameworks, but you retain full control over your project structure and setup.

Add this to your Cartfile:

github "Frugghi/SwiftSH"

📖 Documentation

The API documentation is available here.

💻 Usage

Import the framework:

import SwiftSH

Execute a SSH command:

let command = Command(host: "localhost", port: 22)
// ...
command.connect()
       .authenticate(.byPassword(username: "username", password: "password"))
       .execute(command) { (command, result: String?, error) in
           if let result = result {
               print("\(result)")
           } else {
               print("ERROR: \(error)")
           }
       }

Open a SSH shell:

let shell = Shell(host: "localhost", port: 22)
// ...
shell.withCallback { (string: String?, error: String?) in
         print("\(string ?? error!)")
     }
     .connect()
     .authenticate(.byPassword(username: "username", password: "password"))
     .open { (error) in
         if let error = error {
             print("\(error)")
         }
     }
// ...
shell.write("ls -lA") { (error) in
    if let error = error {
        print("\(error)")
    }
}
// ...
shell.disconnect()

⚠️ OpenSSL and Libssh2 binaries

SwiftSH includes precompiled binaries of Libssh2 and OpenSSL generated with this script. For security reasons, you are strongly encouraged to recompile the libraries and replace the binaries.

📄 License LICENSE

SwiftSH is released under the MIT license. See LICENSE for details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100