La libreria SFTP TGPuttyLib è una conversione in forma di libreria del programma psftp della nota suite PuTTY di Simon Tatham.
Consente agli sviluppatori di trasferire file con le massime velocità di trasferimento possibili. Per ottenere questo risultato, alcune dimensioni dei buffer sono state aumentate.
TGPuttyLib è basata su PuTTY Release 0.83. Le classi pronte all’uso sono attualmente disponibili per C++, Delphi e Free Pascal.
La libreria è attualmente disponibile per Windows, macOS, Linux e FreeBSD.
Visualizza questo progetto su GitHub: github.com/superflexible/TGPuttyLib
Oppure scaricalo da qui:
Scarica TGPuttyLib per Windows e Linux, con codice sorgente e demo (Build 30: 32 e 64 bit)
Alcuni punti elenco:
- In Delphi, si consiglia di usare semplicemente la classe TTGPuttySFTP in tgputtysftp.pas invece del componente TTGPuttySFTPClient in tgputtysftpclient.pas. Per i dettagli, vedere la nostra raccomandazione su GitHub.
- La DLL PuTTY è thread-safe al 100% e può gestire un gran numero di connessioni e trasferimenti simultanei. Ogni connessione, e ogni thread, deve avere la propria istanza TTGPuttySFTP.
- Le modifiche al codice sorgente sono state effettuate con grande attenzione in modo minimale, per garantire un facile recepimento delle modifiche nelle future versioni di PuTTY.
- È possibile scegliere tra la classe TTGPuttySFTP e il componente TTGPuttySFTPClient. Se si sceglie la classe, deve essere creata interamente nel codice sorgente. La classe usa stringhe a 8 bit, mentre il componente è Unicode (supponendo che il server SFTP si aspetti la codifica UTF-8). I callback (eventi) verranno chiamati nello stesso thread in cui è stato chiamato un metodo TTGPuttySFTP, non nel thread principale.
- Le funzioni di shell SSH e SCP verranno probabilmente aggiunte in una futura versione.
- Sono inclusi vari demo, in particolare un client SFTP completamente funzionante con GUI (solo Delphi), oltre ad alcuni strumenti da riga di comando scritti in C++, Delphi e Free Pascal.
- Puoi trasferire file partendo da nomi di file o da stream. Puoi anche aprire direttamente un file e ottenere un handle del file, e implementare il tuo ciclo di upload usando le funzioni xfer_*. In questo modo hai accesso casuale al file, ma le funzioni xfer_* devono essere usate in un modo specifico. Al momento non esiste un esempio Pascal per questo, quindi devi dare un’occhiata alla funzione sftp_put_file in psftp.c.
- Il supporto proxy è disponibile dalla build 8.
- Ho compilato il codice C con le asserzioni abilitate, ma sono implementate come eccezioni Delphi tramite un #define e una funzione di callback. Ho piena intenzione di lasciare asserzioni ed eccezioni abilitate in tutte le versioni release.
- Contributi, richieste e altri tipi di feedback sono benvenuti, inviare a mio nome @ gmail . com (il mio nome è tobiasgiesen)
- La licenza di TGPuttyLib è la stessa della licenza di PuTTY, quindi può essere utilizzata sia in progetti open source che commerciali.
Puoi trovare ulteriori informazioni su PuTTY nella homepage di PuTTY.
Le modifiche alla libreria dinamica e il codice Pascal sono protetti da copyright 2019-2024 Tobias Giesen.
Sono distribuiti con la stessa licenza dell’originale PuTTY, vedi sotto.
Licenza di PuTTY
PuTTY è protetto da copyright 1997-2024 Simon Tatham.
Parti protette da copyright Robert de Bath, Joris van Rantwijk, Delian Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, Markus Kuhn, Colin Watson, Christopher Staite, Lorenz Diener, Christian Brabandt, Jeff Smith, Pavel Kryukov, Maxim Kuznetsov, Svyatoslav Kuzmich, Nico Williams, Viktor Dukhovni e CORE SDI S.A.
È qui concessa, gratuitamente, a chiunque ottenga una copia di questo software e dei file di documentazione associati (il “Software”), l’autorizzazione a utilizzare il Software senza restrizioni, inclusi, senza limitazioni, i diritti di usare, copiare, modificare, unire, pubblicare, distribuire, concedere in sublicenza e/o vendere copie del Software, e a consentire alle persone a cui il Software viene fornito di farlo, alle seguenti condizioni:
La suddetta nota di copyright e questa nota di autorizzazione devono essere incluse in tutte le copie o in porzioni sostanziali del Software.
IL SOFTWARE VIENE FORNITO “COSÌ COM’È”, SENZA ALCUNA GARANZIA DI ALCUN TIPO, ESPLICITA O IMPLICITA, INCLUSE, MA NON LIMITATE A, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ A UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO I TITOLARI DEL COPYRIGHT POTRANNO ESSERE RITENUTI RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA პასუხისმგabilità, SIA PER CONTRATTO, ILLECITO CIVILE O ALTRIMENTI, DERIVANTE DA, FUORI DA O IN RELAZIONE AL SOFTWARE O ALL’USO O AD ALTRE OPERAZIONI NEL SOFTWARE.
