mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
51405057047202751d9e3fdeb90aa50e2bbd7192
- BUG-039: switchOutputDevice continues loop on partial failure instead of early return - BUG-040: clearOnError() prevents stale callback after MainPage destroy - BUG-041: voice store tests cover localCamera, localScreenshare, setLocalSpeaking - BUG-042: auth store updateUser tests and UserBar mute/deafen callback tests - BUG-043: switchInputDevice guards against no active WebRTC session - BUG-044: replace synchronous confirm() with double-click-to-delete via toast - BUG-045: isSafeUrl() blocks javascript: URLs in image attachment src
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%