# bRAC
[
]()
[
]()
[
](https://meex.lol/bitcoin)
better RAC client
## features
- cheat commands (type /help)
- no ip and date visible
- uses TOR proxy server by default
- 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

## 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
(you have to install [rust](https://www.rust-lang.org/tools/install) at first)
```bash
git clone https://github.com/MeexReay/bRAC.git
cd bRAC
cargo build --release # build release (target/release/bRAC)
cargo run # run (builds and runs bRAC itself)
```
## 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 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)