Repository navigation
v1.0.3
π 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-releasesdengan 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
- Verified:
π Bug Fixes
- Fixed "Download undefined" saat cloudflared update dimulai
- Fixed version display showing wrong version (latest instead of installed)
- Fixed
latestVersionfield missing dari state - Fixed status mismatch: backend send
completed, frontend listencomplete - 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
downloadedandtotalfields to initial progress - Support both
completedandcompletestatus - Increased post-update delay: 2s β 3s (file system settle time)
- Enhanced logging untuk debugging
- Added
π 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
prebuildhook yang auto-download cloudflared - Build lebih cepat (tidak download 65MB setiap build)
- Manual download via:
npm run update-cloudflaredatau 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