aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-11-08-scli.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-29 14:18:55 -0500
commitfdd80eadcc2f147d0198d94b7b908764778184a2 (patch)
treefbec9522ea9aa13e8105efc413d2498c3c5b4cd6 /content/blog/2023-11-08-scli.md
parentd6c80fdc1dea9ff242a4d3c7d3939d2727a8da56 (diff)
downloadcleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.gz
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.tar.bz2
cleberg.net-fdd80eadcc2f147d0198d94b7b908764778184a2.zip
format line wrapping and fix escaped characters
Diffstat (limited to 'content/blog/2023-11-08-scli.md')
-rw-r--r--content/blog/2023-11-08-scli.md119
1 files changed, 54 insertions, 65 deletions
diff --git a/content/blog/2023-11-08-scli.md b/content/blog/2023-11-08-scli.md
index 3b2ce31..0d01ea4 100644
--- a/content/blog/2023-11-08-scli.md
+++ b/content/blog/2023-11-08-scli.md
@@ -5,49 +5,42 @@ description = ""
draft = false
+++
-[scli](https://github.com/isamert/scli) is a command-line tool that
-allows you to connect to your Signal messenger account. This program
-utilizes a two-pane display that shows you chats on the left and the
-focused conversation on the right.
+[scli](https://github.com/isamert/scli) is a command-line tool that allows you
+to connect to your Signal messenger account. This program utilizes a two-pane
+display that shows you chats on the left and the focused conversation on the
+right.
-This guide will show you how to install `scli` and its
-dependencies on Alpine Linux, which requires some extra work due to
-musl.
+This guide will show you how to install `scli` and its dependencies on Alpine
+Linux, which requires some extra work due to musl.
-If you\'re using a non-musl system, you can likely following the
-`scli` README and download the packaged binaries for an
-easier installation process.
+If you're using a non-musl system, you can likely following the `scli` README
+and download the packaged binaries for an easier installation process.
# Dependencies
In order to use `scli`, you need a few dependencies:
-- `openjdk17-jre` - Used as a dependency for the
- `signal-cli` tool. Version may vary.
-- `signal-cli` - Used as the backbone of the
- `scli` tool.
-- `findutils` - Replaces the standard Busybox version of
- `xargs`.
-- `urwid` - A console user interface library for Python.
-- `urwid-readline` - For GNU emacs-like keybinds on the
- input line.
-- `qrencode` - Displays a QR code in the terminal to link
- the device using your phone. Not necessary if you\'re only linking
- on desktop and can copy/paste the connection URL.
-
-Let\'s start by installing the packages available via Alpine\'s
-repositories. Be sure to install the latest version of
-`openjdk`. If you run into Java-related issues, uninstall
-`openjdk` and install an older version.
+- `openjdk17-jre` - Used as a dependency for the `signal-cli` tool. Version may
+ vary.
+- `signal-cli` - Used as the backbone of the `scli` tool.
+- `findutils` - Replaces the standard Busybox version of `xargs`.
+- `urwid` - A console user interface library for Python.
+- `urwid-readline` - For GNU emacs-like keybinds on the input line.
+- `qrencode` - Displays a QR code in the terminal to link the device using your
+ phone. Not necessary if you're only linking on desktop and can copy/paste the
+ connection URL.
+
+Let's start by installing the packages available via Alpine's repositories. Be
+sure to install the latest version of `openjdk`. If you run into Java-related
+issues, uninstall `openjdk` and install an older version.
```sh
doas apk add openjdk17-jre findutils qrencode
```
-Next, let\'s install `signal-cli`. Be sure to export the
-version of `signal-cli` that you want. I use version
-`0.12.4` below, but that may be outdated by the time you\'re
-reading this.
+Next, let's install `signal-cli`. Be sure to export the version of `signal-cli`
+that you want. I use version `0.12.4` below, but that may be outdated by the
+time you're reading this.
```sh
export VERSION="0.12.4"
@@ -56,8 +49,7 @@ doas tar xf signal-cli-"${VERSION}".tar.gz -C /opt
doas ln -sf /opt/signal-cli-${VERSION}"/bin/signal/cli /usr/local/bin
```
-Finally, install the `urwid` packages using the Python
-packaging utility.
+Finally, install the `urwid` packages using the Python packaging utility.
```sh
pip3 install urwid urwid-readline
@@ -65,25 +57,24 @@ pip3 install urwid urwid-readline
# Installation
-Now that we have all of the dependencies we need, we can install
-`scli`. Start by simply cloning the repository.
+Now that we have all of the dependencies we need, we can install `scli`. Start
+by simply cloning the repository.
```sh
git clone https://github.com/isamert/scli
```
-When I cloned this repository on 2023-11-08, I found a bug in the logic
-that required a fix. You must edit the `scli` file and
-replace the one instance of `RLIMIT_OFILE` with
-`RLIMIT_NOFILE`.
+When I cloned this repository on 2023-11-08, I found a bug in the logic that
+required a fix. You must edit the `scli` file and replace the one instance of
+`RLIMIT_OFILE` with `RLIMIT_NOFILE`.
```sh
cd scli
nano scli
```
-Once complete, you can move this program to anywhere on your
-`$PATH`. I chose the following directory.
+Once complete, you can move this program to anywhere on your `$PATH`. I chose
+the following directory.
```sh
doas mv scli /usr/local/bin/scli
@@ -91,43 +82,41 @@ doas mv scli /usr/local/bin/scli
# Initial Setup
-Now that everything is installed, we can login and configure the client.
-Start by generating a connection link.
+Now that everything is installed, we can login and configure the client. Start
+by generating a connection link.
```sh
signal-cli link -n "YOUR-DEVICE-NICKNAME" | tee >(xargs -L 1 qrencode -t utf8)
```
-This will generate a connection link and related QR code for you to use
-to link the devices together. Once complete, **wait patiently\*** for
-the connection process to finish.
+This will generate a connection link and related QR code for you to use to link
+the devices together. Once complete, **wait patiently** for the connection
+process to finish.
-Once it completes, it will exit and return you to the prompt. From here,
-you need to perform an initial `receive` command to start
-things off. The `USERNAME` variable should be your phone
-number, such as `+15551237890`.
+Once it completes, it will exit and return you to the prompt. From here, you
+need to perform an initial `receive` command to start things off. The `USERNAME`
+variable should be your phone number, such as `+15551237890`.
```sh
signal-cli -u USERNAME receive
```
-Also be sure to test the daemon to ensure it works properly. If no
-errors occur, it\'s working. If you run into errors because you\'re not
-running a DBUS session, see my notes below.
+Also be sure to test the daemon to ensure it works properly. If no errors occur,
+it's working. If you run into errors because you're not running a DBUS
+session, see my notes below.
```sh
signal-cli -u USERNAME daemon
```
-Once the initial reception is complete, you are ready to use
-`scli`.
+Once the initial reception is complete, you are ready to use `scli`.
-This process will differ depending on your desktop environment (DE). If
-you are running a DE, you likely have a DBUS session running already and
-can simply launch the program.
+This process will differ depending on your desktop environment (DE). If you are
+running a DE, you likely have a DBUS session running already and can simply
+launch the program.
-However, if you\'re like me and running your computer straight on the
-TTY without a DE, you\'ll need to start a DBUS session for this program.
+However, if you're like me and running your computer straight on the TTY
+without a DE, you'll need to start a DBUS session for this program.
```sh
# If you're not running a DBUS session yet, you need to start one for scli
@@ -139,9 +128,9 @@ scli
# Configuration
-Lastly, there are a number of configuration options that you can pass
-via the command or in the `~/.config/sclirc` file. See the
-Github README for more information on configuration options.
+Lastly, there are a number of configuration options that you can pass via the
+command or in the `~/.config/sclirc` file. See the Github README for more
+information on configuration options.
```sh
nano ~/.config/sclirc
@@ -154,5 +143,5 @@ wrap-at = 80
enable-notifications = true
```
-That\'s it! Following this guide, I have a functional `scli`
-program that successfully sends messages to my contacts and myself!
+That's it! Following this guide, I have a functional `scli` program that
+successfully sends messages to my contacts and myself!