loremfile について
loremfileは、ファイル入力を必要とする開発者、テスト、CI向けに、CC0のサンプルファイルとテスト用フィクスチャを提供します。多様な形式や不正データを含み、SHA-256情報とダウンロード用クライアントを備えています。
主な機能
- 01多様な形式のサンプルファイル
- 02意図的に壊したエッジケース
- 03マニフェストのSHA-256値
- 04Pythonとnpmのコマンドラインクライアント
- 05読み取り専用のMCP検索と検証
活用シーン
- 01ファイルパーサーのテスト入力を用意
- 02CIでフィクスチャを取得して検証
- 03ローカルファイルとサンプルのハッシュ照合
MCP 対応
PythonとnpmのパッケージはstdioのMCPサーバーを提供し、フィクスチャの一覧、説明取得、ローカルファイル検証を行う読み取り専用ツールを備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tag | any | いいえ | 含めるタグ。いずれかに一致します。例:["encrypted"]。 |
| limit | integer | いいえ | 1 ページあたりのサンプルファイル数。デフォルトは 50、最大 250 です。 |
| format | any | いいえ | 含める形式。いずれかに一致します。例:["pdf", "png"]。 |
| offset | integer | いいえ | スキップする一致項目数。 |
| max_bytes | integer | いいえ | このサイズ以下のファイルのみ。 |
詳細
loremfile
すべてのファイル形式に対応した、無料でCC0、ホットリンクに適したサンプルファイルです。 Lorem Picsumの、PDF、画像、音声、動画、オフィス文書、データファイル、アーカイブ、フォント、テキストエンコーディング、生のバイト列、意図的に不正なエッジケース版です。
https://loremfile.dev/pdf/a4-3pages.pdf
https://loremfile.dev/bin/10mb.bin
https://loremfile.dev/mp4/720p-5s.mp4
https://loremfile.dev/edge/jpg-truncated-50pct.jpg
広告なし、アカウント不要、予期しないレート制限なし、帰属表示も不要です。オープンCORS、バイト範囲のサポート、1年間の不変キャッシュに加え、すべてのファイルのSHA-256ハッシュを含む機械可読な
manifest.jsonを提供しています。
カタログバージョン1.2.0として、78形式にわたる228ファイルとedge/セットを公開しています。仕様はdocs/にあります。
正規ホスト
正規ホストは**https://loremfile.dev**です。
このREADMEは、別経路で参照するためのポインターです。loremfile.devが利用できなくなったり、移転したりした場合は、現在の正規ホストがここに最初に記載されます。他のミラーは利用しないでください。
信頼できること
- **公開済みパスのバイト列は変わりません。**ハッシュ、バイト数、MIMEタイプはそのままです。修正がある場合は新しいパスになり、古いエントリーには
supersededByが記録されます。法的な理由でファイルが削除される場合があり、その場合もマニフェストには削除記録が残ります。可用性は保証されません。利用規約をご覧ください。 - **ホットリンクを歓迎します。**そのためのサービスです。自動化されたトラフィックはクライアントごとに毎秒30リクエスト未満に抑えてください(エッジではIPごとに10秒あたり300リクエストでレート制限されます)。
- トラッキングCookieなし、分析スクリプトなし、アカウント不要です。
エージェントとCI向け
/llms.txt:このサービスの説明を1つのファイルにまとめています。/manifest.json:パス、バイト数、sha256、MIMEタイプ、タグ、形式固有のプロパティを含む、すべてのフィクスチャです。/sha256sums.txt:sha256sum -cでダウンロードを検証できます。/{format}/index.json:形式ごとのインデックスです。
GitHub Action
フィクスチャをワークフローに取り込み、各ファイルをマニフェストのsha256と照合して検証します。
- uses: kumarprabhashanand/loremfile/action@action-v1
with:
paths: pdf/minimal.pdf mp4/720p-5s.mp4
formats: svg
ファイルはloremfile-fixtures/に書き込まれ、dirとcountが出力されます。バイト列がマニフェストと一致しないファイルがあると、そのファイル名を示してステップが失敗します。catalog-version: "1.2.0"を指定すると、loremfile.devのカタログが更新されている場合は実行されません。
このアクションはシェルのみで動作し、loremfile.dev以外とは通信しません。ファイルを1つずつダウンロードし、その間に間隔を空けます。また、他のクライアントと同様に公開済みのレート制限が適用されるため、429を受け取ると待機時間を延ばします。LinuxとmacOSのランナーのみ対応です。sha256sumまたはshasumが必要なため、Windowsは中途半端にサポートするのではなく、非対応としています。
action-v1はアクションの変更に応じて移動するメジャータグです。意図的にv*リリースタグではありません。リリースタグはカタログバージョンを示し、公開後は固定されるためです。コミットSHAを固定する方法もあり、これが最も厳格な方法です。
コマンドラインクライアント
PyPIのloremfile(Python 3.11以降)とnpmのloremfileでは、名前を指定したファイルまたは形式全体を取得でき、sha256との照合に成功した後にのみファイルを書き込みます。
npx loremfile get --format pdf
loremfile get pdf/minimal.pdf mp4/720p-5s.mp4 # after pip install loremfile
**どちらにも依存関係はありません。**Pythonパッケージはdependencies = []を宣言し、標準ライブラリのみを使用します。npmパッケージのpackage.jsonにも依存関係はなく、Nodeの組み込み機能のみを使用します。どちらをインストールしても、そのパッケージ1つだけがインストールされます。
MCP サーバー
どちらのパッケージも、標準入出力を介してModel Context Protocolサーバーとして実行でき、読み取り専用ツールを3つ提供します:list_fixtures、describe_fixture、verify_file。Nodeを使う場合:
{ "mcpServers": { "loremfile": { "command": "npx", "args": ["-y", "loremfile", "mcp"] } } }
インストールせずにPythonを使う場合:
{ "mcpServers": { "loremfile": { "command": "uvx", "args": ["loremfile", "mcp"] } } }
MCP Registryにio.github.kumarprabhashanand/loremfileとして登録されており、loremfile.dev/docs/mcpで各ツールについて説明しています。
ライセンス
| 対象 | ライセンス |
|---|---|
フォーマットのパス(/pdf/…、/bin/…、/edge/…)で提供されるすべてのファイル | CC0 1.0 Universal:パブリックドメイン、クレジット表記は不要です |
| このリポジトリのジェネレーター、サイト、ツール | MIT |
| ウェブサイトのテキストと画像 | CC BY 4.0、"loremfile.dev" と表記してください |
ファイルの生成に使用するサードパーティ製ツールは、THIRD_PARTY.md に記載されています。
サードパーティ製メディアは再配布していません。すべて生成されたものです。
リポジトリ
| パス | 内容 |
|---|---|
docs/ | 00~19 の完全な仕様。まずは docs/README.md をご覧ください。 |
catalog/ | 宣言型のフィクスチャ定義。フォーマットごとに YAML ファイルが1つあります。 |
src/loremfile/ | ジェネレーター、バリデーター、サイトビルダー、アップローダー、インフラストラクチャコード。 |
infra/ | ワークフローによって適用される Cloudflare の望ましい状態。 |
manifest.json | 生成されるロックファイル。手動で編集しないでください。 |
コントリビューション
フィクスチャのリクエストやバグ報告は Issues に投稿してください。命名規則と優れたフィクスチャの条件については
CONTRIBUTING.md をご覧ください。
セキュリティに関する報告は SECURITY.md をご覧ください。
プルリクエストを作成すると、ジェネレーターのコードは MIT ライセンス、そこから生成されるフィクスチャは CC0 ライセンスに同意したものとみなされます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。