ii

提供: ArchWiki
2023年9月6日 (水) 19:40時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎Tips and tricks: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

IRC it (ii) は、極端にシンプルな FIFO とファイルシステムベースの IRC(インターネットリレーチャット)クライアントです。サーバー、チャンネル、ニックネームディレクトリを含む IRC ディレクトリツリーを作成します。各ディレクトリには FIFO 入力ファイルと通常の出力ファイルが作成されます。

インストール

iiAUR パッケージをインストールします。

設定

ii はコマンドラインオプションで設定されます。デフォルトの値は、サーバーとポートには irc.freenode.net:6667、メインディレクトリには ~/irc、ニックネームには $USER が設定されています。これらは ii を実行する際に値を渡して変更することができます。

-s server
-p port
-u socket (-p option is ignored if this is set)
-i main.directory
-n nickname
-f realname
-k environmental.variable 

ii uses an environmental variable to contain your irc password (i.e., IIPASSテンプレート:="password"; -k IIPASS).

使用方法

詳細な説明については公式のドキュメントを参照してください。

セッションマネージャーとしては、abducotmux が推奨されています。これにより、ユーザーは簡単にセッションを切断し、再接続することができます。

iiを起動するには:

$ ii

以下も参照してください: ii(1)

追加機能

ii はサーバーへのクライアントとしてのみ機能します。出力を読み取り、入力に書き込むには追加のアプリケーションが必要です。各サブディレクトリには出力ファイル「out」および入力ファイル「in」があります。最低限、出力ファイルは以下のように監視できます:

$ tail -f out

入力は:

$ echo "command/message" > in

一つのコマンドで継続的な入力を受け入れる別の方法は:

$ cp /dev/stdin in

コマンド

iiのコマンドはスラッシュで始まり、大文字と小文字が区別されます。

コマンド 説明
/a message オプションのメッセージ付きで離席状態にする
/j #channel password

/j nickname message

オプションのパスワードでチャンネルに参加する;

オプションのオープニングメッセージでユーザーとプライベートな会話を開始する

/l message オプションのメッセージでチャンネルから退出する
/n nickname ニックネームを変更する
/q message オプションのメッセージでiiを終了する
/t topic チャンネルのトピックを設定する

コマンドでないものは、チャンネルまたはサーバーに投稿されます。したがって、/whoが必要な場合は、RFC:1459で説明されているように、FIFO 内のサーバーに/WHOと書き込んでください。

SSL/TSL 暗号化

ii はトランスポート層セキュリティ(TLS)をサポートしていませんが、TLSクライアントに接続するためにプロキシが必要です。これの一例は stunnel を使用する場合です:

/etc/stunnel/stunnel.conf
[irc.libera.chat]
accept = 127.0.0.1:<your-port>
connect = irc.libera.chat:6697

その後、stunnel が ii をサーバーへの安全な接続にリダイレクトするために、-s localhost-p your-portを使用します。

もう一つのオプションは、socatを使用して UNIX ストリームソケット経由で ii に接続する方法です:

$ socat UNIX-LISTEN:/tmp/irc.libera.chat OPENSSL:irc.libera.chat:6697
$ ii -s irc.libera.chat -u /tmp/irc.libera.chat

ヒントとコツ

sed を使って出力を編集する

Sed tail -f の出力をより読みやすくするために編集することができます。例:

#!/bin/sh
tail -n 55 -f out | sed -u '/-\!-.*has/d;
                          s/<  MyNick  >/\x1b[32m&\x1b[0m/g;
                          s/\(> >\)\( .*\)/\1\x1b[33m\2\x1b[0m/;
                          s/http[^ >)]*/\x1b[31m&\x1b[0m/g;
                          s/[\"\$\`]/\\&/g;
                          s/\(^[0-9]\{10\}\)\( .*\)/date -d@\1 "+%Y.%m.%d %H.%M.%S" "\2"/e'

この例では、sed コマンドの最初の部分は join、part、および quit(コマンド出力から削除)を隠します。2番目の部分は、あなたのニックネームの周りに緑のカラーコントロールコードを追加します。3番目は、" ハイライト " を黄色で同じようにします。4番目は URL に赤を使います。その次は、最後のコマンドが UNIX エポックタイムスタンプを人間が読める日付に置き換える前に、コマンドの出力を準備します。