프로젝트 소개
Kore는 C 또는 Python으로 확장 가능하고 동시성 있는 웹 기반 프로세스를 작성하기 위한 웹 애플리케이션 플랫폼입니다. "기본적으로 안전"한 접근 방식으로 설계되었으며, 완전한 권한 분리와 함께 seccomp, pledge, unveil과 같은 운영 체제 보안 기능을 사용합니다. 이 프로젝트는 고신뢰성 암호화 장치, 머신러닝 스택, 항공우주 등의 분야에서 사용된다고 보고하며, 임베디드 플랫폼부터 고성능 서버까지 적합하다고 자리매김하고 있습니다.
프로젝트에서 나열한 주요 기능은 SNI, HTTP/1.1 및 WebSocket 지원, 기본적으로 권한 분리, 기본적으로 TLS 활성화, 선택적 백그라운드 작업, 내장 매개변수 검증, 선택적 비동기 PostgreSQL 지원, 선택적 Python 페이지 핸들러, 개인 키와 인증서의 즉시 재로딩, 권한 분리를 통한 ACME 자동 X509 인증서, RSA 및 ECDSA용 별도 프로세스에 격리된 개인 키, 전방향 비밀성을 갖춘 기본 TLS 암호화 제품군, 콘텐츠 제공 중에도 모듈 즉시 재로딩, OpenBSD에서는 pledge를, Linux에서는 seccomp를 통해 샌드박스된 워커 프로세스, CPU별 워커 프로세스를 갖춘 이벤트 기반 epoll/kqueue 아키텍처, 그리고 애플리케이션을 미리 컴파일된 동적 라이브러리 또는 단일 바이너리로 빌드하는 기능을 포함합니다.
Kore는 ISC 라이선스에 따라 라이선스가 부여됩니다. 문서는 docs.kore.io에서 확인할 수 있습니다. 지원 플랫폼은 Linux, OpenBSD, FreeBSD 및 macOS이며, x64, arm 및 aarch64 아키텍처만 지원합니다.
빌드에는 OpenSSL 1.1.1, LibreSSL 3.x 또는 OpenSSL 3이 필요합니다. 선택적 기능에는 각각의 요구 사항이 있습니다: 비동기 curl에는 libcurl 7.64.0 이상, 백그라운드 작업에는 pthreads, PostgreSQL에는 libpq, Python 지원에는 Python 3.6+, Lua 지원에는 Lua 5.4+가 필요합니다. 일반 빌드는 make와 make install로 수행됩니다. 선택적 빌드 종류는 make를 실행하기 전에 환경 변수를 통해 활성화됩니다: LUA=1, ACME=1, CURL=1, TASKS=1, PGSQL=1, DEBUG=1, NOHTTP=1, NOOPT=1, JSONRPC=1, PYTHON=1 및 TLS_BACKEND=none. README는 일부 종류는 결합할 수 없으며 컴파일 오류가 발생한다고 언급합니다.
examples/ 아래에 예제 애플리케이션이 제공되며, 각각 빌드 또는 사용 방법을 설명하는 README가 있습니다. 저장소는 읽기 전용 미러로 설명되며, 기여 정보는 kore.io 메일링 리스트를 가리키며, 패치는 patches@kore.io, 질문은 users@kore.io, 보안 보고는 security@kore.io, 후원은 sponsor@kore.io입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.