Unofficial

BitchMyQnap

BitchMyQnap: IRC auf Ihrem QNAP

Clients, ein Bot, ein Server mit Services, ein Bouncer und FTP.

BitchMyQnap bringt eine komplette IRC-Umgebung auf das NAS: die Clients irssi und BitchX, den Bot Eggdrop mit Tcl, den Server UnrealIRCd mit den Anope-Services, den Bouncer ZNC und Pure-FTPd.

Das Paket enthält die Programme. Das Editor-Projekt in Bucket & Code Server IDE ergänzt einen Assistenten, der nach den Namen und Ihren Passwörtern fragt, die Konfigurationen schreibt und ein kleines Netzwerk startet.

Im App Center: (example) BitchMyQnap · Intel und AMD (x86_64) · QTS 6.0 oder QuTS hero 6.0 oder neuer · freeware

Das laufende Netzwerk auf einem 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)

Was enthalten ist

Die Rezeptliste nennt diese Programme, und der Build ergänzt die Bibliotheken, die sie brauchen.

Clients

irssi
der IRC-Client für das Terminal, mit TLS
BitchX
der klassische Terminal-Client, mit TLS

Bot

eggdrop
Eggdrop 1.10, der IRC-Bot
tclsh
Tcl 8.6, die Skriptsprache des Bots

Server und Services

unrealircd
UnrealIRCd 6, der IRC-Server, mit unrealircdctl
services
Anope 2.0: NickServ, ChanServ, OperServ und die anderen

Bouncer

znc
ZNC 1.9 mit seinem Web-Panel; keine Perl-, Python- oder Tcl-Module

FTP

pure-ftpd
Pure-FTPd mit TLS
pure-pw
seine eigene Benutzerdatenbank

Werkzeuge

busybox
chpst startet jedes Programm unter seinem eigenen Benutzer
screen
hält einen Client am Laufen, wenn das Terminal geschlossen wird

So sieht es aus

Echte Bildschirme von einem kleinen Testnetzwerk auf einem QNAP NAS: der Kanal des Assistenten, sein Bot und zwei Clients.

irssi: ein Benutzer betritt den Kanal bitchmyqnap, mit den Nicks sysop und BitchBot
irssi über TLS im Kanal des Assistenten, mit dem Operator und dem Bot.
BitchX: Serverstatistik und der Beitritt zum Kanal bitchmyqnap
BitchX im selben Kanal.

Wem es hilft

Sie möchten einen eigenen Chat

UnrealIRCd und Anope geben Ihnen registrierte Nicks und Kanäle auf einem Server, den Sie selbst betreiben, für Freunde oder ein Team.

Sie sind den ganzen Tag im IRC

ZNC bleibt verbunden, während Ihr Computer schläft, und irssi läuft in screen weiter, wenn das Terminal geschlossen wird.

Sie mögen Bots

Eggdrop sitzt in Ihrem Kanal, und Sie erweitern ihn mit Tcl-Skripten.

Installation

  1. Fügen Sie das Repository dieser Website einmal zum App Center hinzu: die drei Schritte.
  2. Suchen Sie in der Liste des Repositorys (example) BitchMyQnap und drücken Sie Installieren.
  3. Schalten Sie SSH unter Systemsteuerung › Netzwerk und Dateidienste › Telnet / SSH ein.

Starten

BitchMyQnap hat kein eigenes Fenster: Sie starten es im Terminal. Melden Sie sich per SSH als admin an und starten Sie einen Client. Für ein eigenes Netzwerk nutzen Sie das Projekt weiter unten.

ssh admin@192.0.2.10                      # die Adresse Ihres NAS
irssi -c irc.example.com -p 6697 --tls    # ein beliebiger IRC-Server über TLS

Ein Netzwerk in drei Befehlen

Das Paket enthält die Programme, Assistent und Runner bleiben im Editor-Projekt BitchMyQnap, daher braucht dieser Teil Bucket & Code. Bauen und aktivieren Sie die App wie unten gezeigt, und führen Sie dann im Terminal des Editors Folgendes aus:

make setup       # der Assistent: Namen, Ihre Passwörter, der Netzwerkordner
make start       # startet die Programme des Netzes
make irc-status  # welche davon laufen

Der Assistent fragt nach dem Namen des Netzwerks, den Namen des Servers und der Services, dem Kanal, Ihrem Nick, dem Nick des Bots und danach, ob FTP eingerichtet werden soll. Ihre Passwörter speichert er nur als Hashes. Das Link-Passwort zwischen UnrealIRCd und Anope und die Cloak-Schlüssel sind zufällig.

Jedes Programm läuft als Benutzer 65534, und irc.sh sendet einem Programm nur dann ein Signal, wenn /proc zeigt, dass seine eigene Binärdatei als dieser Benutzer läuft.

Ports des laufenden Netzwerks

PortWas lauscht
6667UnrealIRCd, IRC, auf jeder Adresse
6697UnrealIRCd, IRC über TLS, auf jeder Adresse
9669UnrealIRCd, die Verbindung der Services, nur auf 127.0.0.1
9667ZNC, IRC über TLS und das Web-Panel, auf jeder Adresse
9021, 9022-9031Pure-FTPd, Steuerport und passive Ports, auf jeder Adresse

Nach dem Start

  • Verbinden Sie einen Client mit Port 6697, und /oper mit Ihrem Nick und Passwort macht Sie zum IRC-Operator.
  • /msg NickServ REGISTER registriert Ihren Nick. Anope macht diesen Nick zum Root der Services.
  • Senden Sie dem Bot per /msg ein hello: Wer als Erster hello sagt, wird sein Besitzer.
  • Das Web-Panel von ZNC liegt auf Port 9667 über HTTPS, und ein IRC-Client verbindet sich mit TLS auf denselben Port.

Gut zu wissen

  • UnrealIRCd, ZNC und Eggdrop verweigern den Start als root. Um sie nur aus dem Paket zu starten, schreiben Sie ihre Konfigurationen selbst und wählen selbst einen Benutzer.
  • Die Programme des Netzwerks stoppen beim Neustart des NAS. make start startet sie wieder.
  • Unter QuTS hero kann die ACL einer Freigabe einen Ordner darin für den Benutzer 65534 sperren. Der Assistent prüft das am Ende und nennt den Ordner, wenn er gesperrt ist. Ein Ordner auf dem eigenen Volume der App funktioniert.
  • BitchX beginnt jede Zeile mit zwei 8-Bit-Zeichen, die ein UTF-8-Terminal nicht darstellen kann. Das Bild oben lässt sie leer.

Ändern und neu bauen, wann immer Sie möchten

BitchMyQnap ist ein Beispiel aus Bucket & Code Server IDE, unserer kostenlosen Entwicklungsumgebung für QNAP. Sie kompiliert jedes Programm auf Ihrem eigenen NAS aus dem Quellcode und packt das Ergebnis als QPKG.

Im Panel

  1. Öffnen Sie in Bucket & Code Apps und dann den Reiter Beispiele. Fügen Sie Ubuntu 24.04 builder (full) hinzu, wenn Sie noch keine Builder-Umgebung haben.
  2. Drücken Sie bei BitchMyQnap (geek set 3) auf Dieses Beispiel verwenden. Die App erscheint mit ihren Rezepten, und gebaut ist noch nichts.
  3. Drücken Sie Bauen und dann Aktivieren. Exportieren erzeugt ein QPKG, sobald eine QDK-Toolchain installiert ist.

Im Terminal

Das Editor-Projekt BitchMyQnap enthält dieselbe Liste in recipes.txt. Nehmen Sie eine Zeile heraus oder fügen Sie ein Rezept aus der Bibliothek hinzu, und führen Sie dann im Terminal des Editors Folgendes aus:

make app        # erstellt die App aus recipes.txt
make build      # baut sie und verfolgt den Job
make activate   # /usr/app/BitchMyQnap zeigt jetzt auf den Build
make qpkg       # exportiert ein QPKG (braucht eine QDK-Toolchain)

Das QPKG enthält die Programme der App. setup.sh und irc.sh bleiben im Projekt.

Die Seite Neue App im App Builder von Bucket & Code So geht es in Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 Min. auf YouTube

Verwandte Seiten