sgcIndy-functies

Uitgebreide Indy TCP/IP-componenten met OpenSSL 1.1/3.0-ondersteuning, XOAuth2-authenticatie en verbeterd netwerken voor Delphi en Free Pascal.

Moderne OpenSSL-ondersteuning

Breng je Indy-toepassingen up-to-date met de nieuwste OpenSSL-bibliotheken en TLS-standaarden.

OpenSSL 1.1

Volledige ondersteuning voor OpenSSL 1.1.x met TLS 1.2 en TLS 1.3. Drop-in-vervanging voor de legacy Indy-OpenSSL-integratie.

OpenSSL 3.0

Ondersteuning voor de nieuwste OpenSSL 3.x-serie met de nieuwe provider-architectuur, FIPS-compliance en verbeterd beheer van cipher suites.

TLS 1.3

Eersteklas TLS 1.3-ondersteuning met 0-RTT-hervatting, verbeterde handshake-prestaties en moderne cipher suites.

XOAuth2 & uitgebreid TCP/IP

XOAuth2-authenticatie

Ingebouwde XOAuth2-ondersteuning voor Gmail, Outlook en andere OAuth 2.0-providers. Authenticeer SMTP-, IMAP- en POP3-verbindingen met moderne OAuth-flows.

Uitgebreid TCP/IP

Verbeterde verbindingsafhandeling, keep-alive-beheer, timeout-controle en bufferbeheer boven op standaard Indy-componenten.

Gratis & open

sgcIndy is gratis te gebruiken. Compatibel met Delphi 7 tot en met RAD Studio 13 en Free Pascal/Lazarus. Geen licentiekosten of royalty's.

SSH-client — TIdSSHClient

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.

Veilige externe uitvoering

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.

  • Password, public key & keyboard-interactive-authenticatie
  • Execute() — voer in één aanroep een extern commando uit en haal de output op
  • RequestShell / RequestPTY — open interactieve terminalsessies
  • Port forwarding — lokale en externe TCP/IP-tunneling via OpenDirectTCPIP en RequestForwarding
  • Multi-channel — open meerdere gelijktijdige sessies over één verbinding
SSH_Example.pas
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;

Authenticatie

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.

Moderne cryptografie

Curve25519-, ECDH- en Diffie-Hellman-sleuteluitwisseling. AES-CTR- en AES-GCM-ciphers. HMAC-SHA2-berichtauthenticatie. Configureerbare algoritmevoorkeuren via de Algorithms-property.

Kanalen & subsystemen

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.

Keep-alive & timeouts

Configureerbaar keep-alive-interval en max-count om dode verbindingen te detecteren. Connect- en read-timeouts via SSHOptions. Automatische rekey-ondersteuning via Rekey().

Port forwarding

Lokaal-naar-extern tunneling met OpenDirectTCPIP. Extern-naar-lokaal forwarding met RequestForwarding en CancelForwarding. Tunnel elk TCP-verkeer door de versleutelde SSH-verbinding.

Uitgebreide events

OnSSHChannelData voor binnenkomende data, OnSSHChannelExitStatus voor commando-resultaten, OnSSHAuthBanner voor server-banners en OnSSHError voor foutafhandeling. Volledig event-gedreven architectuur.

SFTP-client — TIdSFTPClient

Veilige bestandsoverdracht over SSH. Upload, download en beheer externe bestanden en mappen met voortgangsregistratie en volledige attribuutondersteuning.

Veilige bestandsbewerkingen

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.

  • Get / Put — download en upload bestanden via pad of stream
  • ListDirectory — toon de inhoud van een externe map met bestandsattributen
  • Delete / Rename — beheer externe bestanden en mappen
  • MakeDirectory / RemoveDirectory — maak en verwijder mappen
  • OnSFTPProgress — volg de overdracht met bytes overgedragen, totale grootte en annulerings-ondersteuning
SFTP_Example.pas
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;

Bestandsoverdrachten

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.

Mapbewerkingen

ListDirectory() retourneert TIdSFTPDirectoryItems met bestandsnaam, grootte, rechten, tijdstempels en type per item. MakeDirectory() en RemoveDirectory() voor mapbeheer. GetCurrentDirectory() geeft het externe werkpad terug.

Bestandsattributen

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().

String-helpers

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.

SSH-authenticatie

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.

Events & voortgang

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.

Upgrade je Indy-componenten

Download sgcIndy gratis en breng moderne TLS-ondersteuning naar je toepassingen.