Hvad er G3FC-filformatet?
En .g3fc-fil er et arkiv i formatet Generation 3 File Container, et åbent arkivformat udgivet af G3Pix (Lucas Guimarães) i 2025. Det pakker en eller flere filer i en enkelt container og komprimerer dem med Zstandard, den samme hurtige algoritme, der ligger bag .zst-formatet. Udover komprimering tilføjer G3FC to funktioner, der sjældent findes sammen i et arkivformat til forbrugere: valgfri AES-256-GCM-godkendt kryptering og valgfri Reed-Solomon Forward Error Correction, der lader et arkiv overleve bit-rot under langtidslagring.
Formatet starter hver fil med ASCII-signaturen G3FC og slutter med en 40-byte footer, hvis magic bytes er G3CE. Denne footer peger på et CBOR-kodet indeks, så en læser kan liste og søge i indholdet uden at scanne hele filen, hvilket er hurtigere end de sekventielle læsninger, et .tar-arkiv kræver. Værdier gemmes som little-endian, tekst er UTF-8, og integriteten er beskyttet af CRC-32-kontrolsummer. Specifikationen er åben, og referenceværktøjer i Rust, Go, C# og Python er udgivet under GNU General Public License v2.0.
Sikkerhed og tryghed
RISIKO: 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.
Formatdetaljer
kort fortalt- 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.
Programmer der åbner G3FC-filer
Tekniske detaljer
dyb specifikation| 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. |
| Udgivet | 2025 |
| Seneste version | Format version 1.0 (tooling v1.1.3, August 2025) |
| Åben standard | Ja · royaltyfri |
| Specifikation | github.com |
G3FC-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om G3FC-filer.