This commit is contained in:
MeexReay 2025-06-18 01:14:14 +03:00
commit 7406f2cd96
5 changed files with 78 additions and 51 deletions

View File

@ -39,6 +39,8 @@ better RAC client
NO SOLUTION
Read [compiling docs](docs/compiling.md) to build it manually.
### download binary
go to [releases](https://github.com/MeexReay/bRAC/releases/latest) and download file you need. its simple.
@ -59,6 +61,8 @@ cargo build -r # build release (target/release/bRAC)
cargo run -r # build and run
```
Read more about that on the [compiling docs](docs/compiling.md).
### nix package
If you have Nix package manager installed, you can use:
@ -82,15 +86,15 @@ messages starting with a slash are sent to chat only if the `--disable-commands`
## docs
- [Message formats](docs/message_formats.md)
- [Compiling](docs/compiling.md)
- [User agents](docs/user_agents.md)
- [Authenticated mode](docs/auth_mode.md)
- [Cross compile](docs/cross_compile.md)
- [WRAC protocol (v2.0)](docs/wrac.md)
- [FAQ](docs/faq.md)
## see also
- [RAC-Hub - all about RAC protocol](https://the-stratosphere-solutions.github.io/RAC-Hub/)
- [WRAC protocol (v2.0)](docs/wrac.md)
- [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)

52
docs/compiling.md Normal file
View File

@ -0,0 +1,52 @@
# How to compile it
## Windows
1. Install [rustup](https://rustup.rs/)
2. Install [MSVC](https://visualstudio.microsoft.com/visual-cpp-build-tools/) and run `rustup default stable-msvc`
3. Extract [GTK4 from gvsbuild](https://github.com/wingtk/gvsbuild/releases/tag/latest) to `C:\gtk`
4. Update environment variables:
- Go to Start
- Search for 'Advanced system settings'
- Click 'Environment Variables...'
- Add `C:\gtk\lib\pkgconfig` to the PKG_CONFIG_PATH variable
- Add `C:\gtk\bin` to the PATH variable
- Add `C:\gtk\lib` to the Lib variable
- Save and exit
5. Open the repository directory in console (download it from github or with `git clone https://github.com/MeexReay/bRAC.git`)
6. Run `cargo build -r -F libnotify winapi`
7. Done! Your finished binary is in the `target/release` folder.
## Linux / MacOS
1. Install `rust`, `openssl-dev`, `gtk4-dev` with your package manager
2. Open the repository directory in console (download it from github or with `git clone https://github.com/MeexReay/bRAC.git`)
3. Run `cargo build -r`
4. Done! Your finished binary is in the `target/release` folder.
# Troubleshooting
## Windows / MacOS
### Doesnt compile / doesnt work
Write a new issue here and dont google anything!!1
## Linux
### Notifications dont work
There are Two solutions:
- Switch to `libnotify`:
Just add the new feature to cargo: `cargo build -r -F libnotify` \
Libnotify sucks in many situations, but its cross-compiling and always work
- Make a desktop file:
Enter the repository folder and run: `./misc/create-desktop.sh` \
You'll get a desktop file contents, just edit paths here and write it to a new file in the `~/.local/share/applications` or `/usr/share/applications`\
All of these, with adding icons and other, makes this command: `make install` (using `gnumake` package) \
But make sure, that you have `.local/bin` in the `PATH` variable, otherwise it won't work. \
Now, if you'll run with the desktop file, GNotifications will work perfectly.

View File

@ -1,47 +0,0 @@
# message formats
## types
### bRAC
this client
```yml
format: "리㹰<{name}> {text}"
regex: "\uB9AC\u3E70<(.*?)> (.*)"
color: "green"
```
### CRAB
[CRAB - client & server for RAC written in java](https://gitea.bedohswe.eu.org/pixtaded/crab)
```yml
format: "═══<{name}> {text}"
regex: "\u2550\u2550\u2550<(.*?)> (.*)"
color: "light red"
```
### Mefedroniy
[Mefidroniy - client for RAC written in rust](https://github.com/OctoBanon-Main/mefedroniy-client)
```yml
format: "°ʘ<{name}> {text}"
regex: "\u00B0\u0298<(.*?)> (.*)"
color: "light magenta"
```
### clRAC
official client
```yml
format: "<{name}> {text}"
regex: "<(.*?)> (.*)"
color: "cyan"
```
## developer notes
in auth-mode, there is must to be `> ` after name (`{name}> {text}`)

18
docs/user_agents.md Normal file
View File

@ -0,0 +1,18 @@
# user agents
User agents in RAC is the way how to get know from what client the message was sent. It works by just checking the message text throught regex.
## clients
Here are listed the most common clients, and their name colors in the chat.
| Client | Format | Regex | Color |
| :----: | :----: | :----: | :----: |
| [bRAC](https://github.com/MeexReay/bRAC) | 리㹰<{name}> {text} | `\uB9AC\u3E70<(.*?)> (.*)` | green
| [CRAB](https://gitea.bedohswe.eu.org/pixtaded/crab) | ═══<{name}> {text} | `\u2550\u2550\u2550<(.*?)> (.*)` | light red
| [Mefidroniy](https://github.com/OctoBanon-Main/mefedroniy-client) | °ʘ<{name}> {text} | `\u00B0\u0298<(.*?)> (.*)` | light magenta
| clRAC | <{name}> {text} | `<(.*?)> (.*)` | cyan
## developer notes
in auth-mode, there is must to be `> ` after name (`{name}> {text}`)

View File

@ -42,7 +42,7 @@ lazy_static! {
pub static ref SERVER_LIST: Vec<String> = vec![
"rac://meex.lol".to_string(),
"rac://meex.lol:11234".to_string(),
"wracs://meex.lol".to_string(),
"rac://91.192.22.20".to_string()
];
}