sgcIndy-functies
Uitgebreide Indy TCP/IP-componenten met OpenSSL 1.1/3.0-ondersteuning, XOAuth2-authenticatie en verbeterd netwerken voor Delphi en Free Pascal.
Uitgebreide Indy TCP/IP-componenten met OpenSSL 1.1/3.0-ondersteuning, XOAuth2-authenticatie en verbeterd netwerken voor Delphi en Free Pascal.
Breng je Indy-toepassingen up-to-date met de nieuwste OpenSSL-bibliotheken en TLS-standaarden.
Volledige ondersteuning voor OpenSSL 1.1.x met TLS 1.2 en TLS 1.3. Drop-in-vervanging voor de legacy Indy-OpenSSL-integratie.
Ondersteuning voor de nieuwste OpenSSL 3.x-serie met de nieuwe provider-architectuur, FIPS-compliance en verbeterd beheer van cipher suites.
Eersteklas TLS 1.3-ondersteuning met 0-RTT-hervatting, verbeterde handshake-prestaties en moderne cipher suites.
Ingebouwde XOAuth2-ondersteuning voor Gmail, Outlook en andere OAuth 2.0-providers. Authenticeer SMTP-, IMAP- en POP3-verbindingen met moderne OAuth-flows.
Verbeterde verbindingsafhandeling, keep-alive-beheer, timeout-controle en bufferbeheer boven op standaard Indy-componenten.
sgcIndy is gratis te gebruiken. Compatibel met Delphi 7 tot en met RAD Studio 13 en Free Pascal/Lazarus. Geen licentiekosten of royalty's.
Volledige SSH 2.0-client voor veilige externe verbindingen. Voer commando's uit, open interactieve shells en stel port forwarding in — alles over versleutelde kanalen.
TIdSSHClient handelt de volledige SSH-levenscyclus af: versie-uitwisseling, sleutelonderhandeling, gebruikersauthenticatie en kanaalbeheer. Verbind met elke SSH-server en voer commando's uit, open shells of forward poorten met een nette Delphi-component-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;
Wachtwoord, public key (RSA, ECDSA, ED25519) en keyboard-interactive-methoden. Laad private keys uit PEM-bestanden met optionele passphrase. Host-key-verificatie via het OnSSHHostKey-event.
Curve25519-, ECDH- en Diffie-Hellman-sleuteluitwisseling. AES-CTR- en AES-GCM-ciphers. HMAC-SHA2-berichtauthenticatie. Configureerbare algoritmevoorkeuren via de Algorithms-property.
Open meerdere kanalen over één verbinding met OpenChannel. Vraag per kanaal exec, shell of een subsysteem (zoals SFTP) aan. Verstuur data, signalen en EOF onafhankelijk per kanaal.
Configureerbaar keep-alive-interval en max-count om dode verbindingen te detecteren. Connect- en read-timeouts via SSHOptions. Automatische rekey-ondersteuning via Rekey().
Lokaal-naar-extern tunneling met OpenDirectTCPIP. Extern-naar-lokaal forwarding met RequestForwarding en CancelForwarding. Tunnel elk TCP-verkeer door de versleutelde SSH-verbinding.
OnSSHChannelData voor binnenkomende data, OnSSHChannelExitStatus voor commando-resultaten, OnSSHAuthBanner voor server-banners en OnSSHError voor foutafhandeling. Volledig event-gedreven architectuur.
Veilige bestandsoverdracht over SSH. Upload, download en beheer externe bestanden en mappen met voortgangsregistratie en volledige attribuutondersteuning.
TIdSFTPClient is gebouwd boven op TIdSSHClient en handelt het SFTP-subsysteem automatisch af. Het biedt een high-level API voor alle gangbare bestandsbewerkingen — je hoeft SSH-kanalen of het SFTP-protocol niet zelf te beheren.
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() downloadt externe bestanden naar een lokaal pad of TStream. Put() uploadt vanuit een lokaal pad of TStream. Configureerbare buffergrootte via SFTPBufferSize voor optimale doorvoer. OnSFTPProgress wordt tijdens de overdracht aangeroepen met bytes overgedragen, totale grootte en een Cancel-flag.
ListDirectory() retourneert TIdSFTPDirectoryItems met bestandsnaam, grootte, rechten, tijdstempels en type per item. MakeDirectory() en RemoveDirectory() voor mapbeheer. GetCurrentDirectory() geeft het externe werkpad terug.
Stat() en LStat() halen grootte, rechten, UID/GID en tijdstempels op. SetStat() wijzigt externe attributen. FileExists(), DirectoryExists() en FileSize() voor snelle controles. Symlink-ondersteuning via Symlink() en ReadLink().
GetFileAsString() leest een extern bestand direct in een Delphi-string. PutFileFromString() schrijft een string naar een extern bestand. RealPath() vertaalt relatieve of symbolische paden naar hun absolute locatie op de server.
Erft alle SSH-authenticatie van TIdSSHClient: wachtwoord, public key (RSA, ECDSA, ED25519) en keyboard-interactive. Stel credentials in via de Authentication-property. OnSSHHostKey-event voor serververificatie.
OnSFTPProgress houdt overgedragen bytes en totale grootte bij met een Cancel-flag om overdrachten af te breken. OnSFTPError levert foutcode en -bericht. OnSFTPStatus voor statusupdates. OnSFTPDirectoryList wordt aangeroepen als de mapinhoud is opgehaald.