このプロジェクトについて
macOSdbは、Appleシリコン向けの各macOSおよびXcodeリリースに同梱されるオープンソースコンポーネントのバージョンを追跡・カタログ化する開発者向けツールです。コマンドラインインターフェースと、macosdb.comでのウェブベースのブラウザの両方を提供します。
スキャナーは、AppleのIPSWファームウェアイメージとXcode .xipアーカイブをダウンロードし、マルチフェーズパイプラインでバージョン情報を抽出します:アーカイブの解凍、カーネルキャッシュの解析によるDarwin/XNUバージョンとチップファミリーマッピングの取得、Apple暗号化アーカイブ(macOS 15以降)の復号、システムDMGのマウントによるバイナリからの埋め込みバージョン文字列のスキャン、dyld共有キャッシュの解析による個々のdylibデータの抽出。結果は構造化されたJSONリリースファイルにまとめられます。
追跡対象コンポーネントは、ファイルシステムバイナリ(curl、httpd、LibreSSL、OpenSSH、Ruby、sudo、SQLite、vim、zsh)、dyld共有キャッシュライブラリ(libbz2、libcurl、libexpat、libncurses、libpcap、libsqlite3、libssl、libxml2)、Xcodeツールチェーンツール(Apple Clang、cctools、Git、ld、lldb、Python、Swift)、SDKライブラリ(bzip2、expat、libcurl、libexslt、libffi、libxml2、libxslt、ncurses、sqlite3、zlib)にわたります。
CLIは、リリースの一覧表示、特定リリースのコンポーネント表示、リリース間のコンポーネントバージョン比較、新しいIPSWまたはXcodeアーカイブのスキャン、SHA-256チェックサムによるアーカイブ整合性の検証、残存マウント済みDMGのクリーンアップをサポートします。すべての読み取りコマンドは、ローカルデータディレクトリまたは代替APIベースURLを介したオフライン使用をサポートします。シェル補完はzsh、bash、fishで利用可能です。
リリースデータは、製品タイプ別に整理されたdata/ディレクトリ下のJSONファイルとして保存され、REST APIとしても提供されます。データはCC-BY-4.0ライセンス、ソフトウェア自体はAGPL-3.0-onlyライセンスです。プロジェクトはSwift 6.2で構築され、静的ウェブサイトにはAstroを使用しており、ビルド、リンティング、テスト、CodeQL分析、サイトデプロイ、リリースパイプライン用のCIワークフローがあります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.