Лёгкий процессор JSON для командной строки, написанный на переносимом C без зависимостей времени выполнения. Позволяет выбирать, фильтровать, сопоставлять и преобразовывать данные JSON.
- Звёзды
- 10,628
- Форки
- 258
- Открытые issues
- 59
- Последний коммит
- 15 часов назад
Что это?
fq — инструмент командной строки для работы с бинарными файлами. Он использует тот же язык выражений, что и jq, поэтому знакомые запросы можно применять к бинарным данным: передайте файл в запрос и получите декодированные поля вместо необработанных байтов.
В комплект входит множество встроенных декодеров для таких форматов, как MP4, PNG, ELF, PCAP, TLS, Protobuf, ZIP, а также для многих медиа- и сетевых форматов. fq показывает структурированное представление декодированных данных в шестнадцатеричном виде, умеет декодировать вложенные форматы (например, формат внутри контейнера) и поддерживает срезы и конкатенацию бинарных данных на уровне битов. Также предусмотрен интерактивный REPL с автодополнением.
fq написан на Go, работает в macOS, Linux и Windows и распространяется через Homebrew, scoop, pacman, Nix и другие менеджеры пакетов.
Ключевые возможности
- 01Выполняет запросы к бинарным файлам с помощью языка выражений, совместимого с jq.
- 02Включает декодеры для множества форматов, в том числе медиафайлов, сетевых форматов и архивов.
- 03Структурированный просмотрщик в шестнадцатеричном виде показывает декодированные поля рядом с необработанными байтами.
- 04Декодирует вложенные форматы и поддерживает срезы и конкатенацию на уровне битов.
- 05Включает интерактивный REPL с автодополнением.
Сценарии использования
- Изучение внутренней структуры медиафайла или контейнера при отладке.
- Анализ захватов пакетов или сообщений протоколов из командной строки.
- Извлечение отдельных полей из бинарных форматов в shell-скриптах.
- Изучение структуры файла через просмотр дерева декодированных данных.
Быстрый старт
- 1
Установите через Homebrew на macOS
brew install wader/tap/fq - 2
Установите через Scoop на Windows
scoop install fq - 3
Или установите с помощью Go (требуется Go 1.22 или новее)
go install github.com/wader/fq@latest - 4
Запустите для обработки файла
fq . file
Что важно знать
- В README указано, что проект распространяется по лицензии MIT, но в метаданных в качестве лицензии указано NOASSERTION. Перед повторным использованием проверьте лицензию.
В подборках
Темы
Частые вопросы
- Что такое fq?
- Инструмент командной строки и язык запросов в духе jq для анализа бинарных форматов; включает декодеры для десятков форматов. fq — инструмент командной строки для работы с бинарными файлами. Он использует тот же язык выражений, что и jq, поэтому знакомые запросы можно применять к бинарным данным: передайте файл в запрос и получите декодированные поля вместо необработанных байтов.
- fq можно использовать бесплатно? Какая у него лицензия?
- fq распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- fq всё ещё поддерживается?
- Активно поддерживается. Последний коммит в fq — 7 нояб. 2026 г..
- Для чего можно использовать fq?
- Изучение внутренней структуры медиафайла или контейнера при отладке. Анализ захватов пакетов или сообщений протоколов из командной строки. Извлечение отдельных полей из бинарных форматов в shell-скриптах. Изучение структуры файла через просмотр дерева декодированных данных.
- Как установить fq?
- Установите через Homebrew на macOS: brew install wader/tap/fq Установите через Scoop на Windows: scoop install fq Или установите с помощью Go (требуется Go 1.22 или новее): go install github.com/wader/fq@latest Запустите для обработки файла: fq . file
- Где скачать fq?
- Исходный код и инструкции по установке — на GitHub: https://github.com/wader/fq
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека.
CLI-инструмент для анализа размера скомпилированных Go-бинарников по пакетам, секциям и символам с выводом в текстовом, JSON-, HTML- и SVG-форматах, а также в веб-интерфейсе и терминальном UI.
Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown.
CLI-инструмент для сборки автономных PHP-бинарников без зависимостей, с выбранными расширениями, для Linux, macOS и Windows.
Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.