16P by clash4970 | ★ favorite | 댓글 4개

공공장소에서 접근할 일이 생긴다던가, 친구에게 일시적으로 접근 권한을 주고 싶을 때 사용하기 좋은 TOTP 기반 인증을 적용한 리버스 프록시입니다.

Cloudflare 의 Pingora 를 이용하며 Rust 언어로 개발되어 굉장히 라이트하고, 빠른 성능이 나옵니다!

Rust 언어가 굉장히 마음에 들었는데 별다른 프로젝트 만들지 못하고 깔짝대면서 공부만 하다가 딱 사용하면 적합하겠다 싶은 프로젝트 아이디어가 떠올라서 처음으로 공개하는 제대로된 Rust 프로젝트네요.

Google Authenticator 나 기타 TOTP 지원하는 앱을 통해 1회성 OTP 를 만들어 인증하고, 접속할 수 있습니다.

기본적으로 세션은 최대 30분까지 지속되고, 원한다면 TLS/HTTPS 활성화 가능하고, 약간의 설정을 거치면 다른 Proxy 를 거쳐서 온 요청도 정상적으로 처리할 수 있습니다.

보안을 위해 개발된 프록시이다보니 최대한 보안을 1순위로 하여 개발해보았습니다!

아직 저밖에 사용해보지 않은 부족한 프로젝트이니, 피드백과 Issue, PR 등은 언제든지 환영입니다!

댓글과 토론

친구에게 일시적으로 접근 권한을 주는 시나리오를 어떻게 실현할 수 있는지 궁금합니다. 모든 사용자가 동일한 secret 값을 사용하는 걸로 이해되어서요

제가 친구에게 시크릿을 통해 만든 6자리 비밀번호만 건내주면 일시적으로 친구가 인증하고 들어가서 사용하는 시나리오입니다!

비동기적 상황에서는 사용하기 힘들 수 있지만, 저는 대부분의 일시적인 서버 공유 상황에서는 유용하게 사용하였습니다!

아아 이해했습니다 감사합니다