ZetaNet is a web-based messaging application written in Rust.
🔴 Agent-assisted
If you want to use or ZetaClient or ZetaServer, please refeer to ZetaClient Informations and ZetaServer informations.
If you want to use the source code, clone the repository:
git clone https://github.com/ZetaNetProject/ZetaNet.git && cd ZetaNetcargo xtask build
cargo run --bin zetaclientThen visit http://127.0.0.1:8080.
Hot reloads with npm run dev currently doesn't work.
cargo run --bin zetaserver -- -p 9090
cargo run --bin zetaserver -- -p 3000 -n "MyServer"
cargo run --bin zetaserver -- -hThe SMTP service is not configured by default. To test authentication and public messages in dev, use the debug user script:
# Edit zetaserver/src/bin/create_debug_user.rs with your credentials, then:
cargo run --bin create_debug_userVerification with SMTP is now fully functionnal, and an option to disable code verification as been added.
ZetaNet consists of three workspace crates:
| Crate | Description |
|---|---|
zetaclient |
Client application (WebUI, message handling, WebSocket) |
zetaserver |
Server backend for hosting a ZetaNet instance |
zetacommon |
Shared library used by both client and server |
# Build client (frontend + Rust backend)
cargo xtask build
# Build client or server in release mode, extract binary to build/release/
cargo xtask build-client --release
cargo xtask build-server --release
cargo xtask build-all --releasePackage commands build release binaries and create platform-specific application archives.
All packages include the application icon from icons/.
# Auto-detect host platform
cargo xtask package-client
cargo xtask package-server
cargo xtask package-all
# Force specific platform (useful for CI or cross-packaging)
cargo xtask client-package-linux
cargo xtask client-package-macos
cargo xtask client-package-windows
cargo xtask server-package-linux
cargo xtask server-package-macos
cargo xtask server-package-windowsOutput archives are written to build/release/:
| Platform | Client | Server |
|---|---|---|
| Linux | ZetaClient.appimage |
zetaserver-x86_64-unknown-linux-gnu.tar.gz |
| macOS | ZetaClient-aarch64-apple-darwin.tar.gz (.app bundle) |
zetaserver-aarch64-apple-darwin.tar.gz |
| Windows | zetaclient-x86_64-pc-windows-msvc.zip |
zetaserver-x86_64-pc-windows-msvc.zip |
cargo xtask test # Run workspace tests
cargo xtask fmt # Format code
cargo xtask help # Show all available commandsReleases are automated via GitHub Actions. To create a release:
git tag v0.1.0
git push origin v0.1.0This triggers a workflow that builds packages for Linux, macOS, and Windows, then publishes them as a GitHub release with the following artifacts:
- Client application (platform-specific archive)
- Server application (platform-specific archive)
README.mdand documentation
Note
For more details, see the documentation directory, and run cargo xtask help.
This project is licensed under CeCILL-B and Apache-2.0 licenses. Choose the one that best fits your needs.