1SSH package for U++
2--------------------
3SSH package is a flexible, easy-to-use, yet powerful libssh2 wrapper for Ultimate++.
4It supports both console and GUI-based applications on POSIX-compliant operating systems and
5MS Windows (tm).
6
7Classes:
8--------------------
9
10- Base (core) class  -> Ssh
11  - Ssh session        -----> SshSession
12  - Sftp subsystem     -----> SFtp
13     -  SFtp Stream interface       -----> SFtpStream
14     -  File system transparency    -----> SFtpFileSystemInfo
15  - Ssh channel        -----> SshChannel
16      - Scp channel                 -----> Scp
17      - Exec channel                -----> SshExec
18      - Real-time interactive shell -----> SshShell
19      - X11 forwarding              -----> SshShell (as operation mode)
20      - Tcp/IP and port forwarding  -----> SshTunnel
21- Known hosts manager -> SshHosts
22
23Features and Highlights:
24--------------------
25
26- Ssh-derived classes have pick semantics, based on RAII principle, support RTTI, and allow
27  polymorphism (i.e. different classes can be stored in the same array, etc.) through a common
28  interface.
29- Uses U++'s memory manager (Native manager (malloc) is also a compile-time option)
30- Uses OpenSSL by default.
31- Supports multithreading.
32- Supports 3rd-party network proxies.
33- Supports known hosts verification mechanism.
34- Supports password, public key, host-based, and keyboard-interactive authentication methods.
35- Supports ssh-agents.
36- Supports real-time interactive command line (shell) interface with both console and GUI integration
37  (SshShell works on both Windows and Posix-compliant OSes)
38- Supports X11 forwarding.
39  (A single SShShell instance is capable of handling multiple X11 requests simultaneously.)
40- Supports Tcp/IP and port forwarding.
41- Supports stream operations on SFTP objects.
42- Supports access to sftp folder hiearcy in a file-system-agnostic (transparent) way.
43- Supports detailed (full) debug logging.
44
45Reference examples:
46-------------------
47
48- SshBasics:    Demonstrates basic capabilities of SSH package.
49- SFtpFileSel:  Demonstrates FileSel integration of SFtp class, using FileSystemInfo interface.
50- SFtpBrowser:  Demonstrates a basic sftp browser with GUI.