BitchMyQnap
BitchMyQnap: IRC på din QNAP
Klienter, en bot, en server med tjänster, en bouncer och FTP.
BitchMyQnap lägger en hel IRC-uppsättning på NAS:en: klienterna irssi och BitchX, boten Eggdrop med Tcl, servern UnrealIRCd med Anope-tjänster, bouncern ZNC och Pure-FTPd.
Paketet innehåller programmen. Redigerarprojektet i Bucket & Code Server IDE lägger till en guide som frågar efter namnen och dina lösenord, skriver konfigurationerna och startar ett litet nätverk.
./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)
Det här ingår
Receptlistan nämner de här programmen, och bygget lägger till de bibliotek de behöver.
Klienter
- irssi
- IRC-klienten för terminalen, med TLS
- BitchX
- den klassiska terminalklienten, med TLS
Bot
- eggdrop
- Eggdrop 1.10, IRC-boten
- tclsh
- Tcl 8.6, botens skriptspråk
Server och tjänster
- unrealircd
- UnrealIRCd 6, IRC-servern, med unrealircdctl
- services
- Anope 2.0: NickServ, ChanServ, OperServ och de andra
Bouncer
- znc
- ZNC 1.9 med sin webbpanel; inga Perl-, Python- eller Tcl-moduler
FTP
- pure-ftpd
- Pure-FTPd med TLS
- pure-pw
- sin egen användardatabas
Verktyg
- busybox
- chpst startar varje program som sin egen användare
- screen
- håller en klient igång efter att terminalen stängts
Så ser det ut
Riktiga skärmar från ett litet testnätverk på en QNAP NAS: guidens kanal, dess bot och två klienter.
Vem det hjälper
Du vill ha en egen chatt
UnrealIRCd och Anope ger dig registrerade nickar och kanaler på en server du själv kör, för vänner eller ett team.
Du är på IRC hela dagen
ZNC förblir ansluten medan datorn sover, och irssi fortsätter köra i screen efter att terminalen stängts.
Du gillar botar
Eggdrop sitter i din kanal, och du bygger ut den med Tcl-skript.
Installera
- Lägg till den här webbplatsens förråd i App Center en gång: de tre stegen.
- Hitta (example) BitchMyQnap i förrådets lista och tryck på Installera.
- Slå på SSH i Kontrollpanelen › Nätverks- och filtjänster › Telnet / SSH.
Starta
BitchMyQnap har inget eget fönster: du kör det från en terminal. Logga in över SSH som admin och starta en klient. För ett eget nätverk, använd projektet nedan.
ssh admin@192.0.2.10 # din NAS-adress irssi -c irc.example.com -p 6697 --tls # valfri IRC-server över TLS
Ett nätverk med tre kommandon
Paketet innehåller programmen, och guiden och körskriptet stannar i Redigerarprojektet BitchMyQnap, så den här delen kräver Bucket & Code. Bygg och aktivera appen som visas nedan och kör sedan det här i Redigerarens terminal:
make setup # guiden: namn, dina lösenord, nätverksmappen make start # startar nätverkets program make irc-status # vilka av dem som körs
Guiden frågar efter nätverkets namn, namnen på servern och tjänsterna, kanalen, din nick, botens nick och om FTP ska ställas in. Dina lösenord sparas bara som hashar. Länklösenordet mellan UnrealIRCd och Anope och cloak-nycklarna är slumpmässiga.
Varje program körs som användaren 65534, och irc.sh skickar en signal till ett program bara när /proc visar att dess egen binärfil körs som den användaren.
Portar i det körande nätverket
| Port | Vad som lyssnar |
|---|---|
| 6667 | UnrealIRCd, IRC, på alla adresser |
| 6697 | UnrealIRCd, IRC över TLS, på alla adresser |
| 9669 | UnrealIRCd, tjänsternas länk, endast på 127.0.0.1 |
| 9667 | ZNC, IRC över TLS och webbpanelen, på alla adresser |
| 9021, 9022-9031 | Pure-FTPd, kontrollport och passiva portar, på alla adresser |
Efter starten
- Anslut en klient till port 6697, så gör
/opermed din nick och ditt lösenord dig till IRC-operatör. /msg NickServ REGISTERregistrerar din nick. Anope gör den nicken till tjänsternas root.- Skicka
hellotill boten med/msg: den första som säger hello blir dess ägare. - ZNC:s webbpanel finns på port 9667 över HTTPS, och en IRC-klient ansluter till samma port med TLS.
Bra att veta
- UnrealIRCd, ZNC och Eggdrop vägrar köras som root. För att starta dem enbart från paketet skriver du deras konfigurationer och väljer en användare själv.
- Nätverkets program stoppas när NAS:en startas om.
make startstartar dem igen. - På QuTS hero kan ACL:en för en delad resurs stänga en mapp i den för användaren 65534. Guiden kontrollerar detta i slutet och namnger mappen om den är stängd. En mapp på appens egen volym fungerar.
- BitchX inleder varje rad med två 8-bitarstecken som en UTF-8-terminal inte kan visa. Bilden ovan lämnar dem tomma.
Ändra det och bygg om det när du vill
BitchMyQnap är ett exempel från Bucket & Code Server IDE, vår kostnadsfria utvecklingsmiljö för QNAP. Den kompilerar varje program från källkod på din egen NAS och paketerar resultatet som ett QPKG.
Från panelen
- Öppna Appar i Bucket & Code och sedan fliken Exempel. Lägg till Ubuntu 24.04 builder (full) om du inte har någon Builder-miljö än.
- Tryck på Använd det här exemplet vid BitchMyQnap (geek set 3). Appen visas med sina recept, och inget är byggt än.
- Tryck på Bygg och sedan Aktivera. Exportera skapar ett QPKG när en QDK-verktygskedja är installerad.
Från en terminal
Redigerarprojektet BitchMyQnap har samma lista i recipes.txt. Ta bort en rad eller lägg till ett recept från biblioteket och kör sedan det här i Redigerarens terminal:
make app # skapar appen från recipes.txt make build # bygger den och följer jobbet make activate # /usr/app/BitchMyQnap pekar nu på bygget make qpkg # exporterar ett QPKG (kräver en QDK-verktygskedja)
QPKG:t innehåller appens program. setup.sh och irc.sh stannar i projektet.
Se hur det görs i Bucket & Code
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
8 min på YouTube

