sgcIndy vs. Indy — wat is anders

sgcIndy is een onderhouden, gepatchte, gemoderniseerde distributie van de Indy-bibliotheek, geen fork of vervanging. Deze pagina vermeldt precies wat sgcIndy bovenop het oorspronkelijke werk van de Indy Pit Crew (Remy Lebeau, Hadi Hariri en de Indy Working Group) toevoegt en wat hetzelfde blijft.

Twee manieren om Indy te gebruiken

Een samenvatting van één alinea per optie, met een link naar de officiële documentatie of repository. De gedetailleerde vergelijking staat in de matrix hieronder.

Indy

Indy Pit Crew — Remy Lebeau, Hadi Hariri, de Indy Working Group · dual: Indy Modified BSD of Indy MPL

De originele Internet Direct-bibliotheek, dual-gelicentieerd (Modified BSD / MPL) en onderhouden door de Indy Pit Crew op GitHub op IndySockets/Indy. Wordt meegeleverd met elke recente RAD Studio-installatie en dekt TCP-/UDP-/raw sockets plus 120+ hogere-niveau protocolclients en -servers (HTTP, FTP, SMTP, POP3, IMAP, NNTP, IRC en meer). De huidige OpenSSL-integratie (IdSSLOpenSSL.pas / IdSSLOpenSSLHeaders.pas) richt zich op de OpenSSL 1.0.x-ABI; de TLS-versie-enum stopt bij TLSv1.2. SASL OAuth2 / XOAUTH2 wordt geleverd via IdSASLOAuth.pas.

Officiële pagina

Zij-aan-zij functievergelijking

Een vinkje () betekent dat het project native ondersteuning documenteert in de huidige broncode. Een streepje () betekent dat het project dit niet native levert. Een tilde (~) betekent gedeeltelijk / via add-on / niet geverifieerd — zie het hoofdstuk Bronnen voor wat is gecontroleerd.

Crypto, protocollen, platforms, distributie

18 rijen
Functie Indy sgcIndy
OpenSSL 1.0.x-ondersteuning Bindings richten zich op de legacy OpenSSL 1.0.x-ABI
OpenSSL 1.1.x-ondersteuning Bindings voor de OpenSSL 1.1.x-API (huidige LTS tot 2023)
OpenSSL 3.0.x-ondersteuning Bindings voor de provider-gebaseerde OpenSSL 3.x-API
TLS 1.3 TLS 1.3 selecteerbaar in de SSL-opties
SSH-clientcomponent (TIdSSHClient) SSH 2.0-client (IdSSHClient.pas) met sleutel- en wachtwoord-auth, exec-/shell-kanalen en port forwarding — niet geleverd door Indy upstream
SFTP-clientcomponent (TIdSFTPClient) SFTP v3-client over SSH (IdSFTPClient.pas) voor bestandsupload/-download/maplisting — Indy upstream levert alleen plain FTP / FTPS, geen SFTP
XOAuth2 SMTP / IMAP / POP3 RFC 7628 / Google XOAUTH2 SASL-mechanisme
IPv6 native Native IPv6-socket-ondersteuning
Compatibel met Delphi 7 Compileert op de oorspronkelijke Delphi 7-toolchain
Compatibel met RAD Studio 13 Compileert op RAD Studio 13 Florence
Compatibel met Lazarus / FPC Bouwt onder Free Pascal / Lazarus
Compatibel met C++ Builder C++ Builder VCL-/FMX-targets
Automatische installer voor elke Delphi-/C++ Builder-versie One-click-installer die elke geïnstalleerde IDE detecteert en runtime- + designtime-packages, library-paden en BPL-zoekpaden registreert
Gecompileerde DCU-binaries beschikbaar Voorgebouwde DCU-/BPL-downloads
Volledige broncode inbegrepen Pascal-broncode beschikbaar voor de ontwikkelaar
Gratis voor commercieel gebruik Licentie staat royalty-vrije uitrol in commerciële apps toe
Actief onderhoud (laatste 12 maanden) Release of tagged activiteit in de laatste 12 maanden ~
Gebundeld met de eSeGeCe-bibliotheek Geleverd samen met sgcWebSockets / sgcOpenAPI / sgcSign / sgcBiometrics in All-Access
Gedocumenteerde native ondersteuning Niet native geleverd ~ Gedeeltelijk / via add-on / niet geverifieerd

Patches en moderniseringen boven op Indy

sgcIndy behoudt het Indy-componentmodel en de classnamen (onder de sgcId*-prefix) en plaatst daar moderne OpenSSL-bindings, TLS 1.3, voorgebouwde binaries en een gedeeld release-tempo met de rest van de eSeGeCe-bibliotheek bovenop.

OpenSSL 1.1.x-bindings

Headers voor de OpenSSL 1.1.x-ABI naast de legacy 1.0.x-API, zodat je tegen libssl-1_1 / libcrypto-1_1 kunt linken zonder de originele Indy-SSL-units te patchen.

OpenSSL 3.0.x-bindings

Headers voor de OpenSSL 3.x-providerarchitectuur, inclusief de versie-detectieroutines (OpenSSL_version_num, OpenSSL_version) die de 3.x-bibliotheek exporteert.

TLS 1.3 in de SSL-opties

De TIdSSLVersion-enum is uitgebreid met sslvTLSv1_3, en de OpenSSL-context past SSL_OP_NO_TLSv1_3 toe of wist deze op basis van runtime-probing via IsOpenSSL_TLSv1_3_Available.

XOAuth2-packaging

XOAuth2-/OAuth2 Bearer SASL-mechanismen zijn opgenomen in de gewrapte distributie — dezelfde TIdSASLXOAuth2- en TIdSASLOAuth2Bearer-classes die Indy levert, klaar voor gebruik met de meegeleverde SMTP-/IMAP-/POP3-clients.

Voorgebouwde distributie voor Delphi 7 tot en met RAD Studio 13

Gepakte DCU- en BPL-binaries voor elke ondersteunde Delphi-versie, plus C++ Builder 2007 tot en met C++ Builder 13. De Community-editie is de binary-set; de All-Access-editie bevat de volledige broncode.

Verbeteringen in verbindingsafhandeling

Aanpassingen voor keep-alive, timeouts en bufferbeheer boven op de Indy-TCP-/UDP-/HTTP-/FTP-/SMTP-/POP3-/IMAP-componenten.

Onderhouden naast de rest van de eSeGeCe-bibliotheek

sgcIndy deelt zijn update-cadens met sgcWebSockets, sgcOpenAPI, sgcSign en sgcBiometrics. Eén All-Access-abonnement bevat broncode voor alle vijf de producten.

Eerlijke match per optie

Beide opties staan op dezelfde Indy-codebase. De keuze hangt meestal af van tegen welke OpenSSL-ABI je distribueert, of TLS 1.3 vereist is en of voorgebouwde binaries belangrijk zijn voor je buildsysteem.

Kies Indy als…

Kies Indy als je de originele BSD-/MPL-distributie wilt die door de Indy Pit Crew (Remy Lebeau en de Indy Working Group) wordt onderhouden, als je direct tegen de IndySockets/Indy-master-branch bouwt, als je OpenSSL-deployment de 1.0.x-lijn is waar Indy out-of-the-box op richt, of als je geen TLS 1.3 in de SSL-opties nodig hebt. Indy wordt meegeleverd met elke recente RAD Studio-installatie, dus het voegt niets toe aan je dependency-footprint.

Kies sgcIndy als…

Kies sgcIndy als je het Indy-componentmodel wilt blijven gebruiken maar OpenSSL 1.1.x- of 3.0.x-bindings nodig hebt, TLS 1.3 in de SSL-opties, of voorgebouwde DCU-binaries verpakt voor elke Delphi-/C++ Builder-versie van Delphi 7 tot en met RAD Studio 13. De Community-editie is gratis; de broncode-editie is inbegrepen in het eSeGeCe All-Access-abonnement samen met sgcWebSockets, sgcOpenAPI, sgcSign en sgcBiometrics.

Hoe elke optie wordt gelicentieerd en gedistribueerd

Beide opties staan royalty-vrij gebruik in commerciële toepassingen toe. Het verschil zit in het distributiekanaal en wat erbij wordt geleverd.

Indy

Dual-gelicentieerd onder de Indy Modified BSD License of de Indy MPL License, ter keuze van de ontwikkelaar (volgens de project-README). De volledige Pascal-broncode staat op GitHub op IndySockets/Indy; download een tagged release of bouw direct vanaf master. Er staan geen gecompileerde binaries op de projectpagina — je bouwt vanuit de broncode tegen je Delphi-/C++ Builder-/Lazarus-toolchain.

sgcIndy

Twee edities. De Community-editie is gratis: gecompileerde DCU- en BPL-binaries voor elke ondersteunde Delphi-/C++ Builder-versie, royalty-vrije uitrol in commerciële toepassingen, geen registratie. De broncode-editie is inbegrepen in het eSeGeCe All-Access-abonnement — volledige Pascal-broncode plus sgcWebSockets Enterprise, sgcOpenAPI, sgcSign en sgcBiometrics in één bundel.

Elke claim, gelinkt

Elke cel in de matrix hierboven is herleidbaar tot een van deze officiële documentatiepagina's, repositories of broncodebestanden. Alle URL's zijn op het moment van schrijven met een HEAD-check geverifieerd.

BronURL
sgcIndy — productpaginahttps://www.esegece.com/products/sgcindy/
sgcIndy — functieshttps://www.esegece.com/products/sgcindy/features/
sgcIndy — bestellen & editieshttps://www.esegece.com/products/sgcindy/order/
sgcIndy — downloadhttps://www.esegece.com/products/sgcindy/download/
eSeGeCe All-Access-prijzenhttps://www.esegece.com/pricing/
Indy — projecthomepage (indyproject.org)https://www.indyproject.org/
Indy — documentatie-indexhttps://www.indyproject.org/documentation/
Indy — GitHub-repository (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — releases (laatste tag 10.6.3.14)https://github.com/IndySockets/Indy/releases
Indy — master-branch-commitshttps://github.com/IndySockets/Indy/commits/master
Indy — Lib/Protocols (broncode-listing)https://github.com/IndySockets/Indy/tree/master/Lib/Protocols
Indy — IdSSLOpenSSLHeaders.pas (OpenSSL 1.0.x-bindings)https://github.com/IndySockets/Indy/blob/master/Lib/Protocols/IdSSLOpenSSLHeaders.pas
Indy — IdSSLOpenSSL.pas (TIdSSLVersion-enum, 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 (upgrade-instructies, documentatie)https://github.com/IndySockets/Indy/wiki
RFC 7628 — SASL-mechanismen voor OAuthhttps://datatracker.ietf.org/doc/html/rfc7628
RFC 8446 — het TLS 1.3-protocolhttps://datatracker.ietf.org/doc/html/rfc8446
OpenSSL — projectwebsitehttps://www.openssl.org/

Probeer sgcIndy

Download de gratis Community-editie en plaats de gecompileerde binaries in je bestaande Indy-gebaseerde project.