Sample code for 30+ languages & platforms
DataFlex

SFTP using SOCKS Proxy

See more SFTP Examples

Demonstrates how to connect to an SFTP/SSH server through a SOCKS4 or SOCKS5 proxy.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoSftp
    String sHostname
    Integer iPort
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatSFtp)) To hoSftp
    If (Not(IsComObjectCreated(hoSftp))) Begin
        Send CreateComObject of hoSftp
    End

    // To use a SOCKS4 or SOCKS5 proxy, simply set the following
    // properties prior to connecting:
    // The SOCKS hostname may be a domain name or 
    // IP address:
    Set ComSocksHostname Of hoSftp To "www.mysocksproxyserver.com"
    Set ComSocksPort Of hoSftp To 1080
    Set ComSocksUsername Of hoSftp To "myProxyLogin"
    Set ComSocksPassword Of hoSftp To "myProxyPassword"

    // Set the SOCKS version to 4 or 5 based on the version
    // of the SOCKS proxy server:
    Set ComSocksVersion Of hoSftp To 5

    // Note: SOCKS4 servers only support usernames without passwords.
    // SOCKS5 servers support full login/password authentication.

    // Connect to the SSH server.  
    // The standard SSH port = 22
    // The hostname may be a hostname or IP address.
    Move "sftp.example.com" To sHostname
    Move 22 To iPort
    Get ComConnect Of hoSftp sHostname iPort To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoSftp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Your application is now connected to an SFTP/SSH server 
    // through a SOCKS4 or SOCKS5 proxy. 
    // ..


End_Procedure