Repolode
wader

wader/fq

多数の形式に対応したデコーダーを備え、バイナリファイル形式を調査・クエリできる、jq風のコマンドラインツール兼クエリ言語。

代替できる製品:HexFiendImHex

スター
10,628
フォーク
258
未解決の Issue
59
最終コミット
15 時間前

これは何?

fqは、バイナリファイルを扱うためのコマンドラインツールです。jqと同じ式言語を使うため、使い慣れたクエリをバイナリデータにも適用できます。ファイルをクエリにパイプで渡すと、生のバイト列ではなくデコード済みのフィールドを取得できます。

MP4、PNG、ELF、PCAP、TLS、Protobuf、ZIPのほか、さまざまなメディア形式やネットワーク形式に対応する多数のデコーダーを内蔵しています。デコードしたデータを構造がわかる16進ビューで表示でき、コンテナ内の形式など、入れ子になった形式のデコードにも対応します。また、ビット単位でのバイナリデータの切り出しや連結も可能です。自動補完機能付きのインタラクティブなREPLも備えています。

fqはGoで実装されており、macOS、Linux、Windowsで動作します。Homebrew、scoop、pacman、Nixなどのパッケージマネージャーからインストールできます。

主な機能

  • 01jq互換の式言語でバイナリファイルをクエリできます。
  • 02メディア、ネットワーク、アーカイブなど、多数の形式に対応するデコーダーを内蔵しています。
  • 03構造化された16進ビューで、デコード済みのフィールドと生のバイト列を並べて表示できます。
  • 04入れ子になった形式をデコードでき、ビット単位での切り出しや連結にも対応しています。
  • 05自動補完機能付きのインタラクティブなREPLを備えています。

ユースケース

  • デバッグ時にメディアファイルやコンテナの内部構造を調べる。
  • コマンドラインからパケットキャプチャやプロトコルメッセージを解析する。
  • シェルスクリプトでバイナリ形式から特定のフィールドを抽出する。
  • デコード済みのツリーをたどり、ファイル形式の構造を学ぶ。

クイックスタート

  1. 1

    macOSではHomebrewでインストール

    brew install wader/tap/fq
  2. 2

    WindowsではScoopでインストール

    scoop install fq
  3. 3

    またはGoでインストール(Go 1.22以降が必要)

    go install github.com/wader/fq@latest
  4. 4

    ファイルに対して実行

    fq . file

使う前に知っておきたいこと

  • READMEではプロジェクトのライセンスをMITとしていますが、メタデータではNOASSERTIONと記載されています。再利用する前にライセンスを確認してください。

収録されている特集

トピック

#binary#cli#jq#hexdump#file-formats#decoder#golang#decode#go#json

よくある質問

fq とは?
多数の形式に対応したデコーダーを備え、バイナリファイル形式を調査・クエリできる、jq風のコマンドラインツール兼クエリ言語。 fqは、バイナリファイルを扱うためのコマンドラインツールです。jqと同じ式言語を使うため、使い慣れたクエリをバイナリデータにも適用できます。ファイルをクエリにパイプで渡すと、生のバイト列ではなくデコード済みのフィールドを取得できます。
fq は無料で使えますか?ライセンスは?
fq は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
fq は今もメンテナンスされていますか?
活発にメンテナンス中。fq の最終コミットは 2026年11月7日 です。
fq は何に使えますか?
デバッグ時にメディアファイルやコンテナの内部構造を調べる。 コマンドラインからパケットキャプチャやプロトコルメッセージを解析する。 シェルスクリプトでバイナリ形式から特定のフィールドを抽出する。 デコード済みのツリーをたどり、ファイル形式の構造を学ぶ。
fq のインストール方法は?
macOSではHomebrewでインストール: brew install wader/tap/fq WindowsではScoopでインストール: scoop install fq またはGoでインストール(Go 1.22以降が必要): go install github.com/wader/fq@latest ファイルに対して実行: fq . file
fq はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/wader/fq

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

正確さ・速度・シンプルさを重視したRust製jqクローン。jq互換CLIとしてもライブラリとしても使えます。

3825+10 今週127RustMIT更新 9 日前