# bRAC better RAC client ## features - cheat commands (type /help) - no ip and date visible - uses TOR proxy server by default (meex.lol:11234) - plays sound when users receive your messages - coloring usernames by their clients (CRAB, clRAC, Mefidroniy, etc) - configurable message format - RACv1.99.x and RACv2.0 compatible - RACS compatible (--enable-ssl or in --configure enable SSL) - chunked reading messages ![image](https://github.com/user-attachments/assets/a2858662-50f1-4554-949c-f55addf48fcc) ## how to run ### download binary go to [releases](https://github.com/MeexReay/bRAC/releases/latest) and download file you need. its simple. ### build from source 1. Make sure [Rust](https://www.rust-lang.org/tools/install) is installed 2. Clone repository ```bash git clone https://github.com/MeexReay/bRAC.git cd bRAC ``` 3. Build or run with Cargo ```bash cargo build --release # build release (target/release/bRAC) cargo run --release # run (builds and runs bRAC itself) ``` Minimal version: ```bash cargo build --release --no-default-features cargo run --release --no-default-features ``` GTK version: ```bash cargo build --release --features gtk_gui cargo run --release --features gtk_gui ``` ### nix package If you have Nix package manager installed, you can use: ```bash nix build github:MeexReay/bRAC # build binary (result/bin/bRAC) nix run github:MeexReay/bRAC # run (builds and runs bRAC) ``` Minimal version: ```bash nix build github:MeexReay/bRAC#bRAC-minimal nix run github:MeexReay/bRAC#bRAC-minimal ``` GTK version: ```bash nix build github:MeexReay/bRAC#bRAC-gtk nix run github:MeexReay/bRAC#bRAC-gtk ``` ## default config get config path - `bRAC --config-path` \ reconfigure client - `bRAC --configure` ```yml host: meex.lol:11234 # server host name: null # user name (null - ask every time) message_format: 리㹰<{name}> {text} # message format update_time: 50 # update chat interval max_messages: 200 # chat messages limit enable_ip_viewing: true # enable users' ip viewing disable_ip_hiding: false # disable your ip hiding enable_auth: true # enable auth-mode enable_ssl: false # enable ssl connection enable_chunked: true # enable chunked reading ``` ## command-line options ``` -p, --config-path Print config path -H, --host Use specified host -n, --name Use specified name -F, --message-format Use specified message format -r, --read-messages Print unformatted messages from chat and exit -s, --send-message Send unformatted message to chat and exit -f, --disable-formatting Disable message formatting and sanitizing -c, --disable-commands Disable slash commands -i, --disable-ip-hiding Disable ip hiding -v, --enable-users-ip-viewing Enable users IP viewing -C, --configure Configure client -a, --enable-auth Enable authentication -S, --enable-ssl Enable SSL -u, --enable-chunked Enable chunked reading -h, --help Print help -V, --version Print version ``` ## cheat commands commands are any messages that start with a slash `/` \ messages starting with a slash are sent to chat only if the `--disable-commands` option is specified - `/help` - show help message - `/clear` - clear chat - `/spam *args` - spam with text - `/ping` - get server ping (send + read) ## docs - [Message formats](https://github.com/MeexReay/bRAC/blob/main/docs/message_formats.md) - [Authenticated mode](https://github.com/MeexReay/bRAC/blob/main/docs/auth_mode.md) ## see also - [RAC-Hub - all about RAC protocol](https://forbirdden.github.io/RAC-Hub/) - [RAC protocol (v2.0)](https://gitea.bedohswe.eu.org/pixtaded/crab#rac-protocol) - [CRAB - client & server for RAC](https://gitea.bedohswe.eu.org/pixtaded/crab) - [Mefidroniy - client for RAC](https://github.com/OctoBanon-Main/mefedroniy-client) - [AlmatyD - server for RACv1.0](https://gitea.bedohswe.eu.org/bedohswe/almatyd) - [RAC protocol (v1.0)](https://bedohswe.eu.org/text/rac/protocol.md.html)