aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-11-08-scli.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
committerChristian Cleberg <hello@cleberg.net>2024-03-04 22:34:28 -0600
commit797a1404213173791a5f4126a77ad383ceb00064 (patch)
treefcbb56dc023c1e490df70478e696041c566e58b4 /content/blog/2023-11-08-scli.md
parent3db79e7bb6a34ee94935c22d7f0e18cf227c7813 (diff)
downloadcleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.gz
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.tar.bz2
cleberg.net-797a1404213173791a5f4126a77ad383ceb00064.zip
initial migration to test org-mode
Diffstat (limited to 'content/blog/2023-11-08-scli.md')
-rw-r--r--content/blog/2023-11-08-scli.md157
1 files changed, 0 insertions, 157 deletions
diff --git a/content/blog/2023-11-08-scli.md b/content/blog/2023-11-08-scli.md
deleted file mode 100644
index d3b26a7..0000000
--- a/content/blog/2023-11-08-scli.md
+++ /dev/null
@@ -1,157 +0,0 @@
-+++
-date = 2023-11-08
-title = "Installing scli on Alpine Linux (musl)"
-description = "Learn how to properly configure scli for musl-based systems."
-+++
-
-[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!