Что такое формат файла G3FC?
Файл .g3fc представляет собой архив в формате Generation 3 File Container - открытом формате архивации, опубликованном G3Pix (Lucas Guimarães) в 2025 году. Он упаковывает один или несколько файлов в единый контейнер и сжимает их с помощью Zstandard - того же быстрого алгоритма, который лежит в основе формата .zst. Помимо сжатия, G3FC добавляет две функции, редко встречающиеся вместе в потребительских форматах архивов: опциональное аутентифицированное шифрование AES-256-GCM и опциональную коррекцию ошибок Рида-Соломона (Forward Error Correction), которая позволяет архиву пережить деградацию данных («битовую гниль») при длительном хранении.
Формат начинает каждый файл с ASCII-сигнатуры G3FC и заканчивается 40-байтовым футером с магическим числом G3CE. Этот футер указывает на индекс, закодированный в CBOR, поэтому программа может просматривать и искать содержимое без сканирования всего файла, что быстрее, чем последовательное чтение, необходимое для архива .tar. Значения хранятся в порядке little-endian, текст - в UTF-8, а целостность защищена контрольными суммами CRC-32. Спецификация является открытой, а эталонные инструменты на Rust, Go, C# и Python выпущены под лицензией GNU General Public License v2.0.
Безопасность и защита
РИСК: LOWG3FC is a data archive, not an executable, so opening one does not run code. As with any archive, treat files from unknown senders with caution and scan extracted contents. Encrypted archives require the correct password; AES-256-GCM also authenticates the data, so tampering is detected on extraction.
Детали формата
в двух словах- G3F (Guitar Pro 3 / fax G3) - The similar-looking .g3f extension is unrelated and refers to older fax or music-notation files, not the G3FC archive.
Программы, открывающие файлы G3FC
Технические подробности
глубокая спецификация| Encoding | Binary container with a fixed 331-byte header, a data region, a CBOR-serialized file index, an optional FEC region, and a 40-byte footer. |
| Byte order | Little Endian for all multi-byte integers |
| Container | Single-file archive holding one or more member files plus a searchable index |
| Compression | Zstandard (Zstd, RFC 8878); per-file or global mode. CLI default level 6. |
| Encryption | Optional AES-256 in GCM mode. Payload layout: 12-byte nonce, 16-byte auth tag, then ciphertext. Keys derived with PBKDF2-HMAC-SHA256, 32-byte key, recommended 100,000 iterations, using separate 64-byte read and write salts stored in the header. |
| Integrity | CRC-32 (IEEE 802.3 polynomial 0xEDB88320) over file data, the header (bytes 0-276), and the footer (first 32 bytes). Reed-Solomon Forward Error Correction is optional (fec_scheme 1), percentage-based with fec_level 0-50, applied to a Data FEC block and a Metadata FEC block. |
| Typical size | Varies; benchmark compressed roughly 13,000 files (2 GB) into about 1 GB. |
| Structure | Header (magic 'G3FC', version, UUID, timestamps in .NET ticks, index offset/length, compression and encryption flags, salts, KDF iterations, FEC settings, header checksum) -> data region -> file index (CBOR then Zstd, optionally encrypted) -> optional FEC region -> 40-byte footer ending in magic 'G3CE'. |
| Platforms | Windows, macOS, Linux |
| Notes | The index is serialized with CBOR (RFC 8949) and lists per-file path, type, UUID, timestamps, permissions (octal), offsets, sizes, compression flag, and CRC-32. Split archives use block_file_index and chunk grouping fields. Text is UTF-8. Timestamps are 100-nanosecond intervals since 0001-01-01 UTC (.NET ticks). Reference implementations exist in Rust, Go, C#/.NET, and Python. |
| Выпущен | 2025 |
| Последняя версия | Format version 1.0 (tooling v1.1.3, August 2025) |
| Открыть стандартное | Да · без роялти |
| Спецификация | github.com |
Конвертации G3FC
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах G3FC.