ENV Diff Checker
Jämför två .env-filer (staging vs. produktion, före vs. efter en distribution) och se exakt vilka nycklar som lades till, togs bort eller ändrades, med hemliga värden maskerade automatiskt.
Resultat
Att jämföra en iscensättande .env-fil mot produktion, eller dagens distributionskonfiguration med förra veckans, är hur verkliga avbrott börjar: en saknad DATABASE_URL, en PORT som tyst ändrades, en API-nyckel som roterades i en miljö men inte i den andra. Att klistra in båda filerna i en generisk textdiff hjälper inte heller mycket - det visar dig vilka rader som skiljer sig åt, inte vilka miljövariabler som faktiskt ändrats, och det skriver glatt ut alla hemliga värden i osynligt ögonblick när du delar resultatet med en lagkamrat.
Det här verktyget analyserar båda filerna på det sätt som dotenv faktiskt läser dem - ett KEY=värdepar per rad, # kommentarer och tomma rader ignorerade, enkla eller dubbla citatte värden utan citationstecken (med \n oescaped endast inom dubbla citattecken, precis som dotenv-konventionen specificerar), och ett valfritt export KEY=värdeprefix tolererade hur env-filer använde det. Varje fil blir en ren nyckel-till-värde-karta, och de två kartorna skiljer sig sedan åt med nyckel: endast närvarande i fil A "tas bort", endast närvarande i fil B "läggs till", finns i båda med ett annat värde "ändras" och identiska värden är "oförändrade" och dolda som standard så att tabellen förblir fokuserad på vad som faktiskt skiljer sig.
Funktionen som gör detta säkert att faktiskt använda med riktiga hemligheter är automatisk maskering. Varje värde som visas i diff-tabellen kontrolleras mot två oberoende signaler: ser dess nyckelnamn ut som en hemlighet (en skiftlägeskänslig matchning mot KEY, SECRET, TOKEN, PASSWORD, PRIVATE eller CREDENTIAL), eller har värdet i sig hög Shannon-entropi — samma informationsteoretiska mått (-Σ p(c)·log2) som värdet, flaggan och API-tecknen) slumpmässiga lösenord som statistiskt skiljer sig från vanliga ord även när nyckelnamnet inte ger någon antydan. Båda signalerna räcker för att maskera ett värde ner till dess första och sista två tecken, beräknade oberoende för den gamla och nya sidan av varje ändrad rad.
Allt – analysering, diffing, entropipoängning och maskering – körs helt i din webbläsare; varken fil, eller något värde som extraherats från dem, skickas någonsin någonstans. Det är den rätta garantin för ett verktyg vars hela jobb är att titta på två filer som sannolikt innehåller riktiga databasuppgifter, API-nycklar och lösenord sida vid sida.