Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/superflexible/TGPuttyLib
An SFTP client shared library (dll/so/dylib) with bindings and classes for C++, Delphi and Free Pascal based on PuTTY
https://github.com/superflexible/TGPuttyLib
putty sftp sftp-client
Last synced: 3 months ago
JSON representation
An SFTP client shared library (dll/so/dylib) with bindings and classes for C++, Delphi and Free Pascal based on PuTTY
- Host: GitHub
- URL: https://github.com/superflexible/TGPuttyLib
- Owner: superflexible
- License: other
- Created: 2019-10-21T19:20:40.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-02T19:56:18.000Z (5 months ago)
- Last Synced: 2024-06-02T21:35:37.084Z (5 months ago)
- Topics: putty, sftp, sftp-client
- Language: C
- Homepage: https://www.syncovery.com/tgputtylib/
- Size: 79.4 MB
- Stars: 95
- Watchers: 27
- Forks: 22
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY
Awesome Lists containing this project
- awesome-hacking-lists - superflexible/TGPuttyLib - An SFTP client shared library (dll/so/dylib) with bindings and classes for C++, Delphi and Free Pascal based on PuTTY (C)
README
# TGPuttyLib
A shared library / DLL with Delphi and C++ bindings based on PuTTY, for Windows, macOS, and Linux.The new TGPuttyLib SFTP Library is a DLL/.so/.dylib conversion of the psftp program from the well-known PuTTY suite by Simon Tatham.
It allows developers to transfer files with the highest possible transfer rates (over 100MB/sec). The rates are higher than with any other known library.
TGPuttyLib is based on PuTTY Release 0.80. Ready-to-use classes are currently available for C++, Delphi and Free Pascal.
The library is now available for Windows, macOS and Linux.
The compiled libraries can be found in the Win32/Win64/Linux (Compiled Libs)/macOS (Compiled Libs) folders. There is no difference between a Debug and Release version.
Compiled demos can be found in the Releases section, and on the project web site.
For more information, please visit the project web site:
https://www.syncovery.com/tgputtylib---------------------
DIRECTORIES AND FILES
---------------------tgputtylib.pas - Delphi Unit interfacing with the DLL
tgputtysftp.pas - Delphi SFTP Client Class (recommended, but uses 8-bit strings)
tgputtysftpclient.pas - Delphi SFTP Client Component (not needed, see note at the end of this document)
ctgputtylib.cpp,h - C++ DLL bindings
tgputtylibcbclass.cpp,h - C++ Builder SFTP Client Class (using 8-bit strings)
tgputtycbsftpclient.cpp,h - C++ Builder Component (using UnicodeStrings)
tgputtylibvcclass.cpp,h - Visual C++ SFTP Client Class (using 8-bit strings)
---------------------
TGPuttyLib.dpk etc. - Delphi Package for SFTP Client Component
TGPuttyLibCPP.cbproj etc. - C++ Builder Package for SFTP Client Component
---------------------
DelphiSimpleDemos - Delphi Command Line Demos
DelphiVCLComponentDemo - Fully working SFTP client application using the SFTP Client Component
DelphiVCLDemo - Fully working SFTP client application using the SFTP Client Class
FPCSimpleDemos - FPC Command Line Demos
CPPDemos - C++ Demos
---------------------
tgputtylib - DLL source code based on PuTTY
---------------------
bpl - compiled Delphi Package for XE 10.3
Win32, Win64 - compiled binaries for Windows
Linux (Compiled Libs) - compiled binaries for Linux (various CPU types)
macOS (Compiled Libs) - compiled binaries for macOS (Intel 32 and 64 bits)
---------------------
DELPHI RECOMMENDATION
Please consider just using the TTGPuttySFTP class in tgputtysftp.pas
rather than the TTGPuttySFTPClient component in tgputtysftpclient.pas.
Just include the folder with the Pascal source files in your compiler path.The class has many advantages! You don't have to install anything into the IDE.
Much easier when you switch to a newer Delphi version in the future.You can just create the class and assign properties in Delphi code, rather than using
the component.Take a look at the DelphiVCLDemo example, rather than DelphiVCLComponentDemo.
Note that the TTGPuttySFTP class uses AnsiStrings, so you need to work with Utf8Encode and Utf8Decode or Utf8ToString.
The component, on the other hand, uses UnicodeStrings.