TGPuttyLib SFTP Library는 잘 알려진 Simon Tatham의 PuTTY 제품군에 포함된 psftp 프로그램을 라이브러리로 변환한 것입니다.

이 라이브러리는 개발자가 가능한 한 가장 높은 전송 속도로 파일을 전송할 수 있게 해 줍니다. 이를 위해 일부 버퍼 크기를 늘렸습니다.

TGPuttyLib는 PuTTY 0.83 릴리스를 기반으로 합니다. 바로 사용할 수 있는 클래스는 현재 C++, Delphi 및 Free Pascal용으로 제공됩니다.

이 라이브러리는 현재 Windows, macOS, Linux 및 FreeBSD에서 사용할 수 있습니다.

이 프로젝트를 GitHub에서 보기: github.com/superflexible/TGPuttyLib

또는 여기에서 다운로드하세요:
Windows 및 Linux용 TGPuttyLib 다운로드, 소스 및 데모 포함 (빌드 30: 32비트 및 64비트)

몇 가지 항목:

  • Delphi에서는 tgputtysftp.pas의 TTGPuttySFTP 클래스만 사용하는 것을 고려해 보십시오. tgputtysftpclient.pas의 TTGPuttySFTPClient 컴포넌트 대신 사용하십시오. 자세한 내용은 GitHub의 권장 사항을 참조하십시오.
  • PuTTY DLL은 100% 스레드 세이프이며 매우 많은 수의 동시 연결과 전송을 처리할 수 있습니다. 각 연결과 각 스레드에는 고유한 TTGPuttySFTP 인스턴스가 있어야 합니다.
  • 소스 코드 변경은 향후 PuTTY 릴리스에서의 변경 사항을 쉽게 적용할 수 있도록 최소한의 방식으로 신중하게 이루어졌습니다.
  • TTGPuttySFTP 클래스와 TTGPuttySFTPClient 컴포넌트 중에서 선택할 수 있습니다. 클래스를 선택하면 소스 코드에서 완전히 생성해야 합니다. 클래스는 8비트 문자열을 사용하며, 컴포넌트는 유니코드입니다(SFTP 서버가 UTF-8 인코딩을 기대한다고 가정할 때). 콜백(이벤트)은 메인 스레드가 아니라 TTGPuttySFTP 메서드가 호출된 동일한 스레드에서 호출됩니다.
  • SSH 셸 및 SCP 기능은 향후 버전에 추가될 가능성이 높습니다.
  • 여러 데모가 포함되어 있으며, 특히 GUI가 있는 완전한 SFTP 클라이언트(Delphi 전용)와 C++, Delphi, Free Pascal로 작성된 몇 가지 명령줄 도구가 포함됩니다.
  • 파일 이름이나 스트림에서 파일을 전송할 수 있습니다. 또한 파일을 직접 열어 파일 핸들을 얻고, xfer_* 함수를 사용하여 직접 업로드 루프를 구현할 수도 있습니다. 이렇게 하면 파일에 임의 접근할 수 있지만, xfer_* 함수는 특정한 방식으로 사용해야 합니다. 현재 이에 대한 Pascal 예제는 없으므로 psftp.c의 sftp_put_file 함수를 살펴봐야 합니다.
  • 프록시 지원은 빌드 8부터 제공되었습니다.
  • 저는 C 코드를 어설션을 활성화한 상태로 컴파일했지만, 이는 #define과 콜백 함수를 통해 Delphi 예외로 구현됩니다. 모든 릴리스 버전에서 어설션과 예외를 계속 활성화해 둘 예정입니다.
  • 기여, 요청 및 기타 의견을 환영합니다. my name @ gmail . com으로 보내 주십시오(my name은 tobiasgiesen입니다).
  • TGPuttyLib 라이선스는 PuTTY 라이선스와 동일하므로 오픈 소스 및 상용 프로젝트 모두에서 사용할 수 있습니다.

PuTTY에 대한 자세한 내용은 PuTTY 홈페이지에서 확인할 수 있습니다.

동적 라이브러리 수정 사항과 Pascal 코드는 2019-2024 Tobias Giesen의 저작권입니다.
이들은 원본 PuTTY와 동일한 라이선스에 따라 배포되며, 아래를 참조하십시오.

PuTTY 라이선스
PuTTY의 저작권은 1997-2024 Simon Tatham에게 있습니다.

일부는 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 및 CORE SDI S.A.의 저작권에 속합니다.

본 소프트웨어 및 관련 문서 파일(이하 “Software”)의 복사본을 취득한 모든 사람에게, 무료로, 본 Software를 제한 없이 다룰 수 있는 권한이 부여됩니다. 여기에는 사용, 복사, 수정, 병합, 게시, 배포, 재라이선스 및/또는 Software의 복사본 판매 권한이 포함되며, 다음 조건에 따라 Software가 제공된 사람에게 이를 허용할 수 있습니다.

위 저작권 고지 및 이 허가 고지는 Software의 모든 복사본 또는 중요한 부분에 포함되어야 합니다.

본 Software는 상품성, 특정 목적 적합성 및 비침해를 포함하되 이에 국한되지 않는 어떠한 종류의 명시적 또는 묵시적 보증 없이 “있는 그대로” 제공됩니다. 어떠한 경우에도 저작권자는 본 Software의 사용 또는 그 밖의 처리와 관련하여 발생하는 계약, 불법행위 또는 기타 사유에 따른 어떠한 청구, 손해 또는 기타 책임에 대해서도 책임을 지지 않습니다.