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.
./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.
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
- Fügen Sie das Repository dieser Website einmal zum App Center hinzu: die drei Schritte.
- Suchen Sie in der Liste des Repositorys (example) BitchMyQnap und drücken Sie Installieren.
- 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
| Port | Was lauscht |
|---|---|
| 6667 | UnrealIRCd, IRC, auf jeder Adresse |
| 6697 | UnrealIRCd, IRC über TLS, auf jeder Adresse |
| 9669 | UnrealIRCd, die Verbindung der Services, nur auf 127.0.0.1 |
| 9667 | ZNC, IRC über TLS und das Web-Panel, auf jeder Adresse |
| 9021, 9022-9031 | Pure-FTPd, Steuerport und passive Ports, auf jeder Adresse |
Nach dem Start
- Verbinden Sie einen Client mit Port 6697, und
/opermit Ihrem Nick und Passwort macht Sie zum IRC-Operator. /msg NickServ REGISTERregistriert Ihren Nick. Anope macht diesen Nick zum Root der Services.- Senden Sie dem Bot per
/msgeinhello: 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 startstartet 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
- Ö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.
- Drücken Sie bei BitchMyQnap (geek set 3) auf Dieses Beispiel verwenden. Die App erscheint mit ihren Rezepten, und gebaut ist noch nichts.
- 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.
So geht es in Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 Min. auf YouTube

