Discord에 .env 파일을 공유하지 마세요. 대신 설정 없이 바로 사용할 수 있는 E2E 암호화 CLI를 만들었습니다.

발행: (2026년 6월 11일 AM 03:04 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

빠른 프로젝트 인수인계 시 환경 변수를 공유하는 것이 Doppler나 Infisical 같은 무거운 엔터프라이즈 금고를 설정해야 한다는 의미는 아니다. 하지만 Slack이나 Discord에 평문 API 키를 복사‑붙여넣기 해야 한다는 의미도 아니다.
나는 마찰 없이 터미널에서 바로 사용할 수 있는 다리 역할을 원했다. 그래서 share‑env라는 일시적인 피어‑투‑피어 CLI를 만들었다. 이 도구는 .env 파일을 안전하게 공유한다.

아래는 내부 구조를 정확히 설명한 내용이다.

True Zero-Knowledge E2E Encryption
crypto 모듈(AES‑256‑GCM)을 사용한다. 복호화 키는 생성된 공유 코드의 해시 조각(예: blue-sky-rocket#a1b2c3d4)에 포함되어 전달된다. 릴레이 서버는 암호문만 받으며, # 뒤의 16진수 키는 절대 로컬 머신을 떠나지 않는다.

Smart Merging (No overwriting)
share‑env는 들어오는 페이로드를 dotenv 로 파싱한다. 충돌이 발생하면(예: 로컬에 PORT=3000이 있고, 전달된 파일에 PORT=8080이 있을 때) 일시 중지하고 어떤 값을 유지할지 인터랙티브하게 묻는다.

Pre‑Flight Git Guardrails
fs 모듈을 이용해 .gitignore 를 확인한다. .env 파일이 안전하게 무시되지 않았다면 CLI는 치명적인 오류를 발생시키고 실행을 물리적으로 차단한다.

Burn‑After‑Reading TTL
node-cache 로 암호화된 블롭을 메모리에 보관하며, 엄격히 10분 TTL을 적용한다. 페이로드가 한 번이라도 가져와지면 즉시 영구 삭제된다.

Test it locally in 5 seconds (Zero Setup)

.env 파일:

# 예시 .env 내용

Developer A (Sender):

npx share-env push

Developer B (Receiver):

npx share-env pull

Source Code & Registry:
GitHub: https://github.com/arjunn881/env-share
https://www.npmjs.com/package/share-env

나는 MERN 스택으로 개발하는 데 많은 시간을 투자하고 있으며, 서로 다른 환경에서 로컬 설정을 관리하는 것이 항상 골칫거리였다. 전체 모노레포를 오픈소스로 공개했으니, 커뮤니티가 암호화 아키텍처를 감사하거나 CLI 사용자 경험에 대한 피드백을 남겨주면 좋겠다!

— Arjun

0 조회
Back to Blog

관련 글

더 보기 »

Eidentic 소개

Today we're releasing Eidentic, an open-source TypeScript SDK for building AI agents with self-improving memory and the production fundamentals built in — not b...

Typescript의 타입

Introdução Tipos são uma forma de definir a “forma” ou o contrato dos dados que estamos usando no código. Pensando em Javascript puro, ele é dinâmico: você pode...