Coder Social home page Coder Social logo

ro9ueadmin / sshtunnel-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joevandeventer/sshtunnel

0.0 1.0 0.0 22.7 MB

Swift framework for integrating SSH tunneling into apps

License: MIT License

Swift 1.35% C 86.31% C++ 12.31% Objective-C 0.03%

sshtunnel-1's Introduction

SSHTunnel

SSHTunnel is a framework for development tools to allow secure remote access to your server resources. Frequently a tool for development, such as a MySQL client, might need access to a service that isn't accessible to the outside world for security reasons. If you're creating such an app, integrating SSHTunnel allows the user to create a secure tunnel to their server, accessing it as though they're logged in locally. You simply give it the address of the server, the port you'd like to connect to, and your SSH authentication data, and SSHTunnel will return a port number. Tell your app to connect to that port on localhost, and presto! You have an encrypted tunnel to your service.

A typical use case looks like:

        var tunnel = SSHTunnel(toHostname: "dev.nuptunes.com", port: 6379, username: "fritter")
        tunnel.delegate = self
        tunnel.connect()

The delegate will then be called to interact with the server for session negotiation - particularly authentication.

This code is obviously very early, and any bug fixes/gaping security holes/code improvements are appreciated.

Known bugs/planned fixes

  • Account for non-fatal error handling (fixes issues with authentication)
  • Add separate call/response for fingerprint checking to allow for user interaction
  • Fix inevitable memory leaks that I missed
  • Get rid of select(), fix multithreaded connection code
  • Refactor more C code into C struct extensions
  • CocoaPods/Carthage/SwiftPM support
  • Switch to libssh (libssh2 is very nice but lacks advanced cert support)

sshtunnel-1's People

Contributors

joevandeventer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.