sgcIndy vs Indy — 무엇이 다를까요?

sgcIndy는 포크나 대체품이 아닌, 유지 관리되고 패치된 최신 Indy 라이브러리 배포판이에요. 이 페이지는 Indy Pit Crew(Remy Lebeau, Hadi Hariri, Indy Working Group)의 원래 Indy 작업 위에 sgcIndy가 추가하는 내용과 동일하게 유지되는 내용을 정확히 나열해요.

Indy를 사용하는 두 가지 방법

각 옵션에 대한 한 단락 요약과 공식 문서 또는 저장소 링크가 있어요. 자세한 비교는 아래 매트릭스를 참고해 주세요.

Indy

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

원래의 Internet Direct 라이브러리로, GitHub의 IndySockets/Indy에서 Indy Pit Crew가 이중 라이선스(Modified BSD / MPL)로 유지 관리해요. 최근 RAD Studio 설치에 포함되어 있으며 TCP/UDP/원시 소켓과 120개 이상의 상위 수준 프로토콜 클라이언트 및 서버(HTTP, FTP, SMTP, POP3, IMAP, NNTP, IRC 등)를 지원해요. 현재 OpenSSL 통합(IdSSLOpenSSL.pas / IdSSLOpenSSLHeaders.pas)은 OpenSSL 1.0.x ABI를 대상으로 하며, TLS 버전 열거는 TLSv1.2에서 멈춰요. SASL OAuth2 / XOAUTH2는 IdSASLOAuth.pas를 통해 제공돼요.

Official page

기능 나란히 비교

A check () 는 프로젝트가 현재 소스에서 네이티브 지원을 문서화함을 의미해요. 대시 () 는 프로젝트가 네이티브로 제공하지 않음을 의미해요. 물결표 (~) 는 부분적 / 추가 기능을 통해 / 미검증을 의미해요 — 확인된 내용은 출처 섹션을 참고해 주세요.

암호화, 프로토콜, 플랫폼, 배포

18 rows
Feature Indy sgcIndy
OpenSSL 1.0.x support 레거시 OpenSSL 1.0.x ABI를 대상으로 하는 바인딩
OpenSSL 1.1.x support OpenSSL 1.1.x API 바인딩 (2023년까지의 현재 LTS)
OpenSSL 3.0.x support OpenSSL 3.x 공급자 기반 API 바인딩
TLS 1.3 SSL 옵션에서 TLS 1.3 선택 가능
SSH client component (TIdSSHClient) 키 및 비밀번호 인증, exec / 셸 채널, 포트 포워딩을 갖춘 SSH 2.0 클라이언트 (IdSSHClient.pas) — Indy 업스트림에서는 제공하지 않아요
SFTP client component (TIdSFTPClient) SSH를 통한 SFTP v3 클라이언트 (IdSFTPClient.pas) - 파일 업로드/다운로드/디렉터리 목록용 — Indy 업스트림은 일반 FTP / FTPS만 제공하며 SFTP는 없어요
XOAuth2 SMTP / IMAP / POP3 RFC 7628 / Google XOAUTH2 SASL 메커니즘
IPv6 native 네이티브 IPv6 소켓 지원
Compatible with Delphi 7 원래 Delphi 7 툴체인에서 컴파일 가능
Compatible with RAD Studio 13 RAD Studio 13 Florence에서 컴파일 가능
Compatible with Lazarus / FPC Free Pascal / Lazarus에서 빌드 가능
Compatible with C++ Builder C++ Builder VCL / FMX 대상
모든 Delphi / C++ Builder 버전을 위한 자동 설치 프로그램 설치된 모든 IDE를 감지하고 런타임 + 디자인 타임 패키지, 라이브러리 경로, BPL 검색 경로를 등록하는 원클릭 설치 프로그램
컴파일된 DCU 바이너리 제공 사전 빌드 DCU / BPL 다운로드
전체 소스 코드 포함 개발자에게 Pascal 소스 코드 제공
상업용 무료 라이선스는 상업용 앱에서의 로열티 없는 배포를 허용해요
활성 유지 관리 (최근 12개월) 최근 12개월 이내의 릴리스 또는 태그된 활동 ~
eSeGeCe 라이브러리와 번들 All-Access에서 sgcWebSockets / sgcOpenAPI / sgcSign / sgcBiometrics와 함께 제공돼요
문서화된 네이티브 지원 네이티브로 제공되지 않음 ~ 부분적 / 추가 기능 / 미검증

Indy 위에 적용된 패치 및 현대화

sgcIndy는 Indy 컴포넌트 모델과 클래스 이름(sgcId* 접두사 아래)을 유지하면서 최신 OpenSSL 바인딩, TLS 1.3, 패키지 바이너리, eSeGeCe 라이브러리와의 공유 릴리스 주기를 추가해요.

OpenSSL 1.1.x 바인딩

레거시 1.0.x API와 함께 OpenSSL 1.1.x ABI용 헤더가 포함돼 있어, 원래 Indy SSL 유닛을 패치하지 않고도 libssl-1_1 / libcrypto-1_1에 링크할 수 있어요.

OpenSSL 3.0.x 바인딩

3.x 라이브러리가 내보내는 버전 감지 루틴(OpenSSL_version_num, OpenSSL_version)을 포함한 OpenSSL 3.x 공급자 아키텍처용 헤더예요.

SSL 옵션에서 TLS 1.3

TIdSSLVersion 열거형이 sslvTLSv1_3으로 확장되고, OpenSSL 컨텍스트는 IsOpenSSL_TLSv1_3_Available을 통한 런타임 프로빙에 따라 SSL_OP_NO_TLSv1_3을 적용하거나 해제해요.

XOAuth2 패키징

XOAuth2 / OAuth2 Bearer SASL 메커니즘이 래핑된 배포본에 포함돼 있어요 — Indy가 제공하는 동일한 TIdSASLXOAuth2TIdSASLOAuth2Bearer 클래스로, 번들된 SMTP / IMAP / POP3 클라이언트와 함께 사용할 준비가 돼 있어요.

Delphi 7부터 RAD Studio 13까지의 사전 빌드 배포본

지원되는 모든 Delphi 버전을 위한 패키지 DCU 및 BPL 바이너리와 C++ Builder 2007부터 C++ Builder 13까지가 포함돼요. Community 에디션은 바이너리 세트이며, All-Access 에디션에는 전체 소스가 포함돼 있어요.

연결 처리 개선 사항

Indy TCP / UDP / HTTP / FTP / SMTP / POP3 / IMAP 컴포넌트 위에 킵얼라이브, 타임아웃, 버퍼 관리 조정이 추가돼요.

eSeGeCe 라이브러리의 나머지와 함께 유지 관리돼요

sgcIndy는 sgcWebSockets, sgcOpenAPI, sgcSign, sgcBiometrics와 업데이트 주기를 공유해요. 단일 All-Access 구독에는 5가지 제품 모두의 소스가 포함돼요.

각 옵션에 대한 솔직한 평가

두 옵션 모두 동일한 Indy 코드베이스를 기반으로 해요. 선택은 일반적으로 어떤 OpenSSL ABI를 사용하는지, TLS 1.3이 필요한지, 빌드 시스템에 사전 빌드 바이너리가 중요한지에 달려 있어요.

Indy를 선택해야 할 때…

Indy Pit Crew(Remy Lebeau 및 Indy Working Group)가 유지 관리하는 원래 BSD / MPL 배포판을 원하거나, IndySockets/Indy master 브랜치에서 직접 빌드하거나, OpenSSL 배포가 Indy가 기본적으로 대상으로 하는 1.0.x 라인이거나, SSL 옵션에서 TLS 1.3이 필요하지 않을 때 Indy를 선택해요. Indy는 최근 RAD Studio 설치에 포함돼 있어 의존성을 추가하지 않아요.

sgcIndy를 선택해야 할 때…

Indy 컴포넌트 모델을 계속 사용하고 싶지만 OpenSSL 1.1.x 또는 3.0.x 바인딩, SSL 옵션에서 TLS 1.3, 또는 Delphi 7부터 RAD Studio 13까지 모든 Delphi / C++ Builder 버전용으로 패키지된 사전 빌드 DCU 바이너리가 필요할 때 sgcIndy를 선택해요. Community 에디션은 무료이며, 소스 코드 에디션은 sgcWebSockets, sgcOpenAPI, sgcSign, sgcBiometrics와 함께 eSeGeCe All-Access 구독에 포함돼요.

각 옵션의 라이선스 및 배포 방식

두 옵션 모두 상업용 애플리케이션에서 로열티 없는 사용을 허용해요. 차이점은 배포 채널과 함께 번들되는 내용이에요.

Indy

Indy Modified BSD 라이선스 또는 Indy MPL 라이선스 중 개발자가 선택할 수 있는 이중 라이선스예요(프로젝트 README에 따라). 전체 Pascal 소스는 GitHub의 IndySockets/Indy에 있으며, 태그된 릴리스를 다운로드하거나 master에서 직접 빌드할 수 있어요. 프로젝트 페이지에는 컴파일된 바이너리가 없어요 — Delphi / C++ Builder / Lazarus 툴체인에 맞게 소스에서 빌드해야 해요.

sgcIndy

두 가지 에디션이 있어요. Community 에디션은 무료예요: 지원되는 모든 Delphi / C++ Builder 버전용 컴파일된 DCU 및 BPL 바이너리, 상업용 애플리케이션에서의 로열티 없는 배포, 등록 불필요. 소스 코드 에디션은 eSeGeCe All-Access 구독에 포함돼 있어요 — 전체 Pascal 소스에 sgcWebSockets Enterprise, sgcOpenAPI, sgcSign, sgcBiometrics가 하나의 번들로 포함돼요.

모든 주장의 출처

위 매트릭스의 각 셀은 이러한 공식 문서 페이지, 저장소 또는 소스 파일 중 하나로 연결돼요. 모든 URL은 작성 시점에 HEAD 확인되었어요.

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/

sgcIndy 사용해 보기

무료 Community 에디션을 다운로드하고 컴파일된 바이너리를 기존 Indy 기반 프로젝트에 추가해 보세요.