Qint is a modern open-source alternative client for TeamSpeak servers that allows you to chat and speak with other people over the internet.
This tool/repository is provided as-is without any support or active development.
We are currently not open for Issues/Feature-Requests/Pull-Requests.
- Rust, preferred installation method is rustup
- SDL2, Windows installation guide is below
- OpenSSL 1.1, on Linux only
- libopus, on Linux only
Run ./install_sdl.ps1
--- OR ---
Download the SDL2-devel-2.x.x-VC.zip from libsdl.org.
From this file, copy SDL2-2.x.x/lib/x64/*.lib to proxy-codegen/msvc/lib/64/.
And copy SDL2-2.x.x/lib/x64/*.dll to proxy-codegen/msvc/dll/64/, proxy-codegen/ and src-tauri/.
apt install libopus-dev libsdl2-dev libwebkit2gtk-4.0-dev libappindicator3-devQintWeb is a variant of Qint that runs as a web application, without the Tauri desktop application. It can be used for development or as a standalone web app.
cd webapp
RUST_LOG=info cargo run
# For release builds
cargo build --releaseBy default, the proxy searches for the frontend in ../frontend/build, where the frontend gets
built by default. For packaging, it is useful to load the frontend for another directory, which can
be set during compilation: FRONTEND_PATH=./frontend/ cargo build
Make sure to build the backend once before building the frontend, because the backend build
autogenerates the book_events.ts file of the frontend.
cd frontend
# Install dependencies
bun
# For the development server
bun run dev
# For builds
bun run buildnix run .#webappTo build for android:
cargo tauri android buildThe Tauri desktop application is the main way to use Qint, it provides a native desktop experience and access to system features.
nix run .#qintBuild the frontend first, then run cargo tauri dev in the src-tauri folder.
{
inputs = {
# ...
qint = {
url = "github:ReSpeak/Qint";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
qint,
...
} @ inputs: {
nixosConfigurations = {
system = nixpkgs.lib.nixosSystem {
modules = [
# ...
qint.nixosModules.default
];
};
};
};
}To activate more logging for qint and see sent commands or packets, use
RUST_LOG=tsproto=debug,ts_bookkeeping=debug,tsclientlib=debug,qint_proxy=debug,webapp=debug,warn cargo run -- -v.
By default, only errors are logged. To change that, run one of the following in the browser console:
// Log everything
debug.enable("*")
debug.enable("CHAT,BINPUT")
debug.enable("*,-LL") // Everything but the lazy list
debug.enable("error:*")
// debug.enable is saved in local storage
localStorage.debug = "*"On Windows in %appdata%\ReSpeak\config.toml:
[[shortcuts.actions]]
keycode = "F13"
action = { InputMute = "Toggle" }
[[shortcuts.actions]]
keycode = "F12"
action = { OutputMute = "True" }
[[shortcuts.actions]]
keycode = "F11"
action = { Away = "False" }On Linux/X11, global shortcuts are not implemented, using the same way as wayland below is possible. For Linux/Wayland, configure your compositor to write to the socket or make http requests (http requests do not work when running tauri), e.g. with the following commands:
# For the unix socket
echo '{"InputMute":null}' | nc -UN /tmp/qint-hotkeys
# For web requests
curl -H "Content-Type: application/json" -X POST -d '{"InputMute":null}' http://localhost:4422/shortcut
curl -H "Content-Type: application/json" -X POST -d '{"Away":null}' http://localhost:4422/shortcutLicensed under the Open Software License and GNU Affero General Public License v3.



