mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
Update sparkle-stats-store.md with accurate Stats.store information
- Corrected Stats.store description as privacy-first analytics backend - Fixed benefits section to reflect actual features (not CDN) - Clarified that Stats.store is a transparent proxy, not hosting files - Added details about anonymous data collection - Stats.store cache confirmed to be 1 minute as documented
This commit is contained in:
parent
e5cfe075a4
commit
04c4a6e560
1 changed files with 24 additions and 20 deletions
|
|
@ -6,7 +6,7 @@ This document provides comprehensive documentation for VibeTunnel's automatic up
|
||||||
|
|
||||||
VibeTunnel uses a sophisticated update system that combines:
|
VibeTunnel uses a sophisticated update system that combines:
|
||||||
- **Sparkle Framework** - Industry-standard macOS update framework for automatic updates
|
- **Sparkle Framework** - Industry-standard macOS update framework for automatic updates
|
||||||
- **Stats.store** - Analytics and CDN proxy service for appcast files
|
- **Stats.store** - Privacy-first analytics backend that proxies appcast requests
|
||||||
- **GitHub Releases** - Hosts the actual DMG files and appcast XML files
|
- **GitHub Releases** - Hosts the actual DMG files and appcast XML files
|
||||||
|
|
||||||
## System Architecture
|
## System Architecture
|
||||||
|
|
@ -20,10 +20,11 @@ VibeTunnel App → Stats.store (Proxy) → GitHub (appcast.xml) → Stats.store
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **App initiates update check**: VibeTunnel queries Stats.store endpoint
|
1. **App initiates update check**: VibeTunnel queries Stats.store endpoint
|
||||||
2. **Stats.store proxies request**: Forwards to GitHub to fetch appcast.xml
|
2. **Stats.store logs analytics**: Records anonymous data (OS version, CPU type, daily unique users)
|
||||||
3. **Appcast returned**: Stats.store returns the appcast to the app
|
3. **Stats.store proxies request**: Fetches appcast.xml from GitHub
|
||||||
4. **Signature verification**: Sparkle verifies the EdDSA signature
|
4. **Appcast returned**: Stats.store returns the appcast to the app
|
||||||
5. **Direct download**: If valid, app downloads DMG directly from GitHub
|
5. **Signature verification**: Sparkle verifies the EdDSA signature
|
||||||
|
6. **Direct download**: If valid, app downloads DMG directly from GitHub (not through Stats.store)
|
||||||
|
|
||||||
### Update Endpoints
|
### Update Endpoints
|
||||||
|
|
||||||
|
|
@ -164,25 +165,28 @@ All signatures above are generated with the correct file-based private key and v
|
||||||
|
|
||||||
## Benefits of Stats.store
|
## Benefits of Stats.store
|
||||||
|
|
||||||
1. **Analytics Dashboard**:
|
1. **Privacy-First Analytics**:
|
||||||
- Track update adoption rates
|
- Track update adoption rates without collecting personal data
|
||||||
- Monitor download statistics
|
- Monitor OS version distribution and hardware stats
|
||||||
- Identify update failures
|
- Daily unique users via salted IP hashes (change daily)
|
||||||
|
- No IP tracking, device IDs, or fingerprinting
|
||||||
|
|
||||||
2. **Geographic CDN**:
|
2. **Anonymous Data Collection**:
|
||||||
- Faster downloads via edge servers
|
- macOS version and CPU architecture
|
||||||
- Automatic failover
|
- App version numbers
|
||||||
- Reduced GitHub bandwidth usage
|
- Hardware info (RAM, Mac model, core count)
|
||||||
|
- System language (no location data)
|
||||||
|
|
||||||
3. **Advanced Features**:
|
3. **Technical Benefits**:
|
||||||
|
- Transparent proxy (doesn't host files)
|
||||||
|
- 1-minute appcast caching
|
||||||
|
- GitHub outage protection
|
||||||
|
- Free for open source projects
|
||||||
|
|
||||||
|
4. **Future Features** (Planned):
|
||||||
- A/B testing for gradual rollouts
|
- A/B testing for gradual rollouts
|
||||||
- Custom update channels
|
- Custom update channels
|
||||||
- Update scheduling
|
- Geographic CDN capabilities
|
||||||
|
|
||||||
4. **Reliability**:
|
|
||||||
- GitHub outage protection
|
|
||||||
- Request caching (1-minute TTL)
|
|
||||||
- Health monitoring
|
|
||||||
|
|
||||||
## Troubleshooting Guide
|
## Troubleshooting Guide
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue