0

Pemeriksa Perbezaan ENV

Bandingkan dua fail .env (staging vs. production, sebelum vs. selepas deployment) dan lihat dengan tepat kunci mana yang ditambah, dibuang atau ditukar, dengan nilai yang kelihatan seperti rahsia ditutup secara automatik.

🔒 Diproses sepenuhnya dalam penyemak imbas anda — tiada apa yang anda masukkan di sini pernah dimuat naik.

Memproses... 0%
Menghurai kedua-dua fail
Mengira perbandingan
Menutup rahsia
Selesai

Keputusan

Membandingkan fail .env staging dengan production, atau config deployment hari ini dengan minggu lepas, dengan mata kasar adalah bagaimana gangguan sebenar bermula: DATABASE_URL yang hilang, PORT yang bertukar secara senyap, kunci API yang diputar dalam satu persekitaran tetapi tidak yang lain. Menampal kedua-dua fail ke dalam perbanding teks generik juga tidak banyak membantu — ia menunjukkan baris mana yang berbeza, bukan pembolehubah persekitaran mana yang sebenarnya berubah, dan ia dengan gembira mencetak setiap nilai rahsia secara terang-terangan sebaik sahaja anda berkongsi output dengan rakan sepasukan.

Alat ini menghurai kedua-dua fail seperti cara dotenv sebenarnya membacanya — satu pasangan KEY=value setiap baris, # komen dan baris kosong diabaikan, nilai dalam petikan tunggal atau berganda dinyahpetik (dengan \n dinyah-escape hanya di dalam petikan berganda, tepat seperti yang ditentukan oleh konvensyen dotenv), dan awalan export KEY=value pilihan diterima seperti cara fail env sumber shell menggunakannya. Setiap fail menjadi peta kunci-ke-nilai yang bersih, dan kedua-dua peta itu kemudian dibandingkan mengikut kunci: hadir hanya dalam Fail A adalah 'dibuang', hadir hanya dalam Fail B adalah 'ditambah', hadir dalam kedua-duanya dengan nilai berbeza adalah 'ditukar', dan nilai yang sama adalah 'tidak berubah' dan disembunyikan secara lalai supaya jadual kekal fokus pada apa yang benar-benar berbeza.

Ciri yang menjadikan ini selamat untuk benar-benar digunakan dengan rahsia sebenar adalah penutupan automatik. Setiap nilai yang ditunjukkan dalam jadual perbandingan diperiksa terhadap dua isyarat bebas: adakah nama kuncinya kelihatan seperti rahsia (padanan tidak peka huruf besar/kecil terhadap KEY, SECRET, TOKEN, PASSWORD, PRIVATE atau CREDENTIAL), atau adakah nilai itu sendiri mempunyai entropi Shannon tinggi — ukuran teori maklumat yang sama (-Σ p(c)·log2(p(c)) ke atas aksara nilai) yang menandakan kunci API, token dan kata laluan rawak sebagai berbeza secara statistik daripada perkataan biasa walaupun nama kunci tidak memberi petunjuk. Salah satu isyarat sudah cukup untuk menutup nilai kepada dua aksara pertama dan terakhirnya, dikira secara berasingan untuk bahagian lama dan baharu setiap baris yang ditukar.

Semuanya — penghuraian, perbandingan, pemarkahan entropi dan penutupan — berjalan sepenuhnya dalam pelayar anda; kedua-dua fail, mahupun sebarang nilai yang diekstrak daripadanya, tidak pernah dihantar ke mana-mana. Itulah jaminan yang tepat untuk alat yang keseluruhan tugasnya adalah melihat dua fail yang berkemungkinan mengandungi kelayakan pangkalan data, kunci API dan kata laluan sebenar secara bersebelahan.