RestSend is a full-featured instant messaging project with backend services, an admin console, a Rust client core, and WASM bindings.
crates/restsend-backend: backend service with API, WebSocket, OpenAPI, and Admincrates/restsend: Rust client corecrates/restsend-wasm: WebAssembly bindingscrates/restsend-macros: internal macros
git clone https://github.com/restsend/restsend-rs.git
cd restsend-rs
cargo checkBuild:
cargo build -p restsend-backend --releaseMinimal .env:
RS_ADDR=0.0.0.0:8080
RS_DATABASE_URL=sqlite://restsend-server.db?mode=rwc
RS_OPENAPI_PREFIX=/open
RS_API_PREFIX=/api
RS_LOG_FILE=logs/restsend-backend.log
RS_RUN_MIGRATIONS=trueStart:
cargo run -p restsend-backend --releaseOverride listen address by CLI:
cargo run -p restsend-backend --release -- --addr 127.0.0.1:18080Health check:
GET /api/health
- Admin page:
/admin - First visit can bootstrap the first superuser
- After bootstrap, login with the superuser account
.envis loaded viadotenvy- Default database is SQLite
RS_PRESENCE_BACKEND=memoryfor single nodeRS_PRESENCE_BACKEND=dbfor shared presence across nodes
- REST API and WebSocket realtime messaging
- Admin console
- OpenAPI integration
- Webhook support
- SQLite / MySQL via SeaORM
- Rust and WASM client support
- MIT, see
LICENSE - Commercial license required for production deployments serving more than 1000 users
Contact: kui@fourz.cn