Nastavení INI (.ini)

Neformální Standardní

Windows Initialization Configuration (INI) je klasický konfigurační souborový formát s čitelným obsahem pro lidské čtenáře, který zpopularizoval systém Microsoft Windows a organizuje nastavení aplikací do pojmenovaných sekcí [sections] obsahujících páry klíč=hodnota.

Převést INI na JSON

Bezplatný konvertor z INI do JSON v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory INI kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory INI kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

5B ... 5D

ASCII REPREZENTACE: [...]

Standardizace: Neformální průmyslový standard pro konfigurační soubory

Technické specifikace

Architektura kontejneruProstý textový konfigurační soubor se záhlavími oddílů [section], páry klíč = hodnota a komentáři (; nebo #)
KompreseNekomprimovaný textový soubor
Pořadí bajtůProud textu UTF-8 nebo ANSI
Barevné prostoryNevztahuje se (konfigurační soubor)
Kanály a strukturaKonfigurační vlastnosti ve formě klíčů a hodnot, rozdělené do pojmenovaných oddílů
Max. rozměryHistorický limit 64 KB v 16bitovém Windows; v moderních implementacích neomezeno
PrůhlednostŽádná
Streamování a progresivní načítáníSekvenční parsování po jednotlivých řádcích

Technická srovnávací matice: INI vs konkurence

Technický atributINI (Aktuální)JSONYAMLTOML
Složitost syntaxeNejjednodušší možná (sekce + klíč=hodnota)Přísné závorky a uvozovkyBílé znaky citlivé na odsazeníModerní typové tabulky
Podpora komentářůNativní (komentáře ; a #)Komentáře nejsou ve specifikaci podporoványNativní (komentáře #)Nativní (komentáře #)
Vnořené strukturyPouze 1úrovňové sekceNekonečně vnořené objekty/poleNekonečně vnořené stromyStrukturovaná pole tabulek
Typování datImplicitní řetězce (aplikace parsuje typy)Explicitní čísla, booleovské hodnoty, poleExplicitní typy a kotvyExplicitní data, čísla, pole

Běžné režimy poškození a příručka pro obnovení v hex

Aplikace ignoruje nastavení nebo se nespustí.

Hlavní příčina: Chybějící závorka hlavičky sekce (např. „[Settings" namísto „[Settings]") nebo neošetřené rovnítko v hodnotě.

Obnovení: Ověřte a opravte syntaxi INI pomocí nástroje File2File.app Config Formatter.

Bezpečnostní analýza a vektory útoků na parser

Parsery formátu INI se musí chránit proti útokům injekcí sekcí a znečištění prototypu (prototype pollution) při deserializaci do objektů.

Známé vektory útoků

  • Injekce INI, kde vložení nového řádku do vstupu uživatele vytvoří neautorizované konfigurační sekce.
  • Znečištění prototypu v parserech INI v jazyce JavaScript při přiřazování do proměnné „__proto__".
  • Odpojení služby (Denial of Service) prostřednictvím hluboce rekurzivního rozbalování názvů sekcí.

Doporučené bezpečnostní postupy: Očistěte uživatelské vstupy tak, aby neobsahovaly znaky nového řádku, a chraňte se před znečištěním prototypu (prototype pollution).

Historický vývoj a milníky

2000Standardní knihovna Pythonu obsahuje modul configparser pro práci se soubory INI.
1995Windows 95 zavádí registr systému Windows jako náhradu za monolitické systémové soubory INI (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 zavádí soubor WIN.INI jako hlavní konfigurační databázi operačního systému.

Klíčové výhody a přednosti

  • Výjimečně čistá a intuitivní syntaxe: netechničtí uživatelé mohou snadno číst a upravovat nastavení.
  • Nativní parsovací rozhraní API téměř v každém programovacím jazyce (Python configparser, PHP parse_ini_file, C#).
  • Jmenné prostory sekcí zabraňují kolizím nastavení napříč různými funkcemi aplikace.

Technická omezení a nevýhody

  • Žádný formální mezinárodní standard: znaky komentářů (; vs #) a pravidla escapování se u jednotlivých parserů liší.
  • Plochá hierarchie: nepodporuje hluboce vnořená pole nebo složité strukturované objekty bez vlastních oddělovačů.
  • Všechny hodnoty jsou načteny jako řetězce, což vyžaduje, aby aplikace ručně parsovaly celá čísla, booleovské hodnoty a desetinná čísla.

Zajímavé technické drobnosti

  • V systému Windows 3.1 bylo každé jednotlivé nastavení v celém operačním systému uloženo pouze ve dvou souborech: WIN.INI a SYSTEM.INI.
  • Git používá formát INI pro svůj hlavní konfigurační soubor úložiště umístěný na cestě „.git/config".
  • Soubory zástupců plochy v systému Linux (soubory „.desktop" XDG Desktop Entry) jsou strukturovány pomocí standardní syntaxe INI.

Často kladené technické otázky

K čemu se používá soubor INI?

Soubory INI používá desktopový software, hry a vývojářské nástroje (např. konfigurace Git a PHP.ini) k ukládání uživatelských předvoleb a konfiguračních nastavení ve snadno čitelném formátu.

Jak mohu upravit soubor INI?

Soubory INI můžete otevřít a upravit v libovolném základním textovém editoru, jako je Poznámkový blok, TextEdit, VS Code, nebo přímo online pomocí File2File.app.

Mohu převést INI na JSON nebo YAML?

Ano. File2File.app dokáže okamžitě v prohlížeči převést soubory INI do čistých formátů JSON, YAML nebo TOML.