BitchMyQnap
BitchMyQnap: IRC sul tuo QNAP
Client, un bot, un server con servizi, un bouncer e FTP.
BitchMyQnap porta sul NAS un intero ambiente IRC: i client irssi e BitchX, il bot Eggdrop con Tcl, il server UnrealIRCd con i servizi Anope, il bouncer ZNC e Pure-FTPd.
Il pacchetto contiene i programmi. Il progetto dell’Editor in Bucket & Code Server IDE aggiunge una procedura guidata che chiede i nomi e le tue password, scrive le configurazioni e avvia una piccola rete.
./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)
Cosa contiene
L’elenco di ricette nomina questi programmi, e la build aggiunge le librerie che servono loro.
Client
- irssi
- il client IRC da terminale, con TLS
- BitchX
- il classico client da terminale, con TLS
Bot
- eggdrop
- Eggdrop 1.10, il bot IRC
- tclsh
- Tcl 8.6, il linguaggio di scripting del bot
Server e servizi
- unrealircd
- UnrealIRCd 6, il server IRC, con unrealircdctl
- services
- Anope 2.0: NickServ, ChanServ, OperServ e gli altri
Bouncer
- znc
- ZNC 1.9 con il suo pannello web; niente moduli Perl, Python o Tcl
FTP
- pure-ftpd
- Pure-FTPd con TLS
- pure-pw
- il suo database di utenti
Strumenti
- busybox
- chpst avvia ogni programma con il suo utente
- screen
- tiene in esecuzione un client dopo la chiusura del terminale
Come si presenta
Schermate reali da una piccola rete di prova su un NAS QNAP: il canale della procedura guidata, il suo bot e due client.
A chi serve
Vuoi una chat tutta tua
UnrealIRCd e Anope ti danno nick e canali registrati su un server che gestisci tu, per amici o per un team.
Stai su IRC tutto il giorno
ZNC resta connesso mentre il computer dorme, e irssi continua a funzionare in screen dopo la chiusura del terminale.
Ti piacciono i bot
Eggdrop resta nel tuo canale, e lo estendi con script Tcl.
Installazione
- Aggiungi una volta il repository di questo sito ad App Center: i tre passaggi.
- Nell’elenco del repository trova (example) BitchMyQnap e premi Installa.
- Attiva SSH in Pannello di controllo › Servizi di rete e file › Telnet / SSH.
Avvio
BitchMyQnap non ha una finestra propria: lo usi da un terminale. Accedi via SSH come admin e avvia un client. Per una rete tutta tua, usa il progetto più sotto.
ssh admin@192.0.2.10 # l’indirizzo del tuo NAS irssi -c irc.example.com -p 6697 --tls # qualsiasi server IRC su TLS
Una rete in tre comandi
Il pacchetto contiene i programmi, mentre la procedura guidata e il runner restano nel progetto BitchMyQnap dell’Editor, quindi questa parte richiede Bucket & Code. Compila e attiva l’app come mostrato più sotto, poi esegui questo nel terminale dell’Editor:
make setup # la procedura guidata: nomi, le tue password, la cartella della rete make start # avvia i programmi della rete make irc-status # quali sono in esecuzione
La procedura guidata chiede il nome della rete, i nomi del server e dei servizi, il canale, il tuo nick, il nick del bot e se configurare FTP. Conserva le tue password solo come hash. La password di collegamento tra UnrealIRCd e Anope e le chiavi di cloaking sono casuali.
Ogni programma gira come utente 65534, e irc.sh invia un segnale a un programma solo quando /proc mostra il suo binario in esecuzione come quell’utente.
Porte della rete in esecuzione
| Porta | Cosa è in ascolto |
|---|---|
| 6667 | UnrealIRCd, IRC, su ogni indirizzo |
| 6697 | UnrealIRCd, IRC su TLS, su ogni indirizzo |
| 9669 | UnrealIRCd, il collegamento dei servizi, solo su 127.0.0.1 |
| 9667 | ZNC, IRC su TLS e il pannello web, su ogni indirizzo |
| 9021, 9022-9031 | Pure-FTPd, porta di controllo e porte passive, su ogni indirizzo |
Dopo l’avvio
- Collega un client alla porta 6697, e
/opercon il tuo nick e la tua password ti rende operatore IRC. /msg NickServ REGISTERregistra il tuo nick. Anope rende quel nick il root dei servizi.- Manda
helloal bot con/msg: la prima persona che dice hello ne diventa il proprietario. - Il pannello web di ZNC è sulla porta 9667 su HTTPS, e un client IRC si collega alla stessa porta con TLS.
Da sapere
- UnrealIRCd, ZNC ed Eggdrop si rifiutano di girare come root. Per avviarli dal solo pacchetto, scrivi tu le loro configurazioni e scegli tu un utente.
- I programmi della rete si fermano quando il NAS si riavvia.
make startli riavvia. - Su QuTS hero, l’ACL di una condivisione può chiudere una cartella al suo interno all’utente 65534. La procedura guidata lo controlla alla fine e nomina la cartella se è chiusa. Una cartella sul volume proprio dell’app funziona.
- BitchX apre ogni riga con due segni a 8 bit che un terminale UTF-8 non può disegnare. L’immagine qui sopra li lascia vuoti.
Modificalo e ricompilalo quando vuoi
BitchMyQnap è un esempio di Bucket & Code Server IDE, il nostro ambiente di sviluppo gratuito per QNAP. Compila ogni programma dai sorgenti sul tuo NAS e impacchetta il risultato come QPKG.
Dal pannello
- In Bucket & Code apri App, poi la scheda Esempi. Aggiungi Ubuntu 24.04 builder (full) se non hai ancora un ambiente Builder.
- Premi Usa questo esempio su BitchMyQnap (geek set 3). L’app compare con le sue ricette, e non è ancora compilato nulla.
- Premi Compila, poi Attiva. Esporta crea un QPKG una volta installata una toolchain QDK.
Da un terminale
Il progetto BitchMyQnap dell’Editor contiene lo stesso elenco in recipes.txt. Togli una riga o aggiungi una ricetta dalla libreria, poi esegui questo nel terminale dell’Editor:
make app # crea l’app da recipes.txt make build # la compila e segue il job make activate # /usr/app/BitchMyQnap ora punta alla build make qpkg # esporta un QPKG (serve una toolchain QDK)
Il QPKG contiene i programmi dell’app. setup.sh e irc.sh restano nel progetto.
Guarda come si fa in Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 min su YouTube

