Biblioteka SFTP TGPuttyLib jest biblioteką powstałą w wyniku konwersji programu psftp z dobrze znanego pakietu PuTTY autorstwa Simona Tathama.

Umożliwia programistom przesyłanie plików z najwyższymi możliwymi prędkościami transferu. Aby to osiągnąć, zwiększono niektóre rozmiary buforów.

TGPuttyLib opiera się na wydaniu PuTTY 0.83. Gotowe do użycia klasy są obecnie dostępne dla C++, Delphi i Free Pascala.

Biblioteka jest obecnie dostępna dla Windows, macOS, Linux i FreeBSD.

Zobacz ten projekt na GitHubie: github.com/superflexible/TGPuttyLib

Lub pobierz stąd:
Pobierz TGPuttyLib dla Windows i Linuxa, z kodem źródłowym i demonstracjami (Build 30: 32 i 64 bit)

Kilka punktów:

  • W Delphi prosimy rozważyć po prostu użycie klasy TTGPuttySFTP w tgputtysftp.pas zamiast komponentu TTGPuttySFTPClient w tgputtysftpclient.pas. Zobacz nasze zalecenie na GitHubie po szczegóły.
  • Biblioteka DLL PuTTY jest w 100% bezpieczna w środowisku wielowątkowym i może obsługiwać bardzo dużą liczbę jednoczesnych połączeń i transferów. Każde połączenie i każdy wątek musi mieć własną instancję TTGPuttySFTP.
  • Zmiany w kodzie źródłowym zostały starannie wykonane w minimalistyczny sposób, aby zapewnić łatwe uwzględnianie zmian w przyszłych wydaniach PuTTY.
  • Możesz wybrać między klasą TTGPuttySFTP a komponentem TTGPuttySFTPClient. Jeśli wybierzesz klasę, musi ona zostać utworzona całkowicie w kodzie źródłowym. Klasa używa ciągów 8-bitowych, natomiast komponent jest Unicode (przy założeniu, że serwer SFTP oczekuje kodowania UTF-8). Wywołania zwrotne (zdarzenia) będą wywoływane w tym samym wątku, w którym wywołano metodę TTGPuttySFTP — nie w wątku głównym.
  • Funkcje powłoki SSH i SCP prawdopodobnie zostaną dodane w przyszłej wersji.
  • W zestawie znajdują się różne demonstracje, w szczególności w pełni działający klient SFTP z GUI (tylko Delphi), a także kilka narzędzi wiersza poleceń napisanych w C++, Delphi i Free Pascal.
  • Możesz przesyłać pliki z nazw plików lub strumieni. Możesz też otworzyć plik bezpośrednio i uzyskać uchwyt pliku, a następnie zaimplementować własną pętlę wysyłania za pomocą funkcji xfer_*. W ten sposób masz swobodny dostęp do pliku, ale funkcji xfer_* trzeba używać w określony sposób. Obecnie nie ma przykładu w Pascalu, więc trzeba zajrzeć do funkcji sftp_put_file w psftp.c.
  • Obsługa serwera proxy jest dostępna od wersji 8.
  • Skompilowałem kod C z włączonymi asercjami, ale są one zaimplementowane jako wyjątki Delphi poprzez dyrektywę #define i funkcję zwrotną. Zamierzam pozostawić asercje i wyjątki włączone we wszystkich wersjach wydania.
  • Wkłady, prośby i inne formy opinii są mile widziane, proszę wysyłać na moje imię @ gmail . com (moje imię to tobiasgiesen)
  • Licencja TGPuttyLib jest taka sama jak licencja PuTTY, więc może być używana zarówno w projektach open source, jak i komercyjnych.

Więcej informacji o PuTTY można znaleźć na stronie domowej PuTTY.

Modyfikacje biblioteki dynamicznej oraz kod Pascal są objęte prawami autorskimi © 2019-2024 Tobias Giesen.
Są one rozpowszechniane na tej samej licencji co oryginalne PuTTY, patrz poniżej.

Licencja PuTTY
PuTTY © 1997-2024 Simon Tatham.

Części © 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 oraz CORE SDI S.A.

Niniejszym udziela się bezpłatnie każdej osobie, która otrzyma kopię niniejszego oprogramowania oraz powiązanych plików dokumentacji (“Oprogramowanie”), prawa do korzystania z Oprogramowania bez ograniczeń, w tym bez ograniczeń prawa do używania, kopiowania, modyfikowania, łączenia, publikowania, rozpowszechniania, udzielania sublicencji i/lub sprzedawania kopii Oprogramowania, a także do zezwalania osobom, którym Oprogramowanie zostało dostarczone, na takie działania, z zastrzeżeniem poniższych warunków:

Powyższa informacja o prawach autorskich oraz niniejsza informacja o zezwoleniu muszą być dołączone do wszystkich kopii lub istotnych części Oprogramowania.

OPROGRAMOWANIE JEST DOSTARCZANE “TAK JAK JEST”, BEZ JAKIEJKOLWIEK GWARANCJI, WYRAŹNEJ ANI DOROZUMIANEJ, W TYM MIĘDZY INNYMI BEZ GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU ORAZ NIENARUSZANIA PRAW. W ŻADNYM WYPADKU POSIADACZE PRAW AUTORSKICH NIE PONOSZĄ ODPOWIEDZIALNOŚCI ZA ŻADNE ROSZCZENIA, SZKODY ANI INNE ODPOWIEDZIALNOŚCI, CZY TO W RAMACH UMOWY, DELIKTU LUB W INNYM TRYBIE, WYNIKAJĄCE Z OPROGRAMOWANIA, Z JEGO UŻYWANIA LUB Z INNYCH DZIAŁAŃ Z NIM ZWIĄZANYCH.