사용자 식별자를 전혀 사용하지 않는 종단간 암호화 메시징 앱 및 네트워크
giovantenne/lastsignal
확인 응답이 끊기면 사랑하는 사람에게 종단 간 암호화 메시지를 전달하는 셀프 호스팅 이메일 중심 데드맨 스위치
- 스타
- 756
- 포크
- 28
- 열린 이슈
- 6
- 마지막 커밋
- 23시간 전
어떤 프로젝트인가요?
LastSignal은 셀프 호스팅 방식의 데드맨 스위치입니다. 소중한 사람들에게 보낼 암호화 메시지를 작성하면 시스템이 정기적으로 확인 이메일을 보냅니다. 응답을 놓치면 정해진 간격으로 알림을 보내고, 원한다면 신뢰하는 연락처에 알린 뒤, 마지막으로 수신자에게 이메일로 메시지를 전달합니다.
메시지는 암호 문구에서 파생한 키(Argon2id, XChaCha20-Poly1305, X25519)로 종단 간 암호화되므로 서버는 평문을 볼 수 없습니다. 프로젝트는 Ruby on Rails 8과 SQLite를 기반으로 하며, Kamal 또는 docker-compose로 배포할 수 있습니다. 확인 간격, 알림 횟수, 신뢰하는 연락처로 인한 일시 중지 시간 등의 설정은 사용자별로 지정할 수 있고, 수신자별 지연 시간을 설정해 메시지의 복호화 가능 시점을 늦출 수도 있습니다.
프로젝트 문서에는 알려진 절충점도 명시되어 있습니다. 수신자의 공개 키와 함께 저장되는 서버 생성 KDF salt 때문에 데이터베이스에 접근할 수 있는 공격자가 약한 암호 문구를 대상으로 오프라인 무차별 대입 공격을 시도할 수 있으므로, 강력한 암호 문구를 사용해야 합니다.
핵심 기능
- 01정기 확인 이메일에 응답이 없으면 알림을 보낸 뒤 메시지를 전달합니다.
- 02메시지를 종단 간 암호화하므로 서버는 평문을 볼 수 없습니다.
- 03메시지 전달 전에 신뢰하는 연락처에 알리도록 설정할 수 있습니다.
- 04복호화 전 대기 시간을 수신자별로 설정할 수 있습니다.
- 05사용자별로 타이밍, 알림 횟수와 간격을 설정할 수 있습니다.
- 06선택 사항인 keep-alive webhook과 함께 Kamal 또는 docker-compose로 배포할 수 있습니다.
활용 사례
- 응답할 수 없는 상황에 대비해 가족에게 마지막 지침이나 비밀번호를 전달합니다.
- 나중에 수신자가 읽도록 시간차를 두고 메시지를 전달합니다.
- 호스팅 서비스 대신 자체 서버에서 비공개 데드맨 스위치를 운영합니다.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/giovantenne/lastsignal.git - 2
프로젝트 폴더로 이동해 Ruby gem을 설치합니다
cd lastsignal && bundle install - 3
.env.example 템플릿을 .env로 복사한 다음 setup을 실행합니다
bin/setup - 4
로컬 개발 환경을 시작하고 http://localhost:3000 을 엽니다
bin/dev
사용 전 알아둘 점
- 작성자는 호스팅 서비스를 제공하지 않으므로 직접 서버를 실행하고 유지 관리해야 합니다.
- 메일을 안정적으로 전달하려면 직접 SMTP 제공업체를 이용하고 SPF, DKIM, DMARC 레코드를 올바르게 설정해야 합니다.
- 서버에서 생성된 KDF 솔트 때문에 데이터베이스를 확보한 공격자는 수신자의 패스프레이즈를 오프라인에서 무차별 대입할 수 있습니다. 따라서 패스프레이즈는 매우 강력해야 합니다.
토픽
자주 묻는 질문
- lastsignal은(는) 무엇인가요?
- 확인 응답이 끊기면 사랑하는 사람에게 종단 간 암호화 메시지를 전달하는 셀프 호스팅 이메일 중심 데드맨 스위치 LastSignal은 셀프 호스팅 방식의 데드맨 스위치입니다. 소중한 사람들에게 보낼 암호화 메시지를 작성하면 시스템이 정기적으로 확인 이메일을 보냅니다. 응답을 놓치면 정해진 간격으로 알림을 보내고, 원한다면 신뢰하는 연락처에 알린 뒤, 마지막으로 수신자에게 이메일로 메시지를 전달합니다.
- lastsignal은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- lastsignal은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- lastsignal은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. lastsignal의 마지막 커밋은 2026년 10월 19일입니다.
- lastsignal은(는) 어디에 사용할 수 있나요?
- 응답할 수 없는 상황에 대비해 가족에게 마지막 지침이나 비밀번호를 전달합니다. 나중에 수신자가 읽도록 시간차를 두고 메시지를 전달합니다. 호스팅 서비스 대신 자체 서버에서 비공개 데드맨 스위치를 운영합니다.
- lastsignal는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/giovantenne/lastsignal.git 프로젝트 폴더로 이동해 Ruby gem을 설치합니다: cd lastsignal && bundle install .env.example 템플릿을 .env로 복사한 다음 setup을 실행합니다: bin/setup 로컬 개발 환경을 시작하고 http://localhost:3000 을 엽니다: bin/dev
- lastsignal은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/giovantenne/lastsignal
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
비밀번호 관리자부터 운영체제까지, 개인정보 보호와 보안에 중점을 둔 소프트웨어 및 온라인 서비스 목록
Dropbox, Google Drive, OneDrive 및 기타 동기화 클라우드 폴더에 저장된 파일을 클라이언트 측에서 투명하게 암호화하는 Windows, macOS, Linux용 데스크톱 클라이언트입니다.
종단 간 암호화된 실시간 영상·알림·녹화를 휴대폰으로 제공하는 Raspberry Pi용 셀프 호스팅 홈 보안 카메라 시스템
PrivNote에서 영감을 받은 자체 호스팅 가능한 오픈소스 서비스로, Rust 백엔드와 Svelte 프런트엔드로 암호화된 메모와 파일을 공유합니다.
브라우저에서 AES-256-GCM으로 암호화하고 한 번 읽거나 24시간이 지나면 사라지는 종단 간 암호화 pastebin