Unofficial

BitchMyQnap

BitchMyQnap: IRC na Twoim QNAP-ie

Klienty, bot, serwer z usługami, bouncer i FTP.

BitchMyQnap przenosi na NAS-a cały zestaw do IRC: klienty irssi i BitchX, bota Eggdrop z Tcl, serwer UnrealIRCd z usługami Anope, bouncer ZNC i Pure-FTPd.

Pakiet zawiera programy. Projekt w Edytorze Bucket & Code Server IDE dodaje kreator, który pyta o nazwy i hasła, zapisuje konfiguracje i uruchamia małą sieć.

W App Center: (example) BitchMyQnap · Intel i AMD (x86_64) · QTS 6.0 lub QuTS hero 6.0 albo nowszy · freeware

Sieć działająca na NAS-ie

./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)

Co jest w środku

Te programy wymienia lista receptur, a kompilacja dokłada potrzebne im biblioteki.

Klienty

irssi
terminalowy klient IRC z TLS
BitchX
klasyczny klient terminalowy z TLS

Bot

eggdrop
Eggdrop 1.10, bot IRC
tclsh
Tcl 8.6, język skryptów bota

Serwer i usługi

unrealircd
UnrealIRCd 6, serwer IRC, z unrealircdctl
services
Anope 2.0: NickServ, ChanServ, OperServ i pozostałe

Bouncer

znc
ZNC 1.9 z panelem WWW, bez modułów Perla, Pythona i Tcl

FTP

pure-ftpd
Pure-FTPd z TLS
pure-pw
własna baza użytkowników

Narzędzia

busybox
chpst uruchamia każdy program jako jego własny użytkownik
screen
trzyma klienta przy życiu po zamknięciu terminala

Jak to wygląda

Prawdziwe ekrany z małej sieci testowej na NAS-ie QNAP: kanał z kreatora, jego bot i dwa klienty.

irssi: użytkownik dołącza do kanału bitchmyqnap, obok nicki sysop i BitchBot
irssi przez TLS na kanale z kreatora, z operatorem i botem.
BitchX: statystyki serwera i dołączenie do kanału bitchmyqnap
BitchX na tym samym kanale.

Komu to pomaga

Chcesz mieć własny czat

UnrealIRCd i Anope dają zarejestrowane nicki i kanały na serwerze, który sam prowadzisz, dla znajomych albo zespołu.

Siedzisz na IRC cały dzień

ZNC pozostaje połączony, gdy komputer śpi, a irssi działa dalej w screen po zamknięciu terminala.

Lubisz boty

Eggdrop siedzi na Twoim kanale, a Ty rozszerzasz go skryptami Tcl.

Instalacja

  1. Raz dodaj repozytorium tej strony do App Center: trzy kroki.
  2. Na liście repozytorium znajdź (example) BitchMyQnap i naciśnij Instaluj.
  3. Włącz SSH w Panel sterowania › Usługi sieci i plików › Telnet / SSH.

Pierwsze uruchomienie

BitchMyQnap nie ma własnego okna: uruchamiasz go z terminala. Zaloguj się przez SSH jako admin i uruchom klienta. Do własnej sieci użyj projektu opisanego niżej.

ssh admin@192.0.2.10                      # adres Twojego NAS-a
irssi -c irc.example.com -p 6697 --tls    # dowolny serwer IRC przez TLS

Sieć w trzech poleceniach

Pakiet zawiera programy, a kreator i skrypt uruchamiający zostają w projekcie BitchMyQnap w Edytorze, więc ta część wymaga Bucket & Code. Zbuduj i aktywuj aplikację tak, jak pokazujemy niżej, a potem uruchom w terminalu Edytora:

make setup       # kreator: nazwy, Twoje hasła, folder sieci
make start       # uruchamia programy sieci
make irc-status  # które z nich działają

Kreator pyta o nazwę sieci, nazwy serwera i usług, kanał, Twój nick, nick bota i o to, czy ustawić FTP. Hasła zapisuje tylko jako skróty. Hasło łącza między UnrealIRCd a Anope i klucze maskowania adresów są losowe.

Każdy program działa jako użytkownik 65534, a irc.sh wysyła sygnał do programu tylko wtedy, gdy /proc pokazuje jego własny plik uruchomiony jako ten użytkownik.

Porty działającej sieci

PortCo nasłuchuje
6667UnrealIRCd, IRC, na każdym adresie
6697UnrealIRCd, IRC przez TLS, na każdym adresie
9669UnrealIRCd, łącze usług, tylko na 127.0.0.1
9667ZNC, IRC przez TLS i panel WWW, na każdym adresie
9021, 9022-9031Pure-FTPd, port sterujący i pasywne, na każdym adresie

Po uruchomieniu

  • Połącz klienta z portem 6697, a /oper z nickiem i hasłem da Ci prawa operatora IRC.
  • /msg NickServ REGISTER rejestruje Twój nick. Anope czyni go rootem usług.
  • Wyślij do bota /msg z tekstem hello: pierwsza osoba, która się przywita, zostaje jego właścicielem.
  • Panel WWW ZNC jest na porcie 9667 przez HTTPS, a klient IRC łączy się z tym samym portem przez TLS.

Warto wiedzieć

  • UnrealIRCd, ZNC i Eggdrop nie uruchomią się jako root. Żeby wystartować je z samego pakietu, sam piszesz ich konfiguracje i wybierasz użytkownika.
  • Programy sieci zatrzymują się przy restarcie NAS-a. make start uruchamia je ponownie.
  • W QuTS hero lista ACL udziału może zamknąć folder w tym udziale przed użytkownikiem 65534. Kreator sprawdza to na końcu i podaje taki folder. Folder na woluminie aplikacji działa.
  • BitchX zaczyna każdy wiersz dwoma znakami 8-bitowymi, których terminal UTF-8 nie narysuje. Obrazek wyżej pokazuje w ich miejscu puste pole.

Zmień i zbuduj na nowo, kiedy chcesz

BitchMyQnap to przykład z Bucket & Code Server IDE, naszego darmowego środowiska programistycznego dla QNAP. Kompiluje każdy program ze źródeł na Twoim NAS-ie i pakuje wynik jako QPKG.

W panelu

  1. W Bucket & Code otwórz Aplikacje, potem kartę Przykłady. Dodaj Ubuntu 24.04 builder (full), jeśli nie masz jeszcze środowiska do budowania.
  2. Naciśnij Użyj tego przykładu przy BitchMyQnap (geek set 3). Aplikacja pojawi się z recepturami, ale jeszcze nic się nie buduje.
  3. Naciśnij Zbuduj, potem Aktywuj. Eksportuj tworzy QPKG, gdy masz zainstalowany toolchain QDK.

W terminalu

Projekt BitchMyQnap w Edytorze trzyma tę samą listę w pliku recipes.txt. Usuń wiersz albo dodaj recepturę z biblioteki, a potem uruchom w terminalu Edytora:

make app        # tworzy aplikację z recipes.txt
make build      # buduje ją i śledzi zadanie
make activate   # /usr/app/BitchMyQnap wskazuje teraz na tę kompilację
make qpkg       # eksportuje QPKG (wymaga toolchaina QDK)

QPKG zawiera programy aplikacji. setup.sh i irc.sh zostają w projekcie.

Strona nowej aplikacji w App Builderze Bucket & Code Zobacz to w Bucket & Code Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) 8 min na YouTube

Powiązane strony