AWS Lambdaに最適化されたMediaProxyです。
- C++で書かれています。依存関係を全てHardeningした上でStaticなバイナリにコンパイルしています。
- 必要最低限の依存関係のみを含める方針で開発されています。
- AWS Lambda以外での環境での動作には対応していません。
- SVGには意図的に対応していません。SVGは数々のセキュリティ上の問題を引き起こす上に、対応に必要となる依存関係が膨大です。
- HEICには法的な問題を避けるために、意図的に対応していません。AVIFには対応しています。
.devcontainerで定義された開発環境から、次のコマンドを実行してビルドします。
cmake --preset arm64-release
cmake --build --preset arm64-release --target bootstrap-artifact --parallel 2
ctest --preset arm64-release成果物はout/build/arm64-release/artifact/bootstrapにコンパイルされます。
x86_64にも対応していますが、arm64で動作させることを推奨しています。
LGPL対応ソース、再リンク材料などは
out/build/arm64-release/artifact/complianceに生成されます。
ASan/UBSan診断はproduction成果物と分離した動的musl PIEで実行します。
cmake --preset arm64-sanitizers
cmake --build --preset arm64-sanitizers --parallel 2
ctest --preset arm64-sanitizers