1.4 KiB
1.4 KiB
보관함 서버
잠긴 봉투를 받는 사람이 접속할 때까지 잠시 맡아 두는 우체통입니다. 봉투 속은 기기끼리만 풀 수 있어서 서버는 내용을 읽지 못합니다.
실행 (파이썬만 있으면 됨)
python3 mailbox_server.py --port 8080 --db mailbox.sqlite3
컨테이너로 실행
podman build -t fm-mailbox -f Containerfile .
podman run -d -p 8080:8080 -v fm-data:/data fm-mailbox
시험
python3 test_mailbox.py
알아둘 점
- 저장 방식은
mailbox_store.py의MailboxStore약속만 지키면 바꿀 수 있습니다 (클라우드로 옮길 때 이 파일만 교체). - 기본: 우편함은 처음 연 기기의 비밀값에 묶입니다(번호를 먼저 선점당할 수 있음).
- 문자 확인을 켜면(
--sms-webhook <주소>+--require-verify) 문자로 번호를 확인한 기기만 우편함을 열 수 있어 선점이 막힙니다. 문자 발송은 웹훅 하나(POST {"to":"+82...","text":"..."}, 선택적으로--sms-webhook-token)라 업체에 묶이지 않습니다.phone_verify.py의SmsSender를 바꾸면 다른 방식도 쓸 수 있습니다. 시험용--sms-log는 실서비스에서 쓰지 마세요. - 인터넷에 열 때는 앞에 HTTPS 를 붙이세요 (Caddy, nginx 등).
- 봉투는 30일 안에 못 받아 가면 정리되고, 받는 사람 한 명당 5000통까지 맡습니다.