diff --git a/README.md b/README.md index cf33d93..99c20bf 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/docs/compiling.md b/docs/compiling.md new file mode 100644 index 0000000..9a09573 --- /dev/null +++ b/docs/compiling.md @@ -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. \ No newline at end of file diff --git a/docs/message_formats.md b/docs/message_formats.md deleted file mode 100644 index 0f04c8e..0000000 --- a/docs/message_formats.md +++ /dev/null @@ -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}`) \ No newline at end of file diff --git a/docs/user_agents.md b/docs/user_agents.md new file mode 100644 index 0000000..1b1f0b2 --- /dev/null +++ b/docs/user_agents.md @@ -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}`) \ No newline at end of file diff --git a/src/chat/mod.rs b/src/chat/mod.rs index 8a11092..c828de3 100644 --- a/src/chat/mod.rs +++ b/src/chat/mod.rs @@ -42,7 +42,7 @@ lazy_static! { pub static ref SERVER_LIST: Vec = vec![ "rac://meex.lol".to_string(), - "rac://meex.lol:11234".to_string(), + "wracs://meex.lol".to_string(), "rac://91.192.22.20".to_string() ]; }