KAWACH C2C is a free, open-source WebRTC-based video calling application specifically designed for defense personnel, military operations, and security-conscious organizations. Built with military-grade encryption and zero data collection policies, KAWACH provides a secure communication platform that meets the stringent security requirements of defense and intelligence communities.
- ποΈ Military Operations: Secure communication for field operations and command centers
- ποΈ Government Agencies: Classified briefings and inter-agency coordination
- π Intelligence Services: Covert operations and sensitive information sharing
- π Emergency Response: Critical communication during crisis situations
- π‘ Remote Deployments: Secure connectivity for personnel in remote locations
- π― Tactical Communications: Real-time coordination for tactical operations
- π Military-Grade Encryption: AES-256 encryption with DTLS/SRTP protocols for defense-level security
- π« Zero Data Collection: No logs, metadata, or personal information stored - perfect for classified operations
- π‘οΈ Air-Gapped Deployment: Can be deployed on isolated networks for maximum security
- π± Cross-Platform Compatibility: Secure communication across all military devices and platforms
- π₯οΈ Secure Screen Sharing: Share tactical maps, intelligence reports, and operational data safely
- πΉ Local Recording Only: All recordings stored locally on authorized devices, never on external servers
- π¬ Encrypted Messaging: End-to-end encrypted text communication for operational coordination
- π Authentication Ready: Supports integration with military authentication systems
- π Self-Hosted: Complete control over infrastructure - no third-party dependencies
- β‘ Low-Latency Communication: Real-time coordination critical for time-sensitive operations
- Node.js (v16.0.0 or higher)
- npm or yarn package manager
-
Clone the repository
git clone cd KAWACH -
Install dependencies
npm install
-
Configure environment
cp .env.template .env # Edit .env file with your configuration -
Start the application
npm start
-
Access the application Open your browser and navigate to
http://localhost:8080
# Build and run with Docker Compose
docker-compose up -d# Build the image
npm run docker-build
# Run the container
npm run docker-run
# Run with environment file
npm run docker-runeKAWACH/
βββ backend/ # Server-side code
β βββ api/ # API endpoints
β βββ lib/ # Utility libraries
β βββ ssl/ # SSL certificates
β βββ server.js # Main server file
βββ frontend/ # Client-side code
β βββ css/ # Stylesheets
β βββ html/ # HTML templates
β βββ js/ # JavaScript files
β βββ images/ # Static assets
βββ docs/ # Documentation
βββ tests/ # Test files
βββ .env.template # Environment configuration template
Copy .env.template to .env and configure the following variables:
# Server Configuration
PORT=8080
HOST=localhost
# Security Settings
HTTPS_ENABLED=false
SSL_CERT_PATH=./backend/ssl/cert.pem
SSL_KEY_PATH=./backend/ssl/key.pem
# WebRTC Configuration
STUN_SERVER_URL=stun:stun.l.google.com:19302
TURN_SERVER_URL=
TURN_USERNAME=
TURN_PASSWORD=
# Additional Features
SENTRY_DSN=
NGROK_ENABLED=false
NGROK_AUTH_TOKEN=# Start with nodemon for auto-restart
npm run start-dev# Run tests
npm test# Format code with Prettier
npm run lintThe application includes Swagger API documentation available at /api/docs when running the server.
GET /- Landing pageGET /home- Main application interfaceGET /client- Client interfacePOST /api/join- Join a roomWebSocket- Real-time communication via Socket.IO
- AES-256 Encryption: Industry-leading encryption standard used by defense organizations worldwide
- WebRTC DTLS 1.2: All media streams encrypted using Defense Transport Layer Security
- SRTP: Secure Real-time Transport Protocol with authenticated encryption for media streams
- WSS: Secure WebSocket connections with TLS 1.3 for signaling
- Perfect Forward Secrecy: Each session uses unique encryption keys that cannot be compromised retroactively
- Zero-Knowledge Architecture: Server has no access to call content or metadata
- No Data Persistence: Calls, messages, and metadata are never stored on any server
- Peer-to-Peer Communication: Direct encrypted channels between participants only
- Local-Only Recording: All recordings remain on authorized devices within secure perimeters
- Memory Clearing: Automatic clearing of sensitive data from system memory after sessions
- Air-Gap Compatible: Can operate on completely isolated networks
- TEMPEST Resistant: Designed to minimize electromagnetic emanations
- Multi-Factor Authentication Ready: Integration support for military authentication systems
- Audit Trail Capability: Optional logging for compliance with defense regulations
- Secure Boot Verification: Ensures system integrity during startup
- Content Security Policy (CSP): Prevents code injection attacks
- HTTP Strict Transport Security (HSTS): Forces secure connections
- X-Frame-Options: Prevents clickjacking attacks
- Certificate Pinning: Prevents man-in-the-middle attacks
- DDoS Protection: Built-in protection against denial of service attacks
-
Secure Military Networks
- Deploy on classified networks (SIPR, JWICS)
- Air-gapped deployment for maximum security
- Integration with existing military infrastructure
-
Forward Operating Bases (FOB)
- Tactical deployment for field operations
- Satellite uplink compatibility
- Ruggedized server configurations
-
Government Data Centers
- High-availability deployment with redundancy
- Compliance with government security standards
- Integration with existing authentication systems
-
Emergency Command Centers
- Rapid deployment for crisis response
- Mobile command post compatibility
- Backup communication systems
Example Nginx configuration:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Run the test suite
- Submit a pull request
- Built with WebRTC technology
- Powered by Socket.IO for real-time communication
- UI components inspired by modern design principles
