misskey クライアント sayaka ちゃん

「twitter クライアント sayaka ちゃん」が，「misskey クライアント sayaka ちゃん」 になっていたので試してみました．

sayaka ちゃんはターミナルに特化したクライアントで，SIXEL にも対応しているのでアイコンや画像つきでタイムラインを流すことができて便利です．
以前はTwitter クライアントですが，3.7.0 (2023/10/09) からTwitter への接続機能を廃止してMisskey 対応開始したようです．(–record などで保存していたファイルを –play で再生することはできる．※要configure option )

メール購読していたISSUE でsite 見に行って気づきました．

早速build します．

$ git clone https://github.com/isaki68k/sayaka
$ cd sayaka
$ sudo apt install libbsd-dev libwebp-dev libgif-dev libwslay1 libwslay-dev libmbedtls-dev libssl-dev bmake build-essential
$ ./configure
$ bmake -DRELEASE sayaka
$ install src/sayaka ~/bin/
$ sayaka
sayaka: No command option specified.
usage: sayaka [<options>...]
command option:
--local <server> : show <server>'s local timeline.
--play : read JSON from stdin.
other options:
--color <n> : color mode { 2 .. 256 or x68k }. default 256.
--font <width>x<height> : font size. default 7x14
--full-url : display full URL even if the URL is abbreviated. (twitter)
--light / --dark : Use light/dark theme. (default: auto detect)
--no-color : disable all text color sequences
--no-image : force disable (SIXEL) images.
--force-sixel : force enable SIXEL images.
--jis / --eucjp : Set output encoding.
--progress: show startup progress (for very slow machines).
--protect : don't display protected user's tweet. (twitter)
--record <file> : record JSON to file.
--record-all <file> : record all received JSON to file.
--timeout-image <msec>
--version
--x68k : preset options for x68k (with SIXEL kernel).

-4 / -6 --ciphers <ciphers>
--debug <0-2> --debug-format
--debug-http <0-2> --debug-image <0-1>
--debug-sixel <0-2> --debug-show <0-2>
--mathalpha --no-combine
--max-cont <n> --max-image-cols <n>
--ormode <on|off> (default off) --palette <on|off> (default on)

Note

Linux 環境だとmake(GNU Make)ではなくbmake(bsd make) を使います．

現在は指定したMisskey サーバのローカルタイムラインの表示ができます．認証などは必要ありません．Misskey サーバについては以下のページを参考にすると良さそうです．

サーバー一覧

$ sayaka --local <servername>

動作確認には流量の多い misskey.io が良さそう．

$ sayaka --local misskey.io

Tip

サーバに https:// を付けるとホスト名の解決に失敗します

$ sayaka --local https://misskey.yukineko.me/
Ready...mbedtls_net_connect_nonblock https:443 - NET - Failed to get an IP address for the given hostname
sayaka: WebSocket connection failed

Tip

ローカルタイムラインを無効にしているサーバだと何も流れてきません．

$ sayaka --local misskey.yukineko.me
Ready...Connected

大量に流れてきます :)

NSFW画像は既定値ではぼかされます．表示したい場合は --show-nsfw オプションを付けると表示されます．
CW 投稿は既定値では展開されません．表示したいときは --show-cw オプションを付けると表示されます．

$ sayaka --show-nsfw --show-cw --local misskey.io

画像が表示されない場合は端末がSIXEL に対応しているか確認しましょう．そういえば最近は Microsoft Visual Studio Code も対応しているようです．(要設定変更※未検証)

Sixel 情報 – ダメ出し Blog

Are We Sixel Yet?

laptop なんかでサスペンドしたりネットワークが切れると終了するので無限ループの中に入れたり．

$ while true; do sayaka --show-cw --show-nsfw --local nijimiss.moe --local misskey.io ; sleep 30; done

環境

$ sayaka --version
sayaka version 3.7.2 (2023/10/19)
$ dpkg-query -W libbsd-dev libwebp-dev libgif-dev libwslay1 libwslay-dev libmbedtls-dev libssl-dev bmake build-essential
bmake 20200710-16
build-essential 12.10
libbsd-dev:amd64 0.11.7-4
libgif-dev:amd64 5.2.1-2.5
libmbedtls-dev:amd64 2.28.5-1
libssl-dev:amd64 3.0.12-1
libwebp-dev:amd64 1.3.2-0.3
libwslay-dev:amd64 1.1.1-4
libwslay1:amd64 1.1.1-4
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux trixie/sid
Release: n/a
Codename: trixie
$ arch
x86_64