sgcIndy-Funktionen
Erweiterte Indy-TCP/IP-Komponenten mit OpenSSL-1.1/3.0-Unterstützung, XOAuth2-Authentifizierung und verbessertem Netzwerk-Stack für Delphi und Free Pascal.
Erweiterte Indy-TCP/IP-Komponenten mit OpenSSL-1.1/3.0-Unterstützung, XOAuth2-Authentifizierung und verbessertem Netzwerk-Stack für Delphi und Free Pascal.
Bring deine Indy-Anwendungen mit den neuesten OpenSSL-Bibliotheken und TLS-Standards auf den aktuellen Stand.
Volle Unterstützung für OpenSSL 1.1.x mit TLS 1.2 und TLS 1.3. Drop-in-Ersatz für die alte Indy-OpenSSL-Integration.
Unterstützung für die neueste OpenSSL-3.x-Serie mit neuer Provider-Architektur, FIPS-Konformität und verbesserter Cipher-Suite-Verwaltung.
Erstklassige TLS-1.3-Unterstützung mit 0-RTT-Resumption, verbesserter Handshake-Performance und modernen Cipher-Suites.
Eingebaute XOAuth2-Unterstützung für Gmail, Outlook und andere OAuth-2.0-Anbieter. Authentifiziere SMTP-, IMAP- und POP3-Verbindungen mit modernen OAuth-Flows.
Verbesserte Verbindungsverwaltung, Keep-Alive-Steuerung, Timeout-Kontrolle und Buffer-Management gegenüber den Standard-Indy-Komponenten.
sgcIndy ist kostenlos nutzbar. Kompatibel mit Delphi 7 bis RAD Studio 13 sowie Free Pascal/Lazarus. Keine Lizenzgebühren oder Royalties.
Vollwertiger SSH-2.0-Client für sichere Remote-Verbindungen. Führe Befehle aus, öffne interaktive Shells und richte Port-Forwarding ein — alles über verschlüsselte Kanäle.
TIdSSHClient übernimmt den kompletten SSH-Lebenszyklus: Versionsaustausch, Schlüsselaushandlung, Benutzerauthentifizierung und Channel-Verwaltung. Verbinde dich mit jedem SSH-Server und führe Befehle aus, öffne Shells oder leite Ports weiter — mit einer sauberen Delphi-Komponenten-API.
var
SSH: TIdSSHClient;
Output: string;
begin
SSH := TIdSSHClient.Create(nil);
try
SSH.Host := 'server.example.com';
SSH.Port := 22;
SSH.Authentication.Username := 'admin';
SSH.Authentication.Password := 'secret';
SSH.Connect;
// Execute a command and get output
Output := SSH.Execute('ls -la /var/log');
Memo1.Text := Output;
SSH.Disconnect;
finally
SSH.Free;
end;
end;
Methoden: Passwort, Public Key (RSA, ECDSA, ED25519) und Keyboard-Interactive. Lade private Schlüssel aus PEM-Dateien mit optionaler Passphrase. Host-Key-Verifizierung über das OnSSHHostKey-Ereignis.
Curve25519-, ECDH- und Diffie-Hellman-Schlüsselaustausch. AES-CTR- und AES-GCM-Cipher. HMAC-SHA2-Message-Authentication. Konfigurierbare Algorithmus-Präferenzen über die Algorithms-Eigenschaft.
Öffne mehrere Channels über eine Verbindung mit OpenChannel. Fordere exec, shell oder Subsystem (wie SFTP) pro Channel an. Sende Daten, Signale und EOF unabhängig pro Channel.
Konfigurierbare Keep-Alive-Intervalle und Max-Count zur Erkennung toter Verbindungen. Connect- und Read-Timeouts über SSHOptions. Automatische Re-Keying-Unterstützung über Rekey().
Local-to-Remote-Tunneling mit OpenDirectTCPIP. Remote-to-Local-Forwarding mit RequestForwarding und CancelForwarding. Leite beliebigen TCP-Traffic durch die verschlüsselte SSH-Verbindung.
OnSSHChannelData für eingehende Daten, OnSSHChannelExitStatus für Befehlsergebnisse, OnSSHAuthBanner für Server-Banner und OnSSHError für Fehlerbehandlung. Vollständig ereignisgesteuerte Architektur.
Sichere Dateiübertragung über SSH. Lade Remote-Dateien und -Verzeichnisse hoch, herunter und verwalte sie — mit Fortschrittsanzeige und voller Attributunterstützung.
TIdSFTPClient setzt auf TIdSSHClient auf und verwaltet das SFTP-Subsystem automatisch. Er bietet eine High-Level-API für alle gängigen Dateioperationen — ohne dass du SSH-Channels oder das SFTP-Protokoll manuell verwalten musst.
var
SFTP: TIdSFTPClient;
Items: TIdSFTPDirectoryItems;
i: Integer;
begin
SFTP := TIdSFTPClient.Create(nil);
try
SFTP.Host := 'sftp.example.com';
SFTP.Authentication.Username := 'admin';
SFTP.Authentication.PrivateKeyFile :=
'C:\Keys\id_rsa';
SFTP.Connect;
// Upload a file
SFTP.Put('C:\local\report.pdf',
'/remote/reports/report.pdf');
// List directory
Items := SFTP.ListDirectory('/remote/reports');
for i := 0 to Items.Count - 1 do
Memo1.Lines.Add(Items[i].FileName);
// Download a file
SFTP.Get('/remote/data.csv',
'C:\local\data.csv');
SFTP.Disconnect;
finally
SFTP.Free;
end;
end;
Get() downloads remote files to a local path or TStream. Put() uploads from a local path or TStream. Configurable buffer size via SFTPBufferSize for optimal throughput. OnSFTPProgress fires during transfer with bytes transferred, total size, and a Cancel flag.
ListDirectory() returns TIdSFTPDirectoryItems with file name, size, permissions, timestamps, and type for each entry. MakeDirectory() and RemoveDirectory() for folder management. GetCurrentDirectory() returns the remote working path.
Stat() and LStat() retrieve size, permissions, UID/GID, and timestamps. SetStat() modifies remote attributes. FileExists(), DirectoryExists(), and FileSize() for quick checks. Symlink support via Symlink() and ReadLink().
GetFileAsString() reads a remote file directly into a Delphi string. PutFileFromString() writes a string to a remote file. RealPath() resolves relative or symbolic paths to their absolute location on the server.
Inherits all SSH authentication from TIdSSHClient: password, public key (RSA, ECDSA, ED25519), and keyboard-interactive. Set credentials via the Authentication property. OnSSHHostKey event for server verification.
OnSFTPProgress tracks bytes transferred and total size with a Cancel flag to abort transfers. OnSFTPError provides error code and message. OnSFTPStatus for status updates. OnSFTPDirectoryList fires when directory listing completes.