Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 2.92 KB

File metadata and controls

80 lines (55 loc) · 2.92 KB

📱 EgoGaze - Real-time Phone Status Mirror

简体中文 | English

EgoGaze is a sleek, elegant, and fully self-hosted personal digital portrait system. It mirrors your phone's physical state to a web interface in real-time, including battery level, location, step count, app usage duration, and music playback.

Keywords

self-hosted android phone-status status-dashboard real-time usage-stats battery-monitor location-tracking step-counter docker cloudflare-workers

🔗 Live Preview

📸 Screenshots

🖥️ Web Interface (PC & Mobile)

PC Browser View Mobile Browser View
Web PC Web Mobile

📱 Android Client (EgoGaze App)

Status Sync App Real-time Data Detail
App Main App Detail

✨ Features

  • 🚀 Real-time Sync: Millisecond-level reporting latency with automatic web refresh (304 optimized).
  • 📊 Precise Stats: A re-implemented "Today's Usage Duration" algorithm based on Android UsageEvents, completely eliminating data drift.
  • 🎵 Media Awareness: Real-time display of currently playing song titles and artists.
  • 🔋 Status Tracking: Battery percentage, charging status, device temperature, and memory usage.
  • 🛡️ Privacy First: Fully self-hosted, data flows only between your private server and phone.

📥 Deployment Guide

1. Server Deployment (Docker)

Recommended for NAS or 24/7 PCs.

2. Phone App Deployment (Android) - Core

The source of all data. Must be correctly configured.

  • Build from Source:
    1. Open phone-status/android in Android Studio.
    2. Select selfhostedDebug in the Build Variants panel.
    3. Build and install the APK.
  • Initial Setup:
    1. Open App, enter your API URL (e.g., https://status.dwill.top/api/update).
    2. Enter API Key (default in docker-compose.yml).
    3. [Important] Permissions: Grant "Ignore Battery Optimization", "Usage Access", and "Notification Listener".
    4. Tap [Start Service].
  • Android Stay-Alive & Pitfalls Guide

3. Serverless: Cloudflare Deployment

For users without a public IP. Cloudflare Deployment Guide.


🛠️ Development

1. Environment

  • Android: Tested on Vivo (Android 14 / OriginOS).
  • Server: Node.js 18+ (TypeScript).

2. Docs

📜 License

Distributed under the MIT License. See LICENSE for more information.