Unofficial

BitchMyQnap

BitchMyQnap:QNAP で IRC

クライアント、ボット、サービス付きサーバー、バウンサー、FTP。

BitchMyQnap は IRC 環境一式を NAS に用意します:クライアントの irssi と BitchX、Tcl 付きの Eggdrop ボット、Anope サービス付きの UnrealIRCd サーバー、ZNC バウンサー、Pure-FTPd です。

パッケージにはプログラムが入っています。Bucket & Code Server IDE のエディターのプロジェクトがウィザードを追加し、名前とパスワードを尋ねて設定ファイルを書き、小さなネットワークを起動します。

App Center:(example) BitchMyQnap · Intel および AMD (x86_64) · QTS 6.0 または QuTS hero 6.0 以降 · freeware

NAS で動作中のネットワーク

./irc.sh start

unrealircd: started

anope: started

znc: started

eggdrop: started

ftp: started

./irc.sh status

unrealircd: running (pid 10590)

anope: running (pid 10619)

znc: running (pid 10651)

eggdrop: running (pid 10683)

ftp: running (pid 10713)

含まれるもの

レシピリストにはこれらのプログラムが並び、ビルド時に必要なライブラリが加わります。

クライアント

irssi
ターミナル用 IRC クライアント、TLS 対応
BitchX
定番のターミナル用クライアント、TLS 対応

ボット

eggdrop
Eggdrop 1.10、IRC ボット
tclsh
Tcl 8.6、ボットのスクリプト言語

サーバーとサービス

unrealircd
UnrealIRCd 6、IRC サーバー、unrealircdctl 付き
services
Anope 2.0:NickServ、ChanServ、OperServ など

バウンサー

znc
ZNC 1.9、Web パネル付き。Perl、Python、Tcl モジュールはなし

FTP

pure-ftpd
TLS 対応の Pure-FTPd
pure-pw
専用のユーザーデータベース

ツール

busybox
chpst が各プログラムをそれぞれのユーザーで起動
screen
ターミナルを閉じてもクライアントを動かし続ける

画面

QNAP NAS 上の小さなテストネットワークの実際の画面です:ウィザードのチャンネル、そのボット、二つのクライアント。

irssi:ユーザーがチャンネル bitchmyqnap に参加、ニックネーム sysop と BitchBot
ウィザードのチャンネルに TLS で接続した irssi。オペレーターとボットがいます。
BitchX:サーバー統計とチャンネル bitchmyqnap への参加
同じチャンネルの BitchX。

こんな方に

自分のチャットがほしい

UnrealIRCd と Anope で、自分で運用するサーバーに登録済みのニックネームとチャンネルを用意できます。友人やチーム向けです。

一日中 IRC にいる

ZNC はコンピューターがスリープ中も接続を保ち、irssi はターミナルを閉じても screen の中で動き続けます。

ボットが好き

Eggdrop はチャンネルに常駐し、Tcl スクリプトで機能を追加できます。

インストール

  1. このサイトのリポジトリを App Center に一度追加します:三つの手順。
  2. リポジトリの一覧で (example) BitchMyQnap を見つけ、インストール を押します。
  3. コントロールパネル › ネットワークとファイルサービス › Telnet / SSH で SSH を有効にします。

起動

BitchMyQnap には専用のウィンドウがなく、ターミナルから使います。admin として SSH でログインし、クライアントを起動します。自分のネットワークを作るには、下のプロジェクトを使います。

ssh admin@192.0.2.10                      # NAS のアドレス
irssi -c irc.example.com -p 6697 --tls    # TLS で接続する任意の IRC サーバー

コマンド三つでネットワークを

パッケージにはプログラムが入っており、ウィザードとランナーはエディターのプロジェクト BitchMyQnap に残るため、この部分には Bucket & Code が必要です。下の説明どおりにアプリをビルドして有効化し、エディターのターミナルで次を実行します:

make setup       # ウィザード:名前、パスワード、ネットワークのフォルダー
make start       # ネットワークのプログラムを起動
make irc-status  # どれが動いているか

ウィザードは、ネットワーク名、サーバーとサービスの名前、チャンネル、あなたのニックネーム、ボットのニックネーム、FTP を設定するかどうかを尋ねます。パスワードはハッシュでのみ保存します。UnrealIRCd と Anope の間のリンクパスワードとクロークキーはランダムです。

各プログラムはユーザー 65534 として動作します。irc.sh は、そのユーザーで自身のバイナリが動いていることを /proc で確認できた場合にだけ、プログラムにシグナルを送ります。

動作中のネットワークのポート

ポート待ち受けるもの
6667UnrealIRCd、IRC、すべてのアドレス
6697UnrealIRCd、TLS の IRC、すべてのアドレス
9669UnrealIRCd、サービスのリンク、127.0.0.1 のみ
9667ZNC、TLS の IRC と Web パネル、すべてのアドレス
9021, 9022-9031Pure-FTPd、制御ポートとパッシブポート、すべてのアドレス

起動後

  • クライアントをポート 6697 に接続し、ニックネームとパスワードを付けて /oper を実行すると IRC オペレーターになります。
  • /msg NickServ REGISTER でニックネームを登録します。Anope はそのニックネームをサービスの root にします。
  • /msg でボットに hello と送ります。最初に hello と言った人がオーナーになります。
  • ZNC の Web パネルはポート 9667 の HTTPS にあり、IRC クライアントは同じポートに TLS で接続します。

知っておきたいこと

  • UnrealIRCd、ZNC、Eggdrop は root では動作しません。パッケージだけで起動するには、設定ファイルを自分で書き、ユーザーを自分で選びます。
  • ネットワークのプログラムは NAS を再起動すると停止します。make start で再び起動します。
  • QuTS hero では、共有フォルダーの ACL によって、その中のフォルダーがユーザー 65534 に対して閉じられることがあります。ウィザードは最後にこれを確認し、閉じられていればフォルダー名を示します。アプリ自身のボリューム上のフォルダーなら動作します。
  • BitchX は各行の先頭に、UTF-8 ターミナルでは表示できない 8 ビットの記号を二つ置きます。上の画像ではそれらを空白にしています。

変更して、いつでもビルドし直せます

BitchMyQnap は、QNAP 向けの無料の開発環境 Bucket & Code Server IDE の例です。各プログラムをお使いの NAS 上でソースからコンパイルし、結果を QPKG にまとめます。

パネルから

  1. Bucket & Code で アプリ を開き、例 タブを開きます。Builder 環境がまだない場合は Ubuntu 24.04 builder (full) を追加します。
  2. BitchMyQnap (geek set 3) で この例を使う を押します。アプリがレシピとともに表示されますが、まだ何もビルドされていません。
  3. ビルド を押し、続けて 有効化 を押します。QDK ツールチェーンをインストールすると、エクスポート で QPKG を作成できます。

ターミナルから

エディターのプロジェクト BitchMyQnap には、recipes.txt に同じリストがあります。行を削除するか、ライブラリからレシピを追加して、エディターのターミナルで次を実行します:

make app        # recipes.txt からアプリを作成
make build      # ビルドしてジョブを追跡
make activate   # /usr/app/BitchMyQnap がビルドを指すようになる
make qpkg       # QPKG をエクスポート (QDK ツールチェーンが必要)

QPKG にはアプリのプログラムが入っています。setup.sh と irc.sh はプロジェクトに残ります。

Bucket & Code の App Builder にある新しいアプリのページ Bucket & Code での操作を見る Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) YouTube で 8 分

関連ページ