Sample code for 30+ languages & platforms
PureBasic

SSH using SOCKS Proxy

See more SSH Examples

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

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkSsh.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ssh.i = CkSsh::ckCreate()
    If ssh.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; 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:
    CkSsh::setCkSocksHostname(ssh, "www.mysocksproxyserver.com")
    CkSsh::setCkSocksPort(ssh, 1080)
    CkSsh::setCkSocksUsername(ssh, "myProxyLogin")
    CkSsh::setCkSocksPassword(ssh, "myProxyPassword")

    ; Set the SOCKS version to 4 or 5 based on the version
    ; of the SOCKS proxy server:
    CkSsh::setCkSocksVersion(ssh, 5)

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

    ; Connect to an SSH server via a SOCKS proxy:
    hostname.s
    port.i

    ; Hostname may be an IP address or hostname:
    hostname = "192.168.1.108"
    port = 22

    success = CkSsh::ckConnect(ssh,hostname,port)
    If success <> 1
        Debug CkSsh::ckLastErrorText(ssh)
        CkSsh::ckDispose(ssh)
        ProcedureReturn
    EndIf

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


    CkSsh::ckDispose(ssh)


    ProcedureReturn
EndProcedure