Pemeriksa Perbedaan ENV
Bandingkan dua file .env (pementasan vs. produksi, sebelum vs. setelah penerapan) dan lihat dengan tepat kunci mana yang ditambahkan, dihapus, atau diubah, dengan nilai yang tampak rahasia disamarkan secara otomatis.
Hasil
Membandingkan file .env pementasan dengan produksi, atau konfigurasi penerapan hari ini dengan konfigurasi minggu lalu, secara kasat mata adalah bagaimana pemadaman sebenarnya dimulai: DATABASE_URL yang hilang, PORT yang diam-diam berubah, kunci API yang diputar di satu lingkungan tetapi tidak di lingkungan lain. Menempelkan kedua file ke dalam perbedaan teks umum juga tidak banyak membantu — ini menunjukkan kepada Anda baris mana yang berbeda, bukan variabel lingkungan mana yang benar-benar berubah, dan dengan senang hati mencetak setiap nilai rahasia di depan mata saat Anda membagikan hasilnya dengan rekan satu tim.
Alat ini mem-parsing kedua file sesuai cara dotenv membacanya — satu pasangan KEY=nilai per baris, # komentar dan baris kosong diabaikan, nilai yang diberi tanda kutip tunggal atau ganda tidak diberi tanda kutip (dengan \n tidak lolos hanya di dalam tanda kutip ganda, persis seperti yang ditentukan oleh konvensi dotenv), dan awalan ekspor KEY=value opsional mentoleransi cara file env yang bersumber dari shell menggunakannya. Setiap file menjadi peta kunci-ke-nilai yang bersih, dan kedua peta tersebut kemudian dibedakan berdasarkan kuncinya: yang ada hanya di File A yang 'dihapus', yang ada hanya di File B yang 'ditambahkan', yang ada di keduanya dengan nilai yang berbeda 'diubah', dan nilai yang identik 'tidak diubah' dan disembunyikan secara default sehingga tabel tetap fokus pada apa yang sebenarnya berbeda.
Fitur yang membuat ini aman untuk digunakan dengan rahasia nyata adalah penyembunyian otomatis. Setiap nilai yang ditampilkan dalam tabel diff diperiksa berdasarkan dua sinyal independen: apakah nama kuncinya terlihat seperti rahasia (kecocokan yang tidak membedakan huruf besar dan kecil dengan KEY, SECRET, TOKEN, PASSWORD, PRIVATE atau CREDENTIAL), atau apakah nilai itu sendiri memiliki entropi Shannon yang tinggi — ukuran teori informasi yang sama (-Σ p(c)·log2(p(c)) pada karakter nilai) yang menandai kunci API, token, dan kata sandi acak sebagai berbeda secara statistik dari kata-kata biasa meskipun nama kuncinya tidak memberikan petunjuk. Sinyal mana pun cukup untuk menutupi nilai hingga ke dua karakter pertama dan terakhir, dihitung secara independen untuk sisi lama dan baru dari setiap baris yang diubah.
Semuanya — penguraian, pembedaan, penilaian entropi, dan penyembunyian — sepenuhnya berjalan di browser Anda; baik file, maupun nilai apa pun yang diekstraksi darinya, tidak pernah dikirim ke mana pun. Itu adalah jaminan yang tepat untuk alat yang seluruh tugasnya adalah melihat dua file yang mungkin berisi kredensial database nyata, kunci API, dan kata sandi secara berdampingan.