Skip to content

Commit

Permalink
Outdated version note
Browse files Browse the repository at this point in the history
  • Loading branch information
boxdot committed Mar 14, 2024
1 parent 91085a2 commit 3466119
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 46 deletions.
56 changes: 10 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,22 @@
# gurk 🥒
![CI](https://github.com/boxdot/gurk-rs/workflows/CI/badge.svg)

[Signal Messenger] client for terminal.

![screenshot](screenshot.png)

## Usage

You need to download and install [`signal-cli`], such that it is found in your `PATH`.
This crate cannot be installed from crates.io directly. It depends on the
official Rust implementation of [libsignal protocol], which is not published on
crates.io.

1. Download and install `signal-cli`
2. Follow the instructions at
https://github.com/AsamK/signal-cli/wiki/Linking-other-devices-(Provisioning) to link
`signal-cli` to your phone/device.
3. Install gurk with `cargo install gurk`
4. Drop a config file with the following context
```
[user]
name = "Your user name"
phone_number = "Your phone number used in Signal"
```
Either install the latest version via

in one of the following locations:
```
cargo install --git https://github.com/boxdot/gurk-rs gurk
```

1. `$XDG_CONFIG_HOME/gurk/gurk.toml`
2. `$XDG_CONFIG_HOME/gurk.yml`
3. `$HOME/.config/gurk/gurk.toml`
4. `$HOME/.gurk.toml`
For more config options, see [`src/config.rs`].
5. Run `gurk`
At the first run, `gurk` will sync groups and contacts.
## Missing features / known issues
* Use a simple database (like sqlite, sled, leveldb) for storing messages, contacts, etc... instead
of a JSON file.
* Add optional Gnome notifications over dbus.
* Add scrolling of messages.
* Add reply functionality to a single message.
* Add mouse navigation.
* Add search of messages/chats. Add quick switch between chats by name.
* It is not possible to send multiline messages, since the `Enter` key sends the messages. Add a
shortcut or a mode for typing multiline messages.
* Add sending of attachments.
* Add support for blocked contacts/groups.
The communication with the Signal backend is implemented via [`signal-cli`]. It provides some
functionality like lookup of group/contact name only over the dbus interface. Therefore, `gurk` only
works on Linux. We should evaluate if it is possible to switch to the [`libsignal-service-rs`]
crate.
or download a pre-compiled binary from [Releases].

## License

Expand All @@ -67,6 +32,5 @@ for inclusion in this document by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.

[Signal Messenger]: https://signal.org
[`signal-cli`]: https://github.com/AsamK/signal-cli
[`libsignal-service-rs`]: https://github.com/Michael-F-Bryan/libsignal-service-rs
[`src/config.rs`]: https://github.com/boxdot/gurk-rs/blob/master/src/config.rs
[libsignal protocol]: https://github.com/signalapp/libsignal
[Releases]: https://github.com/boxdot/gurk-rs/releases
5 changes: 5 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ struct Args {

#[tokio::main]
async fn main() -> anyhow::Result<()> {
println!(
"You are using an outdated version of Gurk. \
Install or download the latest version from GitHub"
);

let args = Args::from_args();

let mut app = App::try_new(args.verbose)?;
Expand Down

0 comments on commit 3466119

Please sign in to comment.