sgcIndy vs Indy — czym się różnią

sgcIndy to utrzymywana, aktualizowana i unowocześniona dystrybucja biblioteki Indy, nie jest to fork ani zamiennik. Ta strona zawiera dokładną listę tego, co sgcIndy dodaje do oryginalnej pracy Indy Pit Crew (Remy Lebeau, Hadi Hariri i Indy Working Group), oraz tego, co pozostaje bez zmian.

Dwa sposoby korzystania z Indy

Jednoparagrafowe podsumowanie każdej opcji z linkiem do oficjalnej dokumentacji lub repozytorium. Szczegółowe porównanie znajdziesz w poniższej macierzy.

Indy

Indy Pit Crew — Remy Lebeau, Hadi Hariri, the Indy Working Group · Dual: Indy Modified BSD or Indy MPL

Oryginalna biblioteka Internet Direct z podwójną licencją (Modified BSD / MPL), utrzymywana przez Indy Pit Crew na GitHubie pod adresem IndySockets/Indy. Dołączana do każdej nowej instalacji RAD Studio; obejmuje TCP/UDP/surowe gniazda oraz ponad 120 klientów i serwerów protokołów wyższego poziomu (HTTP, FTP, SMTP, POP3, IMAP, NNTP, IRC i inne). Aktualna integracja OpenSSL (IdSSLOpenSSL.pas / IdSSLOpenSSLHeaders.pas) celuje w ABI OpenSSL 1.0.x; wyliczenie wersji TLS kończy się na TLSv1.2. SASL OAuth2 / XOAUTH2 zapewnia IdSASLOAuth.pas.

Official page

Porównanie funkcji obok siebie

Znacznik () oznacza, że projekt dokumentuje natywną obsługę w bieżącym źródle. Kreska (—) oznacza, że projekt nie zapewnia tego natywnie. Tylda (~) oznacza częściowe wsparcie / przez dodatek / niezweryfikowane — patrz sekcja Źródła, co zostało sprawdzone.

Krypto, protokoły, platformy, dystrybucja

18 wierszy
Feature Indy sgcIndy
Obsługa OpenSSL 1.0.x Powiązania celują w przestarzały ABI OpenSSL 1.0.x
Obsługa OpenSSL 1.1.x Powiązania dla API OpenSSL 1.1.x (aktualne LTS do 2023) —
Obsługa OpenSSL 3.0.x Powiązania dla API opartego na dostawcach OpenSSL 3.x —
TLS 1.3 TLS 1.3 dostępny do wyboru w opcjach SSL —
Komponent klienta SSH (TIdSSHClient) Klient SSH 2.0 (IdSSHClient.pas) z uwierzytelnianiem kluczem i hasłem, kanałami exec / shell i przekierowaniem portów — nie dostarczany przez Indy upstream —
Komponent klienta SFTP (TIdSFTPClient) Klient SFTP v3 przez SSH (IdSFTPClient.pas) do przesyłania / pobierania plików / listowania katalogów — Indy upstream dostarcza tylko FTP / FTPS, nie SFTP —
XOAuth2 SMTP / IMAP / POP3 Mechanizm SASL RFC 7628 / Google XOAUTH2
IPv6 natywny Natywna obsługa gniazd IPv6
Zgodny z Delphi 7 Kompiluje się na oryginalnym łańcuchu narzędzi Delphi 7
Zgodny z RAD Studio 13 Kompiluje się na RAD Studio 13 Florence
Zgodny z Lazarus / FPC Buduje się pod Free Pascal / Lazarus
Zgodny z C++ Builder Cele VCL / FMX dla C++ Builder
Automatyczny instalator dla każdej wersji Delphi / C++ Builder Instalator jednym kliknięciem, który wykrywa każde zainstalowane IDE i rejestruje pakiety runtime + design-time, ścieżki bibliotek i ścieżki BPL —
Dostępne skompilowane pliki binarne DCU Gotowe do pobrania pliki DCU / BPL —
Pełny kod źródłowy w zestawie Źródła Pascal dostępne dla programisty
Bezpłatny do użytku komercyjnego Licencja zezwala na bezpłatne wdrożenie w aplikacjach komercyjnych
Aktywne utrzymanie (ostatnie 12 miesięcy) Wydanie lub otagowana aktywność w ciągu ostatnich 12 miesięcy ~
Dołączony do biblioteki eSeGeCe Dostarczany razem z sgcWebSockets / sgcHTML / sgcOpenAPI / sgcSign / sgcBiometrics w All-Access —

Wzmocnienie bezpieczeństwa serwera (opcjonalne)

5 wierszy
Feature Indy sgcIndy
Rygorystyczna weryfikacja certyfikatu TLS StrictVerify wymusza werdykt OpenSSL, dzięki czemu wywołanie zwrotne weryfikacji nie może zakończyć się przepuszczeniem błędu i zaakceptowaniem niezaufanego certyfikatu —
Flagi wzmacniające TLS DisableCompression (CRIME), DisableRenegotiation (DoS przez renegocjację) oraz ServerCipherPreference udostępnione jako opcje SSL —
Całkowity limit czasu odczytu chroniący przed Slowloris SetReadDeadline i RequestReadTimeout ograniczają całkowity czas odczytu żądania, pokonując klientów sączących dane powoli, którzy wciąż resetują limit czasu bezczynności —
Limity rozmiaru treści & nagłówków żądania HTTP MaxRequestBodySize (413), MaxHeaderTotalSize (431) i MaxInputBufferSize ograniczają pamięć serwera przed zbyt dużymi żądaniami —
Ochrona przed przemytem żądań HTTP StrictRequestParsing odrzuca niejednoznaczne żądania z Content-Length + Transfer-Encoding oraz ujemne rozmiary fragmentów (400) —
Udokumentowana natywna obsługa — Nie dostarczana natywnie ~ Częściowe / przez dodatek / niezweryfikowane

Łatki i unowocześnienia na bazie Indy

sgcIndy zachowuje model komponentów Indy, nazwy modułów i nazwy klas dokładnie takimi, jakie są, a następnie dodaje nowoczesne powiązania OpenSSL, TLS 1.3, spakowane pliki binarne i wspólny cykl wydań z resztą biblioteki eSeGeCe. Prefiks sgcId*, który mogłeś zobaczyć gdzie indziej, należy do sgcWebSockets, który niesie własny, przemianowany fork Indy, aby oba mogły stać obok siebie w jednym IDE. sgcIndy to nie ten fork i nic w nim nie jest przemianowane.

Powiązania OpenSSL 1.1.x

Nagłówki dla ABI OpenSSL 1.1.x obok przestarzałego API 1.0.x, dzięki czemu możesz linkować z libssl-1_1 / libcrypto-1_1 bez łatania oryginalnych jednostek SSL Indy.

Powiązania OpenSSL 3.0.x

Nagłówki dla architektury dostawców OpenSSL 3.x, w tym procedury wykrywania wersji (OpenSSL_version_num, OpenSSL_version) eksportowane przez bibliotekę 3.x.

TLS 1.3 w opcjach SSL

Wyliczenie TIdSSLVersion zostało rozszerzone o sslvTLSv1_3, a kontekst OpenSSL stosuje SSL_OP_NO_TLSv1_3 / usuwa go na podstawie sprawdzania w czasie wykonania przez IsOpenSSL_TLSv1_3_Available.

Pakowanie XOAuth2

Mechanizmy SASL XOAuth2 / OAuth2 Bearer są zawarte w spakowanej dystrybucji — te same klasy TIdSASLXOAuth2 i TIdSASLOAuth2Bearer, które dostarcza Indy, gotowe do użycia z dołączonymi klientami SMTP / IMAP / POP3.

Gotowa dystrybucja dla Delphi 7 do RAD Studio 13

Spakowane pliki DCU i BPL dla każdej obsługiwanej wersji Delphi, a także C++ Builder 2007 do C++ Builder 13. Edycja Community zawiera zestaw binarny; edycja All-Access zawiera pełne źródła.

Ulepszenia obsługi połączeń

Ulepszenia keep-alive, timeoutu i zarządzania buforem na bazie komponentów Indy TCP / UDP / HTTP / FTP / SMTP / POP3 / IMAP.

Utrzymywany razem z resztą biblioteki eSeGeCe

sgcIndy współdzieli cykl aktualizacji z sgcWebSockets, sgcHTML, sgcQUIC, sgcOpenAPI, sgcSign i sgcBiometrics. Jedna subskrypcja All-Access obejmuje źródła wszystkich siedmiu produktów.

Jak każda opcja jest licencjonowana i dystrybuowana

Obie opcje zezwalają na bezpłatne użycie w aplikacjach komercyjnych. Różnica leży w kanale dystrybucji i tym, co jest dołączone.

Indy

Podwójna licencja: Indy Modified BSD License lub Indy MPL License, do wyboru przez programistę (zgodnie z README projektu). Pełne źródła Pascal są na GitHubie pod adresem IndySockets/Indy; pobierz otagowane wydanie lub buduj bezpośrednio z mastera. Na stronie projektu nie ma skompilowanych plików binarnych — budujesz ze źródeł dla swojego łańcucha narzędzi Delphi / C++ Builder / Lazarus.

sgcIndy

Dwie edycje. Edycja Community jest bezpłatna: skompilowane pliki DCU i BPL dla każdej obsługiwanej wersji Delphi / C++ Builder, bezpłatne wdrożenie w aplikacjach komercyjnych, bez rejestracji. Edycja z kodem źródłowym jest zawarta w subskrypcji eSeGeCe All-Access — pełne źródła Pascal plus sgcWebSockets Enterprise, sgcHTML, sgcOpenAPI, sgcSign i sgcBiometrics w jednym pakiecie.

Każde twierdzenie z odnośnikiem

Każda komórka macierzy powyżej odwołuje się do jednej z oficjalnych stron dokumentacji, repozytoriów lub plików źródłowych. Wszystkie adresy URL zostały sprawdzone HEAD w chwili pisania.

ŹródłoURL
sgcIndy — 2026.6 wzmocnienie bezpieczeństwa serwera (blog)https://www.esegece.com/community/blog/sgcindy-2026-6/
sgcIndy — strona produktuhttps://www.esegece.com/products/sgcindy/
sgcIndy — funkcjehttps://www.esegece.com/products/sgcindy/features/
sgcIndy — zamówienie i edycjehttps://www.esegece.com/products/sgcindy/order/
sgcIndy — pobieraniehttps://www.esegece.com/products/sgcindy/download/
Cennik eSeGeCe All-Accesshttps://www.esegece.com/pricing/
Indy — strona projektu (indyproject.org)https://www.indyproject.org/
Indy — indeks dokumentacjihttps://www.indyproject.org/documentation/
Indy — repozytorium GitHub (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — wydania (ostatni tag 10.6.3.14)https://github.com/IndySockets/Indy/releases
Indy — commity gałęzi masterhttps://github.com/IndySockets/Indy/commits/master
Indy — Lib/Protocols (lista źródeł)https://github.com/IndySockets/Indy/tree/master/Lib/Protocols
Indy — IdSSLOpenSSLHeaders.pas (powiązania OpenSSL 1.0.x)https://github.com/IndySockets/Indy/blob/master/Lib/Protocols/IdSSLOpenSSLHeaders.pas
Indy — IdSSLOpenSSL.pas (wyliczenie TIdSSLVersion, sslvTLSv1_2)https://github.com/IndySockets/Indy/blob/master/Lib/Protocols/IdSSLOpenSSL.pas
Indy — IdSASLOAuth.pas (TIdSASLXOAuth2, RFC 7628)https://github.com/IndySockets/Indy/blob/master/Lib/Protocols/IdSASLOAuth.pas
Indy — wiki (instrukcje aktualizacji, dokumentacja)https://github.com/IndySockets/Indy/wiki
RFC 7628 — mechanizmy SASL dla OAuthhttps://datatracker.ietf.org/doc/html/rfc7628
RFC 8446 — protokół TLS 1.3https://datatracker.ietf.org/doc/html/rfc8446
OpenSSL — strona projektuhttps://www.openssl.org/
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Wypróbuj sgcIndy

Pobierz bezpłatną edycję Community i wstaw skompilowane pliki binarne do swojego istniejącego projektu opartego na Indy.