このプロジェクトについて
trussは、共有のRustコアを基に構築された画像変換ツールで、コマンドラインインターフェース(CLI)、HTTPサーバー、ブラウザ用のWebAssembly(WASM)ビルドの3つの主要なインターフェースを提供します。JPEG、PNG、WebP、AVIF、BMP、TIFF、SVGなどのフォーマットをサポートし、GIFはデコード専用の入力として利用可能です。このツールは、ローカルファイルの処理、サーバーサイドの画像処理、クライアントサイドのブラウザアプリケーション向けに設計されています。
主な機能には、品質制御付きのフォーマット変換、複数のフィットモード(contain、cover、fill、inside)によるリサイズ、クロッピング、回転、ブラー、シャープニング、ウォーターマーク、グレースケール変換が含まれます。CLIはstdin/stdoutを介したシェルパイプラインをサポートし、リモートURLから画像をフェッチできます。HTTPサーバーはCDNやリバースプロキシの後ろにデプロイでき、ベアラートークン認証、署名付き公開URL、オプションのクラウドストレージバックエンド(S3、GCS、Azure)をサポートします。セキュリティ機能には、組み込みのSSRF保護と、スクリプトや外部参照を削除するSVGサニタイズが含まれます。
ブラウザ統合のために、trussはサーバーへのアップロードを必要としないローカル画像処理を可能にする、完全にクライアントサイドで実行されるnpmパッケージ(@nao1215/truss-wasm)を提供します。別のTypeScriptパッケージ(@nao1215/truss-url-signer)により、Node.jsアプリケーションは署名付き公開URLを生成できます。このプロジェクトはクロスプラットフォームで、Linux、macOS、Windowsをサポートし、Homebrew、Cargo、AUR、Docker、またはプリビルドバイナリを介してインストールできます。メタデータ処理は構成可能で、EXIFとICCプロファイルを削除、保持、または選択的に保持するオプションがあり、EXIFの自動方向補正はデフォルトで有効になっています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.