- flutter create --platforms=android 로 android/ 생성, tool/android_patch.py 적용 - android_patch.py: minSdk 를 낮추지 않고 23 미만일 때만 올림 (Flutter 기본 24 유지) - lint 8건 정리, SQLite 계약 시험이 이전 메모리 DB 를 재사용하던 문제 수정 - transport_test: python3 가 없으면 python, py 로 보관함 서버 실행 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Containerfile | ||
| README.md | ||
| mailbox_server.py | ||
| mailbox_store.py | ||
| phone_verify.py | ||
| test_mailbox.py | ||
| test_verify.py | ||
README.md
보관함 서버
잠긴 봉투를 받는 사람이 접속할 때까지 잠시 맡아 두는 우체통입니다. 봉투 속은 기기끼리만 풀 수 있어서 서버는 내용을 읽지 못합니다.
실행 (파이썬만 있으면 됨)
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통까지 맡습니다.