INI nastavenia (.ini)

De Štandard

Windows 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:

Vyberte alebo presuňte súbory sem

100 % súkromná konverzia v prehliadači - súbory nikdy neopustia vaše zariadenie

alebo prilepiť Ctrl+V
Záruka súkromia s nulovým prenosom do siete: 0 bajtov odovzdaných na externé servery. Všetko spracovanie prebehlo lokálne v pieskovisku vášho prehliadača.

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 ... 5D

ASCII REPREZENTÁCIA: [...]

Štandardizácia: De facto industry configuration standard

Technické špecifikácie

Architektúra kontajneraPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
KompresiaUncompressed text file
Poradie bajtov (Endianness)UTF-8 or ANSI text stream
Farebné priestoryN/A (Configuration File)
Kanály a štruktúraKey-value configuration properties categorized by section namespaces
Max. rozmeryHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
PriehľadnosťNone
Streamovanie a postupné načítavanieSequential line-by-line streaming parser

Technická porovnávacia matica: INI vs konkurenti

Technický atribútINI (Aktuálne)JSONYAMLTOML
Zložitosť syntaxeNajjednoduchšia možná (sekcia + kľúč=hodn)Prísne zátvorky a úvodzovkyBiele znaky citlivé na zarážkyModerné typované tabuľky
Podpora komentárovNatívna (komentáre ; a #)Komentáre nie sú v špecifikácii podporovanéNatívne (komentáre #)Natívne (komentáre #)
Vnorené štruktúryIba 1-úrovňové sekcieNekonečne vnorené objekty/poliaNekonečne vnorené stromyŠtruktúrované polia tabuliek
Typovanie údajovImplicitné reťazce (aplikácia analyzuje typy)Explicitné čísla, pravdivostné hodnoty, poliaExplicitné typy a kotvyExplicitné 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

2000Štandardná knižnica jazyka Python integruje modul ConfigParser, čím upevňuje formát INI ako univerzálny formát konfigurácie softvéru.
1995Windows 95 zavádza Register systému Windows, ktorý má nahradiť monolitické systémové súbory INI (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 predstavuje súbor WIN.INI ako hlavnú konfiguračnú databázu operačného systému.

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.