sgcIndy vs Indy — what's different

sgcIndy is a maintained, patched, modernised distribution of the Indy library, not a fork or a replacement. This page lists exactly what sgcIndy adds on top of the original Indy work by the Indy Pit Crew (Remy Lebeau, Hadi Hariri, and the Indy Working Group), and what stays the same.

Two ways to consume Indy

A one-paragraph summary of each option, with a link to the official documentation or repository. The detailed comparison is in the matrix below.

Indy

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

The original Internet Direct library, dual-licensed (Modified BSD / MPL) and maintained by the Indy Pit Crew on GitHub at IndySockets/Indy. Ships with every recent RAD Studio install and covers TCP/UDP/raw sockets plus 120+ higher-level protocol clients and servers (HTTP, FTP, SMTP, POP3, IMAP, NNTP, IRC and more). The current OpenSSL integration (IdSSLOpenSSL.pas / IdSSLOpenSSLHeaders.pas) targets the OpenSSL 1.0.x ABI; the TLS version enum stops at TLSv1.2. SASL OAuth2 / XOAUTH2 is provided through IdSASLOAuth.pas.

Official page

Side-by-side feature comparison

A check () means the project documents native support in its current source. A dash () means the project does not provide it natively. A tilde (~) means partial / via add-on / unverified — see the Sources section for what was checked.

Crypto, protocols, platforms, distribution

18 rows
Feature Indy sgcIndy
OpenSSL 1.0.x support Bindings target the legacy OpenSSL 1.0.x ABI
OpenSSL 1.1.x support Bindings for the OpenSSL 1.1.x API (current LTS up to 2023)
OpenSSL 3.0.x support Bindings for the OpenSSL 3.x provider-based API
TLS 1.3 TLS 1.3 selectable in the SSL options
SSH client component (TIdSSHClient) SSH 2.0 client (IdSSHClient.pas) with key & password auth, exec / shell channels and port forwarding — not provided by Indy upstream
SFTP client component (TIdSFTPClient) SFTP v3 client over SSH (IdSFTPClient.pas) for file upload / download / directory listing — Indy upstream only ships plain FTP / FTPS, not SFTP
XOAuth2 SMTP / IMAP / POP3 RFC 7628 / Google XOAUTH2 SASL mechanism
IPv6 native Native IPv6 socket support
Compatible with Delphi 7 Compiles on the original Delphi 7 toolchain
Compatible with RAD Studio 13 Compiles on RAD Studio 13 Florence
Compatible with Lazarus / FPC Builds under Free Pascal / Lazarus
Compatible with C++ Builder C++ Builder VCL / FMX targets
Automatic installer for every Delphi / C++ Builder version One-click installer that detects every installed IDE and registers runtime + design-time packages, library paths and BPL search paths
Compiled DCU binaries available Pre-built DCU / BPL downloads
Full source code included Pascal source available to the developer
Free for commercial use Licence permits royalty-free deployment in commercial apps
Active maintenance (last 12 months) Release or tagged activity in the last 12 months ~
Bundled with the eSeGeCe library Shipped alongside sgcWebSockets / sgcOpenAPI / sgcSign / sgcBiometrics in All-Access
Documented native support Not provided natively ~ Partial / via add-on / unverified

Patches and modernisations on top of Indy

sgcIndy keeps the Indy component model and class names (under the sgcId* prefix), then layers on modern OpenSSL bindings, TLS 1.3, packaged binaries, and a shared release cadence with the rest of the eSeGeCe library.

OpenSSL 1.1.x bindings

Headers for the OpenSSL 1.1.x ABI alongside the legacy 1.0.x API, so you can link against libssl-1_1 / libcrypto-1_1 without patching the original Indy SSL units.

OpenSSL 3.0.x bindings

Headers for the OpenSSL 3.x provider architecture, including the version detection routines (OpenSSL_version_num, OpenSSL_version) that the 3.x library exports.

TLS 1.3 in the SSL options

The TIdSSLVersion enum is extended with sslvTLSv1_3, and the OpenSSL context applies SSL_OP_NO_TLSv1_3 / clears it based on runtime probing via IsOpenSSL_TLSv1_3_Available.

XOAuth2 packaging

XOAuth2 / OAuth2 Bearer SASL mechanisms are included in the wrapped distribution — the same TIdSASLXOAuth2 and TIdSASLOAuth2Bearer classes Indy provides, ready to use with the bundled SMTP / IMAP / POP3 clients.

Pre-built distribution for Delphi 7 through RAD Studio 13

Packaged DCU and BPL binaries for every supported Delphi version, plus C++ Builder 2007 through C++ Builder 13. The Community edition is the binary set; the All-Access edition includes the full source.

Connection-handling refinements

Keep-alive, timeout, and buffer-management adjustments on top of the Indy TCP / UDP / HTTP / FTP / SMTP / POP3 / IMAP components.

Maintained alongside the rest of the eSeGeCe library

sgcIndy shares its update cadence with sgcWebSockets, sgcOpenAPI, sgcSign, and sgcBiometrics. A single All-Access subscription includes source for all five products.

Honest fit for each option

Both options stand on the same Indy codebase. The choice usually comes down to which OpenSSL ABI you ship against, whether TLS 1.3 is required, and whether pre-built binaries matter for your build system.

Use Indy when…

Pick Indy when you want the original BSD / MPL distribution maintained by the Indy Pit Crew (Remy Lebeau and the Indy Working Group), when you build directly against the IndySockets/Indy master branch, when your OpenSSL deployment is the 1.0.x line that Indy targets out of the box, or when you do not need TLS 1.3 in the SSL options. Indy ships with every recent RAD Studio install, so it adds nothing to your dependency footprint.

Use sgcIndy when…

Pick sgcIndy when you want to keep using the Indy component model but need OpenSSL 1.1.x or 3.0.x bindings, TLS 1.3 in the SSL options, or pre-built DCU binaries packaged for every Delphi / C++ Builder version from Delphi 7 through RAD Studio 13. The Community edition is free; the source-code edition is included in the eSeGeCe All-Access subscription alongside sgcWebSockets, sgcOpenAPI, sgcSign, and sgcBiometrics.

How each option is licensed and distributed

Both options permit royalty-free use in commercial applications. The difference is the distribution channel and what is bundled alongside.

Indy

Dual-licensed under the Indy Modified BSD License or the Indy MPL License, the developer's choice (per the project README). The full Pascal source is on GitHub at IndySockets/Indy; download a tagged release or build directly from master. There are no compiled binaries on the project page — you build from source against your Delphi / C++ Builder / Lazarus toolchain.

sgcIndy

Two editions. The Community edition is free: compiled DCU and BPL binaries for every supported Delphi / C++ Builder version, royalty-free deployment in commercial applications, no registration. The source-code edition is included in the eSeGeCe All-Access subscription — full Pascal source plus sgcWebSockets Enterprise, sgcOpenAPI, sgcSign, and sgcBiometrics in one bundle.

Every claim, linked

Each cell in the matrix above traces to one of these official documentation pages, repositories, or source files. All URLs were HEAD-checked at the time of writing.

SourceURL
sgcIndy — product pagehttps://www.esegece.com/products/sgcindy/
sgcIndy — featureshttps://www.esegece.com/products/sgcindy/features/
sgcIndy — order & editionshttps://www.esegece.com/products/sgcindy/order/
sgcIndy — downloadhttps://www.esegece.com/products/sgcindy/download/
eSeGeCe All-Access pricinghttps://www.esegece.com/pricing/
Indy — project homepage (indyproject.org)https://www.indyproject.org/
Indy — documentation indexhttps://www.indyproject.org/documentation/
Indy — GitHub repository (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — releases (latest tag 10.6.3.14)https://github.com/IndySockets/Indy/releases
Indy — master branch commitshttps://github.com/IndySockets/Indy/commits/master
Indy — Lib/Protocols (source 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 instructions, documentation)https://github.com/IndySockets/Indy/wiki
RFC 7628 — SASL Mechanisms for OAuthhttps://datatracker.ietf.org/doc/html/rfc7628
RFC 8446 — The TLS 1.3 Protocolhttps://datatracker.ietf.org/doc/html/rfc8446
OpenSSL — project websitehttps://www.openssl.org/

Try sgcIndy

Download the free Community edition and drop the compiled binaries into your existing Indy-based project.