ЕНВ Провера разлика
Упоредите две .env датотеке (staging у односу на production, пре и после деплоја) и видите тачно који су кључеви додати, уклоњени или измењени, уз аутоматско маскирање вредности које изгледају као тајне.
🔒 У потпуности се обрађује у вашем претраживачу — ништа што овде унесете се никада не отпрема.
Резултат
Упоређивање staging .env датотеке са production, или данашње конфигурације деплоја са оном од прошле недеље, на око је начин на који настају стварни прекиди: недостајући DATABASE_URL, PORT који се тихо променио, API кључ који је ротиран у једном окружењу али не и у другом. Просто лепљење обе датотеке у обични diff такође не помаже много — показује вам које линије се разликују, а не које променљиве окружења су се заиста промениле, и радо исписује сваку вредност тајне на видику чим поделите резултат са колегом.
Овај алат парсира обе датотеке онако како их dotenv заиста чита — један KEY=value пар по линији, # коментари и празни редови се игноришу, вредности у једноструким или двоструким наводницима се одмотавају (са замењеним само унутар двоструких наводника, тачно како dotenv конвенција прописује), а опциони export KEY=value префикс се толерише онако како га shell-sourced env датотеке користе. Свака датотека постаје чиста мапа кључ-вредност, а затим се те две мапе упоређују по кључу: присутан само у Датотеци А је „уклоњен“, присутан само у Датотеци Б је „додат“, присутан у обе са различитом вредношћу је „измењен“, а идентичне вредности су „непромењене“ и подразумевано скривене како би табела остала фокусирана на оно што се заиста разликује.
Оно што ово чини безбедним за стварну употребу са правим тајнама је аутоматско маскирање. Свака вредност приказана у табели разлика проверава се према два независна сигнала: да ли њен назив кључа личи на тајну (case-insensitive поклапање са KEY, SECRET, TOKEN, PASSWORD, PRIVATE или CREDENTIAL), или да ли сама вредност има високу Шенонову ентропију — исту информационо-теоријску меру (-Σ p(c)·log2(p(c)) над карактерима вредности) која означава API кључеве, токене и насумичне лозинке као статистички различите од обичних речи чак и када назив кључа не даје никакав наговештај. Сваки од ових сигнала је довољан да маскира вредност на прва и последња два знака, обрачунато независно за стару и нову страну сваког измењеног реда.
Све — парсирање, упоређивање, оцењивање ентропије и маскирање — ради потпуно у вашем прегледачу; ни датотека, нити било која вредност извучена из њих, се икада не шаљу никуда. То је права гаранција за алат чији је цео посао да гледа две датотеке које вероватно садрже стварне акредитиве базе података, API кључеве и лозинке једну поред друге.