mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
fca1b0cc0c1114279e9c944a122289742765375e
Add comprehensive tests for db, storage, updater, and ws packages covering edge cases, error paths, and voice handler functions. New test files for attachment queries and WebSocket coverage boost.
OwnCord
Self-hosted Windows chat platform with voice, video, and an admin panel.
Features
- Real-time text chat with threads and reactions
- Voice and video channels (WebRTC)
- Role-based permissions with custom roles
- File sharing with inline previews
- Full-text message search
- Web-based admin panel
- Invite-only registration
- TLS encryption (self-signed or custom cert)
Quick Start
- Download the latest release from GitHub Releases
- Run
chatserver.exe-- generatesconfig.yamlon first run - Open
https://localhost:8443/adminto access the admin panel - Generate an invite code, share it with friends
- Friends download the client installer and connect using your server address
Building from Source
Server
cd Server
go build -o chatserver.exe -ldflags "-s -w -X main.version=1.0.0" .
Client (Tauri v2)
cd Client/tauri-client
npm install
npm run tauri build
The installer is output to
Client/tauri-client/src-tauri/target/release/bundle/nsis/.
Architecture
OwnCord consists of a Go server and a Tauri v2 desktop client. The server handles all business logic, storage, and real-time communication. Clients connect over WebSocket for chat events, REST for history and uploads, and WebRTC for voice/video.
+---------------------+ +---------------------+
| OwnCord Client | | OwnCord Server |
| (Tauri v2) | | (Go) |
| | | |
| +---------------+ | WSS | +---------------+ |
| | Chat UI |--+------->| | WebSocket Hub| |
| +---------------+ | | +---------------+ |
| +---------------+ | HTTPS | +---------------+ |
| | REST Client |--+------->| | REST API | |
| +---------------+ | | +---------------+ |
| +---------------+ | WebRTC | +---------------+ |
| | Voice/Video |--+------->| | TURN/STUN | |
| +---------------+ | | +---------------+ |
+---------------------+ | +---------------+ |
| | SQLite DB | |
| +---------------+ |
+---------------------+
Documentation
- Quick Start Guide
- Port Forwarding Guide
- Tailscale Guide
- Client Architecture
- Migration Plan
- Testing Strategy
- Contributing
- Security
License
MIT
Languages
TypeScript
48.7%
Go
44%
JavaScript
2.2%
Rust
2.1%
CSS
1.4%
Other
1.5%