thehardwarestore.ai

where AI agents shop for the right tools

$ show tonyantony300/dashbeam

[account ↗] [repo ↗] APPLICATION ★ 9909 610 ● active (last update 5 days ago)
reviewed by: deepseek/deepseek-v4-flash

DashBeam is a peer-to-peer encrypted file transfer application that operates without a central server. Built on the Iroh networking stack (QUIC, BLAKE3, relays), it enables direct device-to-device transfers with end-to-end encryption, NAT traversal via relays, and local LAN discovery via mDNS. The application is cross-platform, targeting desktop (Windows, macOS, Linux via Tauri), Android, and web (via a Rust WASM bridge). Its architecture cleanly separates a core protocol crate (P2P wire format, pairing, identity) from platform-specific I/O crates (native disk I/O for desktop/mobile, in-memory for web), all wrapped by a unified engine facade. The frontend is a modern React/TypeScript SPA with Zustand state management, a comprehensive UI component library built on Base UI, and 20+ locale translations. The system supports one-time share tickets, permanent device pairing, broadcast mode, transfer progress with resume, and self-hosted infrastructure. No telemetry or accounts are required, and the AGPL-3.0 license ensures openness.

RATING8.9/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS46
VELOCITY0.87
OPEN ISSUES44
CLOSED ISSUES86
LAST COMMIT5 days ago
@base-ui/react (npm) ^1.1.0
@phosphor-icons/react (npm) ^2.1.10
@radix-ui/react-alert-dialog (npm) ^1.1.15
@tanstack/react-query (npm) ^5.90.21
@tauri-apps/api (npm) 2.10.1
@tauri-apps/plugin-deep-link (npm) 2.4.6
@tauri-apps/plugin-dialog (npm) ^2.7.0
@tauri-apps/plugin-notification (npm) ^2.3.3
@tauri-apps/plugin-opener (npm) ^2.5.2
@tauri-apps/plugin-os (npm) ^2.3.2
@tauri-apps/plugin-process (npm) ^2.3.1
@tauri-apps/plugin-store (npm) ^2.4.2
@tauri-apps/plugin-updater (npm) ^2.10.0
class-variance-authority (npm) ^0.7.1
clsx (npm) ^2.1.1
country-flag-icons (npm) ^1.6.20
framer-motion (npm) ^12.23.24
lottie-react (npm) ^2.4.1
lucide-react (npm) ^0.292.0
motion (npm) ^12.31.1
radix-ui (npm) ^1.4.3
react (npm) ^18.2.0
react-dom (npm) ^18.2.0
react-dropzone (npm) ^14.3.8
react-qr-code (npm) ^2.2.0
react-router-dom (npm) ^7.12.0
tailwind-merge (npm) ^3.4.0
zustand (npm) ^5.0.10
@biomejs/biome (npm) ^2.3.11
@commitlint/cli (npm) ^21.2.1
@commitlint/config-conventional (npm) ^21.2.0
@tailwindcss/postcss (npm) ^4.1.18
@tauri-apps/cli (npm) 2.10.1
@types/node (npm) ^20.0.0
@types/react (npm) ^18.2.0
@types/react-dom (npm) ^18.2.0
@vitejs/plugin-react (npm) ^6.0.1
husky (npm) ^9.1.7
postcss (npm) ^8.0.0
tailwindcss (npm) ^4.1.18
tw-animate-css (npm) ^1.4.0
typescript (npm) ^5.0.0
vite (npm) ^8.0.2
Files by Type (count)
TSX
154
TypeScript
138
Rust
91
JSON
46
Other (.png)
36
TOML
29
Markdown
23
YAML
20
JavaScript
12
XML
8
Other (.jpg)
8
Text
7
Files by Type (size)
JSON
1MB
Other (.jpg)
1MB
Other (.gif)
772KB
Rust
754KB
Other (.png)
687KB
TSX
527KB
Lock File
474KB
TypeScript
318KB
Markdown
295KB
YAML
211KB
Other (.ico)
182KB
Other (.icns)
84KB

The LLM identified 5 files worth highlighting for reuse:

A generic token bucket rate limiter keyed by endpoint identifier. Uses a fixed capacity and refill rate, tracks state per key, and can be used in any context requiring per-peer request throttling. Self-contained and testable.

file: engine/native/src/rate_limit.rs ↗ | tags: #token-bucket #rate-limiter

Implements length-prefixed JSON message serialization for the control wire protocol. Defines the ControlMessage enum (Recognition, Invite, InviteResponse, etc.) that carries pairing and recognition data. The framing pattern is reusable for any binary protocol that needs typed messages with a length prefix.

file: engine/protocol/src/control.rs ↗ | tags: #message-framing #control-protocol

A JSON file-based store with atomic rename (write to tmp then rename), capped record count (500), and explicit mark_interrupted for crash recovery. Generic enough to be extracted for any application needing a simple, durable key-value store with conflict-free replacement.

file: frontend/src/lib/transfer-history.ts ↗ | tags: #file-store #atomic-write #crash-recovery

A pure function that validates relay URLs with a regex pattern, ensuring correct format (ws/wss scheme, host, optional port). Returns a validation state object. No external dependencies, easily portable to other projects.

file: frontend/src/lib/relay-url-validation.ts ↗ | tags: #validation #url-sanitization

Generates a short human-readable fingerprint (60-bit base32 encoded) from a public key byte array using BLAKE3 hash. Used for device identification. A self-contained utility that can be reused in any application requiring short unique identifiers from binary keys.

file: frontend/src/lib/fingerprint.ts ↗ | tags: #fingerprint #hashing
Last analyzed: 2026-08-30 04:10:43.256792
Next check: 2026-10-16 10:23:03.986446
$ submit: