dmosk / envdiff

.env, JSON, TOML, ini를 키로 비교

형식을 고르고 두 설정을 붙여넣거나 업로드하면 왼쪽에만, 오른쪽에만 있거나 값이 다른 키를 볼 수 있습니다. 모든 처리는 브라우저에서 이루어집니다.

형식은 양쪽에 동일하게 적용됩니다. 공유 링크는 두 텍스트를 URL의 # 조각에 넣습니다. 서버로 전송되지는 않지만, 실제 비밀이 들어 있다면 링크를 공유하지 마세요.

왼쪽

오른쪽

envdiff를 쓰는 이유

  • 논리 비교. 텍스트 줄이 아니라 키와 값을 비교합니다. 순서, 주석, 빈 줄은 영향을 주지 않습니다.
  • 네 가지 형식. .env, JSON, TOML, ini를 지원하며 중첩된 JSON/TOML 키는 db.host 같은 경로가 됩니다.
  • 비밀 값 마스킹. 원하면 password, token, secret, key 같은 키의 값을 [REDACTED]로 표시합니다.
  • 브라우저 전용. API가 없어 파일이 기기를 떠나지 않습니다. 상태는 URL 조각으로 공유합니다.

설정 비교 방법

  1. 형식을 선택하세요. 양쪽에 동일하게 적용됩니다.
  2. 각 패널에 텍스트를 붙여넣거나 파일을 업로드하세요. 둘 다 필수입니다.
  3. 비교를 누르면 왼쪽만, 오른쪽만, 값이 바뀐 키가 표시됩니다.
  4. 필요하면 마스킹을 켜고, 공유를 눌러 상태가 담긴 링크를 복사하세요.

키, 형식, 비밀 값

envdiff는 줄이 아니라 키를 비교합니다. 형식은 섞이지 않습니다. 중첩된 JSON과 TOML은 점 경로로 펼쳐지고, ini 섹션은 section.key가 되며, .env는 KEY=VALUE로 읽습니다.

팁:

  • 주석, 빈 줄, 키 순서는 무시됩니다.
  • 배열은 인덱스와 함께 펼쳐집니다. 예: servers[0].host.
  • 값은 텍스트로 비교합니다. JSON의 숫자 5432와 .env의 5432는 같습니다.
  • 마스킹은 표시만 바꿉니다. password, token, secret, key 같은 키는 [REDACTED]로 보입니다.
  • YAML에는 yamaster, 유출된 비밀 탐색에는 secret-scanner를 사용하세요.

활용 예

  • dev, staging, production 간 .env 비교;
  • 배포 전후 설정 확인;
  • 한 환경에 빠진 키 찾기;
  • 잡음이 많은 텍스트 diff 없이 JSON, TOML, ini 변경 검토;
  • 링크로 비교 결과 공유(실제 비밀 값 제외).

자주 묻는 질문

서로 다른 형식을 비교할 수 있나요?

아니요. 양쪽에 하나의 형식만 선택하며 형식 혼합은 지원하지 않습니다.

주석과 순서가 중요한가요?

아니요. 키와 값만 비교합니다.

데이터가 업로드되나요?

아니요. 파싱과 비교는 브라우저에서 이루어지며 API가 없습니다.

마스킹은 무엇을 하나요?

password, secret, token, key 같은 키의 값을 [REDACTED]로 표시합니다. 비교 자체는 실제 값으로 합니다.

중첩된 키는 어떻게 표시되나요?

객체와 테이블은 점, 배열은 인덱스로 표시합니다. 예: db.host, servers[0].