Requirements
- Chromium-based browser (Chrome, Edge, Brave) with WebUSB enabled
- ZeroKeyUSB unlocked and connected via USB-C
- Local copy of the
tools/web-time-syncdirectory served vianpm run dev
Launching the tool
http://localhost:5173) in your browser. You should see the ZeroKeyUSB logo and a “Connect” button.
Sending the time
- Click Connect and select your ZeroKeyUSB from the device list (
ZeroKeyUSB CDC). - The page displays the current Unix epoch and a countdown to the next 30-second boundary.
- Press Sync now when the device requests time (shows
REQTIME). - The tool sends
SETTIME <epoch>automatically and confirms success with a toast notification.
OK and no changes are made.
Safety features
- The tool only communicates with USB devices whose vendor/product IDs match ZeroKeyUSB.
- All commands are visible in the on-screen console for auditability.
- No data leaves the browser tab; telemetry and analytics are disabled.
Troubleshooting
| Issue | Resolution |
|---|---|
| Browser cannot access USB | Make sure you are using a Chromium browser and have granted device permissions. |
Failed to send epoch | The device might be locked; unlock it and try again. |
| Tool closes unexpectedly | Check the terminal running npm run dev for errors and restart the dev server. |