Skip to content

v1.0.3

Choose a tag to compare

@dhannyjsb dhannyjsb released this 08 Dec 14:44
3de40f1

πŸ” Cloudflared Binary Security & Update System

✨ Fitur Baru

  • Hash-Based Version Detection
    • Sistem deteksi versi cloudflared berdasarkan SHA-256 hash
    • Automatic search melalui semua GitHub releases untuk identify versi lama
    • Backend proxy /cloudflared-releases dengan cache 12 jam
    • Helper function detectCloudflaredVersionByHash() untuk reusable detection
  • Binary Security Verification
    • Tiga status verification: Verified, Outdated, Corrupted
    • Verified: Hash cocok dengan latest GitHub release (hijau)
    • Outdated: Hash ditemukan di old releases (kuning, show version β†’ latest)
    • Corrupted: Hash TIDAK ditemukan di ANY release (merah, security warning!)
    • Real-time hash comparison: Actual vs GitHub official
  • Update System Enhancement
    • Auto re-verify binary setelah update selesai
    • Progress tracking: Download β†’ Verify β†’ Install β†’ Complete
    • Initial progress indicator (0.00 / 0.00 MB) sebelum download mulai
    • Auto refresh info 3 detik setelah update completed
    • Support status: downloading, verifying, installing, completed

🎨 UI/UX Improvements

  • Compact Hash Display
    • Shortened hash: 16 chars β†’ 12 chars (40% space reduction)
    • Short labels: "Actual:" β†’ "A:", "GitHub:" β†’ "G:"
    • Removed duplicate "Local" hash display
    • Info button (β“˜) di sebelah Cloudflared status
    • Click untuk popup dialog dengan full hash verification details
  • Hash Verification Dialog
    • Full actual hash (installed binary)
    • Full GitHub official hash
    • Match indicator (βœ“ Match / βœ— Mismatch)
    • Installed vs Latest version comparison
    • File size & last modified info
    • "Download & Install Update" button jika perlu update
    • Status badge dengan warna sesuai kondisi
  • One-Line Status Display
    • Verified: βœ“ 2025.11.1 (65.32 MB)
    • Outdated: ⚠ 2025.7.0 (65.32 MB) β†’ 2025.11.1
    • Corrupted: πŸ”΄ Corrupted (0.12 MB) (red pulsing animation)
    • Removed verbose messages dan update buttons dari dashboard
    • Cleaner, more professional look

πŸ› Bug Fixes

  • Fixed "Download undefined" saat cloudflared update dimulai
  • Fixed version display showing wrong version (latest instead of installed)
  • Fixed latestVersion field missing dari state
  • Fixed status mismatch: backend send completed, frontend listen complete
  • Fixed re-verification tidak jalan setelah update selesai
  • Fixed JSX structure error (orphaned hash block)

πŸ”§ Technical Improvements

  • Backend Proxy Architecture
    • /cloudflared-latest: Single latest release (12h cache)
    • /cloudflared-releases: All releases array (12h cache)
    • JWT authentication untuk all backend requests
    • No GitHub rate limits dengan smart caching
  • Version Detection Logic
    1. Calculate SHA-256 hash of installed binary
    2. Compare with latest release hash from backend
    3. If mismatch β†’ Search all releases for matching hash
    4. Three outcomes:
       - Match latest β†’ Verified βœ“
       - Match old release β†’ Outdated ⚠ (show detected version)
       - No match β†’ Corrupted πŸ”΄ (security alert!)
    
  • Update Progress Enhancement
    • Added downloaded and total fields to initial progress
    • Support both completed and complete status
    • Increased post-update delay: 2s β†’ 3s (file system settle time)
    • Enhanced logging untuk debugging

πŸ”’ Security Enhancements

  • Corrupted Binary Detection
    • Distinguish legitimate old version vs tampered binary
    • Hash NOT found in official releases β†’ Security warning
    • Red pulsing animation untuk visual alert
    • Prevents execution of potentially malicious binaries
  • Progressive Disclosure Pattern
    • Brief info in dashboard (space-efficient)
    • Full details available via info button
    • Tooltip shows full hash on hover
    • Security-conscious UI design

πŸ“¦ Build System

  • Removed prebuild hook yang auto-download cloudflared
  • Build lebih cepat (tidak download 65MB setiap build)
  • Manual download via: npm run update-cloudflared atau app UI
  • Cloudflared management sepenuhnya via app interface

πŸ” Sistem Autentikasi JWT (UPDATE BESAR)

✨ Fitur Baru

  • Autentikasi Berbasis Device
    • Registrasi dan autentikasi device otomatis
    • Keamanan berbasis hardware fingerprint
    • Zero configuration untuk end user
  • Manajemen Token
    • Access token jangka pendek (1 jam)
    • Refresh token jangka panjang (7 hari)
    • Mekanisme refresh token otomatis
    • Kebijakan satu token aktif per device
    • Auto-cleanup token expired dan revoked
  • Fitur Keamanan
    • Isolasi token per device
    • Penyimpanan token lokal terenkripsi
    • Autentikasi terikat hardware
    • Expired dan cleanup token otomatis
    • Validasi token yang ditingkatkan

πŸ› Bug Fixes

  • Fixed masalah pengiriman token autentikasi di beberapa hosting provider
  • Resolved akumulasi token di database
  • Optimasi logging untuk production environment

πŸ”’ Peningkatan Keamanan

  • Security Score: 9/10 (peningkatan signifikan)
  • Enforce satu token aktif per device
  • Validasi hardware fingerprint
  • Penyimpanan credential terenkripsi
  • Manajemen lifecycle credential otomatis
  • Isolasi autentikasi per device

🎯 Keuntungan

βœ… Zero configuration untuk user
βœ… Autentikasi otomatis saat first launch
βœ… Kontrol akses berbasis device yang aman
βœ… Credential auto-expiring
βœ… Keamanan hardware-bound
βœ… Backward compatible dengan instalasi existing

✨ Fitur Lainnya

  • Sistem changelog dinamis dengan integrasi GitHub
  • Limit port mapping berdasarkan subscription tier
  • Monitoring health check backend
  • Indikator status koneksi real-time

🎨 UI/UX Improvements

  • Enhanced quick actions di Dashboard
  • Improved tombol kontrol service dengan status dinamis
  • Indikator penggunaan port dengan color-coding
  • Status koneksi backend real-time (🟒 Connected / πŸ”΄ Disconnected)

πŸ”§ Improvements

  • Integrasi auto-release script
  • Optimasi query port mapping
  • Enhanced error handling dan user feedback