vtrc-application-front — Distribution Flow
บทนี้ (branch: master) อธิบายเส้นทางติดตั้งจริงจากหน้า static ไปยัง IPA / Play Store
Flow รวม
ผู้ใช้เปิดหน้า download center
│ (โฮสต์ที่ production: vtrc.redcross.or.th/adn/ — UNVERIFIED mapping ตรง repo)
▼
index.html โหลด + gtag
▼
คลิกปุ่ม → getUrl()
│
├─ iOS ──────────────────────────────────────────────┐
│ itms-services://...?url=.../adn/VTRC.plist │
│ OS ดึง plist → ดาวน์โหลด VTRC.ipa จาก URL ใน plist │
│ ผู้ใช้ต้อง Trust "THE THAI RED CROSS SOCIETY" │
│ (ข้อความใน #app-manual — index.html:54-61) │
│ │
├─ Android ────────────────────────────────────────────┤
│ → Play Store com.redcross.vtrc │
│ │
└─ Desktop ────────────────────────────────────────────┘
→ https://vtrc.redcross.or.th/loginiOS enterprise / OTA chain
| ขั้น | Artifact | Citation |
|---|---|---|
| 1 | Manifest URL ใน getUrl | index.html:102 |
| 2 | VTRC.plist assets url → IPA | VTRC.plist:14 |
| 3 | Binary ใน git = VTRC.ipa ที่ root | git ls-files |
| 4 | คู่มือ PDF | storage/pdf/manual.pdf ลิงก์จาก index.html:64 |
หมายเหตุ: bundle-version ใน plist เป็น 1.0 (VTRC.plist:22) ในขณะที่ UI แสดง 1.9.12 (index.html:51) — ไม่ sync กันใน source ที่ commit
มี meta refresh แบบ auto itms ที่ถูก comment ปิด (index.html:10) — ปัจจุบันต้องกดปุ่มเอง
สิ่งที่ commit เป็น binary
| File | Size | ทำไมเป็นปัญหา | Debt |
|---|---|---|---|
VTRC.ipa | 12,855,060 bytes (~12.3 MB) | binary ใน git history โตถาวร | LEG-FRONT-01 |
storage/pdf/manual.pdf | 1,560,320 bytes (~1.5 MB) | PDF คู่มือใน git — รับได้กว่า IPA แต่ยังเป็น blob | — |
| QR PNGs ที่ comment | หลายไฟล์ใน image/ | asset ค้าง | QUAL-FRONT-02 |
ไม่มี build script ใน repo ที่ regenerate .ipa จาก source — ไฟล์ถูกวางด้วยมือ
ความสัมพันธ์ remote IPA vs local IPA
| Artifact | Location | Citation |
|---|---|---|
| Manifest package URL | https://vtrc.redcross.or.th/adn/VTRC.ipa | VTRC.plist:13-14 |
| Committed binary | ./VTRC.ipa ใน repo root | git ls-files |
| Download button (iOS) | ชี้ manifest ไม่ชี้ไฟล์ local | index.html:100-102 |
เอกสารนี้ไม่ยืนยันว่า bytes ของไฟล์ใน git ตรงกับไฟล์บน server — ต้องเทียบ checksum แยก (OBS-FRONT-01)
iOS trust instructions (ข้อความบนหน้า)
หลังติดตั้งครั้งแรก ผู้ใช้ต้อง Trust โปรไฟล์องค์กร ตามข้อความใน #app-manual (index.html:54-61):
- Settings → General → Device Management
- เลือก THE THAI RED CROSS SOCIETY → Trust
- เปิดไอคอนแอป VTRC
บล็อกนี้ถูกลบออกจาก DOM บน Android/desktop ใน IIFE (index.html:86-87)
Security / privacy surface
| Item | สถานะ |
|---|---|
| Auth / API | ไม่มี |
| Cookie / localStorage ของแอป | ไม่มีบนหน้านี้ |
| Analytics | ส่ง event ไป Google (G-TY5XYT3NY2) — index.html:12-18 |
| PII ใน HTML/CSS | ไม่พบ |
| IPA contents | binary อาจมี secrets ภายใน — ไม่ unpack ในเอกสารนี้ |
ไป 03 · Scorecard →