sgcIndy vs Indy — 무엇이 다를까요?
sgcIndy는 포크나 대체품이 아닌, 유지 관리되고 패치된 최신 Indy 라이브러리 배포판이에요. 이 페이지는 Indy Pit Crew(Remy Lebeau, Hadi Hariri, Indy Working Group)의 원래 Indy 작업 위에 sgcIndy가 추가하는 내용과 동일하게 유지되는 내용을 정확히 나열해요.
sgcIndy는 포크나 대체품이 아닌, 유지 관리되고 패치된 최신 Indy 라이브러리 배포판이에요. 이 페이지는 Indy Pit Crew(Remy Lebeau, Hadi Hariri, Indy Working Group)의 원래 Indy 작업 위에 sgcIndy가 추가하는 내용과 동일하게 유지되는 내용을 정확히 나열해요.
각 옵션에 대한 한 단락 요약과 공식 문서 또는 저장소 링크가 있어요. 자세한 비교는 아래 매트릭스를 참고해 주세요.
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를 통해 제공돼요.
eSeGeCe · Free Community (compiled) · All-Access (source)
유지 관리되고 패치된 최신 Indy 라이브러리 배포판이에요. sgcId* 접두사 아래 약 160개의 래핑된 Indy 컴포넌트가 원래 Indy 소스 위에 계층화돼 있어요. 최신 OpenSSL 바인딩(1.0.x 외에 1.1.x 및 3.0.x), TLS 1.3, Delphi 7부터 RAD Studio 13까지, C++ Builder 2007부터 C++ Builder 13까지의 패키지 배포본, 그리고 몇 가지 연결 처리 개선 사항을 추가해요. 컴파일된 바이너리는 무료이며, 전체 소스는 eSeGeCe All-Access 구독에 포함돼요.
A check () 는 프로젝트가 현재 소스에서 네이티브 지원을 문서화함을 의미해요. 대시 (—) 는 프로젝트가 네이티브로 제공하지 않음을 의미해요. 물결표 (~) 는 부분적 / 추가 기능을 통해 / 미검증을 의미해요 — 확인된 내용은 출처 섹션을 참고해 주세요.
| 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와 함께 제공돼요 | — |
sgcIndy는 Indy 컴포넌트 모델과 클래스 이름(sgcId* 접두사 아래)을 유지하면서 최신 OpenSSL 바인딩, TLS 1.3, 패키지 바이너리, eSeGeCe 라이브러리와의 공유 릴리스 주기를 추가해요.
네이티브 Windows 설치 프로그램이 머신에 설치된 모든 Delphi 및 C++ Builder IDE를 감지하고, 런타임 및 디자인 타임 패키지를 컴파일하고, IDE에 등록하고, 필요한 라이브러리, 검색 및 BPL 출력 경로를 추가해요. Indy는 GitHub에서만 소스를 배포해요 — 소비자는 유닛을 수동으로 복사하고, 버전별로 패키지를 빌드하며, 라이브러리 경로를 손으로 업데이트해야 해요.
sgcIndy는 TIdSSHClient (IdSSHClient.pas) 및 TIdSFTPClient (IdSFTPClient.pas)를 제공해요 — 키/비밀번호 인증, exec 및 셸 채널, 포트 포워딩이 있는 SSH 2.0 클라이언트와 파일 업로드, 다운로드 및 디렉터리 목록을 위한 SFTP v3 클라이언트예요. Indy 업스트림은 일반 FTP / FTPS를 제공하지만 SSH 또는 SFTP 컴포넌트가 없어요 — 사용자는 일반적으로 이를 보완하기 위해 libssh2 래퍼나 외부 바이너리를 사용해요.
레거시 1.0.x API와 함께 OpenSSL 1.1.x ABI용 헤더가 포함돼 있어, 원래 Indy SSL 유닛을 패치하지 않고도 libssl-1_1 / libcrypto-1_1에 링크할 수 있어요.
3.x 라이브러리가 내보내는 버전 감지 루틴(OpenSSL_version_num, OpenSSL_version)을 포함한 OpenSSL 3.x 공급자 아키텍처용 헤더예요.
TIdSSLVersion 열거형이 sslvTLSv1_3으로 확장되고, OpenSSL 컨텍스트는 IsOpenSSL_TLSv1_3_Available을 통한 런타임 프로빙에 따라 SSL_OP_NO_TLSv1_3을 적용하거나 해제해요.
XOAuth2 / OAuth2 Bearer SASL 메커니즘이 래핑된 배포본에 포함돼 있어요 — Indy가 제공하는 동일한 TIdSASLXOAuth2 및 TIdSASLOAuth2Bearer 클래스로, 번들된 SMTP / IMAP / POP3 클라이언트와 함께 사용할 준비가 돼 있어요.
지원되는 모든 Delphi 버전을 위한 패키지 DCU 및 BPL 바이너리와 C++ Builder 2007부터 C++ Builder 13까지가 포함돼요. Community 에디션은 바이너리 세트이며, All-Access 에디션에는 전체 소스가 포함돼 있어요.
Indy TCP / UDP / HTTP / FTP / SMTP / POP3 / IMAP 컴포넌트 위에 킵얼라이브, 타임아웃, 버퍼 관리 조정이 추가돼요.
sgcIndy는 sgcWebSockets, sgcOpenAPI, sgcSign, sgcBiometrics와 업데이트 주기를 공유해요. 단일 All-Access 구독에는 5가지 제품 모두의 소스가 포함돼요.
두 옵션 모두 동일한 Indy 코드베이스를 기반으로 해요. 선택은 일반적으로 어떤 OpenSSL ABI를 사용하는지, TLS 1.3이 필요한지, 빌드 시스템에 사전 빌드 바이너리가 중요한지에 달려 있어요.
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 설치에 포함돼 있어 의존성을 추가하지 않아요.
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 Modified BSD 라이선스 또는 Indy MPL 라이선스 중 개발자가 선택할 수 있는 이중 라이선스예요(프로젝트 README에 따라). 전체 Pascal 소스는 GitHub의 IndySockets/Indy에 있으며, 태그된 릴리스를 다운로드하거나 master에서 직접 빌드할 수 있어요. 프로젝트 페이지에는 컴파일된 바이너리가 없어요 — Delphi / C++ Builder / Lazarus 툴체인에 맞게 소스에서 빌드해야 해요.
두 가지 에디션이 있어요. Community 에디션은 무료예요: 지원되는 모든 Delphi / C++ Builder 버전용 컴파일된 DCU 및 BPL 바이너리, 상업용 애플리케이션에서의 로열티 없는 배포, 등록 불필요. 소스 코드 에디션은 eSeGeCe All-Access 구독에 포함돼 있어요 — 전체 Pascal 소스에 sgcWebSockets Enterprise, sgcOpenAPI, sgcSign, sgcBiometrics가 하나의 번들로 포함돼요.
위 매트릭스의 각 셀은 이러한 공식 문서 페이지, 저장소 또는 소스 파일 중 하나로 연결돼요. 모든 URL은 작성 시점에 HEAD 확인되었어요.