aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-11-08-scli.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
committerChristian Cleberg <hello@cleberg.net>2024-07-28 19:46:20 -0500
commit2be43cc479dfd4cfb621f14381330c708291e324 (patch)
tree7ac50f99425c5524c0820360754045b80d1bafcc /content/blog/2023-11-08-scli.md
parentafe76ac7d7498b862abaa623790b91410e34574d (diff)
downloadcleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.gz
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.tar.bz2
cleberg.net-2be43cc479dfd4cfb621f14381330c708291e324.zip
conversion from Zola to Weblorg
Diffstat (limited to 'content/blog/2023-11-08-scli.md')
-rw-r--r--content/blog/2023-11-08-scli.md147
1 files changed, 0 insertions, 147 deletions
diff --git a/content/blog/2023-11-08-scli.md b/content/blog/2023-11-08-scli.md
deleted file mode 100644
index 363e77b..0000000
--- a/content/blog/2023-11-08-scli.md
+++ /dev/null
@@ -1,147 +0,0 @@
-+++
-date = 2023-11-08
-title = "Installing scli on Alpine Linux (musl)"
-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.
-
-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.
-
-# 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.
-
-```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.
-
-```sh
-export VERSION="0.12.4"
-wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}".tar.gz
-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.
-
-```sh
-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.
-
-```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`.
-
-```sh
-cd scli
-nano scli
-```
-
-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
-```
-
-# Initial Setup
-
-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.
-
-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.
-
-```sh
-signal-cli -u USERNAME daemon
-```
-
-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.
-
-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
-dbus-run-session -- scli
-
-# OR - If you're already running a DBUS session, simply run scli
-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.
-
-```sh
-nano ~/.config/sclirc
-```
-
-```conf
-# ~/.config/sclirc
-
-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!