Generate TAK client configuration QR codes instantly
A Progressive Web App (PWA) for rapid TAK (Tactical Assault Kit) client deployment through QR code generation. Perfect for tactical environments where speed and simplicity matter.
- ATAK Enrollment - Generate QR codes for ATAK client enrollment
- iTAK Configuration - Generate QR codes for iTAK client setup
- URL Import - Create QR codes for data package imports
- Real-time Preview - See QR codes update as you type
- Download & Share - Save QR codes as PNG or copy tak:// URIs
- Profile Management - Save and load configuration profiles
- PWA Support - Works offline after first visit
- Responsive Design - Works on desktop, tablet, and mobile
No installation required - use the live version:
π https://joshuafuller.github.io/qrtak/
Features:
- β‘ Instant access - no setup needed
- π± PWA ready - install on mobile devices
- π Auto-updates - always the latest version
- π Global CDN - fast loading worldwide
- π Secure - HTTPS only
Run your own instance in one command β works on x86 and ARM (Raspberry Pi 4 and up):
docker run -d -p 8080:80 --name qrtak ghcr.io/joshuafuller/qrtak:latestOpen http://localhost:8080 β that's it.
Docker automatically pulls the right image for your architecture (amd64 or arm64).
For developers and customization:
Prerequisites:
- Node.js 20+
- npm
Setup:
# Clone and setup
git clone https://github.com/joshuafuller/qrtak.git
cd qrtak
npm install
# Start development server
npm run devProduction Build:
npm run build
npm run previewFor additional deployment options (Netlify, Vercel, ngrok), see DEPLOYMENT.md.
Images are published to GitHub Container Registry on every release:
ghcr.io/joshuafuller/qrtak
Architectures: linux/amd64, linux/arm64 (Raspberry Pi 4 and up, Apple Silicon, AWS Graviton)
Tags: latest plus semver tags on every release (e.g. 4.0.6, 4.0, 4, v4.0.6)
Docker Compose:
services:
qrtak:
image: ghcr.io/joshuafuller/qrtak:latest
ports:
- "8080:80"
restart: unless-stoppedThe image is ~97MB, runs as non-root (nginx), and is based on Alpine Linux.
- Navigate to "ATAK Enroll" tab
- Enter server hostname/IP, username, and token
- QR code generates automatically
- Download or copy the tak:// URI
- Navigate to "iTAK Config" tab
- Enter server details (description, URL, port, protocol)
- QR code generates automatically
- Download or copy the tak:// URI
- Navigate to "URL Import" tab
- Enter data package or configuration file URL
- QR code generates automatically
- Download or copy the tak:// URI
- Frontend: Vanilla JavaScript with ES6 modules
- Build Tool: Vite for fast development and optimized builds
- PWA: Service Worker for offline functionality
- QR Generation: qrcode library
- Storage: LocalStorage for profile persistence
QR TAK implements comprehensive security scanning and best practices:
- π‘οΈ SAST Analysis: Semgrep, CodeQL, and ESLint Security scan every commit
- π¦ Dependency Security: npm audit, Snyk, OWASP, and OSV Scanner check for vulnerabilities
- π³ Container Security: Trivy and Hadolint scan Docker images
- π Secret Detection: TruffleHog prevents exposed credentials
- π Supply Chain: SBOM generation for container images
- Client-Side Only: All processing happens in your browser - no data transmitted
- Content Security Policy: Strict CSP headers prevent XSS attacks
- Input Validation: All inputs sanitized to prevent injection
- Secure Dependencies: Automated updates via Dependabot & Renovate
- HTTPS Enforced: Service worker requires secure contexts
- π Security Dashboard: Comprehensive security overview and metrics
- π‘οΈ GitHub Security: GitHub Security tab shows all scan results
- β Workflow Status: Live security scan status
- π Dependency Graph: View all dependencies
- π Security Policy: Report vulnerabilities responsibly
When using QR TAK, consider:
- QR Code Visibility: QR codes on screens may be visible to others
- Token Security: Use short-lived tokens when possible
- Profile Storage: Profiles are stored locally in browser storage
- Network Security: Always use HTTPS in production
- Chrome 60+
- Firefox 55+
- Safari 11.1+
- Edge 79+
MIT License - see LICENSE file for details
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For issues and questions:
- Check existing issues
- Create a new issue with detailed information
- Include browser version and steps to reproduce
Note: Designed for tactical environments where rapid TAK client deployment is critical. Always test configurations in a safe environment before deployment.