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.
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.
Indy uygulamalarınızı en son OpenSSL kitaplıkları ve TLS standartlarıyla güncelleyin.
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.
Yeni sağlayıcı mimarisi, FIPS uyumluluğu ve geliştirilmiş şifre paketi yönetimiyle en son OpenSSL 3.x serisi için destek.
0-RTT devam ettirme, geliştirilmiş el sıkışma performansı ve modern şifre paketleriyle birinci sınıf TLS 1.3 desteği.
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.
Standart Indy bileşenlerine göre geliştirilmiş bağlantı işleme, keep-alive yönetimi, zaman aşımı kontrolü ve arabellek yönetimi.
sgcIndy kullanımı ücretsizdir. Delphi 7'den RAD Studio 13'e ve Free Pascal/Lazarus ile uyumludur. Lisans ücreti veya telif hakkı yok.
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.
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.
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;
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ı.
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.
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.
Ö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.
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.
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.
SSH üzerinden güvenli dosya aktarımı. İlerleme takibi ve tam öznitelik desteğiyle uzak dosyaları ve dizinleri yükleyin, indirin ve yönetin.
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.
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(), 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.
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.
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.
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.
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ı.
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.