mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
95c5b2d3b98dedb01bdaf6b5f3854e003b5ec4e4
- REST authorization: 6 tests verifying READ_MESSAGES enforcement
on GET /channels, GET /channels/{id}/messages, and GET /search
with channel override deny and admin bypass
- WS authorization: 4 tests verifying channel_focus and chat_send
permission checks with deny overrides and admin bypass
- Contract tests: 3 tests asserting response shapes match API.md
(message fields, user object, attachments, reactions with me flag,
search result fields)
Closes test gaps identified in CODE_REVIEW.md.
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%