Show HN: 1-FPS encrypted screen sharing for introverts

Concept & Intended Use Cases

  • Tool shares encrypted screenshots at ~1 FPS plus smooth cursor tracking, pitched as “screenshots + chat” rather than full video calls.
  • Suggested uses:
    • For introverts or people who dislike calls but still want to show what’s on screen.
    • Long meetings where someone wants to keep sharing their screen but focus on coding.
    • Lightweight remote monitoring of a home or work machine, including checking on bots or long-running tasks.
  • Some see it as a neat, minimalist workflow that pairs well with existing chat tools.

Skepticism & Privacy / Management Concerns

  • Some question screensharing without audio: text-chat plus delayed visuals can be clumsy; sometimes a static screenshot may be easier.
  • Concerns raised about potential misuse for workplace surveillance (continuous desktop feeds) and ethical / legal boundaries (e.g., GDPR, worker rights). Others argue that collaboration tools can be policy‑bound and even monetized in enterprise settings.

Compression, Bandwidth & Performance

  • Implementation appears to take periodic JPEG screenshots. Commenters question efficiency versus real video codecs (AV1, H.264/HEVC) that exploit frame-to-frame similarity.
  • JPEG is noted as suboptimal for UI/text; PNG or screen-optimized codecs (like those used in VNC/RDP or game streaming) may yield better quality and bandwidth use.
  • Author notes experiments with ffmpeg felt too CPU‑heavy on their hardware; prefers trading extra bandwidth for simplicity and low CPU.
  • Ideas floated:
    • Detect and transmit only changed regions of the screen.
    • Heuristics to pick “stable” frames.
    • Hardware-accelerated encoding and codec tuning for low-latency, low-CPU use.

Cryptography & Security Model

  • Detailed critique finds several crypto issues: misuse of PBKDF2 on already-random keys, unsafe AES-GCM nonce strategy, reduced keyspace due to character-set restrictions, and the risk that a malicious server could exfiltrate keys embedded in URL fragments via injected JS.
  • Recommendations include using XSalsa20-Poly1305 via a misuse-resistant library (e.g., NaCl secretbox), generating full-entropy keys then encoding them, and rethinking how the web UI is delivered (e.g., from a trusted local binary).
  • Broader discussion underscores that “don’t roll your own crypto” applies to protocols and key distribution, not just primitives.

Implementation & Ecosystem Issues

  • Linux users report needing extra X11/XTest dev packages; Wayland support is unclear.
  • Windows users encounter build and cursor-position issues; some dispute characterizations of the Go Windows toolchain as “often broken.”
  • Multi-monitor cursor tracking bugs are reported.
  • The service domain is flagged as malware by OpenDNS in at least one environment.

Alternatives & Distribution

  • Comparisons and alternatives mentioned: VNC/RDP variants, WebRTC tools (Jitsi, Brave Talk, Nextcloud Talk), Moonlight/Parsec/game-streaming style solutions.
  • WebRTC scaling and TURN/SFU infrastructure costs are highlighted as a barrier for free, large-scale screen-sharing services.
  • Some dislike requiring a Go toolchain for installation and urge distributing self-contained binaries; others accept this for hobby projects.