Free, open-source diagnostic tools for front-desk IT. Each tool runs entirely in your browser against your own local drivers. No accounts, no tracking, no data leaves your machine.
Live: https://desktest.net
Every page on this site follows the same three rules:
- One page, one question. A diagnostic should give a clear pass or fail in under a minute. No menus, no settings panels, no decisions to make before running the test.
- Nothing leaves your computer. All checks happen locally in the browser against your installed drivers and services. No backend, no analytics, no telemetry. View source to verify.
- No accounts, no tracking, no monetization-via-data. The trust posture is the moat. If you ever see a "sign up" or third-party script tag on this site, something has gone wrong.
| Tool | Path | What it tests |
|---|---|---|
| Scanner Test | /scanner-test/ |
FIS WebScan check scanner (Digital Check / Panini / etc.) |
| Signature Pad Test | /sigpad-test/ |
Topaz SigWeb signature pad |
| PDF Test | /pdf-test/ |
Browser PDF rendering, form fields, print |
| Printer Test | /printer-test/ |
Guided printer test pattern (alignment, color, fine text) |
| SiteLink Test | /sitelink-test/ |
SiteLink Web Edition / myHub browser readiness |
| Microphone Test | /mic-test/ |
getUserMedia audio, level meter, playback |
| Webcam Test | /webcam-test/ |
getUserMedia video, resolution, FPS |
| Speaker Test | /speaker-test/ |
Web Audio tone in left/right channels |
| Keyboard Test | /keyboard-test/ |
Per-key visual keymap, stuck-key detection, modifiers |
| Display Test | /display-test/ |
Color patterns, dead-pixel scan, resolution |
| Browser Test | /browser-test/ |
UA, security context, storage, modern API support |
| System Info | /system-info/ |
CPU, memory, GPU, display, OS, network, storage - what the browser can detect, locally |
| Network Test | /network-test/ |
Public CDN reachability, DNS-over-HTTPS, WebSocket egress |
| USB Device Test | /usb-test/ |
WebUSB and WebHID chooser, device descriptor inspection |
| Mouse Test | /mouse-test/ |
Pointer buttons, scroll wheel, polling rate, movement smoothness |
| WebRTC Test | /webrtc-test/ |
STUN reachability, ICE gathering, in-page peer connection (Zoom/Teams/Meet readiness) |
| Proxy Test | /proxy-test/ |
Detects a corporate proxy or TLS/SSL inspection between the browser and the internet |
| Clock Test | /clock-test/ |
Flags system-clock skew that breaks HTTPS, domain logins, and 2FA |
| SaaS Reachability Test | /saas-test/ |
Whether Microsoft 365, Google, Zoom, Slack, and SiteLink myHub are reachable - down for everyone, or just your network |
| Email Header Check | /email-check/ |
Local analysis of a suspicious email's headers for spoofing and phishing; nothing uploaded |
| Certificate Inspector | /cert-check/ |
Local X.509 certificate inspection: issuer, validity, SAN, self-signed; nothing uploaded |
| File Hash Check | /hash-check/ |
Local SHA-256/1/512 to verify a download against a vendor's published hash; nothing uploaded |
Every tool has a companion guide at /<tool>/guide/ with detailed diagnosis explanations and IT-admin notes.
Static HTML and JS only. No build step, no framework, no runtime backend.
desktest.net/ # served by Cloudflare Pages
index.html # hub
404.html
_headers # per-path Content-Security-Policy
sitemap.xml
robots.txt
.well-known/security.txt # security contact (RFC 9116)
LICENSE # AGPL-3.0
<tool>/
index.html # the diagnostic
app.js # tool-specific driver
guide/index.html # the guide
about/index.html
help/
getting-started/index.html
deployment/index.html
_shared/ # design-system reference + tool template (served, not linked)
components.html
tool-template/
docs/ # SHA-256 hashes for bundled third-party (served; guides link them)
scripts/check_csp.py # CSP validator, run in CI
workers/edge/ # Cloudflare Worker (reflector + time + reach + captive) for Network / Proxy / Clock / SaaS / SiteLink
og.png # social share image
Each tool's index.html inlines its own CSS and a single <script src="app.js">. The CSP for each path is locked to whatever local origin it needs and nothing else. Trust is provable from view-source.
Every tool ships with:
- Copy Diagnostic Report button (plain text, paste into a ticket).
- Send to your IT button (
mailto:with the report pre-filled). - Interactive fix checklist (click each step as you complete it).
- Run test again button under failed verdicts.
- Light + dark mode (
prefers-color-scheme). - WCAG AA accessibility baseline (
aria-live, focus-visible, semantic<header>,prefers-reduced-motion).
No build. Any static server works:
python3 -m http.server 8080Then open http://localhost:8080. To test localhost-talking tools (Scanner Test, Signature Pad Test), you need the corresponding vendor service running on the same machine (FIS WebScan or Topaz SigWeb).
The repo deploys cleanly to Cloudflare Pages:
- Connect the repo, set output directory to
/, no build command. - Add
desktest.netas a custom domain. - The
_headersfile is read automatically for per-path CSP.
Code is licensed under AGPL-3.0-or-later. See LICENSE for the full text.
This means:
- You can use, modify, and distribute the code freely.
- If you modify it and run it as a network service, you must offer the source of your modifications to your users.
- Derivative works must also be AGPL.
Commercial licensing without AGPL obligations is available from the copyright holder. Contact hello@tech1k.com. This is the same code, relicensed for buyers who want to embed it in a proprietary product or who cannot accept the AGPL terms.
sigpad-test/SigWebTablet.js is Topaz Systems Inc. proprietary code, bundled unmodified. Topaz publishes the canonical file at http://www.sigplusweb.com/SigWebTablet.js and asks integrators not to alter it. The bundled SHA-256 is recorded at docs/sigwebtablet-sha256.txt for verification.
scanner-test/utif.js is UTIF.js (MIT, Photopea), bundled unmodified. It decodes the CCITT Group 4 TIFF images FIS WebScan returns (a format no browser renders natively) to a canvas so the scanned check can preview inline. The bundled SHA-256 is recorded at docs/utif-sha256.txt for verification.
Pull requests welcome. Before you start, please read CONTRIBUTING.md. Contributions require a Contributor License Agreement so commercial dual-licensing remains possible.
Security issues: see SECURITY.md.
Maintained by Kristian. desktest.net exists because front-desk IT deserves better tools than "have you tried reinstalling the driver?"