INI nastavenia (.ini)
De ŠtandardWindows Initialization Configuration (INI) je klasický konfiguračný súbor v ľudsky čitateľnom formáte, ktorý spopularizoval systém Microsoft Windows. Nastavenia aplikácie organizuje do pomenovaných sekcií ([sections]) obsahujúcich páry kľúč=hodnota.
Konvertovať INI do JSON
Bezplatný konvertor z INI do JSON priamo v prehliadači. Konvertujte súbory okamžite vo svojom zariadení.
Preskúmať a metadáta
Operačné systémy a analyzátory súborov identifikujú súbory INI kontrolou počiatočnej binárnej bajtovej sekvencie:
Podpis hlavičky na úrovni bajtov (Magic Bytes)
Operačné systémy a analyzátory súborov identifikujú súbory INI kontrolou počiatočnej binárnej bajtovej sekvencie:
HEXADECIMÁLNY PODPIS (OFFSET 0):
5B ... 5DASCII REPREZENTÁCIA: [...]
Štandardizácia: De facto industry configuration standard
Technické špecifikácie
| Architektúra kontajnera | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Kompresia | Uncompressed text file |
| Poradie bajtov (Endianness) | UTF-8 or ANSI text stream |
| Farebné priestory | N/A (Configuration File) |
| Kanály a štruktúra | Key-value configuration properties categorized by section namespaces |
| Max. rozmery | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Priehľadnosť | None |
| Streamovanie a postupné načítavanie | Sequential line-by-line streaming parser |
Technická porovnávacia matica: INI vs konkurenti
| Technický atribút | INI (Aktuálne) | JSON | YAML | TOML |
|---|---|---|---|---|
| Zložitosť syntaxe | Najjednoduchšia možná (sekcia + kľúč=hodn) | Prísne zátvorky a úvodzovky | Biele znaky citlivé na zarážky | Moderné typované tabuľky |
| Podpora komentárov | Natívna (komentáre ; a #) | Komentáre nie sú v špecifikácii podporované | Natívne (komentáre #) | Natívne (komentáre #) |
| Vnorené štruktúry | Iba 1-úrovňové sekcie | Nekonečne vnorené objekty/polia | Nekonečne vnorené stromy | Štruktúrované polia tabuliek |
| Typovanie údajov | Implicitné reťazce (aplikácia analyzuje typy) | Explicitné čísla, pravdivostné hodnoty, polia | Explicitné typy a kotvy | Explicitné dátumy, čísla, polia |
Bežné režimy poškodenia a príručka na obnovu v hexadecimálnom kóde
Aplikácia ignoruje nastavenia alebo sa nespustí.
Hlavná príčina: Chýbajúca zátvorka hlavičky sekcie (napr. „[Settings" namiesto „[Settings]") alebo neošetrený znak rovnná sa v hodnote.
Obnova: Overte a opravte syntax INI pomocou nástroja File2File Config Formatter.
Bezpečnostná analýza a vektory útokov na parser
Parsery INI sa musia chrániť pred útokmi injekcie sekcií a znečistením prototýpu (prototype pollution) pri deserializácii do objektov.
Známe vektory útokov
- Injekcia INI, kde vloženie nového riadku do vstupu používateľa vytvorí neoprávnené konfiguračné sekcie.
- Znečistenie prototýpu v parseroch INI pre JavaScript priraďovaním k premennej „__proto__".
- Odopretie služby prostredníctvom hlboko rekurzívneho rozbalenia názvu sekcie.
Najlepšie obranné postupy:
Historický pôvod a míľniky
Kľúčové výhody a prednosti
- Výnimočne čistá a intuitívna syntax: netechnickí používatelia dokážu jednoducho čítať a upravovať nastavenia.
- Natívne rozhrania API na analýzu v takmer každom programovacom jazyku (Python configparser, PHP parse_ini_file, C#).
- Názvové priestory sekcií (namespaces) zabraňujú kolíziám nastavení naprieč rôznymi funkciami aplikácie.
Technické obmedzenia a nevýhody
- Žiadny formálny medzinárodný štandard: znaky komentárov (; vs #) a pravidlá únikov (escaping) sa u rôznych parserov líšia.
- Plochá hierarchia: nepodporuje hlboko vnorené polia ani zložité štruktúrované objekty bez vlastných oddeľovačov.
- Všetky hodnoty sa čítajú ako reťazce, čo si od aplikácií vyžaduje manuálnu analýzu celých čísel, pravdivostných hodnôt a desatinných čísel.
Zaujímavé technické drobnosti
- V systéme Windows 3.1 bolo každé jedno nastavenie v celom operačnom systéme uložené iba v dvoch súboroch: WIN.INI a SYSTEM.INI.
- Git používa formát INI pre svoj primárny konfiguračný súbor úložiska umiestnený v adrese „.git/config".
- Súbory zástupcov pracovnej plochy v systéme Linux (súbory XDG Desktop Entry „.desktop") sú štruktúrované pomocou štandardnej syntaxe INI.
Často kladené technické otázky
Na čo sa používa súbor INI?
Súbory INI používajú desktopový softvér, hry a vývojárske nástroje (napr. Git config a PHP.ini) na ukladanie používateľských predvolieb a nastavení konfigurácie v ľahko čitateľnom formáte.
Ako môžem upraviť súbor INI?
Súbory INI môžete otvoriť a upravovať v akomkoľvek základnom textovom editore, ako je Notepad, TextEdit, VS Code, alebo priamo online pomocou nástroja File2File.app.
Môžem konvertovať INI do formátu JSON alebo YAML?
Áno. File2File.app dokáže okamžite vo vašom prehliadači konvertovať súbory INI do čistých formátov JSON, YAML alebo TOML.