Urlx: curl/libcurl을 대체하는 메모리 안전한 Rust 기반 솔루션
코어 라이브러리에 unsafe 코드가 없는 curl의 완전한 Rust 재작성 버전. 네이티브 Rust API와 20개 이상의 프로토콜을 지원하는 즉각적인 CLI 및 라이브러리 대체제.
베타Urlx
Urlx는 기존 C 구현체에 내재된 오랜 메모리 안전성 문제를 해결하기 위해 세심하게 설계된 curl의 야심 찬 재구현체입니다. Rust의 소유권 모델과 타입 시스템을 활용하여, curl의 광범위한 기능 세트와 거의 완전한 호환성을 유지하는 동시에 보안 및 성능 특성을 근본적으로 개선한 바닥부터의 재작성을 제공합니다.
아키텍처는 liburlx(코어 Rust 전송 라이브러리), liburlx-ffi(C ABI 호환 레이어), urlx-cli(즉각 대체 가능한 명령줄 도구)라는 세 개의 통합 크레이트로 신중하게 설계되었습니다. 이러한 모듈식 접근 방식은 기존 시스템에 원활하게 통합될 수 있게 하며, HTTP 및 FTP부터 WebSocket 및 MQTT에 이르는 프로토콜을 지원하고, 관용적인 언어 지원을 제공하는 네이티브 async 및 sync Rust API를 제공합니다.
curl 자체 테스트 스위트에서 1,300개의 테스트를 통과하고 FFI 경계 외부에는 unsafe 코드가 전혀 없다는 점에서, Urlx는 단순한 이론적 연습이 아니라 실용적이고 프로덕션 준비가 된 네트워킹 라이브러리입니다. OpenSSL을 rustls로 대체하고 포괄적인 프로토콜 지원을 제공함으로써, 시스템 프로그래머와 네트워크 개발자에게 기능이나 호환성을 타협하지 않는 매력적인 대안을 제시합니다.