Skip to content

Commit

Permalink
Prepare for publishing.
Browse files Browse the repository at this point in the history
  • Loading branch information
boxdot committed Aug 2, 2020
1 parent 4c0adfd commit 8e2b465
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 11 deletions.
23 changes: 15 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,28 @@ description = "Signal messenger client for terminal"
version = "0.1.0"
authors = ["boxdot <d@zerovolt.org>"]
edition = "2018"
keywords = ["signal", "tui"]
repository = "https://github.com/boxdot/gurk-rs"
license = "MIT OR Apache-2.0"
categories = ["command-line-utilities"]

[badges]
gitlab = { repository = "https://github.com/boxdot/gurk-rs", branch = "master" }

[dependencies]
anyhow = "1.0.32"
base64 = "0.12.3"
chrono = { version = "0.4.13", features = ["serde"] }
crossterm = { version = "0.17.7", features = ["event-stream"] }
tui = { version = "0.10.0", default-features = false, features = ["crossterm"] }
unicode-width = "0.1.8"
textwrap = "0.12.1"
dirs = "3.0.1"
itertools = "0.9.0"
scopeguard = "1.1.0"
serde = { version = "1.0.114", features = ["derive"] }
serde_json = "1.0.57"
structopt = "0.3.15"
toml = "0.5.6"
dirs = "3.0.1"
textwrap = "0.12.1"
thiserror = "1.0.20"
tokio = { version = "0.2.22", features = ["full"] }
base64 = "0.12.3"
itertools = "0.9.0"
scopeguard = "1.1.0"
toml = "0.5.6"
tui = { version = "0.10.0", default-features = false, features = ["crossterm"] }
unicode-width = "0.1.8"
47 changes: 44 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,44 @@
# gurk
# gurk 🥒
![CI](https://github.com/boxdot/gurk-rs/workflows/CI/badge.svg)

Signal Messenger client for terminal.
[Signal Messenger] client for terminal.

WIP
TODO: add screenshot or gif

## Usage

You need to download and install [`signal-cli`], such that it is found in your `PATH`.

1. Download and install `signal-cli`
2. Follow the instructions at https://github.com/AsamK/signal-cli#usage to register a new client.
3. Install gurk with `cargo install gurk`
4. Drop the config file in your `$HOME` folder. For more config options, see [`src/config.rs`].
```
[user]
name = "Your user name"
phone_number = "Your phone number used in Signal"
```
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.
The communication with the Signal backend is implemented via [`signal-cli`]. It provides some
funtionality 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.
## License
Expand All @@ -16,3 +52,8 @@ WIP
Unless you explicitly state otherwise, any contribution intentionally submitted
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

0 comments on commit 8e2b465

Please sign in to comment.