Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




A VerliHub beállítása

Maghiara




A VerliHub beállítása

I.

Alapok

V2.0

Tartalom

Tartalom

A VerliHub példány létrehozása 

A vh_install bash script futtatása

A hub indítása 

Néhány szó a PuTTY beállításáról 

A vh_runhub - a hub indítása 

A HUB alapvető beállításai 

A alap beállításokról egy kicsit bővebben

Egyéb beállítások - HUB üzenetek 

Egyéb beállítások - üdvözlő üzenetek

Triggerek 

A triggerekkel kapcsolatos VerliHub parancsok

!lsttrigger 

!addtrigger 

MOTD és a help 

!deltrigger 

Pluginek 

Közvetlen plugin parancsok 

!pluglist all 

!plugin <plugin_filename.so>

Az egyes (fontosabb) plugin nevek és funkcióik

A verlihub automatikus plugin betöltési metódusa szimbólikus linkekkel

A verlihub (automatikus) plugin betöltési metódusa a plugman plugin segítségével 

!plugout <plugin_név> 

!plugreload <plugin_név> 

Az egyes plugin-ekről részletesebben

A plugman plugin 

Az !lstplug 

!addplug 

!modplug 

!delplug 

!onplug, !offplu és a !replug 

A Chatroom plugin 

!addroom 

!modroom 

!lstroom 

!delroom 

A Floodprotect plugin 

A ForbiddenWords plugin 

!lstforbid 

!addforbid 

!modforbid 

Az IPLog plugin 

Az ISP plugin 

A WordReplacer plugin 

!getreplacer 

!addreplacer 

A LuaScript plugin 

Hibakeresés 

Az err file 

A log file 

Ez a dokumentáció a VerliHub alapvető beállításait taglalja, a hangolási lépések vagy a bonyolultabb beállítások egy másik, ezt követő leírásban szerepelnek

A VerliHub példány létrehozása

Egy hub létrehozása az adott hub tulajdonosa számára való példány, valamint a hub beállításainak, felhasználóinak, adatait tartalmazó MySQL adatbázisának létrehozását jelenti.

A Verlihub unix architektúrájú /Linux (minimum 27 disztribúciója létezik), HP-UX, IBM AIX, Solaris, stb../ operációs rendszer alatt futó démon program, egy szerveren több példány is futhat belőle.

Minden példány (instancia) többnyire egy-egy adott felhasználó nevében fut, mely felhasználó egyben, a hub tulajdonosa is (owner). Minden egyes hub egy vagy több TCP porton figyel (listen), de azonos porton több hub nem várhat csatlakozásokat. Azaz a portok száma a hubokra nézve egyedi. Érdemes még tudni, hogy az Unix architektúrában az 1024 alatti portokat csak a root user kezelheti, emiatt azok a hubok, amelyek ilyen port-tartományban dolgoznak csak a root (var root jogokkal felruházott) user futtathatja.

Nos a hub példány létrehozását szinte mindig a szerveres végzi, hisz ennek a procedúrának van egy olyan lépése, amely a MySQL adatbázis tulajdonosának jelszavát is megkérdezi, ennek avatatlan kezekbe kerülése viszont meglehetősen nagy kockázattal jár.

Emiatt egy hub instanciát mindig a szervere hozza létre, majd megadja azokat az adatokat, amivel már mi is képesek vagyunk a hubot a magunk elképzelése szerint alakítani.

Amit a szerveres minimum kérdezni fog

A hub owner neve esetleg kezdő jelszava (aki nevében fut a hub)

A hub portja (ez lehet hogy majd alku tárgya lesz, ha a szerveren már foglalt ez a port)

Esetleg a hub neve, bár ezt később mi magunk is megváltoztathatjuk

Amit a szerverestől mindenképpen kérjünk el

A HUB IP címe (ha DSL-es a szerver feltétlen kérjük a myip automatikus frissítését a szerverestől)

FTP és SSH bejelentkezési lehetőséget.

Nos a szerveres a következő lépéseket mindenképpen el fogja végezni, de ha lelkiismeretesebb fajta, akkor még a hub-ot el is fogja indítani és egy alapbeállítást el is fog végezni. (Az alábbi példa mutatja, hogy a hub ownere is tud hub instanciát létrehozni, ha a fenti szenzitív adat (MySQL jelszó) birtokában van)

A vh_install bash script futtatása

Netnode:/home # su - vhtest

vhtest@Netnode:~> vh_install

Your name ? (vhtest) [ENTER]

Hello vhtest,

let's start with configuration of database access..

mysql database for verlihub will be called? (verlihub) vhtest

mysql user to access vhtest gonna be? (verlihub) vhtest

password to access vhtest be? (blabla) vhtest

mysql server will run where? (localhost) [ENTER]

user  = vhtest

password = vhtest

host   = localhost

database = vhtest

This database account cannot be accessed

Is this info correct ? (Y/N)y

Do you want to create database now? (Y/N)y

Ok preparing mysql..

You probably need administrator access to mysql database

mysql administrator username? (root) [ENTER]

You'll be now promted by mysql client for password of root@localhost

Enter password: xxxxxx

This database account exists

vhtest, you need to choos a place for the configuration files

The order of folder that verlihub is looking for is following:

1 - variable $VERLIHUB_CFG - -inexisting-

2 - ./.verlihub - /home/vhtest/.verlihub -inexisting-

3 - /home/vhtest/.verlihub - /home/vhtest/.verlihub -inexisting-

4 - /usr/local/etc/verlihub - /usr/local/etc/verlihub -inexisting-

5 - /etc/verlihub - /etc/verlihub drwxr-xr-x

if two or more of these exist, lower number has priority

what is will be the configuration folder ? (/etc/verlihub) /home/vhtest/.verlihub

The config folder /home/vhtest/.verlihub does not exist and would be created

Do you want to continue with these settings (if not then select another fol 151s1819b der) ? (Y/N)y

Written: /home/vhtest/.verlihub/dbconfig

Wait few seconds..

vhtest, now I will ask you few more questions about your future hub, if you permit..

Try to not put many special characters, you'll be able to put some laer

Give me your DC hub master nickname.. ([SU]vhtest) [ENTER]

Choose your password.. (1168778675) 123456

Which will be default ONE hub port number? (4111) 9876

What will be your hub hostname? (Netnode) vhtest.myip.hu

Give me the name of your hub (hub of vhtest) Hub for first steps demo

Hub: 'Hub for first steps demo'

url: 'dchub://vhtest.myip.hu:9876'

Master user: '[SU]vhtest'

Master's password: '123456'

Is this info correct ? (Y/N) y

FYI: settings are going to be created or updated

/home/vhtest/.verlihub

/home/vhtest/.verlihub

/home/vhtest/.verlihub

will invoke the command

class is 10

nick is [SU]vhtest

password is 123456

done

A szeveres tehát elindítja a vh_install bash scriptet, ami létrehoz egy verli instanciát a hozzá tartozó MySQL adatbázissal. A fenti példában szereplő lépések a következők:

A hub tulajdonosa (a futtató user) a vhtest linux user lesz.

A script létrehozza a vhtest MySQL adatbázisban, a vhtest MySQL user vhtest jelszóval fog tudni belépni (ezt az adatbázis account-ot fogja használni a verli). Az adatbázist a root MySQL user fogja létrehozni.

A verlihub az állományokat a futtató user home könyvtárja alatti .verlihub rejtett könyvtárba helyezze el (/home/vhtest/.verlihub

Az első verli C10-es felhasználó a [SU]vhtest lesz, jelszava

A hub a porton listenel

A vhtest.myip.hu DNS névvel fogja magát regeltetni a hublistákra.

A hub neve a 'Hub for firsts steps demo' lesz

A szerveres, vagy mi magunk a szerver IP címének ismeretében regeljük a hubunk myip/mydns (vagy egy tetszőleges) DSN nevét, a szerveres megnyitja a kívánt portszámot a szerver tűzfalán és a hub indítás után már működő képes is. Természetesen még egy-két beállítani való van, de mi már be tudunk lépni a fenti userrel.

A hub indítása

A hub indításához szükségünk lesz a szerverre való interaktív bejelentkezésre. Ehhez egy valamilyen terminál emulátort alkalmazunk, amellyel be tudunk jelentkezni a szerverbe (túlnyomórészt SSH /Secure Socket Layer/, ritkábban Telnet protokoll segítségével). Erre a feladatra a PuTTY szabadforrású terminál emulátort javaslom (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest/x86/putty.exe)

Néhány szó a PuTTY beállításáról

A PuTTY indítás után a beállítások ablakkal jelentkezik. Amiket érdemes vagy be kell állítani:

A PuTTY-nket SSH V2-es protokollra állítjuk be, és a visszagörgethető képernyőtartalom méretét is felvesszük jó nagyra, jól jöhet még.

Beállítási szint

Beállítási név

Érték

Megjegyzés

Session

Host name (or IP adress)

vhtest.myip.hu

A szerverünk  DSN neve

Session

Protocol

SSH

Csak ellenőrizzük !

Window

Lisen of scrollback

visszanézhető sorok

SSH

Preferred SSH Protocol version



Csak ellenőrizzük !

Ha mindez megvan, klikkeljünk vissza a Session beállítási szintre és a Saved Session mezőbe írjunk valamilyen tetszőleges, de beszédes nevet, így elmentve a beállításainkat.

Az Open gombra klikkelve egy SSH figyelmeztetés ugrik fel, miszerint eddig még nem ismert titkosítási partnerrel vennénk fel a kapcsolatot. Fogadjuk el a szerver kulcsait, klikklejünk az Igen gombra.!

A vh_runhub - a hub indítása

A vh_runhub a hub közvetlen operációs rendszer szintű kontrollálását elvégző parancs. Segítségével elindíthatjuk, újraindíthatjuk és leállíthatjuk a hubot.

A PuTTY beállítása után jelentkezzünk be a hub linux-os ownerének nevével és jelszavával. A hub-ot a vh_runhub parancs segítségével tudjuk elindítani.

vhtest@Netnode:~> vh_runhub

Runnig with pid 31249

Waiting 2 second..OK

Ezek után egy tetszőleges DC kliens segítségével, a szerverestől kapott első verli felhasználó nick és jelszó segítségével be is jelentkezhetünk a hubunkba.

A vh_runhub néhány fontosabb parancsori argumentuma:

Parancs

Leírás

vh_runhub

A hub elindítása

vh_runhub -restart

A hub újraindítása

vh_runbhub -s

A hub leállítása

A HUB alapvető beállításai

Minimum Class 5-ös DC userből (a legelső usert C10-es) lehet a hub konfigurációját a !set parancs (vagy a szimbólum)segítségével módosítani. Az épp aktuális konfigurációs beállításokat a !getconfig vagy a rövid formulájával a !gc-vel lehet lekérni.

Ami konfigurációs változókat az install script (vh_install) beállít

Változó

Leírás

hub_host

A hub DSN neve (vhtest.myip.hu

hub_name

A hub neve (Hub for firsts steps demo

listen_port

A hub portja (

Amiket az alapbeállítások köz érdemes beállítani

!set <változó> <érték> vagy != <változó> <érték> formulával

Változó

Leírás

Javasolt érték

max_users

Max felhasználók száma

Nettől/szervertől/megállapodástól függően

min_share

Nem regisztrált userek minimum megosztás limitje

min_share_reg

REG regisztrált userek minimum megosztás limitje

hub_desc

A hub leírása

Pl.: a hublistákon megjelenő leírás, [HUN]-al kezd, ezt a hublisták ezt többnyire megkövetelik

hublist_host

Hublista szerverek DNS nevei

koris.sytes.net bracnet.sytes.net hubinfo.myip.hu dchublist.myip.hu dcinfo.sytes.net hubinfo.myip.hu

hublist_send_minshare

A hublistáknak küldje-e a minimum megosztási követelmény információt

nick_chars

A nick-ben szerepelhető karakterek

hub_security

A secirity bot nickje

Tetszőleges

hub_security_desc

Annak leírása

Tetszőleges

opchar_name

OpChat neve

Tetszőleges

opchat_desc

Annak leírása

Tetszőleges

redir_host[n]

Redir hubok

Redir hubok 0-9

redir_host_max

Max redir szerver száma

Az alap beállításokról egy kicsit bővebben

Az alapbeállítások elvégzésével tulajdonképpen egy működőképes, a hublistákon is megjelenő HUB-ot hozunk létre. Ezek után a HUB fogadhatja az usereket, igaz egy két beállítandó dolog még akad a hubon..

max_users - !set max_users <szám>

A HUB user limitje. Ezt a szerver környezetétől (hálózati kapacitás, memória, CPU, stb) de leginkább a szerveressel történt megállapodás hatáérozza meg. Ha hosting-ot bérelsz került inkább J

min_share - !set min_share <byte>

A nem regisztrált userek a minimum megosztási limitje. Ezt célszerű 0-ra venni, márcsak azért is, mert egyes a DC-vel foglalkozó álláspontok szerint a HUB üzemeltetője, ha megkövetel bizonyos megosztási limitet, eleve támadhatóvá teszi magát a jogvédő szervezetek szemében.

min_share_reg - !set min_share_reg <byte>

A REG userek a minimum megosztási limitje. Szintén célszerű 0-ra venni.

hub_desc - !set hub_desc <[HUN]tetszőleges string>

A HUB leírása, elsősorban ott vesszük hasznát, hogy a HUB listákon ez jelenik meg mint egyfajta csalogató üzenet. Ezt a magyar hublisták üzemeltetőinek kérésére mindig [HUN] előtaggal kezdjük.

hublist_host - !set hublist_host <hublist1 hublist2 hublist3 .. hublistn>

Itt soroljuk fel a hublista szerverek DNS neveit szóközökkel delimitálva.

hublist_send_minshare - !set hublist_send_minshare <[0|1]>

Itt határozzuk meg, hogy a hublistáknak a HUB-unk elküldje-e a minimum megosztásra vonatkozó információkat. Ezt többnyire nem szeretik a lista üzemeltetők, emiatt érdemes kikapcsolni. A 0 értékre nem küldi el a minshare adatot, minden más természetes számot beírva elküldi.

nick_chars - !set nick_chars <tetszőleges szting>

Itt soroljuk fel azokat a karaktereket, amelyeket a HUB elfogad a nickekben. Fontos, hogy csak a nem regisztrált userek esetében történik ez az ellenőrzés. De ne feledjük, az az user, aki frissen regisztrált ugyan, de még a jelszavát nem adta meg, az nem regisztráltnak számít a HUB szempontjából!!

A változatos nickek miatt itt érdemes minden lehetséges karaktert megadni J

hub_security - !set hub_security <tetszőleges szting szóköz nélkül>

hub_security_desc - !set hub_security <tetszőleges szting >

A HUB security botjának nevét és leírását adjuk meg. (restart szükséges)

opchat_name - !set opchat_name <tetszőleges szting szóköz nélkül>

opchat_desc - !set opchat_desc <tetszőleges szting >

Az OpChat nevét és leírását definiálja. (restart szükséges)

Ha a név üres, nem jön létre az OPChat (pl.: az OP HUBOK esetében vanértelme ennek)

redir_host[n] - !set redir_host[0.9] <DSN név>

redir_host_max - !set redir_host_max <szám>

A redir_host0 redir_host9 rekordoknál definiálhatjuk a hub által valamilyen okból el nem fogadott userek továbbirányítási céljait. Ha megtelt a hub, kickelt, vagy valamilyen szűrőfeltételnek (prefix, Sock5, maxhubs, stb) nem felel meg az user, a hub továbbirányítja az usert.

A redir_host_max értéke mutatja hogy melyik az a maximális bejegyzés, amit még a hubnak figyelembe kell vennie. (-1 esetén nincs redir)

Ha egy user átirányításra kerül (és redir_host_max >=0), először a redir_host0 által mutatott hostra irányít a hub.

Ha a redir_host_max = 0 mindig csak a redir_host0-ra lesz redir.

Ha a redir_host_max értéke > 0, akkor ciklikusan a redir_host0 és a redir_hostn (ahol n = redir_host_max) között osztja szét a hub a továbbirányított felhasználókat

Ezen beállítások elvégzése után HUB újraindítás kell (!restart)

Egyéb beállítások - HUB üzenetek

Változó

Leírás

msg_chat_onoff

msg_change_pwd

msg_banned

%[nick] és %[IP]

msg_hub_full

msg_nick_prefix

%[nick] és %[IP]

msg_downgrade

msg_upgrade

Egyéb beállítások - üdvözlő üzenetek

Az üdvözlő üzenetekben használhatóak bizonyos HUB belső változók

%[nick] A felhasználó nickje ,

%[cc]  A felhasználó országkódja lesz behelyettesítve e szövegbe

Változó

Leírás

msg_welcome_guest

msg_welcome_reg

msg_welcome_vip

msg_welcome_op

msg_welcome_cheef

msg_welcome_admin

msg_welcome_master

Triggerek

A file/string triggerek a VerliHub egy olyan szolgáltatása, amely valamely esemény (parancs, vagy a hubra való belépés) bekövetkeztekor a definíciójában megadott operációs rendszer szintű file-t - vagy trigger definíciójának stringes tartalmát - szintén a trigger definíciójában megadott módon megjeleníti. Ilyen trigger, a help, a MOTD, a sysversion és sok más egyéb felhasználói parancs is. (+hublist, +speedmeter, stb)

Ha definícióban prefixként a ! karaktert használjuk, akkor csak az OP-ok, ha a + karaktert, akkor minden user elérheti és használhatja az adott triggert.

Fontos hogy nem csak file tartalmat képes megjeleníteni a trigger, hanem a definíciójában szereplő szöveges stringet is, amit a HUB bizonyos belső változóinak elérésére szolgáló makrókkal ( %[CFG], %[UPTIME], %[NICK], stb) ki is egészíthetünk.

Ez pl.: a hackerek kedvenc fogása, amikor is egy hubot elfoglalnak, így írják át a MOTD-ot

A triggerek csak akkor "sülnek el" ha a definíciójukban található érvényesülési feltétel teljesül, és létezik vagy érvényes a trigger definíciója. (pl.: létezik a file, olvasható, stb..)

A triggerekkel kapcsolatos VerliHub parancsok

!lsttrigger

A parancs kilistázza a definiált triggereket

[15:47:10] <VerliHub> Existing triggers are:

+motd %[CFG]/motd Flags:4 SendAs:MOTD Class: 0..10

+motd_reg %[CFG]/motd_reg Flags:4 SendAs:MOTD Class: 1..10

+motd_vip %[CFG]/motd_vip Flags:4 SendAs:MOTD Class: 2..10

+motd_op %[CFG]/motd_op Flags:4 SendAs:MOTD Class: 3..10

+motd_cheef %[CFG]/motd_cheef Flags:4 SendAs:MOTD Class: 4..10

+motd_admin %[CFG]/motd_admin Flags:4 SendAs:MOTD Class: 5..10

+motd_master %[CFG]/motd_master Flags:4 SendAs:MOTD Class: 10..10

+help_usr %[CFG]/help_usr Flags:8 SendAs:HELP Class: 0..10

+help_reg %[CFG]/help_reg Flags:8 SendAs:HELP Class: 1..10

+help_vip %[CFG]/help_vip Flags:8 SendAs:HELP Class: 2..10

+help_op %[CFG]/help_op Flags:8 SendAs:HELP Class: 3..10

+help_cheef %[CFG]/help_cheef Flags:8 SendAs:HELP Class: 4..10

+help_admin %[CFG]/help_admin Flags:8 SendAs:HELP Class: 5..10

+help_master %[CFG]/help_master Flags:8 SendAs:HELP Class: 10..10

+rules %[CFG]/rules Flags:2 SendAs:RULES Class: 0..10

+faq %[CFG]/faq Flags:2 SendAs:FAQ Class: 0..10

+sysversion /proc/version Flags:4 SendAs:SystemVersion Class: 5..10

OK


!addtrigger

A parancs segítségével lehet triggereket definiálni.

Szintaktikája:

!addtrigger <trigger> -d <"trigger_definíciója_idézőjelben">
[-h <leírás>] -f <flag> [-n <nick>] -c <minclass>
-C <maxclass>


<trigger>

Itt definiáljuk a kívánt triggert a szükséges prefixel. A név tetszőleges, de követendő konvenció, hogy a név utaljon a funkcióra

pl.:

+hublist mindenki számára elérhető hublisták triggere

!hubconfig csak operátorok számára leírás a HUB beállításáról

+loginprivi bejelentkezéskor priviben megjelenő üzenet

<"trigger_definíciója_idézőjelben">

A definícióban vagy egy operációs rendszer szintű file-ra hivatkozunk (ilyen pl a !help, vagy a +motd), vagy valamilyen tetszőleges sztringet definiálunk. Fontos, hogy a definícióban idézőjelet nem használhatunk!

A trigger megjelenítését (és kiértékelését) a flag értékével szabályozhatjuk. a flag egy bitmaszk változó, tehát a táblázatban szereplő értékek összeadásával az egyes hatásokat

Flag bit érték

leírás

Csak a triggert elindító usernek a mainban

Parancs végrehajtása

Privát üzenetként jelenik meg

Automatikus trigger indítás bejelentkezéskor

trigger a +help/!help parancsra

A definíció szöveges üzenet (tehát nem operációs rendszer állományra hivatkozik)

A definícióban/állományban szereplő HUB változókat helyettesítse be

Mindenki számára megjelenő üzenet a main-ban

Néhány példa:

flag

leírás

-f 0



Az user a mainban kapja az üzenetet (csak ő látja)

-f 6

(2+4) Az user PM üzenetként belépéskor kapja

-f 10

(8+2) A +help/!help parancs PM üzenetként jön

-f 36

(4+32) Az user belépéskor a definícióban szereplő HUB a szimbólumokat behelyettesítve kapja meg az üzenetet (csak ő látja)

-f 38

(2+4+32) Mint az előző csak PM üzenetként jön

A definícióba, vagy az arra hivatkozó állományba a HUB változókat helyettesítő szimbólumokat is beilleszthetünk. Ne feledjük: ezek csak akkor értékelődnek és helyettesítődnek be, ha a flag 32 érték meg van adva!

Figyelem! a szimbólumok case sensitive értékek (kisbetű/nagybetű érzékenyek!)

Szimbólum

leírás

%[NICK]

A felhasználó nickje

%[IP]

Az user IP címe

%[HOST]

Az user DNS neve

%[CC]

Az user országkódja (a GeoIP-ből, pl.:  HU, PL, US, CA.)

%[SHARE]

Az user megosztási mérete

%[HUBNAME]

A hub neve

%[UPTIME]

A hub futási ideje

%[VERSION]

A hub verziója

%[VERSION_DATE]

Ennek a hub verziónak a megjelenési dátuma

%[USERS]

Az összes jelenlegi userek száma

%[TOTAL_SHARE]

Az összes megosztási méret

%[CFG]

A hub konfigurációs elérési útvonala (pl.: /home/hubowner) kiemelt szimbólum !!

A %[CFG] szimbólum különleges, ez az egy szimbólum, ami -f 32 nélkül is mindig kiértékelődik, de magában a trigger definíciójában nem használhatjuk. Tipikusan a megjelenítendő állományok elérési útvonalának behelyettesítésére szolgál.

Nézzünk egy-egy példát!

A +test parancsra meg szeretnénk jeleníteni 'This is a first trigger' feliratot a main-ban, egyenlőre csak annak az userek aki kiadta a parancsot!

Hozzuk létre a .verlihub alatt egy állományt (így használhatjuk a %[CFG] szimbólumot, a neve legyen pl.: test.txt. Ebbe írjuk bele a megjelenítendő feliratot, úgy ahogy azt látni szeretnénk (pozícionálás és egyéb díszítések, stb.)
A file tartalma:

This is a first trigger

Definiáljuk a triggert:
<VerliHub>!addtrigger +test -d "%[CFG]/test.txt" -h "Első Triggerünk" -n FirstTrigger -c 0 -C 10 -f 0
<VerliHub> Successfully added: +test %[CFG]/test.txt Flags:0 SendAs:FirstTrigger Class: 0..10

Próbáljuk ki egy tetszőleges user alól, adjuk ki a +test parancsot!
<VerliHub> +test
<FirstTrigger>

This is a first trigger

Most módosítsuk úgy a triggert, hogy ne a main-ban, hanem PM-be kapja meg az user!

<VerliHub>!modtrigger +test -f 2

<VerliHub> Successfully modified: +test %[CFG]/test.txt Flags:2 SendAs:"FirstTrigger" Class: 0..10

OK

<VerliHub> OK

Ha kipróbáljuk (+test), akkor már PM-ben kell megkapnunk az üzenetet!

Változtassuk meg a küldő nick nevét WelcomeTrigger-re és állítsuk be, hogy loginnál PM-ben jelenjen meg a belépő user számára!

<VerliHub>!modtrigger +test -n WelcomeTrigger -f 6

<VerliHub> Successfully modified: +test %[CFG]/test.txt Flags:6 SendAs:WelcomeTrigger Class: 0..10

OK

<VerliHub> OK

Próbáljuk ki! egy másik kliensből jelentkezzünk be a hubra!

Változtassuk meg ezt a triggert úgy, hogy minden lehetséges szimbólumot írassunk ki belépéskor a mainba, csak a belépő usernak megjelenítve!

A trigger file tartalma legyen a következő:

This is a first trigger

Account Informations:

Nick:  %[NICK]

IP:  %[IP]

Host:  %[HOST]

Country Code: %[CC]

Share Size:  %[SHARE]

Hub Informations:

Hub Cfg Path: %[CFG]

Hubname:  %[HUBNAME]

Uptime:  %[UPTIME]

Version: %[VERSION]

Version Date: %[VERSION_DATE]

Total users: %[USERS]

Total Share: %[TOTAL_SHARE]

<VerliHub> !modtrigger +test -f 36

<VerliHub> Successfully modified: +test %[CFG]/test.txt Flags:36 SendAs:WelcomeTrigger Class: 0..10

OK

<VerliHub> OK

Próbáljuk ki! Adjuk ki a +test parancsot, vagy egy másik kliensből jelentkezzünk be a hubra!

<WelcomeTrigger>

This is a first trigger

Account Informations:

Nick: [HUN]TestUser

IP: 111.222.333.444

Host:

Country Code: --

Share Size: 11986599191

Hub Informations:

Hub Cfg Path: %[CFG]

Hubname: hub of TestHub

Uptime: 22hours 20min

Version: 0.9.8c

Version Date: Thu Jun 9 20:15:00 CEST 2005

Total users: 5

Total Share: 11986599193

Figyeljük meg, hogy csak a %[CFG] szimbólum nem került behelyettesítésre!

A fenti példákban mindig file hivatkozási triggereket (ún file triggereket) gyártottunk. Mivel a triggerek akkor olvassák fel a file tartalmát , ha elsülnek, így szabadon bármikor egyéb következmény nélkül javíthatók a trigger file tartama. Ez is a gyakorlat, ha vmi nem jó, belenyúlunk a file-okba, esetleg FTP-vel egyszerűen felülírjuk őket, és utána kipróbáljuk.

MOTD és a help

A help és a motd is tulajdonképpen file triggerek. Figyeljük meg a default triggerek definícióit!

<VerliHub> !lsttrigger

<VerliHub> Existing triggers are:

+motd %[CFG]/motd Flags:4 SendAs:MOTD Class: 0..10

+motd_reg %[CFG]/motd_reg Flags:4 SendAs:MOTD Class: 1..10

+motd_vip %[CFG]/motd_vip Flags:4 SendAs:MOTD Class: 2..10

+motd_op %[CFG]/motd_op Flags:4 SendAs:MOTD Class: 3..10

+motd_cheef %[CFG]/motd_cheef Flags:4 SendAs:MOTD Class: 4..10

+motd_admin %[CFG]/motd_admin Flags:4 SendAs:MOTD Class: 5..10

+motd_master %[CFG]/motd_master Flags:4 SendAs:MOTD Class: 10..10

+help_usr %[CFG]/help_usr Flags:8 SendAs:HELP Class: 0..10

+help_reg %[CFG]/help_reg Flags:8 SendAs:HELP Class: 1..10

+help_vip %[CFG]/help_vip Flags:8 SendAs:HELP Class: 2..10

+help_op %[CFG]/help_op Flags:8 SendAs:HELP Class: 3..10

+help_cheef %[CFG]/help_cheef Flags:8 SendAs:HELP Class: 4..10

+help_admin %[CFG]/help_admin Flags:8 SendAs:HELP Class: 5..10

+help_master %[CFG]/help_master Flags:8 SendAs:HELP Class: 10..10

+rules %[CFG]/rules Flags:2 SendAs:RULES Class: 0..10

+faq %[CFG]/faq Flags:2 SendAs:FAQ Class: 0..10

+sysversion /proc/version Flags:4 SendAs:SystemVersion Class: 5..10

+test %[CFG]/test.txt Flags:36 SendAs:WelcomeTrigger Class: 0..10

OK

Látható, hogy minden usernek lefut bejelentkezéskor a +motd trigger MOTD nickkel, utána minden class szintnek külön külön is definiálva van egy-egy trigger, ha létezik le is fut ezt is bejelentkezéskor (Alapesetben a verli nem hozza létre a classoknak dedikált motd-okat)

Figyelem! Az Unix és a Win32 rendszereknek más a szöveges állományok rekordvége jele! Emiatt fordul elő az a gyakori szépséghiba hiba, hogy a MOTD plussz sortörésekkel jelenik meg.

Ilyenkor vagy a linux alól (SSH) kiadjuk a 'dos2unix motd' parancsot (átalakítjuk CR+LF rekordszerkezetűről LF sor vége jel szerkezetűre a file-t vagy keresünk Win32 alá egy freeware DOS2UNIX utility programot átkonvertáljuk a file-t majd azután FTP-zük fel a hub alá a motd állományt.

A +help egy különleges trigger, külön flag-gel is rendelkezik, ha kiadják a classhoz rendelt szintek mindegyikén végigfut a trigger, és ha a kiadó user az érvényességi class-ba tartozik meg is jeleníti neki az adott help file tartalmát.

Gyakran úgy magyarítjuk a helpet, hogy FTP-vel gyakorlatilag magyar tartalmú állományokkal felülírjuk a help állományokat.

Érdekes még a +sysversion trigger megnézni, C5-10 usereknek jelenik csak meg, és a /proc/version virtuális file tartalmát mutatja meg bejelentkezéskor.

Definiáljunk egy szöveges string triggert (tehát ne file-t olvasson fel)! Adjunk meg egy olyan triggert, ami nem file-ban tárolódik, de tartalmaz kiértékelendő szimbólumokat. (Ugye itt a flag lesz a légyeg 16 + 32 = 48)

Ez egyébként a hackerek tipikus hub elfoglalási mozzanata: a MOTD átírása anélkül. hogy a szerver filerendszeréhez hozzáférnének

<VerliHub>!addtrigger +test2 -d "Hub Informations from text string:

Hubname:  %[HUBNAME]

Uptime:  %[UPTIME]

Version:  %[VERSION]

Version Date: %[VERSION_DATE]

Total users: %[USERS]

Total Share: %[TOTAL_SHARE]

" -f 48 -c 0 -C 10 -n StringTrigger -h "Trigger Stringdefinícióként"

<VerliHub> OK

<VerliHub> Successfully added: +test2 Hub Informations from text string:

Hubname:  %[HUBNAME]

Flags:48 SendAs:StringTrigger Class: 0..10

OK

<VerliHub> OK

Próbáljuk is ki!

<VerliHub>+test2

<StringTrigger> Hub Informations from text string:

Hubname:  hub of u000835

Uptime:  22hours 55min

Version:  0.9.8c

Version Date: Thu Jun 9 20:15:00 CEST 2005

Total users: 5

Total Share: 11986599193

Ha a triggert +motd névre és flag = 52 (4+16+32) definiáljuk flag-ot , akkor van egy MOTD-unk, ami nem operációs rendszer szinten tárolódik .

!deltrigger

A parancs segítségével lehet triggereket törölni.

A végrehajtható trigger (-f 1)

Ezek a triggerek - amennyiben a verlihub konfigurációjában ez engedélyezve van (allow_exec) - nem egy statikus file tartalmát mutatja meg, hanem egy végrehajtható program output-ját fogja megjeleníteni. Ennek engedélyezése a .verlihub/dbconfig fiel-ba beírt allow_exec paraméterrel lehetséges

db_host = localhost

db_data = vhtest

db_user = vhtest

db_pass = vhtest_mysql_jelszava

allow_exec = 1

(Ezután a verlihubot újra kell indítani!!)

Az 1-es flag-el ellátott triggerrek esetén a verlihub a triggerek definíciójában nem végez szimbólum behelyettesítéseket. Ezeknél a triggereknél a definícióban a végrehajtható program elérési útvonalával (case sensitive) kell hivatkozni a programra. A program outputját a verlihub a .verlihub/tmp/trigger.tmp állományba helyezi, majd annak tartalmát mutatja meg. Így ahhoz, hogy az ilyen trigger működőképes legyen, a tmp könyvtárat létre kell hozni (a plugins és a scripts könyvtárakkal azonos szinten)

Nézzünk egy példát

Jelenítsük meg a szerverünk hostjának futási idejét minden belépő usernak a mainban, a nick legyen SysUpTime! (A linux-on a rendszer futási időre vonatkozó adatait au /usr/bin/uptime parancs adja vissza)

Ne felejtsük el létrehozni a tmp könyvtárat!!

vhtest@Netnode:~> mkdir ./.verlihub/tmp

<VerliHub> !addtrigger +sysuptime -d "/usr/bin/uptime" -n SysUpTime -f 5 -c 0 -C 10

<VerliHub> Successfully added: +sysuptime /usr/bin/uptime Flags:5 SendAs:SysUpTime Class: 0..10

OK

<VerliHub> OK

Próbáljuk ki a triggert!

<VerliHub> +sysuptime

<SysUpTime> 7:37pm up 56 days 1:30, 1 user, load average: 0.61, 1.11, 1.53

Jelentkezzünk be egy userrel, ugyan ezt az üzenetet fogjuk látni a bejeneltkezés során.

Pluginek

A pluginek a HUB-ba beépülő C++ nyelven írt futtatható állományok, ún. shared object file-ok (ez hasonló a Win32 rendszerekben a DLL-hez) Bizonyos feladatok műveletek gyorsabb elvégzése érdekében, vagy a HUB tudástárának bővítése végett kívánságra betölthetők és kivehetők - akár menet közben is - a hubból.

Legismertebb plugin - bár magát a plugint nem használjuk - a LUA plugin. Amennyiben a HUB-ba be van töltve a LUA plugin, úgy képes LUA scriptek futtatására a HUB.

A szerveren minden plugint önállóan kell lefordítani, így elképzelhető, hogy adott szerveren a keresett plugin nem is létezik, ilyenkor vegyük fel a szerveressel a kapcsolatot és alkudozzunk vele

Az hogy az adott szerveren milyen plugin létezik a következő linux parancs segítségével tudhatjuk meg (SSH-val bejelentkezve a szerverre)

vhtest:~/.verlihub> ls /usr/local/lib/lib*_pi.so

/usr/local/lib/libchatroom_pi.so /usr/local/lib/libisp_pi.so

/usr/local/lib/libclevpp_pi.so /usr/local/lib/liblua_pi.so

/usr/local/lib/libdiakritika_pi.so /usr/local/lib/libmessanger_pi.so

/usr/local/lib/libfloodprot_pi.so /usr/local/lib/libperl_pi.so

/usr/local/lib/libforbid_pi.so  /usr/local/lib/libplug_pi.so

/usr/local/lib/libfunny_pi.so  /usr/local/lib/libreplace_pi.so

/usr/local/lib/libhublink_pi.so  /usr/local/lib/libstats_pi.so

/usr/local/lib/libiplog_pi.so  /usr/local/lib/libtest_pi.so

A VerliHub kétféleképpen támogatja a pluginek kezelését: közvetlen plugin parancsokkal (!pluglist, !plugin, !plugout, stb) vagy a plugman plugin segítségével és annak parancsaivel (!lstplug, !addplug, !modplug, stb.)

Közvetlen plugin parancsok

!pluglist all

A hubba betöltött pluginel listája tekinthető meg. Nem szükséges minden elérhető plugin beszerzése, jó gyakorlat, hogy csak azokat a plugineket töltjük be, amiket valóban használunk.

<VerliHub>!pluglist all

<VerliHub> Plugins loaded:

ForbiddenWords 1.3

WordReplacer 1.1

Messanger 1.2

ISP 0.9

Funny1.0

plugman 1.0

PerlScript 1.1

Clev++ 0.2.21

HubLink 1.0

IPLog 1.1

LuaScript 1.6

Floodprotect 2.0

Chatroom 1.1

Stats 1.1

Diakritika 1.0.1

OK

!plugin <plugin_filename.so>

Egy Shared Object (/usr/local/lib/*_pi.so) VerliHub plugint tölthetünk ennek a parancsnak a segítségével. A betöltendő plugin file-t teljes vagy relatív elérési útvonallal kell megadni.

Az egyes (fontosabb) plugin nevek és funkcióik

Plugin név

so file

funkció

Plugman

libplug_pi.so

A plugineket kezelő plugin

Chatroom

libchatroom_pi.so

Chat - szobák kialakítására szolgáló plugin (pl VIPChat)

Floodprotect

libfloodprot_pi.so

Flood védelem

ForbiddenWords

libforbid_pi.so

Tiltott szavak és kifejezések szűrése

IPLog

libiplog_pi.so

Nick és IP naplózása

ISP

libisp_pi.so

Nick/IP/DNS névre szűrés

WordReplacer

libreplace_pi.so

Adott szavak lecserélése (cenzúra)

LuaScript

liblua_pi.so

LUA script HUB interpreter

Egyéb - a fenti példa listában szereplő - pluginek

libclevpp_pi.so Clev++

libfunny_pi.so Véletlenszerűen kiválasztva ismétel visszafelé írva szavakat

libhublink_pi.so Hubok összekapcsolására, userlisták, üzenetek (nekem nem igazán ment)

libmessanger_pi.so Offline userek számára lehet hagyni üzeneteket (nem indult el)

libperl_pi.so Perl script HUB interpreter

libstats_pi.so 10mp-enként statisztikát csinál a hubról a MySQL adatbázis pi_stat táblájába

libdiakritika_pi.so  Adott karaktereket lecserél a chat szövegében, tipikusan nagybetű -> kisbetű lecserélésére használhatjuk

A verlihub automatikus plugin betöltési metódusa szimbólikus linkekkel

A HUB létrehozása során keletkezik egy plugins könyvtár, amiben alapesetben a plugman plugin so file-ra mutató szimbolikus link. található (A szimbólikus link funkciójában kicsit hasonlít a Win32 rendszerek alatt ismert parancsikonokra)

vhtest@testnode:~/.verlihub> ls -la plugins

total 1

drwxr-xr-x 2 vhtest users 560 Jan 16 16:03 .

drwxr-xr-x 4 vhtest users 576 Jan 16 14:05 ..

lrwxrwxrwx 1 vhtest users 28 Sep 7 13:13 libplug_pi.so -> /usr/local/lib/libplug_pi.so

A HUB indulása során az ebbe a könyvtárba található állományokat automatikusan betölti. Jó gyakorlat, ha a betölteni kívánt pluginekről szimbólikus linkeket csinálunk ebbe a könyvtárba. (PuTTY-val a szerverre bejelentkezve)

vhtest@testnode: ln -s /usr/local/lib/libreplace_pi.so ~/.verlihub/plugins/libstats_pi.so

A szimbolikus link neve nem baj(!), ha azonos azzal az állomány nevével, amire mutat!

pl.:

vhtest@testnode:~/.verlihub> ls -la plugins

total 1

drwxr-xr-x 2 vhtest users 528 Jan 16 16:32 .

drwxr-xr-x 4 vhtest users 576 Jan 16 14:05 ..

lrwxrwxrwx 1 vhtest users 32 Jan 16 16:01 libchatroom_pi.so -> /usr/local/lib/libchatroom_pi.so

lrwxrwxrwx 1 vhtest users 30 Oct 16 15:56 libclevpp_pi.so -> /usr/local/lib/libclevpp_pi.so

lrwxrwxrwx 1 vhtest users 34 Jan 16 16:01 libdiakritika_pi.so -> /usr/local/lib/libdiakritika_pi.so

lrwxrwxrwx 1 vhtest users 33 Jan 16 16:01 libfloodprot_pi.so -> /usr/local/lib/libfloodprot_pi.so

lrwxrwxrwx 1 vhtest users 30 Jan 16 16:02 libforbid_pi.so -> /usr/local/lib/libforbid_pi.so

lrwxrwxrwx 1 vhtest users 29 Jan 16 16:02 libfunny_pi.so -> /usr/local/lib/libfunny_pi.so

lrwxrwxrwx 1 vhtest users 31 Jan 16 16:02 libhublink_pi.so -> /usr/local/lib/libhublink_pi.so

lrwxrwxrwx 1 vhtest users 29 Jan 16 16:02 libiplog_pi.so -> /usr/local/lib/libiplog_pi.so

lrwxrwxrwx 1 vhtest users 27 Jan 16 16:02 libisp_pi.so -> /usr/local/lib/libisp_pi.so

lrwxrwxrwx 1 vhtest users 27 Jan 16 16:02 liblua_pi.so -> /usr/local/lib/liblua_pi.so



lrwxrwxrwx 1 vhtest users 33 Jan 16 16:02 libmessanger_pi.so -> /usr/local/lib/libmessanger_pi.so

lrwxrwxrwx 1 vhtest users 28 Jan 16 16:02 libperl_pi.so -> /usr/local/lib/libperl_pi.so

lrwxrwxrwx 1 vhtest users 28 Sep 7 13:13 libplug_pi.so -> /usr/local/lib/libplug_pi.so

lrwxrwxrwx 1 vhtest users 31 Jan 16 16:03 libreplace_pi.so -> /usr/local/lib/libreplace_pi.so

A verlihub (automatikus) plugin betöltési metódusa a plugman plugin segítségével

Amennyiben nem tudunk a hubunkra interaktívan bejelentkezni, úgy lehetőségünk van a pluginek plugman pluginből való kezelésére is az !onplug parancs segítségével. A natív plugineket (ISP, Perl, LUA, Messager, FloodProtect, IPLog, ForbiddenWords, WordReplacer, Stats és a HubLink) a plugman kezeli. Részletesebb ismertetése a plugman plugin leírásánál található.

!plugout <plugin_név>

A VerliHub e közvetlen plugin parancsával a pluginek kiszedhetők a hubról. A pluginnév case sensitive!

!plugreload <plugin_név>

A plugin újraindítását lehet elérni ezzel a paranccsal. A plugin neve case sensitive!

Az egyes plugin-ekről részletesebben

A plugman plugin

A plugman plugin a natív VerliHub pluginek kezelését oldja meg. Segítségével a HUB-ra való bejelentkezés nélkül is kezelni tudjuk ezeket a plugineket (de csak amennyiben azok a szerveren le lettek fordítva és rendelkezésre is állnak). Lehetőség van nem natív plugin felügyeletét is a plugman hatásköre alá vonni (!addplug parancs)

Figyelem! A plugman parancsértelmezője eléggé barátságtalan! Ha paraméter nélkül hívunk meg kötelezően paraméterezendő plugman parancsot félrevezető hibaüzeneteket kaphatunk!

Az !lstplug

A parancs megmutatja a regisztrált pluginekre vonatkozó információkat (állapot, elérési útvonal, leírás, stb)

<VerliHub>!lstplug

<VerliHub> PlugMan version(1.0)

Verlihub executable: /usr/local/bin/verlihub

Verlihub make-time: Wed Apr 5 15:59:10 2006

isp OFF MANUAL Tue Jan 16 16:51:10 2007 Changed(Wed May 10 13:07:34 2006)

Path: /usr/local/lib/libisp_pi.so

Desc: Internet Service Provider settings, country codes, nick prefix, desc tag,...

LastError:

lua OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/liblua_pi.so

Desc: Support for lua scripts

LastError:

perl OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libperl_pi.so

Desc: Support for perl scripts

LastError:

msg OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libmessanger_pi.so

Desc: Offline messages system

LastError:

flood OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libfloodprot_pi.so

Desc: Advanced flood protection

LastError:

log OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libiplog_pi.so

Desc: Log ip's, nicks; history commands

LastError:

forbid OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libforbid_pi.so

Desc: Filter chat from forbidden words

LastError:

chat OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libchatroom_pi.so

Desc: Multiple chatrooms to separate chat topics

LastError:

replace OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libreplacer_pi.so

Desc: Replace some words by other

LastError:

stats OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libstats_pi.so

Desc: Statistics plugin, trace diverse value sin the database

LastError:

hublink OFF MANUAL Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libhublink_pi.so

Desc: Link multiple hubs together

LastError:

OK

!addplug

A pluginek plugman-ba történő regisztrációját megvalósító parancs.

Szintaktikája:

!addplug plugnick -p "so_file_full_path" -d "leírás" -a [0|1]

A plugnick azonosítja a plugint a parancsok kiadásakor, erre hivatkozva kezeljük őket (max 8 karakter lehet). Figyelem! A pluginek nickje case sensitive érték!

Az -a kapcsolóra érdemes figyelni, meghatározza, hogy a plugman plugin indulásakor (vagy másképpen a hub indulásakor) a plugin automatikusan be legyen-e töltve. 0 érték esetén nem indul el automatikusan a plugin, 1 esetén elindul.

pl.: Regisztráljuk Clev++ plugint a plugman-ba úgy, hogy automatikusan induljon el.

<VerliHub> !addplug Clev++ -p "/usr/local/lib/libclevpp_pi.so" -d "Clev++ - The Lama DC Robot VH plugin" -a 1

<VerliHub> OK

<VerliHub> Successfully added: Clev++ ON AUTO Tue Jan 16 17:04:26 2007 Changed(Fri Oct 27 13:54:38 2006)

Path: /usr/local/lib/libclevpp_pi.so

Desc: Clev++ - The Lama DC Robot VH plugin

LastError: Load OK

OK

Az !lstplug parancs kimenete ezek után:

<VerliHub> !lstplug

Clev++ ON AUTO Tue Jan 16 17:04:26 2007 Changed(Fri Oct 27 13:54:38 2006)

Path: /usr/local/lib/libclevpp_pi.so

Desc: Clev++ - The Lama DC Robot VH plugin

LastError: Load OK

Tehát Clev++ plugin felügyelete ezek után már a plugman plugin feladata. Nincs szükség a .verlihub/plugins könyvtár alá létrehozott szimbolikus linkre, és induláskor automatikusan el is indul.

!modplug

A modplug parancs segítségével a pluginek regisztrációs adatait módosíthatjuk. Default esetben egyik natív plugin sem töltődik be automatikusan a hub indulásakor. Tipikusan ekkor használjuk ezt a parancsot.

Pl, kapcsoljuk automatikusan betöltődőre a stats plugin!

<VerliHub> !modplug stats -a 1

<VerliHub> Successfully modified: stats OFF AUTO Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libstats_pi.so

Desc: Statistics plugin, trace diverse value sin the database

LastError:

OK

<VerliHub> !lstplug

stats OFF AUTO Thu Jan 1 01:00:00 1970 Changed(Wed Feb 18 12:18:40 2004)

Path: /usr/local/lib/libstats_pi.so

Desc: Statistics plugin, trace diverse value sin the database

LastError:

!delplug

A plugin regisztrációjának törlésére szolgál. A pluginre a nickjével hivatkozunk.

!onplug, !offplug és a !replug

A pluginek on-line be- kikapcsolására és azok újraindítására szolgál.

A pluginekre a nickjükkel hivatkozunk.

pl.:Kapcsoljuk be az ISP plugint

<VerliHub> !onplug isp

<VerliHub> OK

A Chatroom plugin

Ez a plugin különböző chat szobák kialakítására szolgál, többnyire VIP (esetleg REG ) chatroom-okat hozunk létre vele.

!addroom

Chat szoba létrehozásának parancsa, szintaktikája

!addroom roomnick [-CC ccode] -ac<min_auto_class> -AC <max_auto_class>
-c<min_allowed_class> -t"topic_leírás"

paraméter

leírás

roomnick 

A chat szoba neve

ccode

Meghatározhatjuk hogy milyen országkódú userek érhetik el

min_auto_class

Az minimum ilyen class-al rendelkező userek automatikusan kapcsolódnak a chatszobához

max_auto_class

Max ilyen classú userek automatikusan csatlakoznak a szobához

min_allowed_class

A min ilyen class-ú userek a érhetik még el (be kell lépniük)

topic_leírás

A Chat room topic-ja

pl.: Hozzunk létre egy VIP chat-ot! (csak VIP-ek és magasabb Class-ok láthassák a forgalmát)

<VerliHub> !addroom VipChat -ac2 -AC10 -c2 -t"VipChat - Only for VIPs"

<VerliHub> Successfully added: VipChat - VipChat - Only for VIPs - By Auto: 2-10/CC: MinClass: 2 -- Online 0 users

Így a VipChat-ban elhangzó üzenetet, azonnal automatikusan minden C2..C10 user megkapja (és min C2-es csatlakozhat hozzá)

!modroom

A chat szoba módisításának parancsa. Módosítsuk a REG chatot úgy, hogy amelyik REG akar, az is csatlakozhasson a szobához!

<VerliHub> !modroom VipChat -c1

<VerliHub> Successfully modified: VipChat - VipChat - Only for VIPs - By Auto: 2-10/CC: MinClass: 1 -- Online 0 users

Így a VipChat üzenetek a C1-es usernek nem jelennek meg ugyan automatikusan, de ha akar csatlakozni, akkor küldhet egy privát üzenetet a VipChat-ba. Onnantól kezdve a többiekkel egyenértékű tagja lesz a VipChat.nak

!lstroom

Kilistázza a chatroom plugin által létrehozott szobákat, ill. az on-line felhasználók számát

<VerliHub> !lstroom

<VerliHub> VipChat - VipChat - Only for VIPs - By Auto: 2-10/CC: MinClass: 1 -- Online 2 users

!delroom

A roomnick-el azonosított szobát törli

<VerliHub> !delroom VipChat

<VerliHub> Deleted successfulyOK

A Floodprotect plugin

Ez a magyar fejlesztésű plugin elsősorban a DoS jellegű (rövid ideig tartó, de egymás után sokszor ismétlődő szolgáltatáskérés, majd esetleg elutasítás) flood ellen védő program. (Ilyen tipikusan pl.: a klasszikus chat /Main vagy PM/, a MyINFO, vagy a Search flood)

A pluginnel különösebb dolgunk nincs, figyeli a main és a PM chat, valamint a kliensek hub felé indított MyINFO és keresési üzeneteit. Flood érzékelése esetén ('bedrótozottan' pl.: ha az user <10 mp alatt 10 figyelt eseményt küld) banolja az IP-jét 3 órára, és jelentést küld az OpChat-be.

Van még egy kevéssé kihasznált szolgáltatása, miszerint az egy IP-ről érkező bejelentkezések számát, ill. az azonos IP-ről befutó kapcsolódási kérések számát nem regisztrált userek esetén limitálja. Default beállítások mellett egy IP-ről max 55 kapcsolódási kérelmet fogad, ill. egy IP címről max 50 (nem regisztrált) user lehet bejelentkezve.

Az aktuális értékeket a következő paranccsal kérdezhetjük le:

<VerliHub>!gc [pi_floodprot]

Ezeket az értékeket állítgathatjuk is, de csak óvatosan J

<VerliHub>!set [pi_floodprot] max_conn_per_ip 10

<VerliHub>!set [pi_floodprot] max_users_per_ip 10

A ForbiddenWords plugin

Ez a plugin tiltott szavak szűrésére (és 'megtorlására') szolgáló plugin, elsősorban reklámok, káromkodások nem kívánt chat üzenetek megfogására használjuk.

!lstforbid

A definiált tiltott szavak listázása

!addforbid

A definíciók létrehozásának parancsa, szintaktikája:

!addforbid "regex" -f <flag> -C <class> -r "kick üzenet"

paraméter

leírás

"regex"

A keresendő reguláris (!) kifejezés

flag

bitmaszk érték!

1 -> main chat-ot vizsgál

2 -> PM chat-ot vizsgál

3 -> OpCaht-ba ír, ha megcsípett valamit

class

ettől feljebb levő clas-t már nem vizsgál

"kick üzenet"

!kick üzenet paramétere lesz. Ha az üzenet _ban_bantime formutált tartalmazza, akkor au user ban idejét szabályozhatjuk a különböző büntetési szinteknek megfelelően

pl.: Tiltsuk a "https://" mindenféle formáját a main chatban, a reklámozó jutalma legyen 2 perc, az eseménykor kérjünk az OpChat-ba is jelentést. A tilalom, csak az egyszerű userekre vonatkozzon.

<VerliHub> !addforbid "https://" -f 5 -C 0 -r "Ne Rekizz :-/ _ban_2m"

<VerliHub> Successfully added: https:// -f 5 -C 0 -r "Ne Rekizz _ban_2m"

Ha kipróbáljuk (http-vel rekizünk a mainban egy 'kopasz' userrel) a következő üzenetet kapjuk az OpChat-ben (amellett, hogy az usert kirúgta)

<«««.OP-Chat.»»»> FORBID: User is typing forbidden word(s) into PUBLIC chat: asdasd https://sadasasd.asdasd.asdasd -- IP=' 111.222.333.444 ' Host=' ' User=' [HUN]TestUser '

A ForbiddenWords plugin 3 default konfigurációs értéket használ, ami további hangolási lehetőséget biztosít.

<Rover> !gc [pi_forbid]

<VerliHub> max_class_dest = 2

max_repeat_char = 0

max_upcase_percent = 100

pi_forbid változó

leírás

max_class_dest

Ez csap PM-ben érvényesül, meghatározza, hogy a célnick osztályához képest mininum mekkora class különbség kell ahhoz, hogy ne vegye tiltottnak az elcsípett kifejezést.

Tehát egy C0-ás user nyugodtan küldhet C3-asnak egyébként tiltott kifejezést tartalmazó PM (!) üzenetet.

max_repeat_char

Meghatározza hogy mennyi ismétlődő karakter lehet a main üzenetben (csak C3-ig vizsgál, tehát C0-c2-ig mindenkire vonatkozik)

Ha az üzenetben az ismétlődő karakterek száma ezt az értéket meghaladja, akkor csak a küldőnek jelenik meg az üzenet.

A többi user nem látja a main chat-ban!

0 érték esetén ez a vizsgálat ki kapcsolt

max_upcase_percent

Megvizsgálja a main üzenet tartalmát, hogy hány % az üzenetnek nagy betű. Ha ez a százalékos arány meghaladja a beállított értéket, az üzenet csak a feladónak jelenik meg, a többi user nem látja.

(csak C3-ig vizsgál, tehát C0-c2-ig mindenkire vonatkozik)

100 érték esetén ez a funkció kikapcsolt.

pl.: Állítsuk be, hogy max 10 karaktert ismételhet az user a main üzenetben!

Figyelem! Ez plugin konfigurációs érték, csak a plugin indulásakor olvassa be, emiatt a plugint újra kell indítani!

<VerliHub> != [pi_forbid] max_repeat_char 10

<VerliHub> Changing [pi_forbid] max_repeat_char from: '0' => '10'OK

<VerliHub> !plugreload ForbiddenWords

Próbáljuk ki! Egy 'kopasz' user alól írjunk be 10 db 'a' betűt, majd 11 db-ot. A 10 db megjelenik minden usernek, a 11db csak a küldőnek.

Tiltsuk be a kiabálásokat! Állítsuk a max_upcase_percent értékét 80%-ra

<VerliHub> != [pi_forbid] max_upcase_percent 80

<VerliHub> Changing [pi_forbid] max_upcase_percent from: '100' => '80'OK

<VerliHub> !plugreload ForbiddenWords

Próbáljuk ki! Kiabáljunk egy 'kopasz' user alól a mainban J

!modforbid

A tiltott kifejezés tulajdonságainak megváltoztatására szolgáló parancs.

pl.: Módosítsuk a fenti tilalmat úgy, hogy a PM-ben is vizsgálódjon, valamint változtassuk meg a kick szövegét és a ban időt is 10mp-re!

<VerliHub> !modforbid "https://" -f 7 -C 0 -r "PM-be se rekizhecc :-/ _ban_10s"

<VerliHub> Successfully modified: https:// -f 7 -C 0 -r "PM-be se rekizhecc _ban_10s"

OK

Nézzünk egy kicsit bonyolultabb példát! Tiltsuk le a 'myip' rekiket a C0-ás felhasználók számára, de úgy, hogy

nem biztos hogy a myip előtt vagy utána pont van (.myip.)

Nem biztos, hogy egybeírja, cselesen belerakhat rengeteg space-t is (m y i p)

Ne felejtsük el , hogy a tiltott kifejezés egy reguláris kifejezés, gyakorlatilag minden létező dolgot előírhatunk ami eszünkbe jut, csak ügyesen kell megfogalmazni :@

<VerliHub>!addforbid "\.?m *y *i *p *\.?" -C 0 -f 7 -r "Ne rekizd a myip-t :-/ _ban_5s"

<VerliHub> Successfully added: \.?m *y *i *p *\.? -f 7 -C 0 -r "Ne rekizd a myip-t _ban_5s"

Próbálgassuk egy C0-ás user alól!

A fenti péda nem véd, ha a rekiző cseles és nem spaceokat használ. Tiltsuk le az összes lehetséges maramtert az 'm', 'y', 'i' és 'p' karakterek között! (Persze előfordulhat emiatt szerencsétlen illeszkedés is :S) A korábbi tiltást törölni kell, hogy tudjuk követni az eseményeket !

<VerliHub> !delforbid \.?m *y *i *p *\.?

<VerliHub> Deleted successfulyOK

<VerliHub> !addforbid "\.?m.*y.*i.*p.*\.?" -f 7 -C 0 -r "Ne rekizd a myip-t _ban_5s"

<VerliHub> Successfully added: \.?m.*y.*i.*p.*\.? -f 7 -C 0 -r "Ne rekizd a myip-t _ban_5s"

OK

Próbáljuk ki pl a "m....y-----i,p" rekivel!

Az IPLog plugin

Az IPLog plugin minden belépő felhasználó IP és nick adatait eltárolja a MySQL adatbázisban, és egy nickre vagy egy IP-re visszamenőleg lehet keresni. Hasznos lehet pl egy flood után, ha szeretnénk megtudni a flooder IP-jét, vagy épp egy felhasználót keresünk, hogy mikor járt utoljára a hubon.

Parancs

leírás

!nicklog nick

Az adott nick IP naplója (mikor milyen IP-vel volt bent és lépett ki)

!iplog ip

Az adott IP naplója

!lastnick ip

Az adot IP-vel miylen nickek voltak bennt

!lastip nick

Az adott nicknek milyen IP-jei voltak

Az ISP plugin

- majd még kidolgozni -

Pl.: egy kevésbé szofisztikált HUN plefix szűrésre egy példa:

<VerliHub> !addisp 0.0.0.0-255.255.255.255 -N allhunprefix -n ^\[HUN\]|^\(HUN\)|^\[hun\]|^\(hun\)|^\[Hun\]|^\[HuN\]

<VerliHub> Successfully added: allhunprefix -- .0.0..255.255.255.255/()

DescPrefix:  NickPattern: ^\[HUN\]|^\(HUN\)|^\[hun\]|^\(hun\)|^\[Hun\]|^\[HuN\] Conn type:

Err Message: Your nick should match %[pattern]

Min/Max share [guest,reg,vip,op]: [-1/-1,-1/-1,-1/-1,-1/-1]

OK

A WordReplacer plugin

Bizonyos szavak lecserélésére szolgáló plugin, cenzúra esetleg tréfa okán.

Figyelem! A plugin meglehetősen érzékeny arra, hogy ténylegesen csak szavakat definiáljunk neki. Ha más pl.: idézőjelekbe tett space-okat is tartalmazó kifejezéseket használunk, a plugin azt a rekordot nem igazán tudja kezelni, ilyenkor közvetlen MqSQL adatbázis 'férceléssel' lehet csak a hibás rekordot törölni

!getreplacer

Az eddig bevitt rekordok listázása

<VerliHub> !getreplacer

<VerliHub> Replaced words:

anyád ---> <censored> Affected: 5

kurva ---> <censored> Affected: 5

geci ---> sperma Affected: 5

buzi ---> <censored> Affected: 5

fasz ---> <hímvessző> Affected: 5

hüje ---> <lökött> Affected: 5

hülye ---> <nemnormális> Affected: 5

OK

!addreplacer

Lecserélendő szavak felvétele. Szintaktikája:

!addreplacer <szó> <helyettesítő_szó> <to_class>

Lényegében itt a to_class paraméter szorul magyarázatra: ennél a classnál (és feljebb) már nem cseréli le a megtalált szavakat.

A LuaScript plugin

- majd még kidolgozni -

Hibakeresés

- majd még kidolgozni -

Az err file

A log file




Document Info


Accesari: 1504
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )