sgcIndy Özellikleri

Delphi ve Free Pascal için OpenSSL 1.1/3.0 desteği, XOAuth2 kimlik doğrulama ve geliştirilmiş ağ özelliklerine sahip gelişmiş Indy TCP/IP bileşenleri.

Modern OpenSSL Desteği

Indy uygulamalarınızı en son OpenSSL kitaplıkları ve TLS standartlarıyla güncelleyin.

OpenSSL 1.1

TLS 1.2 ve TLS 1.3 ile OpenSSL 1.1.x için tam destek. Eski Indy OpenSSL entegrasyonu için doğrudan değiştirme.

OpenSSL 3.0

Yeni sağlayıcı mimarisi, FIPS uyumluluğu ve geliştirilmiş şifre paketi yönetimiyle en son OpenSSL 3.x serisi için destek.

TLS 1.3

0-RTT devam ettirme, geliştirilmiş el sıkışma performansı ve modern şifre paketleriyle birinci sınıf TLS 1.3 desteği.

XOAuth2 ve Gelişmiş TCP/IP

XOAuth2 Kimlik Doğrulama

Gmail, Outlook ve diğer OAuth 2.0 sağlayıcıları için yerleşik XOAuth2 desteği. SMTP, IMAP ve POP3 bağlantılarını modern OAuth akışlarıyla doğrulayın.

Gelişmiş TCP/IP

Standart Indy bileşenlerine göre geliştirilmiş bağlantı işleme, keep-alive yönetimi, zaman aşımı kontrolü ve arabellek yönetimi.

Ücretsiz ve Açık

sgcIndy kullanımı ücretsizdir. Delphi 7'den RAD Studio 13'e ve Free Pascal/Lazarus ile uyumludur. Lisans ücreti veya telif hakkı yok.

SSH İstemcisi — TIdSSHClient

Güvenli uzak bağlantılar için tam özellikli SSH 2.0 istemcisi. Komutları çalıştırın, etkileşimli kabuklar açın ve bağlantı noktası yönlendirmesi kurun — tümü şifreli kanallar üzerinden.

Güvenli Uzaktan Yürütme

TIdSSHClient, eksiksiz SSH yaşam döngüsünü yönetir: sürüm değişimi, anahtar müzakeresi, kullanıcı kimlik doğrulaması ve kanal yönetimi. Herhangi bir SSH sunucusuna bağlanın ve temiz bir Delphi bileşen API'siyle komut çalıştırın, kabuk açın veya bağlantı noktalarını yönlendirin.

  • Parola, Genel Anahtar ve Klavye-Etkileşimli kimlik doğrulama
  • Execute() — tek bir çağrıda uzak bir komut çalıştırın ve çıktıyı alın
  • RequestShell / RequestPTY — etkileşimli terminal oturumları açın
  • Bağlantı noktası yönlendirme — OpenDirectTCPIP ve RequestForwarding aracılığıyla yerel ve uzak TCP/IP tünelleme
  • Çok kanallı — tek bir bağlantı üzerinden birden fazla eşzamanlı oturum açın
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;

Kimlik Doğrulama

Parola, genel anahtar (RSA, ECDSA, ED25519) ve klavye-etkileşimli yöntemler. PEM dosyalarından isteğe bağlı parolayla özel anahtarları yükleyin. OnSSHHostKey olayı aracılığıyla ana bilgisayar anahtarı doğrulaması.

Modern Kriptografi

Curve25519, ECDH ve Diffie-Hellman anahtar değişimi. AES-CTR ve AES-GCM şifreleri. HMAC-SHA2 mesaj kimlik doğrulaması. Algorithms özelliği aracılığıyla yapılandırılabilir algoritma tercihleri.

Kanallar ve Alt Sistemler

OpenChannel ile tek bir bağlantı üzerinden birden fazla kanal açın. Kanal başına exec, shell veya alt sistem (SFTP gibi) isteyin. Kanal başına bağımsız olarak veri, sinyal ve EOF gönderin.

Keep-Alive ve Zaman Aşımları

Ölü bağlantıları algılamak için yapılandırılabilir keep-alive aralığı ve maksimum sayı. SSHOptions aracılığıyla bağlanma ve okuma zaman aşımları. Rekey() aracılığıyla otomatik yeniden anahtarlama desteği.

Bağlantı Noktası Yönlendirme

OpenDirectTCPIP ile yerelden uzağa tünelleme. RequestForwarding ve CancelForwarding ile uzaktan yerele yönlendirme. Herhangi bir TCP trafiğini şifreli SSH bağlantısı üzerinden tünelleyin.

Zengin Olaylar

Gelen veriler için OnSSHChannelData, komut sonuçları için OnSSHChannelExitStatus, sunucu başlıkları için OnSSHAuthBanner ve hata işleme için OnSSHError. Tam olay güdümlü mimari.

SFTP İstemcisi — TIdSFTPClient

SSH üzerinden güvenli dosya aktarımı. İlerleme takibi ve tam öznitelik desteğiyle uzak dosyaları ve dizinleri yükleyin, indirin ve yönetin.

Güvenli Dosya İşlemleri

TIdSFTPClient, TIdSSHClient'in üzerine kurulur ve SFTP alt sistemini otomatik olarak yönetir. Tüm yaygın dosya işlemleri için üst düzey bir API sağlar — SSH kanallarını veya SFTP protokolünü manuel olarak yönetmeye gerek yoktur.

  • Get / Put — dosyaları yola veya akışa göre indirin ve yükleyin
  • ListDirectory — uzak dizin içeriğini dosya öznitelikleriyle listeleyin
  • Delete / Rename — uzak dosyaları ve dizinleri yönetin
  • MakeDirectory / RemoveDirectory — klasör oluşturun ve kaldırın
  • OnSFTPProgress — aktarılan bayt, toplam boyut ve iptal desteğiyle aktarım ilerlemesini takip edin
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;

Dosya Aktarımları

Get(), uzak dosyaları yerel bir yola veya TStream'e indirir. Put(), yerel bir yoldan veya TStream'den yükler. Optimum verim için SFTPBufferSize aracılığıyla yapılandırılabilir arabellek boyutu. OnSFTPProgress, aktarım sırasında aktarılan bayt, toplam boyut ve bir Cancel bayrağıyla tetiklenir.

Dizin İşlemleri

ListDirectory(), her giriş için dosya adı, boyut, izinler, zaman damgaları ve türle birlikte TIdSFTPDirectoryItems döndürür. Klasör yönetimi için MakeDirectory() ve RemoveDirectory(). GetCurrentDirectory(), uzak çalışma yolunu döndürür.

Dosya Öznitelikleri

Stat() ve LStat(), boyutu, izinleri, UID/GID'yi ve zaman damgalarını alır. SetStat(), uzak öznitelikleri değiştirir. Hızlı kontroller için FileExists(), DirectoryExists() ve FileSize(). Symlink() ve ReadLink() aracılığıyla sembolik bağlantı desteği.

Dize Yardımcıları

GetFileAsString(), uzak bir dosyayı doğrudan bir Delphi dizesine okur. PutFileFromString(), bir dizeyi uzak bir dosyaya yazar. RealPath(), göreli veya sembolik yolları sunucudaki mutlak konumlarına çözer.

SSH Kimlik Doğrulama

Tüm SSH kimlik doğrulamasını TIdSSHClient'ten devralır: parola, genel anahtar (RSA, ECDSA, ED25519) ve klavye-etkileşimli. Kimlik bilgilerini Authentication özelliği aracılığıyla ayarlayın. Sunucu doğrulaması için OnSSHHostKey olayı.

Olaylar ve İlerleme

OnSFTPProgress, aktarımları iptal etmek için bir Cancel bayrağıyla aktarılan baytları ve toplam boyutu takip eder. OnSFTPError, hata kodu ve mesajı sağlar. Durum güncellemeleri için OnSFTPStatus. OnSFTPDirectoryList, dizin listeleme tamamlandığında tetiklenir.

Indy Bileşenlerinizi Yükseltin

sgcIndy'yi ücretsiz indirin ve uygulamalarınıza modern TLS desteği getirin.