ShitSpeak is a Rust voice server compatible with Mumble clients. It provides TLS client connections, UDP voice and ping handling, channel and ACL management, persistent server state, optional custom authentication, and experimental multi-node server-to-server operation.
The Cargo package and default binary are both named shitspeak-rs.
This project is under active development. The checked-in config.toml is intended for local development and testing. Review it carefully before exposing a server publicly, especially authentication, TLS certificates, public registration, persistence, and clustering settings.
Configure a TLS certificate and key for the paths in config.toml, then build
and run:
cargo build
cargo runThe development config listens on 0.0.0.0:64738. Connect a Mumble client to localhost:64738.
For more logging during development:
$env:RUST_LOG = "debug"
cargo runStart with the documentation index:
- Documentation index
- Getting started
- Configuration
- Authentication
- Persistence
- Clustering
- Web gateway
- Observability
- Deployment
- Development
- Architecture
cargo fmt
cargo check
cargo test
cargo benchWorkspace checks for cached PR compilation:
cargo check --workspace --all-targets --locked
cargo check --workspace --all-targets --features web --locked
cargo check --workspace --all-targets --features moq --lockedRun the full workspace test suite with:
cargo test --workspace --all-targets --lockedOptional feature builds:
cargo build --features web
cargo build --features moqsrc/: thin binary launchers and the root re-export crate.crates/: workspace libraries for runtime, configuration, authentication, state, voice, S2S, web gateway, protocol generation, and shared types.config.toml: local development configuration.examples/: certificate generators and authenticator examples.web/: browser demo and JavaScript SDK assets.deploy/: Grafana and Prometheus provisioning examples.packaging/: systemd service example.benches/: Criterion benchmark suites.
No license file is currently included in this repository.