aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2023-11-08-scli.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
commit74992aaa27eb384128924c4a3b93052961a3eaab (patch)
treed5193997d72a52f7a6d6338ea5da8a6c80b4eddc /content/blog/2023-11-08-scli.org
parent3def68d80edf87e28473609c31970507d9f03467 (diff)
downloadcleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.gz
cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.bz2
cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.zip
test conversion back to markdown
Diffstat (limited to 'content/blog/2023-11-08-scli.org')
-rw-r--r--content/blog/2023-11-08-scli.org145
1 files changed, 0 insertions, 145 deletions
diff --git a/content/blog/2023-11-08-scli.org b/content/blog/2023-11-08-scli.org
deleted file mode 100644
index 8b55ac1..0000000
--- a/content/blog/2023-11-08-scli.org
+++ /dev/null
@@ -1,145 +0,0 @@
-#+title: Installing scli on Alpine Linux (musl)
-#+date: 2023-11-08
-#+description: Learn how to properly configure scli for musl-based systems.
-#+filetags: :linux:
-
-[[https://github.com/isamert/scli][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.
-
-#+begin_src sh
-doas apk add openjdk17-jre findutils qrencode
-#+end_src
-
-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.
-
-#+begin_src 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
-#+end_src
-
-Finally, install the =urwid= packages using the Python packaging
-utility.
-
-#+begin_src sh
-pip3 install urwid urwid-readline
-#+end_src
-
-* Installation
-Now that we have all of the dependencies we need, we can install =scli=.
-Start by simply cloning the repository.
-
-#+begin_src sh
-git clone https://github.com/isamert/scli
-#+end_src
-
-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=.
-
-#+begin_src sh
-cd scli
-nano scli
-#+end_src
-
-Once complete, you can move this program to anywhere on your =$PATH=. I
-chose the following directory.
-
-#+begin_src sh
-doas mv scli /usr/local/bin/scli
-#+end_src
-
-* Initial Setup
-Now that everything is installed, we can login and configure the client.
-Start by generating a connection link.
-
-#+begin_src sh
-signal-cli link -n "YOUR-DEVICE-NICKNAME" | tee >(xargs -L 1 qrencode -t utf8)
-#+end_src
-
-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=.
-
-#+begin_src sh
-signal-cli -u USERNAME receive
-#+end_src
-
-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.
-
-#+begin_src sh
-signal-cli -u USERNAME daemon
-#+end_src
-
-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.
-
-#+begin_src 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
-#+end_src
-
-* 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.
-
-#+begin_src sh
-nano ~/.config/sclirc
-#+end_src
-
-#+begin_src conf
-# ~/.config/sclirc
-
-wrap-at = 80
-enable-notifications = true
-#+end_src
-
-That's it! Following this guide, I have a functional =scli= program that
-successfully sends messages to my contacts and myself!