Sobre o projeto

macOSdb é uma ferramenta de desenvolvedor que rastreia e cataloga as versões de componentes de código aberto incluídos em cada versão do macOS e Xcode para Apple silicon. Ela oferece tanto uma interface de linha de comando quanto um navegador baseado na web em macosdb.com. O scanner funciona baixando as imagens de firmware IPSW da Apple e arquivos .xip do Xcode, e então extrai informações de versão através de um pipeline de múltiplas fases: descompactando o arquivo, analisando kernelcaches para versões Darwin/XNU e mapeamentos de famílias de chips, descriptografando Apple Encrypted Archives (macOS 15+), montando o DMG do sistema para escanear binários em busca de strings de versão embutidas, e analisando o cache compartilhado dyld para extrair dados de dylibs individuais. Os resultados são montados em arquivos de release JSON estruturados. Os componentes rastreados abrangem binários do sistema de arquivos (curl, httpd, LibreSSL, OpenSSH, Ruby, sudo, SQLite, vim, zsh), bibliotecas do cache compartilhado dyld (libbz2, libcurl, libexpat, libncurses, libpcap, libsqlite3, libssl, libxml2), ferramentas do toolchain do Xcode (Apple Clang, cctools, Git, ld, lldb, Python, Swift) e bibliotecas SDK (bzip2, expat, libcurl, libexslt, libffi, libxml2, libxslt, ncurses, sqlite3, zlib). A CLI suporta listar releases, mostrar componentes para um release específico, comparar versões de componentes entre releases, escanear novos arquivos IPSW ou Xcode, validar a integridade de arquivos com checksums SHA-256 e limpar DMGs montados remanescentes. Todos os comandos de leitura suportam uso offline via um diretório de dados local ou URL de API base alternativa. Completions de shell estão disponíveis para zsh, bash e fish. Os dados de release são armazenados como arquivos JSON sob um diretório data/ organizado por tipo de produto, e também são servidos como uma API REST. Os dados são licenciados sob CC-BY-4.0, enquanto o software em si está sob AGPL-3.0-only. O projeto é construído com Swift 6.2 e usa Astro para o site estático, com workflows de CI para build, linting, testes, análise CodeQL, deploy do site e pipelines de release.