La biblioteca SFTP TGPuttyLib es una conversión de biblioteca del programa psftp de la conocida suite PuTTY de Simon Tatham.

Permite a los desarrolladores transferir archivos con las mayores tasas de transferencia posibles. Para ello se han aumentado algunos tamaños de búfer.

TGPuttyLib se basa en la versión 0.83 de PuTTY. Actualmente hay clases listas para usar disponibles para C++, Delphi y Free Pascal.

La biblioteca está actualmente disponible para Windows, macOS, Linux y FreeBSD.

Ver este proyecto en GitHub: github.com/superflexible/TGPuttyLib

O descárgalo desde aquí:
Descargar TGPuttyLib para Windows y Linux, con código fuente y demos (compilación 30: 32 y 64 bits)

Algunos puntos destacados:

  • En Delphi, considere usar directamente la clase TTGPuttySFTP en tgputtysftp.pas en lugar del componente TTGPuttySFTPClient en tgputtysftpclient.pas. Consulte nuestra recomendación en GitHub para más detalles.
  • La DLL de PuTTY es 100 % segura para hilos y puede gestionar una gran cantidad de conexiones y transferencias simultáneas. Cada conexión y cada hilo debe tener su propia instancia de TTGPuttySFTP.
  • Los cambios en el código fuente se han realizado cuidadosamente de forma minimalista para garantizar una adopción sencilla de los cambios en futuras versiones de PuTTY.
  • Puede elegir entre la clase TTGPuttySFTP y el componente TTGPuttySFTPClient. Si elige la clase, debe crearse completamente en código fuente. La clase utiliza cadenas de 8 bits, mientras que el componente es Unicode (suponiendo que el servidor SFTP espera codificación UTF-8). Las devoluciones de llamada (eventos) se llamarán en el mismo hilo en el que se llamó a un método de TTGPuttySFTP, no en el hilo principal.
  • Es probable que las funciones de shell SSH y SCP se añadan en una versión futura.
  • Se incluyen varias demos, en particular un cliente SFTP totalmente funcional con interfaz gráfica (solo Delphi), además de algunas herramientas de línea de comandos escritas en C++, Delphi y Free Pascal.
  • Puede transferir archivos a partir de nombres de archivo o de flujos. También puede abrir un archivo directamente y obtener un identificador de archivo, e implementar su propio bucle de carga utilizando las funciones xfer_*. De ese modo, tiene acceso aleatorio al archivo, pero las funciones xfer_* deben utilizarse de una manera específica. Actualmente no hay un ejemplo en Pascal para ello, así que debe echar un vistazo a la función sftp_put_file en psftp.c.
  • La compatibilidad con proxy está disponible desde la compilación 8.
  • Compilé el código C con las aserciones activadas, pero están implementadas como excepciones de Delphi mediante un #define y una función de devolución de llamada. Mi intención es dejar activadas las aserciones y las excepciones en todas las versiones finales.
  • Se agradecen contribuciones, peticiones y otros tipos de comentarios; por favor, envíelos a mi nombre @ gmail . com (mi nombre es tobiasgiesen)
  • La licencia de TGPuttyLib es la misma que la de PuTTY, por lo que puede utilizarse tanto en proyectos de código abierto como comerciales.

Puedes encontrar más información sobre PuTTY en la página principal de PuTTY.

Las modificaciones de la biblioteca dinámica y el código Pascal están protegidos por copyright © 2019-2024 Tobias Giesen.
Se distribuyen bajo la misma licencia que el PuTTY original, véase más abajo.

Licencia de PuTTY
PuTTY está protegido por copyright © 1997-2024 Simon Tatham.

Partes protegidas por copyright de 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 y CORE SDI S.A.

Por la presente se concede permiso, sin coste alguno, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el «Software»), para tratar el Software sin restricciones, incluido, entre otros, el derecho a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar o vender copias del Software, y a permitir a las personas a las que se proporcione el Software hacerlo, con sujeción a las siguientes condiciones:

El aviso de copyright anterior y este aviso de अनुमति deberán incluirse en todas las copias o en partes sustanciales del Software.

EL SOFTWARE SE SUMINISTRA «TAL CUAL», SIN NINGÚN TIPO DE GARANTÍA, EXPRESA O IMPLÍCITA, INCLUIDAS, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS TITULARES DEL COPYRIGHT SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRA RESPONSABILIDAD, YA SEA CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, DERIVADA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS CON EL SOFTWARE.