UnrealIRCd
http://www.unrealircd.com/
Version: 3.2.7
Last doc update: 2007-07-12
Coders: Stskeeps / codemastr / Syzop / Luke / aquanight / WolfSage
Contributors: McSkaf / Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk
Documentation: CKnight^ / Syzop
Μετάφραση: GSF - UnReaL.mirc.gr on HellenicNet
Για να μπορέσετε να δείτε αυτο το έγγραφο πρέπει να έχετε έναν συμβατό περιηγητή, όπως αυτοί που υπάρχουν παρακάτω: Τα τελευταία βοηθητικά έγγραφα βρίσκονται στο http://www.vulnscan.org/UnrealIrcd/unreal32docs.html και το FAQ στο http://www.vulnscan.org/UnrealIrcd/faq/.
Συμβατοί Περιηγητές:
INDEX / TABLE OF CONTENTS
1. Εισαγωγή και Σημειώσεις
---1.1. Σημειώσεις για αναβάθμιση/μίξη 3.1.x -> 3.2
---1.2. Σημειώσεις για αναβάθμιση μεταξώ των 3.2 εκδόσεων
2. Εγκατάσταση
3. Χαρακτηριστικά
-- 3.1. Cloaking
-- 3.2. Modules
-- 3.3. Snomasks
-- 3.4. Aliases
-- 3.5. Helpop
-- 3.6. Επίπεδα πρόσβασης διαχειριστών
-- 3.7. Εντολές διαχειριστών
-- 3.8. SSL
-- 3.9. IPv6
-- 3.10. Zip links
-- 3.11. Υποστήριξη δυναμικής σύνδεσης DNS/IP
-- 3.12. Χαρακτηριστικά Anti-flood
-- 3.13. Τύποι Ban
-- 3.14. Spamfilter
-- 3.15. CIDR
-- 3.16. Σετ χαρακτήρων Nick
-- 3.17. Υποστήριξη CGI:IRC
-- 3.18. Συγχρονισμός Ώρας
-- 3.19. Άλλα χαρακτηριστικά
4. Διαμορφώνοντας το unrealircd.conf
---4.1. Το αρχείο επιλογών αναλυτικά
---4.2. Επιλογή Me -=- (M:Line)
---4.3. Επιλογή Admin -=- (A:Line)
---4.4. Επιλογή Class -=- (Y:Line)
---4.5. Επιλογή Allow -=- (I:Line)
---4.6. Επιλογή Listen -=- (P:Line)
---4.7. Επιλογή Oper -=- (O:Line)
---4.8. Επιλογή DRpass -=-(X:Line)
---4.9. Include Directive
---4.10. Loadmodule Directive
---4.11. Επιλογή Log
---4.12. Επιλογή TLD -=- (T:Line)
---4.13. Επιλογή Ban Nick -=- (Q:Line)
---4.14. Επιλογή Ban User -=- (K:Line)
---4.15. Επιλογή Ban IP -=- (Z:Line)
---4.16. Επιλογή Ban Server -=-(q:Line)
---4.17. Επιλογή Ban Realname -=- (n:Line)
---4.18. Επιλογή Ban Version
---4.19. Επιλογή Ban Exception -=- (E:Line)
---4.20. Επιλογή TKL Exception
---4.21. Επιλογή Throttle Exception
---4.22. Επιλογή Deny DCC -=- (dccdeny.conf)
---4.23. Επιλογή Deny Version -=- (V:Line)
---4.24. Επιλογή Deny Link -=- (D:Line / d:Line)
---4.25. Επιλογή Deny Channel -=- (chrestrict.conf)
---4.26. Επιλογή Allow Channel
---4.27. Επιλογή Allow DCC
---4.28. Επιλογή Vhost -=- (vhost.conf)
---4.29. Επιλογή Badword -=- (badwords.conf)
---4.30. Επιλογή Uline -=- (U:Line)
---4.31. Επιλογή Link -=- (C/N/H:Lines)
---4.32. Επιλογή Alias
---4.33. Επιλογή Help
---4.34. Επιλογή Official Channels
---4.35. Επιλογή Spamfilter
---4.36. Επιλογή CGI:IRC
---4.37. Επιλογή Set -=- (networks/unrealircd.conf)
5. Επιπλέον αρχεία
6. Modes χρηστών & καναλιών
7. Εντολές χρηστών & διαχειριστών
8. Βοήθεια/λίστα για την ασφάλεια
---8.1. Κωδικοί
---8.2. Ευάλωτα συστήματα που δεν οφείλονται στο Ircd
---8.3. Δικαιώματα και το αρχείο επιλογών
---8.4. Προβλήματα που σχετίζονται με χρήστες
---8.5. SSL/SSH & sniffing
---8.6. Denial of Service attacks (DoS) [ή: πώς να προστατέψω τον hub μου]
---8.7. Information disclosure
---8.8. Protecting against exploits
---8.9. Summary
9. Frequently Asked Questions (FAQ)
A. Κανονικές εκφράσεις
---A.1. Literals
---A.2. Τελεστής Τελεία(.)
---A.3. Τελεστές επανάληψης
---A.4. Εκφράσεις Brackets
---A.5. Ισχυρισμοί
---A.6. Εναλακτικότητα
---A.7. Υποεκφράσεις
---A.8. Back References
---A.9. Ευαισθησία Κεφαλαίων/μικρών
Αυτό το έγγραφο έχει γραφτεί για αποκλειστική χρήση με το UnrealIRCd. Η χρήση του εγγράφου με άλλο πρόγραμμα , ή η διανομή αυτου του εγγράφου μαζι με άλλο πρόγραμμα απαγορέυεται αυστηρά χωρίς την γραπτή άδεια της ομάδας προγραμματισμού του UnrealIRCd. Αυτο το έγγραφο μπορει να αντιγραφεί/εκτυπωθεί/επαναδημιουργηθεί/εκδοθεί όσες φορές θέλετε, όσο παρέχεται για χρήση με το UnrealIRCd και δεν έχει τροποποιηθεί με κανέναν τρόπο. – Copyright UnrealIRCd Development Team 2002-2006
Παρακαλούμε διαβάστε αυτό το εγχειρίδιο πριν ζητήσετε οποιαδήποτε βοήθεια, και επισης ΣΙΓΟΥΡΑ πρέπει να ρίξετε μια ματιά και στο FAQ αφου περισσότερο απο το 80% απο τις ερωτήσεις/προβλήματα έχουν απαντηθεί εκεί. Αν συνεχίζετε να χρειάζεστε βοήθεια μπορείτε να ζητήσετε υποστήριξη στο irc.ircsystems.net (port 6667) κανάλι #unreal-support (να γνωρίζετε οτι ΑΠΑΙΤΟΥΜΕ να έχετε διαβάσει το εγχειρίδιο και το FAQ, και οτι προσφέρουεμ βοήθεια μόνο για το UnrealIRCd, όχι με τα services!). Αν έχετε βρεί κάποιο σφάλμα στο πρόγραμμα (όπως crash) τότε υποβάλετέ το στο http://bugs.unrealircd.org/.
1.1 – Σημειώσεις για αναβάθμιση/μίξη 3.1.x -> 3.2
Σε περίπτωση που αναβαθμίζετε απο το Unreal3.1.x στο Unreal3.2 θα παρατηρήσετε ότι όλο το αρχείο επιλογών έχει αλλάξει, ίσως το βρείτε δύσκολο στην αρχή, αλλα γρήγορα θα καταλάβετε ότι είναι πολυ καλύτερο!
Επίσης μήν ξεχάσετε να διαβάσετε την παράγραφο 3 που αναφέρεται στα χαρακτηριστικά, αν και σίγουρα γνωρίζετε μερικά απο αυτά που βρίσκονται στην 3.1.x υπάρχουν και αρκετά νέα χαρακτηριστικά!
Το καλύτερο είναι να μήν αναμίξετε/συνδέσετε το 3.1.x με το 3.2, αλλα αν αναγκαστικά το θέλετε, χρειάζεστε τουλάχιστον την έκδοση 3.1.4, αν και η 3.1.5.1 συστήνεται ώς η καλύτερη επιλογή.
1.2 – Σημειώσεις για αναβάθμιση μεταξύ των 3.2 εκδόσεων
Ο τρόπος που συστήνεται για την αναβάθμιση είναι:
Linux:
Windows:
Παρακαλούμε επίσης ελέγξτε τις σημειώσεις της νέας έκδοσης .RELEASE.NOTES για να δείτε τις άλλαγες που έχουν πραγματοποιηθεί.Αν παρατηρήσετε οποιαδήποτε αλλαγή (ή bugs) μεταξύ των εκδόσεων, ΣΙΓΟΥΡΕΥΤΕΙΤΕ ΟΤΙ ΔΙΑΒΑΣΑΤΕ ΠΡΩΤΑ ΤΙΣ ΣΗΜΕΙΩΣΕΙΣ ΤΗΣ ΝΕΑΣ ΕΚΔΟΣΗΣ (RELEASE NOTES) πριν το αναφέρετε ώς bug!.
Λειτουργικά συστήματα που έχουν δοκιμαστεί και υποστηρίζονται:
Αν γνωρίζετε οτι το Unreal3.2 λειτουργεί σωστά και σε άλλα λειτουργικά συστήματα, παρακαλούμε στείλτε τις λεπτομέριες στο coders@lists.unrealircd.org
Οδηγείες Εγκατάστασης
Linux:
Windows:
Μερικά απο τα πιο βασικά/ωραία χαρακτηριστικά αναλύονται σε αυτήν την παράγραφο. Παρέχει μια γενική κάτοψη, και μερικές φορές αναφέρεται στο αρχείο επιλογών (κατι που ίσως για το οποίο δεν γνωρίζετε τίποτα ακομα).
Μπορείτε να αγνοήσετε αυτήν την παράγραφο, όμως προτείνουμε ανεπιφύλακτα να την διαβάσετε πρίν/μετά απο την εγκατάσταση γιατι αλλιώς δεν θα μπορέσετε να καταλάβετε ιδέες όπως cloaking','snomasks',κτλπ.
Το Cloaking είναι ένας τρόπος για να αποκρύψετε την πραγματική διέυθυνση των χρηστών, για παράδειγμα αν η διεύθυνση είναι d5142341.cable.wanadoo.nl, θα φαίνεται (στα join, part, whois, κτλ) ως rox-2DCA3201.cable.wanadoo.nl. Αυτο το χαρακτηριστικό είναι χρήσιμο στο να αποτρέψει τους χρήστες απο flooding μεταξύ τους αφου δεν μπορούν να δούν την αληθινή διεύθυνση/IP.
Αυτο ορίζεται απο το usermode +x (π.χ: /mode yournick +x), οι admins μπορούν επίσης να επιβάλουν το +x να είναι ενεργοποιημένο εξαρχής, η να το ορίσουν έτσι ώστε οι χρήστες να μην μπορούν ποτε να κάνουν -x.
Μια
καλυμένη διέυθυνση(cloaked host) παράγεται απο ένα cloaking module
(είστε υποχρεωμένοι να έχετε φορτώσει ένα), αυτην την στιγμή μόνο ένα
επίσημο module είναι διαθέσιμο:
cloak: Αυτό είναι το
νέο επίσημο cloaking module απο το 3.2.1 το οποίο είναι πολυ πιο
ασφαλές απο τον παλιότερο αλγόριθμο, χρησιμοποιεί md5 εσωτερικώς και
απαιτεί να έχετε τρία set::cloak-keys:: που αποτελούνται απο ανάμικτους
μικρούς (a-z), κεφαλαίους (A-Z) και αριθμούς (0-9) χαρακτήρες [π.χ:
"AopAS6WQH2Os6hfosh4SFJHs"]. Δείτε το example.conf για ένα παράδειγμα.
Τα κλειδιά κάλυψης (Cloak keys) ΕΠΙΒΑΛΕΤΑΙ να είναι ίδια σε όλους τους SERVERS σε ένα δύκτιο. Επίσης τα κλειδιά κάλυψης (cloak keys) πρέπει να διατηρούνται μυστικά γιατι είναι πιθανόν να αποκαλυφθεί η αληθινή διεύθυνση αν κάποιος γνωρίζει τα κλειδιά (κατι το οποίο καθιστά το umode +x άχρηστο).
Το UnrealIRCd υποστιρίζει modules τα οποία είναι ωραία γιατί:
- Μπορείτε να τα φορτώσετε/ξαναφορτώσετε/ξεφορτώσετε/ καθώς το ircd
τρέχει (με την εντολή /rehash). Αυτό επιτρέπει μερικά bugs να φτιαχτούν
η νέα χαρακτηριστικά να προσθεθούν χωρίς να χρειάζεται επανακίνηση!
- ’λλα άτομα μπορούν να δημιουργήσουν (3rd party) modules με νέες εντολές, mode χρηστών ακόμα και mode καναλιών.
Το UnrealIRCd περιέχει μόνο λίγα modules. Ρίξτε μια ματιά στο
www.unrealircd.com -> modules ή χρησιμοποιήστε την μηχανή αναζήτησης
google για να βρείτε 3rd party modules.
Πρέπει να έχετε φορτώσει τουλάχιστον δύο modules αλλιώς δεν θα μπορείτε να ξεκινήσετε!:
- το module εντολών: commands.so (commands.dll στα windows)
- ένα module κάλυψης: συνήθως cloak.so (cloak.dll στα windows).
Τα Snomasks είναι είναι μάσκες παρατηρήσεων των server, είναι ένας ειδικός τύπος mode χρηστών το οποίο ελέγχει ποιές παρατηρήσεις θα δέχεστε (περισσότερο χρησιμοποιείται απο διαχειριστές)
Μπορεί να οριστεί με την εντολή: /mode yournick +s SNOMASK, για παράδειγμα: /mode yournick +s +cF
Ψια να αφαιρέσετε συγκεκριμένα snomasks, χρησιμοποιήστε κατι σαν: /mode yournick +s -c
Η μπορείτε να αφαιρέσετε όλα τα snomasks απλώς γράφοντας: /mode yournick -s
Τα διαθέσιμα snomasks είναι:
c - τοπικές συνδέσεις
F - συνδέσεις άλλων server (εκτώς απο U-lined servers)
f - ειδοποιήσεις για flood
k - ειδοποιήσεις για kill [*]
e - ειδοποιήσεις 'eyes'
j - ειδοποιήσεις 'junk'
v - ειδοποιήσεις vhost
G - ειδοποιήσεις gline/shun
n - ειδοποιήσεις τοπικών αλλαγών nick
N - ειδοποιήσεις απόμακρων αλλαγών nick
q - ειδοποιήσεις απόρριψης nick (Q:line)
s - ειδοποιήσεις server [*]
S - ειδοποιήσεις spamfilter
o - ειδοποιήσεις oper-up
[*: αυτο το snomask είναι επίσης διαθέσιμο στους μή-διαχειριστές]
Μπορείτε να διαλέξετε ποια snomasks θα δέχεστε αυτόματα όταν συνδέεστε (set::snomask-on-connect) και ποια θα δέχεστε όταν θα λαμβάνετε δικαιώματα διαχειρηστή (set::snomask-on-oper, oper::snomask)
Με τις αρχικές επιλογές, άν ένας χρήστης απλώς ορίζει το mode +s, συγκεκριμένα snomasks ορίζονται. Ψια τους μή-διαχειρηστές, τα snomasks +ks, και για τους διαχειριστές, τα snomasks +kscfvGqo.
Με τις συντομεύσεις (Aliases) μπορείτε να σετάρετε server-side εντολές συντομεύσης. Μπορείτε για παράδειγμα να κάνετε το "/ns identify blah" να προωθείται στον nickserv (θα μεταφραστεί σε: privmsg nickserv identify blah). Μπορείτε ακόμα να δημιουργήσετε πιο πολύπλοκες συντομεύσεις όπως το /register να προωθείται στον ChanServ μόνο αν το πρώτο όρισμα αρχίζει με # αλλιώς να προωθείται στον NickServ.
Οι συντομεύσεις (Aliases) ορίζονται με την επιλογή alias blocks στο αρχείο επιλογών, και μπορείτε επίσης να συμπεριλάβετε ένα αρχείο με αρχικές συντομεύσεις για τις υπηρεσίες που χρησιμοποιούνται συχνότερα.
Το
UnrealIRCd έχει ένα ενσωματωμένο σύστημα βοήθειας προσβάσιμο με την
εντολή /helpop. Η εντολή /helpop είναι πλήρως διαμορφώσιμη απο τον
χρήστη μέσω του της επιλογής help στο αρχείο επιλογών. Επιπλέον,
συμπεριλαμβάνεται και το αρχειο help.conf το οποίο περιέχει μερικές απο
τις βασικές εντολές βοήθειας για όλες τις εντολές.
Ψια παράδειγμα η εντολή /helpop chmodes δίνει μια κάτοψη για όλα τα mode των καναλιών που έχει το UnrealIRCd.
Θυμηθείτε ότι αν είστε διαχειρηστής (helpop) θα πρέπει να εισάγετε στο
όρισμα ώς πρόθεμα τον χαρακτήρα '?', έτσι ώστε το /helpop να γίνει /helpop ? και το /helpop chmodes μετατρέπεται σε /helpop ?chmodes κτλ..
3.6 – Επίπεδα Πρόσβασης Διαχειριστών
Υπάρχουν αρκετά επίπεδα πρόσβασης διαχειριστών στο UnrealIRCd και μπορείτε να προσθέσετε επιπλέον δικαιώματα (όπως η χρήση της εντολής /gline) σε καθένα απο αυτά, έτσι ώστε με αυτόν τον τρόπο μπορείτε να δώσετε στον κάθε διαχειριστή τα προνόμια που χρειάζονται.
Αυτό ορίζεται απο τους ενδείκτες διαχειριστών στην επιλογή oper, ελέγξτε την επιλογή oper για περισσότερες πληφοροριές.
Το UnrealIRCd έχει πολλές ισχυρές εντολές διαχειριστών που εξηγούνται με λεπτομέριες στο Εντολές Χρηστών και Διαχειριστών, πιθανότατα θέλετε να το διαβάσετε μετά την εγκατάσταση :).
Τα αρχικά SSL δηλώνουν Secure Socket Layer, με το SSL μπορείτε να δημιουργήσετε ασφαλείς κρυπτογραφημένες συνδέσεις. Μπορεί να χρησιμοποιηθεί για να κρυπτογραφήσετε δεδομένα μεταξύ server<->server, αλλα και τα δεδομένα client<->server μπορούν επίσης να κρυπτογραφηθούν. Συνήθως χρησιμοποιείτε το SSL για να προστατευθείτε εναντίον του sniffing και για αναγνώριση.
Πρέπει να έχετε κάνει τον IRC server compile με υποστίριξη SSL. Ψια να ορίσετε μια port ως SSL πρέπει να το ορίσετε στο listen::options::ssl.
Δεν μπορείτε να συνδεθείτε κανονικά σε μια SSL port (γιαυτό μήν κάνετε την port 6667 ssl!), χρειάζεστε ένα πρόγραμμα που είναι γραμμένο να αντιλαμβάνεται το προτόκολο του SSL.
Προγράμματα που υποστιρίζουν SSL: XChat, irssi, mIRC (6.14 και πάνω, επίσης χρειάζονται μερικά ακόμα βήματα)
Ψια προγράμματα που δεν υποστιρίζουν SSL μπορείτε να χρησιμοποιήσετε ένα tunnel όπως το stunnel, εδώ είναι ένα αρχείο επιλογών stunnel.conf για παράδειγμα (για το stunnel 4.x):
client = yes
[irc]
accept = 127.0.0.1:6667
connect = irc.myserv.com:6697
Αν τότε συνδεθείτε στο 127.0.0.1 στο port 6667, τα δεδομένα σας θα κρυπτογραφούνται και θα προωθούνται στο irc.myserv.com στο port 6697 (ένα SSL port).
Επίσης θα πρέπει να επικυρώσετε τα πιστοποιητικά όταν συνδέεστε σε servers και να μην τους δέχεστε τυφλά (όπως στο παράδειγμα του stunnel) αλλιώς θα είστε ακόμα ευάλωτος σε επιθέσεις "active sniffing" (ssl redirects), αυτό όμως είναι πολυ άσχετο για να αναλυθεί εδώ (μάθετε για το SSL, μην ρωτήσετε εμάς). [το mIRC και το xchat βγάζουν μήνυμα σε παράθυρο ζητώντας να επιτρέψετε/απορρίψετε το πιστοποιητικό, κατι που είναι καλο].
Το UnrealIRCd υποστηρίζει IPv6, αφού η έκδοση beta15 φαίνεται πως είναι σταθερή.
Το Λειτουργικό σύστημα σας πρέπει να υποστηρίζει IPv6 και πρέπει να
ενεργοποιήσετε την υποστήριξη του IPv6 στο UnrealIRCd κατα την διάρκεια
του ./Config επίσης.
Αν και η microsoft έχει εκδόσει μια δοκιμαστική έκδοση του IPv6 για εφαρμογή στα w2k/XP δεν υποστιρίζεται (ακόμα) απο το UnrealIRCd.
Τα Zip links μπορούν να ενεργοποιηθούν για τις συνδέσεις μεταξύ server<->server, συμπιέζει τα δεδομένα χρησιμοποιόντας το zlib. Μπορεί να σώσει 60-80% bandwidth... Οπότε είναι πολύ καλο για συνδέσεις με χαμηλό bandwidth η συνδέσεις με πολλούς χρήστες, μπορει να βοηθήσει πολύ όταν συνδέεστε αφου πολλά δεδομένα στέλνονται για κάθε χρήστη/κανάλι/κτλ.
Ψια να κάνετε compile με υποστίριξη για zip links, πρέπει να απαντήσετε Ναι στην ερώτηση για το zlib στο ./Config και να ορίσετε το link::options::zip (και στις δύο μεριές)
3.11 – Υποστήριξη δυναμικής σύνδεσης DNS/IP
Το UnrealIRCd έχει μερικά (νέα) ωραία χαρακτηριστικά που βοηθούν τους χρήστες με δυναμική IP που χρησιμοποιούν δυναμικό DNS (όπως blah.dyndns.org). Αν συνδέετε δύο δυναμικές DNS διευθήνσεις , τότε ορίστε τα: link::options::nodnscache και link::options::nohostcheck.
3.12 – Χαρακτηριστικά Anti-Flood
Throttling
Το Throttling είναι μια μέθοδος η οποία σας επιτρέπει να περιορίσετε το
πόσο γρήγορα κάποιος χρήστης μπορεί να αποσυνδεθεί και να ξανασυνδεθεί
στον server. Μπορείτε να το ρυθμίσετε με την επιλογή set::throttle για να επιτρέψετε X συνδέσεις σε YY δευτερόλεπτα απο την ίδια IP.
ModeΚαναλιών
Υπάρχουν ακόμα μερικά modes καναλιών τα οποία μπορεί να είναι αρκετά αποτελεσματικά απέναντι σε floods. Ψια παράδειγμα:
K = όχι εντολή /knock, N = όχι αλλαγές nick, C = όχι CTCPs, M = μόνο καταχωρημένοι χρήστες μπορούν να μιλήσουν, j = έλεγχος πολλαπλών join (για κάθε χρήστη)
.
Απο την beta18 υπάρχει το πολύ προχωρημένο mode καναλιών +f...
Mode Καναλιών f
Αντι να χρησιμοποιείτε scripts και bots για να προστατευτείτε απέναντι σε flood καναλιών είναι τώρα ενσωματωμένο στο ircd.
Ένα παράδειγμα για το +f mode είναι: *** Blah sets mode: +f [10j]:15
Αυτο σημαίνει οτι 10 joins κάθε 15 δευτερόλεπτα επιτρέπονται στο
κανάλι, αν το όριο έχει εξαντληθεί, το κανάλι θα γίνει +i αυτόματα.
Οι επόμενοι τύποι flood είναι διαθέσημοι:
| type: |
name: |
default action: |
other avail. actions: |
comments |
| c |
CTCPs |
auto +C |
m, M |
|
| j |
joins |
auto +i |
R |
|
| k |
knocks |
auto +K |
(μετράει τους τοπικούς χρήστες μόνο) |
|
| m |
messages/notices |
auto +m |
M |
|
| n |
nickchanges |
auto +N |
||
| t |
text |
kick |
B |
Μηνύματα/ειδοποιήσεις για κάθε χρήστη, όπως το παλίο +f. Θα κάνει kick ή ban στον χρήστη. |
Παράδειγμα:
*** ChanOp sets mode: +f [20j,50m,7n]:15
<ChanOp> lalala
*** Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
*** Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
*** Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
*** Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test
-- snip XX lines --
*** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test
-server1.test.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), putting +i
*** server1.test.net sets mode: +i
<Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
<Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
-- snip XX lines --
-server1.test.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m
*** server1.test.net sets mode: +m
*** Evil1 is now known as Hmmm1
*** Evil2 is now known as Hmmm2
*** Evil3 is now known as Hmmm3
*** Evil4 is now known as Hmmm4
*** Evil5 is now known as Hmmm5
*** Evil6 is now known as Hmmm6
*** Evil7 is now known as Hmmm7
*** Evil8 is now known as Hmmm8
-server1.test.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N
*** server1.test.net sets mode: +N
Για την ακρίβεια, μπορεί να γίνει αρκετά πιο προχωρημένο/μπερδεμένο:
Αντι για την αρχικά επιλεγμένη ενέργεια, μπορείτε για μερικούς τύπους flood να ορίσετε κάποια άλλη, για παράδειγμα: +f [20j#R,50m#M]:15
Αυτό θα ρυθμίσει το κανάλι +R αν το όριο join έχει εξαντληθεί (>20
joins σε 15 δευτερόλεπτα), και θα ρυθμίσει το κανάλι +M αν το όριο
μηνυμάτων έχει εξαντληθεί (>50 μηνύματα σε 15 δευτερόλεπτα).
Υπάρχει ακόμα ένα "αφαίρεση mode μετα απο X λεπτα" χαρακτηριστικό: +f [20j#R5]:15 θα ρυθμίσει το κανάλι +R αν το όριο έχει εξαντληθεί και θα ρυθμίσει το κανάλι -R μετά απο 5 λεπτα.
Ένας server μπορεί να έχει αρχική επιλογή unsettime (set::modef-default-unsettime), οπότε αν γράψετε +f [20j]:15 θα μετατραπεί σε +f [20j#i10]:15,
είναι το αρχικό, μπορείτε ακόμα να ορίσετε [20j#i2]:15 η κάτι παρόμοιο,
και μπορείτε επίσης να απενεργοποιήσετε την αφαίρεση mode καναλιού
εντελώς κάνοντας +f [20j#i0]:15 (ένα explicit 0).
Το
παλιό +f mode (flood μηνυμάτων για κάθε χρήστη) είναι επίσης διαθέσιμο
ως 't', +f 10:6 τώρα ονομάζεται +f [10t]:6 και +f *20:10 είναι τώρα +f
[20t#b]:10. Τώρα το ircd θα μετατρέπει αυτόματα τους παλιούς +f mode
τύπους σε άλλους νέους. Σημειώστε ότι δεν υπάρχει unsettime
χαρακτηριστικό διαθέσιμο για τα 't' bans ([20t#b30]:15 δεν λειτουργεί).
Ποιό είναι το καλύτερο +f mode εξαρτάται πάρα πολύ απο το κανάλι...
πόσους χρήστες έχει? Έχετε κάποιο παιχνίδι που αναγκάζει τους χρήστες
να στέλνουν πολλά μηνύματα (π.χ: trivia) ή οι χρήστες συχνά
χρησιμοποιούν popups? Είναι κάποιο είδος κεντρικού καναλιού ή εχει
οριστεί για αυτόματο join? κτλ..
Δεν υπάρχει το τέλειο mode +f που είναι καλο για όλα τα κανάλια, αλλα
για να πάρετε μιά ιδέα ρίξτε μια ματιά στο παρακάτω παράδειγμα και
τροποποιήστε το για να ικανοποιεί τις ανάγκες σας:
+f [30j#i10,40m#m10,7c#C15,10n#N15,30k#K10]:15
30 joins σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +i για 10 λεπτά
40 messages σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +m για 10 λεπτά
7 ctcps σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +C για 15 λεπτά
10 nickchanges σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +N για 15 λεπτά
30 knocks σε 15 δευτερόλεπτα, αν το όριο εξαντληθεί ρύθμίζει το κανάλι +K για 10 λεπτά
Αν είναι κάποιο είδος μεγάλου καναλιού (>75 χρήστες?) θα πρέπει να
μεγαλώσετε την ευαισθησία των join (σε π.χ: 50) και το όριο μηνυμάτων
επίσης (σε π.χ: 60 ή 75).
Συγκεκριμένα ο χρόνος της αφαίρεσης mode είναι θέμα προσωπικής άποψης..
πρέπει να σκεφτείτε σαν.. τι θα γινόταν αν κανένας διαχειριστής δεν
ήταν διαθέσιμος για να αντιμετωπίσει την κατάσταση, θα ήθελα να
κλειδώσω το κανάλι για π.χ 15 λεπτά (=όχι καλό για τους χρήστες) ή 5
λεπτά (=ίσως ο flooder θα περιμένει 5 λεπτά και θα κάνει flood ξανά).
Ακόμα εξαρτάται απο τον τύπο του flood, οι χρήστες που αδυνατούν να
κάνουν join (+i) η να μιλήσουν (+m) είναι χειρότερο απο το να τους
αναγκάσετε να μην μπορούν να αλλάξουν το nick τους (+N) η να στείλουν
ctcps στο κανάλι (+C) οπότε ίσως να θέλετε να χρησιμοποιήσετε
διαφορετικούς χρόνους αφαίρεσης.
Mode καναλιού j
Το mode +f συμπεριλαμβάνει ένα χαρακτηριστικό για να αποτρέπει τα join floods, όμως αυτό το χαρακτηριστικό
είναι "ολικό." Για παράδειγμα, άν οριστεί σε 5:10 και 5 διαφορετικοί
χρήστες εισέλθουν σε 10 δευτερόλεπτα, η προστασία του flood
ενεργοποιείται. Το mode καναλιού +j είναι διαφορετικό. Αυτο το mode
λειτουργεί ξεχωριστά για κάθε χρήστη. Αντι να προστατεύει εναντίον των
join floods, είναι σχεδιασμένο για να προστατεύει εναντίον join-part
floods (revolving door floods). Αυτό το mode δέχεται μια παράμετρο της
μορφής X:Y όπου X είναι ο αριθμός των joins και Y ο αριθμός των
δευτερολέπτων. Αν ένας χρήστης υπερβεί αυτό το όριο, αυτός/αυτή θα
αποτραπεί απτο να εισέλθει ξανά στο κανάλι.
Βασικοί τύποι ban και cloaked hosts
Το UnrealIRCd υποστιρίζει τους βασικούς τύπους ban όπως +b nick!user@host.
Επίσης, άν μια κρυπτογραφημένη διεύθυνση είναι π.χ
'rox-ACB17294.isp.com' και ορίζετε ένα ban στο
*!*@rox-ACB17294.isp.com, τότε αν ο χρήστης θέσει στον εαυτό του -x
(και αυτή η διεύθυνση γίνει για παράδειγμα 'dial-123.isp.com) τότε το
ban θα υφίσταται ακόμα. Τα Bans πάντα ελέγχονται και με τις αληθινές
διευθύνσεις ΚΑΙ με τις κρυπτογραφημένες διευθύνσεις.
Τα IP ban είναι επίσης διαθέσημα ώς (π.χ: *!*@128.*) και ελέγχονται πάντα.
Τα Ban σε κρυπτογραφημένες IP διευθύνσεις απαιτούν κάποια επεξήγηση:
Αν ένας χρήστης έχει την διεύθυνση 1.2.3.4 τότε η κρυπτογραφημένη του διεύθυνση θα είναι 341C6CEC.8FC6128B.303AEBC6.IP.
Αν κάνετε ban *!*@341C6CEC.8FC6128B.303AEBC6.IP τότε κάνετε ban το *!*@1.2.3.4 (προφανές...)
Αν κάνετε ban *!*@*.8FC6128B.303AEBC6.IP τότε κάνετε ban το *!*@1.2.3.*
Αν κάνετε ban *!*@*.303AEBC6.IP τότε κάνετε ban το *!*@1.2.*
Αυτές οι πληροφορίες μπορούν να είναι χρήσιμες για να αποφασίσετε πόσο ευρύ το ban πρέπει να είναι.
Extended τύποι ban
Extended ban είναι κάπως έτσι: ~[!]<type>:<stuff>. Αυτήν την στιγμή οι επόμενοι τύποι είναι διαθέσημοι:
| τύπος: |
όνομα |
περιγραφή: |
| ~q |
ύσηχο |
Χρήστες που ταιριάζουν αυτά τα ban μπορούν να εισέλθουν στο κανάλι αλλά δεν μπορούν να μιλήσουν, εκτώς και αν έχουν mode +v και πάνω. π.χ: ~q:*!*@blah.blah.com |
| ~n |
αλλαγές nick |
Άτομα που ταιριάζουν με αυτά τα ban δεν μπορούν να αλλάξουν nick, εκτώς και αν έχουν mode +v και πάνω. π.χ: ~n:*!*@*.aol.com |
| ~c |
[πρόθεμα]κανάλι |
Αν
ο χρήστης βρίσκεται σε αυτό το κανάλι τότε δεν μπορεί να εισέλθει.Ένα
πρόθεμα μπορεί επίσης να οριστεί (+/%/@/&/~) που σημαίνει οτι
θα ταιριάξει μόνο αν ο χρήστης έχει τα συγκεκριμένα δικαιώματα η
μεγαλύτερα στο συγκεκριμένο κανάλι. |
| ~r |
realname |
Αν το πραγματικό όνομα ενός χρήστη ταιριάζει με αυτό τότε αυτός/αυτή δεν μπορεί να εισέλθει. |
Αυτοί οι τύποι ban υποστιρίζονται επίσης στην λίστα εξαίρεσης καναλιών (+e).
Τα Modules μπορούν επίσης να προσθέσουν και άλλους τύπους Extended bans.
Το Spamfilter είναι ένα νέο σύστημα καταπολέμησης της ενοχλητικής διαφήμισης, του spam, των ιών και άλλων πραγμάτων. Λειτουργεί περίπου όπως το σύστημα κακών λέξεων αλλα έχει πολλά πλεονεκτήματα.
Τα Spamfilters προστίθενται με την εντολή /spamfilter που χρησιμοποιεί την παρακάτω σύνταξη:
/spamfilter [add|del|remove|+|-] [τύπος] [ενέργεια] [διάρκεια] [λόγος] [regex]
| [τύπος] |
ορίζει τον τύπο στόχου:
Μπορείτε να ορίσετε πολλαπλούς στόχους, όπως: cpNn |
|||||||||||||||||||||||||||||||||
| [ενέργεια] |
ορίζει την ενέργεια που θα γίνει (μόνο μια ενέργεια μπορεί να οριστεί)
|
|||||||||||||||||||||||||||||||||
| [διάρκεια] |
Η διάρκεια της *line/shun που προστίθεται απο το filter, χρησιμοποιείστε '-' για να δεχτεί το αρχικό η για να το αγνοήσει (π.χ: αν η ενέργεια = 'block') |
|||||||||||||||||||||||||||||||||
| [λόγος] |
Ο λόγος της παρεμπόδισης/*line/shun.. ΔΕΝ μπορείτε να χρησιμοποιήσετε κενά, αλλά τα underscores ('_') θα μεταφραστούν σε κενά την ώρα της εκτέλεσης. Και τα διπλά underscore ('__') δίνουν ένα underscore ('_'). Πάλι, χρησιμοποιείστε '-' για να δεχτεί τον αρχικό λόγο. |
|||||||||||||||||||||||||||||||||
| [regex] |
Αυτό είναι το πραγματικό regex ή 'κακή λέξη' για την οποία πρέπει να παρεμποδίσουμε το μήνυμα ή στην οποία θα πραγματοποιηθεί η ορισμένη ενέργεια |
Εδώ είναι ένα παράδειγμα: /spamfilter add pc gline - - Come watch me on my webcam
Αν η πρόταση come watch me on my webcam
βρεθεί είτε σε ένα προσωπικό μήνυμα είτε σε μήνυμα καναλιού τότε το
μήνυμα θα μπλοκαριστεί και μια gline θα προστεθεί κατευθείαν.
Άλλο παράδειγμα: /spamfilter add pc block - - come to irc\..+\..+
Αυτό είναι ένα regex που θα ταιριάξει με το Hi, come to irc.blah.net κτλ....
Και ένα παράδειγμα με ορισμένη διάρκεια/λόγο:
/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam
Αν η πρόταση come watch me on my webcam βρεθεί σε ένα προσωπικό μήνυμα τότε ο χρήστης γίνεται gline για 3 ώρες με τον λόγο Please go to www.viruscan.xx/nicepage/virus=blah.
Τα Spamfilters που προστίθονται με το /spamfilter είναι ολικής
εμβέλειας. Λειτουργούν αγνωόντας αν ο χρήστης ή το κανάλι έχει ορισμένο
mode +G, μόνο οι διαχειριστές και οι ulines (υπηρεσίες) εξαιρούνται απο
το filtering.
Μπορείτε
επίσης να προσθέσετε spamfilters στο αρχείο επιλογών αλλα αυτές θα
είναι τοπικά spamfilters (όχι ολικής εμβέλειας, αν και μπορείτε να
χρησιμοποιήσετε πεδία απομακρυσμένης πρόσβασης για αυτό). Η σύνταξη
αυτών των spamfilter { } επιλογών επεξηγούνται εδώ
Παράδειγμα:
spamfilter {
regex "//write \$decode\(.+\|.+load -rs";
target { private; channel; };
reason "Generic $decode exploit";
action block;
};
Το set::spamfilter::ban-time σας επιτρέπει να επεξεργαστείτε την αρχική διάρκεια για τις *lines/shuns που προστίθενται απο το spamfilter (αρχικό: 1 μέρα)
Το set::spamfilter::ban-reason σας επιτρέπει να ορίσετε έναν προεπιλεγμένο λόγο (αρχικό: 'Spam/advertising')
Το set::spamfilter::virus-help-channel σας επιτρέπει να ορίσετε το κανάλι στο οποίο θα εισέρχονται οι χρήστες με την ενέργεια 'viruschan' (αρχικό: #help)
Το set::spamfilter::virus-help-channel-deny σας επιτρέπει να εμποδίσετε κάθε κανονικό είσοδο στο virus-help-channel (αρχικό: no)
Το UnrealIRCd τώρα υποστιρίζει το CIDR (Classless Interdomain Routing). Το CIDR σας επιτρέπει να κάνετε ban σειρές IP. Οι διευθύνσεις IP καθορίζονται στις εταιρίες παροχής υπηρεσιών internet (ISPs) χρησιμοποιόντας το CIDR, οπότε, το να είναι δυνατόν να οριστεί ένα ban βασισμένο στο CIDR σας επιτρέπει να κάνετε ban μια εταιρία ISP. Το Unreal υποστιρίζει CIDR για IPv4 αλλα και για IPv6. Οι μάσκες CIDR μπορούν να χρησιμοποιηθούν στα allow::ip, oper::from::userhost, ban user::mask, ban ip::mask, except ban::mask, except throttle::mask, και except tkl::mask (για gzline, gline, και shun). Επιπλέον, το CIDR μπορει να χρησιμοποιηθεί σε εντολές όπως /kline, /gline, /zline, /gzline, και /shun. Το Unreal χρησιμοποιεί το αρχικό συντακτικό των IP/bits, π.χ., 127.0.0.0/8 (δέχεται 127.0.0.0 - 127.255.255.255), και fe80:0:0:123::/64 (δέχεται fe80:0:0:123:0:0:0:0 - fe80:0:0:123:ffff:ffff:ffff:ffff).
Το
UnrealIRCd τώρα έχει την ικανότητα να ορίσετε ποιά σετ
χαρακτήρων/γλωσσών μπορούν να επιτραπούν στα nicknames. Μπορείτε να το
ορίσετε αυτό στο set::allowed-nickchars.
Ένας πίνακας με όλες τις πιθανές επιλογές:
| Όνομα: | Περιγραφή: | Σετ χαρακτήρων/κωδικοποίηση: |
| catalan | Χαρακτήρες Καταλανικών | iso8859-1 (latin1) |
| danish | Χαρακτήρες Δανέζικων | iso8859-1 (latin1) |
| dutch | Χαρακτήρες Ολλανδικών | iso8859-1 (latin1) |
| french | Χαρακτήρες Γαλλικών | iso8859-1 (latin1) |
| german | Χαρακτήρες Γερμανικών | iso8859-1 (latin1) |
| swiss-german | Χαρακτήρες Ελβετο-Γερμανικών (no es-zett) | iso8859-1 (latin1) |
| icelandic | Χαρακτήρες Ισλανδικών | iso8859-1 (latin1) |
| italian | Χαρακτήρες Ιταλικών | iso8859-1 (latin1) |
| spanish | Χαρακτήρες Ισπανικών | iso8859-1 (latin1) |
| swedish | Χαρακτήρες Σουηδικών | iso8859-1 (latin1) |
| latin1 | catalan, danish, dutch, french, german, swiss-german, spanish, icelandic, italian, swedish | iso8859-1 (latin1) |
| hungarian | Χαρακτήρες Ουγγρικών | iso8859-2 (latin2), windows-1250 |
| polish | Χαρακτήρες Πολωνικών | iso8859-2 (latin2) |
| romanian | Χαρακτήρες Ρουμάνικων | iso8859-2 (latin2), windows-1250, iso8859-16 |
| latin2 | Ουγγρικά, Πολωνικά, Ρουμάνικα | iso8859-2 (latin2) |
| polish-w1250 | Χαρακτήρες Πολωνικών, windows variant (unfortunately more common than iso) | windows-1250 |
| slovak-w1250 | Χαρακτήρες Σλοβακικών, windows variant | windows-1250 |
| czech-w1250 | Χαρακτήρες Τσέχικων, windows variant | windows-1250 |
| windows-1250 | polish-w1250, slovak-w1250, czech-w1250, hungarian, romanian | windows-1250 |
| greek | Χαρακτήρες Ελληνικών | iso8859-7 |
| turkish | Χαρακτήρες Τούρκικων | iso8859-9 |
| russian-w1251 | Χαρακτήρες Ρωσσικών | windows-1251 |
| belarussian-w1251 | Χαρακτήρες Belarussian | windows-1251 |
| ukrainian-w1251 | Χαρακτήρες Ουκρανικών | windows-1251 |
| windows-1251 | russian-w1251, belarussian-w1251, ukrainian-w1251 | windows-1251 |
| hebrew | Χαρακτήρες Εβραϊκών | iso8859-8-I/windows-1255 |
| chinese-simp | Απλοποιοημένα Κινέζικα | Multibyte: GBK/GB2312 |
| chinese-trad | Παραδοσιακά Κινέζικα | Multibyte: GBK |
| chinese-ja | Γιαπωνέζικα Hiragana/Pinyin | Multibyte: GBK |
| chinese | chinese-* | Multibyte: GBK |
| gbk | chinese-* | Multibyte: GBK |
ΣΗΜΕΙΩΣΗ 1: Παρακαλώ σημειώστε οτι μερικοί συνδιασμοί μπορούν να προκαλέσουν προβλήματα. Για παράδειγμα, ο συνδιασμός latin* και chinese-* δεν μπορει να ελεγθεί σωστά απο το IRCd και το Unreal θα εμφανίσει ένα μήνυμα λάθους. Ο Συνδιασμός άλλων σετ χαρακτήρων μπορεί επίσης να προκαλέσει προβλήματα στην εμφάνιση, έτσι το Unreal θα εμφανίσει μια προειδοποίηση αν προσπαθήσετε να συνδιάσετε latin1/latin2/greek/άλλα μη συμβατά σύνολα.
ΣΗΜΕΙΩΣΗ 2: Το Casemapping (αν ένας συγκεκριμένος μικρός χαρακτήρας ανήκει σε έναν κεφαλαίο) γίνεται σύμφωνα με το US-ASCII, αυτό σημαίνει ότι το o" και το O" δέν αναγνωρίζονται ώς 'ο ίδιος χαρακτήρας' και γιαυτό μπορεί κάποιος να έχει ένα nick με B"ar και κάποιος άλλος BA"r την ίδια στιγμή. Αυτό είναι ένας περιορισμός του συστήματος και των κανόνων του IRCd που δεν μπορούν να λυθούν σε σύντομο χρονικό διάστημα. Ο Κόσμος πρέπει να γνωρίζει αυτούς τους περιορισμούς. Σημείωση ότι αυτός ο περιορισμός εφαρμόζεται και στα κανάλια, στα οποία σχεδόν όλοι οι χαρακτήρες επιτρέπονταν πάντα και το US-ASCII casemapping εφαρμοζόταν πάντα.
ΣΗΜΕΙΩΣΗ 3: Οι βασικοί χαρακτήρες nick (a-z A-Z 0-9 [ \ ] ^ _ - { | }) επιτρέπονται/συμπεριλαμβάνονται πάντα.
set { allowed-nickchars { latin1; }; };
Παράδειγμα 2, αν έχετε περισσότερο κινέζους χρήστες και θέλετε να επιτρέψετε "κανονικούς" κινέζικους χαρακτήρες:set { allowed-nickchars { chinese-simp; chinese-trad; }; };
Το UnrealIRCd υποστιρίζει τις κρυπτογραφημένες διευθύνσεις CGI:IRC, που σημαίνει οτι μπορείτε να σημειώσετε συγκεκριμένους διαύλους επικοινωνίας CGI:IRC ώς "εμπιστευόμενες" που θα αναγκάσει το IRCd να εμφανίσει την πραγματική διεύθυνση του χρήστη παντού στο IRC, αντι για την διεύθυνση του διαύλου επικοινωνίας CGI:IRC.
Δείτε επίσης Επιλογή cgiirc για πληροφορίες στο πώς να το προγραμματίσετε.
Το να υπάρχει σωστή ώρα στο σύστημα είναι πολύ σημαντικό για τους διακομιστές IRC. Χωρίς σωστή ώρα, τα κανάλια μπορούν να αποσυγχρονιστούν, αθώοι χρήστες να αποσυνδεθούν, τα κανάλια ίσως δεν εμφανιστούν σωστά στην εντολή /LIST, με λίγα λόγια: τεράστιο πρόβλημα θα δημιουργηθεί.
Το UnrealIRCd έχει ενσωματωμένη κάποια υποστίριξη για τον συγχρονισμό της ώρας. Αν και αυτή δεν είναι η ιδανική(η ώρα μπορεί να είναι ακόμα λανθασμένη κατα μερικά δευτερόλεπτα), θα ξεφορτωθεί τις περισσότερες διαφορές ώρας. Αν μπορείτε, συνηστάται ακόμα να χρησιμοποιείσετε προγράμματα συγχρονισμού ώρας όπως το ntpd στο *NIX ή την υπηρεσία συγχρονισμού της ώρας στα Windows (σε αυτήν την περίπτωση, μπορείτε να κλείσετε τον συγχρονισμό ώρας του Unreal, περισσότερα γιαυτό παρακάτω).
Αυτό που κάνει το UnrealIRCd (ώς αρχική επιλογή) είναι να κάνει μια μοναδική προσπάθεια συγχρονισμού την ώρα που φορτώνει. Στέλνει (ώς αρχική επιλογή) μια αίτηση σε πολλαπλούς διακομιστές συγχρονισμού και όταν δεχτεί την πρώτη (γρηγορότερη) απάντηση, θα προσαρμόσει το εσωτερικό ρολόι του ircd (ΟΧΙ το ρολόι του συστήματος). Αν, για κάποιον λόγο, το Unreal δεν δεχτεί κάποια απάντηση απο κάποιον διακομιστή μέσα σε 3 δευτερόλεπτα, το IRCd θα συνεχίσει να φορτώνει αγνοώντας το (συμβαίνει σπάνια).
Ο Συγχρονισμός της ώρας προσαρμόζεται (και μπορεί να απενεργοποιηθεί) μέσα απο την επιλογή set::timesynch, δείτε το set documentation για περισσότερες πληροφορίες.
Το UnrealIRCd έχει πολλά χαρακτηριστικά οπότε δεν καλύπτονται όλα εδώ... Θα το καταλάβετε και απο μόνοι σας.
4.0 – Διαμορφώνοντας το unrealircd.conf
Πρώτα απ’όλα, το να δημιουργήσετε ένα καλό unrealircd.conf θα πάρει αρκετό χρόνο, πιθανότατα περίπου 15 – 60 λεπτά. Η δημιουργια ενός "σωστού" unrealircd.conf θα πάρει ακόμα περισσότερη ώρα. Δεν πρέπει να βιαστείτε να φορτώσετε το IRCd, αλλα καλύτερα να ελέγξετε τα πράγματα γραμμή-γραμμή. Αν έχετε κανένα πρόβλημα, ελέξτε το συντακτικό,ελέξτε αυτό το εγχειρίδιο και επίσης ελέξτε το FAQ πρίν ζητήσετε βοήθεια/επισημάνετε ένα bug.
4.1 Το αρχείο Επιλογών αναλυτικά
Το νέο σύστημα χρησιμοποιεί σύνταξη σε κουτάκια. Κάθε καταχώρηση, η κουτάκι, με την νέα σύνταξη έχει ειδική μορφοποίηση. Η μορφοποίηση δουλεύει ώς:
<block-name> <block-value> {
<block-directive> <directive-value>;
};
<block-name> Είναι ο τύπος της επιλογής, όπως το me, ή το admin. <block-value> μερικές φορές ορίζει μια τιμή, όπως στο /oper login, αλλα άλλες φορές θα είναι ένας υπο-τύπος όπως στο ban user.
<block-directive> Είναι μια χωριστή μεταβλητή αποκλειστικά για την επιλογή, και το <directive-value> είναι η τιμή με την οποία σχετιζεται. Αν το <directive-value> περιέχει κενά, ή χαρακτήρες που αντιπροσωπεύουν ένα σχόλιο πρέπει να περιέχεται μέσα σε λατινικά εισαγωγικά. Αν θέλετε να χρησιμοποιήσετε έναν εισαγωγικό χαρακτήρα μέσα σε μιά εισαγωγική φράση χρησιμοποιήστε \" και το πρόγραμμα θα το δεχτεί ώς εισαγωγικό χαρακτήρα.
Το <block-directive> μπορεί να έχει ορίσματα μέσα του, σε αυτήν την περίπτωση θα έχει περιέχεται μέσα σε αγκύλες. Μερικές επιλογές δέν έχουν ορίσματα και ορίζονται απλώς με το <block-value>, όπως το include. Ακόμα σημειώστε οτι δεν υπάρχει μορφοποίηση με set, που σημαίνει οτι όλη η επιλογή μπορεί να εμφανίζεται σε μιά γραμμή ή σε περισσότερες. Η μορφοποίηση πιο πάνω είναι αυτή που κανονικά χρησιμοποιείται (και που θα χρησιμοποιείται στο αρχείο) γιατί είναι εύκολο να διαβαστεί.
Σημείωση: Το αρχείο επιλογών είναι ευαίσθητο στα κεφαλαία δηλαδή το BLOCK-NAME δεν είναι το ίδιο με το block-name. Υπάρχει ειδική σημείωση που αναφέρεται στις καταχωρήσεις στο αρχείο επιλογών. Ψια παράδειγμα, μιλώντας για το <directive-name> στο παράδειγμα παραπάνω, θα λέγατε <block-name>::<block-directive>, και αν αυτό το όρισμα έχει υπο-επιλογή που θέλετε να συμπεριλάβετε, θα προσθέτατε άλλο ένα :: και το όνομα του υπο ορίσματος.
Ψια να αναφερθείτε σε ένα ανώνυμο όρισμα θα κάνατε <block-name>:: που θα σήμαινε σε αυτην την περίπτωση <block-value>, ή θα μπορούσε να είναι μια καταχώρηση σε μια υπο-επιλογή χωρίς όνομα.
Τρείς τύποι σχολίων υποστιρίζονται:
# Σχόλιο μιάς γραμμής
// Σχόλιο μιάς γραμμής
/* Σχόλιο πολλών
γραμμών */
Τώρα που γνωρίζετε πώς λειτουργεί, αντιγράψτε το doc/example.conf στον φάκελο του UnrealIRCd (π.χ: /home/user/Unreal3.2) και μετονομάστε το σε unrealircd.conf (Η δημιουργήστε το δικό σας unrealircd.conf απτην αρχή). Συστήνεται να προχωρήσετε βήμα-βήμα όλες τις επιλογές και ρυθμίσεις του αρχείου επιλογών και να χρησιμοποιήσετε αυτο το εγχειρίδιο για αναφορά.
4.2 – Επιλογή Me ΑΠΑΡΑΙΤΗΤΗ (Προηγουμένως γνωστή ώς M:Line)
Σύνταξη:
me {
name <Το όνομα του server>;
info <Περιγραφή του server>;
numeric <Νούμερο αναφοράς του server>;
};
Αυτές οι τιμές είναι αρκετά εμφανείς. Το name ορίζει το όνομα του server, το info ορίζει την περιγραφή του server, το numeric ορίζει ένα νούμερο αναφοράς για τον server. Αυτό πρέπει να είναι μια τιμή μεταξύ του 0 και του 254 η οποία είναι ΜΟΝΑΔΙΚΗ για τον server εννοόντας οτι ΚΑΝΕΝΑΣ άλλος server στο δύκτιο δεν θα έχει το ίδιο νούμερο αναφοράς.
Παράδειγμα:
me {
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
4.3 – Επιλογή Admin ΑΠΑΡΑΙΤΗΤΗ (Προηγουμένως γνωστή ως A:Line)
Σύνταξη:
admin {
<text-line>;
<text-line>;
};
Η επιλογή admin καθορίζει τις φράσεις που εμφανίζονται σε μια αίτηση /admin. Μπορείτε να ορίσετε όσες γραμμές θέλετε και μπορούν να περιέρχουν οποιαδήποτε πληροφορία επιλέξετε, αλλα είναι σωστό να περιέχεται το όνομα του admin και η διεύθυνση e-mail το λιγότερο. Aλλες πληροφορίες μπορούν να περιέχουν οποιαδήποτε άλλη πληροφορία επικοινωνίας που θέλετε να δώσετε.
Παράδειγμα:
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
4.4 – Επιλογή Class ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς Y:Line)
Παράδειγμα:
class <όνομα> {
pingfreq <Συχνότητα ping>;
connfreq <Συχνοτητα δοκιμών σύνδεσης>;
maxclients <maximum-χρήστες>;
sendq <send-queue>;
recvq <recv-queue>;
};
Η επιλογές Class είναι κατηγορίες στις οποίες κατατάσονται οι συνδέσεις (για παράδειγμα απο τις επιλογές allow ή servers απο επιλογές link), γενικώς έχετε πολλαπλές κατηγορίες επιλογών (π.χ: για servers, χρήστες, διαχειριστές).
name Είναι το όνομα, όπως "clients" ή "servers", αυτό το όνομα χρησιμοποιείται για αναφορά στην κατηγορία απο τις επιλογές allow/link/oper/κτλ
pingfreq Είναι ο αριθμός των δευτερολέπτων μεταξύ των PING για τους servers (κάτι μεταξύ 90 και 180 προτείνεται).
connfreq Χρησιμοποιείται μόνο για τους servers και είναι ο αριθμός των δευτερολέπτων μεταξύ των προσπαθιών σύνδεσης αν η επιλογή autoconnect έχει ενεργοποιηθεί.
maxclients ορίζει το μέγιστο αριθμό των χρηστών/servers που μπορούν να βρίσκονται σε αυτήν την κατηγορία
sendq ορίζει το σύνολο των δεδομένων που μπορούν να βρίσκονται στην ουρά αποστολής δεδομένων (πολυ μεγαλο για servers με μεγαλο bandwidth, μέτριο για χρήστες)
recvq ορίζει το σύνολο των δεδομένων που μπορούν να βρίσκονται στην ουρά αποδοχής δεδομένων και χρησιμοποιείται για έλεγχο του flood (αυτό χρησιμοποιείται μόνο για κανονικούς χρήστες, προσπαθήστε να πειραματιστείτε με τιμές 3000-8000, 8000 είναι το αρχικό).
Παράδειγμα:
class clients {
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
class servers{
pingfreq 90;
maxclients 10; /* Μέγιστος αριθμός servers που μπορούν να είναι συνδεδεμένοι */
sendq 1000000;
connfreq 100; /* Πόσα δευτερόλεπτα μεταξύ κάθε προσπάθειας σύνδεσης */
};
4.5 – Επιλογή Allow ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς I:Line)
Σύνταξη:
allow {
ip <user@μάσκα-επιτρεπτών-ip>;
hostname <user@μασκα-επιτρεπτών-host>;
class <κατηγορία-συνδέσεων>;
password <κωδικός-σύνδεσης> { <auth-type>; };
maxperip <μέγιστες-συνδέσεις-για-καθε-ip>;
redirect-server <server-στον-οποίο-να-προωθείται>;
redirect-port <πορτα-στην-οποία-να-προωθείται>;
options {
<option>;
<option>;
...
};
};
Η επιλογή επιτρεπτής κατηγορία είναι αυτή που καθορίζει ποιός επιτρέπεται να συνδεθεί στον server, μπορείτε να έχετε πολλαπλές επιλογές επιτρεπτών κατηγοριών.
Σχετικά με το “ταίριασμα”
Ο έλεγχος πρόσβασης λειτουργεί με τον παρακάτω τρόπο: Η ip ταιριάζει ή
το host ταιριάζει, έτσι ώστε το "hostname *@*"; Και η "ip *@1.2.3.4"
σημαίνει οτι πάντα ταιριάζει. Επίσης η επιλογή επιτρεπτής πρόσβασης
διαβάζονται με ανάποδη σειρά, που σημαίνει οτι πρέπει να προσδιορίσετε
συγκεκριμένες host/ip επιλογές επιτρεπτής πρόσβασης ΜΕΤΑ απο τις
γενικές *@* επιλογές επιτρεπτής πρόσβασης. Επιπλέον, αν θέλετε να
ορίσετε μιά επιλογή που ταιριάζει μόνο με τις IP, τότε απλώς ορίστε το
hostname σε κάτι άκυρο, όπως "hostname NOBODY;", αυτό θα επιτρέψει στην
επιλογή να ταιριάζει μόνο βασισμένο στην IP.
ip
Η μάσκα ip βρίσκεται στην μορφή user@ip, το user είναι η ταυτότητα και
συχνά ορίζεται ως *, η ip είναι η μάσκα του ip. Μερικά
παραδείγματα: *@* (απο οπουδήποτε), *@192.168.* (μόνο απο διευθύνσεις
που αρχίζουν απο 192.168), κτλ.
host
Επίσης μια μάσκα user@host για διευθύνσεις. Το user συχνά ορίζεται ώς
*. Μερικά παραδείγματα: *@* (παντού), *@*.wanadoo.fr (μόνο απο το
wanadoo.fr).
password (μή απαραίτητο)
Απαιτεί ένα κωδικό σύνδεσης. Μπορείτε επίσης να ορίσετε μια μέθοδο κρυπτογράφησης κωδικού εδώ.
class
Ορίζει το όνομα της κατηγορίας στην οποία θα καταταχθούν οι συνδέσεις
που χρησιμοποιούν αυτήν την επιλογή επιτρεπτής πρόσβασης.
maxperip (μή απαραίτητο, αλλα προτείνεται)
Σας επιτρέπει να προσδιορίσετε πόσες συνδέσεις για κάθε IP επιτρέπονται σε αυτό τον server (π.χ: maxperip 4;).
redirect-server (μή απαραίτητο)
Αν η κατηγορία είναι γεμάτη, στέλνει τους χρήστες σε αυτόν τον server
(αν το πρόγραμμα του χρήστη το υποστηρίζει [το mIRC 6.xx το υποστιρίζει]).
redirect-port (μή απαραίτητο)
Αν το redirect-server έχει οριστεί, μπορείτε να ορίσετε την port εδώ, αλλιώς θεωρείται η 6667.
options block (μή απαραίτητο)
Έγκυρες επιλογές είναι:
useip πάντα εμφανίζει το IP αντί του hostname
noident δεν χρησιμοποιεί το ident αλλα χρησιμοποιεί το username ορισμένο απο το πρόγραμμα
ssl ταιριάζει μόνο αν το πρόγραμμα συνδέθηκε μέσω SSL
nopasscont
συνέχιζει το ταίριασμα και ας μην δώθηκε κωδικός (ωστέ να μπορείτε να
στείλετε τους χρήστες σε ειδικές κατηγορίες αν δώσουν κωδικό).
Παράδειγμα:
allow {
ip *;
hostname *;
class clients;
maxperip 5;
};
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
maxperip 1;
};
4.6 – Επιλογή Listen ΑΠΑΙΤΕΙΤΑΙ (Προηγουμένως γνωστή ώς P:Line)
Σύνταξη:
listen <ip:port> {
options {
<option>;
<option>;
...
};
};
Αυτή η επιλογή σας επιτρέπει να ορίσετε τις ports στις οποίες το IRCD θα “ακούει”. Αν δεν χρειάζονται υπο επιλογές, μπορείτε να τις ορίσετε χωρίς ορίσματα στην μορφή listen <ip:port>;.
ip and port
Μπορείτε να ορίσετε την ip σε * για να δεσμεύσετε όλες τις διαθέσιμες
ips, η να ορίσετε μία ώστε να δεσμεύσει μόνο αυτήν την ip (συνήθως
χρειάζεται σε shell providers). port είναι το port στο οποίο θέλετε να
ακούει. Μπορείτε ακόμα να ορίσετε το port σε μια ποικιλία αντι για μία
μόνο τιμή. Για παράδειγμα, 6660-6669 θα ακούει σε ports 6660 έως και
6669. Οι χρήστες IPv6 , δείτε παρακάτω.
Info for IPv6 users
Αν έχετε έναν ενεργοποιημένο IPv6 server τότε πρέπει να περιελάβετε την
IP σε αγκύλες. Όπως το [::1]:6667 (ακούει στο localhost στο port 6667).
Αν χρησιμοποιείτε IPv6 και θέλετε να ακούσετε σε μία συγκεκριμένη IPv4
διεύθυνση αρκει να χρησιμοποιήσετε ::ffff:ipv4ip. Για παράδειγμα:
[::ffff:203.123.67.1]:6667 θα ακούσει στο 203.123.67.1 στο port 6667.
Φυσικά μπορείτε επίσης να χρησιμοποιήσετε *.
options block (μή απαραίτητο)
Μπορείτε να ορίσετε ειδικές υπο-επιλογές για κάθε port αν θέλετε, έγκυρες υπο-επιλογές είναι:
| clientsonly |
port μόνο για χρήστες |
| serversonly |
port μόνο για servers |
| java |
Υποστίριξη για CR javachat |
| ssl |
Κρυπτογραφημένη SSL port |
Παραδείγματα:
listen *:6601 {
options {
ssl;
clientsonly;
};
};
Η αν δεν υπάρχουν υπο-επιλογές:
listen *:8067;
listen 213.12.31.126:6667;
listen *:6660-6669;
4.7 - Επιλογή Oper ΠΡΟΤΕΙΝΕΤΑΙ (Previously known as the O:Line)
oper <name> {
from {
userhost <hostmask>;
userhost <hostmask>;
};
password <password> { <auth-type>; };
class <class-name>;
flags <flags>;
flags {
<flag>;
<flag>;
...
};
swhois <whois info>;
snomask <snomask>;
modes <modes>;
maxlogins <num>;
};
Η επιλογή oper σας επιτρέπει να ορίσετε διαχειριστές για τον server σας. Το oper:: καθορίζει το όνομα της επιλογής /oper. Το oper::from::userhost είναι μια μάσκα user@host με την οποία ο χρήστης πρέπει να ταιριάζει, μπορείτε επίσης να καθορίσετε περισσότερες απο μία μάσκες ορίζοντας περισσότερες απο μία επιλογές oper::from::userhost. Το oper::password είναι ο κωδικός τον οποίο πρέπει να καθορίσει ο χρήστης, το oper::password:: σας επιτρέπει να καθορίσετε μια μέθοδο αναγνώρισης για αυτόν τον κωδικό, έγκυροι τύποι αναγνώρισης είναι τα crypt, md5, και sha1, ripemd-160. Αν θέλετε να χρησιμοποιήσετε ένα απλό κωδικό αγνοήστε αυτην την υποεπιλογή.
Παρακαλούμε σημειώστε ότι ΚΑΙ το όνομα αναγνώρισης όπως και ο κωδικός είναι case sensitive
Το oper::class καθορίζει το όνομα μιάς κατηγορίας που προυπάρχει (εμφανίζεται πρίν απο αυτό στο αρχείο επιλογών) την οποία η επιλογή oper θα χρησιμοποιήσει.
Το oper::flags έχει δύο μορφές. Αν θέλετε να χρησιμοποιήσετε τον παλιό τύπο oper flags π.χ., OAa, χρησιμοποιήτε την μέθοδο flags <flags> , άν θέλετε να χρησιμοποιήσετε το νέο τύπο,π.χ., services-admin, τότε χρησιμοποιείτε την μέθοδο flags { <flag>; } . Παρακάτω βρίσκεται μια λίστα με όλα τα διαθέσιμα flags (και στις δύο μορφές) και την ιδιοτητά τους.
| Old Flag |
New Flag |
Description |
| o |
local |
Σας ορίζει τοπικό διαχειριστή |
| O |
global |
Σας ορίζει γενικό διαχειριστή |
| C |
coadmin |
Σας ορίζει βοηθό ιδιοκτήτη του server |
| A |
admin |
Σας ορίζει ιδιοκτήτη του server |
| a |
services-admin |
Σας ορίζει διαχειριστή των services |
| N |
netadmin |
Σας ορίζει διαχειριστή Δυκτίου |
| r |
can_rehash |
Ο Διαχειριστής μπορει να χρησιμοποιήσει /rehash |
| D |
can_die |
Ο Διαχειριστής μπορει να χρησιμοποιήσει /die |
| R |
can_restart |
Ο Διαχειριστής μπορει να χρησιμοποιήσει /restart |
| h |
helpop |
Ο Διαχειριστής δέχεται το umode +h (Βοηθός) |
| w |
can_wallops |
Ο Διαχειριστής μπορεί να στείλει /wallops |
| g |
can_globops |
Ο Διαχειριστής μπορεί να στείλει /globops |
| c |
can_localroute |
Μπορεί να συνδέσει τους servers τοπικά |
| L |
can_globalroute |
Μπορεί να συνδέσει τους servers σε όλο το δύκτιο |
| k |
can_localkill |
Μπορεί να κάνει /kill τους τοπικούς χρήστες |
| K |
can_globalkill |
Μπορεί να κάνει /kill απομακρυσμένους χρήστες |
| b |
can_kline |
Μπορεί να χρησιμοποιήσει /kline |
| B |
can_unkline |
Μπορεί να χρησιμοποιήσει /kline -u@h |
| n |
can_localnotice |
Μπορεί να στείλει τοπικές ειδοποιήσεις στους χρήστες του server |
| G |
can_globalnotice |
Μπορεί να στείλει ανακοινώσεις στους χρήστες απομακρυσμένων server |
| z |
can_zline |
Μπορεί να χρησιμοποιήσει /zline |
| t |
can_gkline |
Μπορεί να χρησιμοποιήσει /gline, /shun και /spamfilter |
| Z |
can_gzline |
Μπορεί να χρησιμοποιήσει /gzline |
| W |
get_umodew |
Ορίζει umode +W όταν δεχτείτε δικαιώματα διαχειριστή |
| H |
get_host |
Ορίζει την διεύθυνση σας σε μια διεύθυνση διαχειριστή |
| v |
can_override |
Μπορεί να χρησιμοποιήσει OperOverride |
| q |
can_setq |
Μπορει να χρησιμοποιήσει umode +q |
| X |
can_addline |
Μπορει να χρησιμοποιήσει /addline |
| d |
can_dccdeny |
Μπορεί να χρησιμοποιήσει /dccdeny και /undccdeny |
Συγκεκριμένα flags σας δίνουν άλλα flags εξαρχής:
| local |
global |
admin/coadmin |
services-admin |
netadmin |
| can_rehash |
can_rehash |
can_rehash |
can_rehash |
can_rehash |
| helpop |
helpop |
helpop |
helpop |
helpop |
| can_globops |
can_globops |
can_globops |
can_globops |
can_globops |
| can_wallops |
can_wallops |
can_wallops |
can_wallops |
can_wallops |
| can_localroute |
can_localroute |
can_localroute |
can_localroute |
can_localroute |
| can_localkill |
can_localkill |
can_localkill |
can_localkill |
can_localkill |
| can_kline |
can_kline |
can_kline |
can_kline |
can_kline |
| can_unkline |
can_unkline |
can_unkline |
can_unkline |
can_unkline |
| can_localnotice |
can_localnotice |
can_localnotice |
can_localnotice |
can_localnotice |
| can_globalroute |
can_globalroute |
can_globalroute |
can_globalroute |
|
| can_globalkill |
can_globalkill |
can_globalkill |
can_globalkill |
|
| can_globalnotice |
can_globalnotice |
can_globalnotice |
can_globalnotice |
|
| global |
global |
global |
||
| can_dccdeny |
can_dccdeny |
can_dccdeny |
||
| can_setq |
can_setq |
|||
| admin |
||||
| services-admin |
Το όρισμα oper::swhois σας επιτρέπει να προσθέσετε μια επιπλέον γραμμή στις πληροφορίες whois ενός διαχειριστή. [προαιρετικό]
Το όρισμα oper::snomask σας επιτρέπει να προ-καθορίσετε την μάσκα ειδοποιήσεων όταν κάποιος δεχτεί δικαιώματα διαχειριστή. Για μια λίστα με τα διαθέσιμα SNOMASKs, δείτε παράγραφος 3.3 [προαιρετικό]
Το όρισμα oper::modes σας επιτρέπει να προ-καθορίσετε τα modes ενός που θα δεχτεί τα δικαιώματα του διαχειριστή. [προαιρετικό]
Το oper::maxlogins σας επιτρέπει να περιορίσετε τον αριθμό των ταυτόχρονων συνδέσεων διαχειριστή απο αυτήν την διέυθυνση, για παράδειγμα αν το ορίσετε στο 1 τότε μόνο ένα άτομο μπορεί να έχει δικαιώματα διαχειριστή απο αυτην την επιλογή κάθε στιγμή. [προαιρετικό]
Παράδειγμα:
oper bobsmith {
class clients;
from {
userhost bob@smithco.com;
userhost boblaptop@somedialupisp.com;
};
password "f00";
flags {
netadmin;
can_gkline;
can_gzline;
can_zline;
can_restart;
can_die;
global;
};
swhois "Παράδειγμα μιας μάσκας whois";
snomask frebWqFv;
};
4.8 - Επιλογή DRpass ΠΡΟΤΕΙΝΕΤΑΙ(Previously known as the X:Line)
Σύνταξη:
drpass {
restart <restart-password> { <auth-type>; };
die <die-password> { <auth-type>; };
};
Αυτή η επιλογή ορίζει τους κωδικούς για το /restart και το /die με drpass::restart and drpass::die αναλόγως. Το drpass::restart:: και drpass::die:: σας επιτρέπει να ορίσετε τον τύπο της αναγνώρισης που χρησιμοποιείται απο αυτό. Οι μορφές αναγώρισης που υποστιρίζονται είναι crypt, md5, and sha1, ripemd-160.
Example:
drpass {
restart "I-love-to-restart";
die "die-you-stupid";
};
Σύνταξη:
include <file-name>;
Αυτό το όρισμα ορίζει ένα αρχείο για φόρτωση σαν ξεχωριστό αρχείο επιλογών. Αυτο το αρχείο μπορεί να περιέχει οποιονδήποτε τύπο επιλογών και μπορεί επίσης να περιέχει και άλλα αρχεία. Μάσκες υποστιρίζονται για το όνομα του αρχείου που σας επιτρέπουν να φορτώσετε πολλαπλά αρχεία με ένα όρισμα .
Παράδειγμα 1: ένα αρχείο δυκτίου
include mynetwork.network;
Αυτο θα ήταν η εντολή που θα χρησιμοποιούσαμε αν θέλαμε να χρησιμοποιήσουμε ένα ξεχωριστό αρχείο δυκτίου. Τα ξεχωριστά αρχεία δυκτίου δεν είναι πλέον απαραίτητα; Όλες οι επιλογές δυκτίου μπορούν να προστεθούν κατευθείαν μέσα στο unrealircd.conf. Ή μπορείτε να ορίσετε μια επιλογή include για να φορτώσετε το αρχείο.
Παράδειγμα 2: aliases
include aliases/ircservices.conf
Άλλο ένα παράδειγμα είναι να το χρησιμοποιήσετε για να περιλάβετε τις επιλογές alias, το UnrealIRCd έρχεται με μερικά αρχεία που θα (πρεπει) να περιέχουν τα σωστά aliases για τις περισσότερες υπηρεσίες:
4.10 - Όρισμα LoadModule ΑΠΑΙΤΕΙΤΑΙ
Σύνταξη:
loadmodule <file-name>;
Δείτε εδώ γιατι τα modules είναι ωραία/χρήσιμα.
Modules που συμπεριλαμβάνονται στο Unreal3.2:
commands.so / commands.dll - Όλες οι / εντολές (ίσως όχι όλες ακόμα, αλλα τελικα θα προστεθούν όλες) ΑΠΑΙΤΕΙΤΑΙ
cloak.so / cloak.dll - Cloaking module ΑΠΑΙΤΕΙΤΑΙ (ή οποιοδήποτε άλλο module κρυπτογράφησης)
Οπότε θέλετε να είστε σίγουροι ότι έχετε φορτώσει αυτά:
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
ή στα windows:
loadmodule "modules/commands.dll";
loadmodule "modules/cloak.dll";
4.11 - Επιλογή Log ΠΡΟΤΕΙΝΕΤΑΙ
Σύνταξη:
log <file-name> {
maxsize <max-file-size>;
flags {
<flag>;
<flag>;
...
};
};
Η Επιλογή log σας επιτρέπει να ορίσετε διαφορετικά αρχεία καταγραφής για διαφορετικούς σκοπούς. Το log:: περιέχει το όνομα του αρχείου καταγραφής. log::maxsize είναι ένα προαιρετικό όρισμα που σας επιτρέπει να ορίσετε το μέγεθος στο οπόιο αυτο το αρχείο καταγραφής θα διαγράφεται και θα επανακινείται.Μπορείτε να χρησιμοποιήσετε το MB για τα megabytes, KB, για kilobytes, GB, για gigabytes. Το log::flags ορίζει ποιοί τύποι πληροφοριών θα χρησιμοποιηθούν σε αυτό το αρχείο καταγραφής. Δείτε παρακάτω την λίστα με τις διαθέσιμες επιλογές.
Μπορείτε επίσης να έχετε πολλαπλές επιλογές καταγραφής, για να καταγράφετε διαφορετικά πράγματα σε διαφορετικά αρχεία καταγραφής.
Available Flags:
| errors |
self explanatory |
| kills |
καταγράφει τα /kill notices |
| tkl |
καταγράφει πληροφορίες για τις *lines, τα shun και τα spamfilters που (προστέθηκαν/αφαιρέθηκαν/έληξαν) |
| connects |
καταγράφει τις εισόδους/εξόδους χρηστών |
| server-connects |
καταγράφει τις συνδέσεις/αποσυνδέσεις των server |
| kline |
καταγράφει την χρήση της /kline |
| oper |
καταγράφει τις προσπάθειες απόκτησης δικαιώματα διαχειριστή (ανεπιτυχείς και επιτυχείς) |
| sadmin-commands |
καταγράφει την χρήση των εντολών /sa* (samode, sajoin, sapart, κτλ.) |
| chg-commands |
καταγράφει την χρήση των εντολών /chg* (chghost, chgname, chgident, κτλ.) |
| oper-override |
καταγράφει την χρήση του operoverride |
| spamfilter |
καταγράφει ενέργειες του spamfilter |
Παράδειγμα:
log ircd.log {
maxsize 5MB;
flags {
errors;
kills;
oper;
kline;
tkl;
};
};
4.12 - Επιλογή TLD ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the T:Line)
Σύνταξη:
tld {
mask <hostmask>;
motd <motd-file>;
rules <rules-file>;
shortmotd <shortmotd-file>;
opermotd <opermotd-file>;
botmotd <botmotd-file>;
channel <channel-name>;
options {
ssl;
};
};
Η επιλογή tld σας επιτρέπει να ορίσετε το motd, αρχείο κανόνων, και κανάλι για έναν χρήστη βασισμένο στην διεύθυνση του. Αυτό είναι χρήσιμο όταν θέλετε να έχετε διαφορετικά motd για διαφορετικές γλώσσες. Το tld::mask είναι μια μάσκα user@host που το όνομα χρήστη και η διεύθυνση πρέπει να ταιριάζουν. Τα tld::motd, tld::shortmotd, tld::opermotd, tld::botmotd, και tld::rules ορίζουν το αρχείο motd, shortmotd, opermotd, botmotd, και αρχέιο κανόνων (rules), αναλόγως, για να εμφανίζονται για αυτήν την διεύθυνση. Τα tld::shortmotd, tld::opermotd, και tld::botmotd είναι προαιρετικά. tld::channel είναι προαιρετικό επίσης, σας επιτρέπει να ορίσετε ένα κανάλι το οποίο ο χρήστης θα εξαναγκάζεται να εισέρθει όταν συνδεθεί. Αν αυτή η επιλογή υπάρχει τότε κάνει override το αρχικό auto join channel. Το tld::options σας επιτρέπει να ορίσετε επιπλέον απαιτήσεις, προς το παρόν υπάρχουν μόνο το tld::options::ssl που εμφανίζει το αρχείο μόνο στους χρήστες SSL, και το tld::options::remote που εμφανίζει το αρχείο μόνο στους remote χρήστες.
TLD entries are matched upside down
Example:
tld {
mask *@*.fr;<
motd "ircd.motd.fr";
rules "ircd.rules.fr";
};
4.13 - Επιλογή Ban Nick ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the Q:Line)
Σύνταξη:
ban nick {
mask <nickname>;
reason <reason-for-ban>;
};
Η επιλογή ban nick σας επιτρέπει να αποτρέψετε την χρήση ενός nickname στον server. Το ban::mask σας επιτρέπει οι μάσκες wildcard να ταιριάζουν με πολλαπλά nicks, και το ban::reason σας επιτρέπει να ορισετε τον λόγο για τον οποίο τέθηκε αυτο το ban. Συνήθως αυτές οι επιλογές χρησιμοποιούνται για να απαγορέψουν την χρήση κάποιων nickname που χρησιμοποιούνται συνήθως απο τα services.
Παράδειγμα:
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserved for Services";
};
4.14 - Επιλογή Ban User ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the K:Line)
Σύνταξη:
ban user {
mask <hostmask>;
reason <reason-for-ban>;
};
Η επιλογή σας επιτρέπει να απαγορέψετε απο μιά μασκα user@host την σύνδεση στον server. Το ban::mask είναι μια γρραμμή wildcard της διεύθυνσης user@host του χρήστη που θα γίνει ban, και το ban::reason είναι ο λόγος για τον οποίο ορίζεται ένα ban. Σημειώστε, αυτό είναι μόνο ένα τοπικό ban και επομένως ο χρήστης μπορεί να συνδεθεί στους άλλους servers του δυκτίου.
Example:
ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiot";
};
4.15 - Επιλογή Ban IP ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the Z:Line)
Σύνταξη:
ban ip {
mask <ipmask>;
reason <reason-for-ban>;
};
Η επιλογή ban ip αποτρέπει την σύνδεση μιας IP στον server. Αυτό περιέχει και τους χρήστες αλλα και τους servers που προσπαθούν να συνδεθούν. Το όρισμα ban::mask είναι μία IP που μπορεί να περιέχει χαρακτήρες wildcard, και το ban::reason είναι ο λόγος για τον οποίο αυτό τέθηκε αυτό το ban. Εφόσον αυτο το ban επηρεάζει και τους servers θα πρέπει να χρησιμοποιείται πολύ προσεκτικά.
Παράδειγμα:
ban ip {
mask 192.168.1.*;
reason "Get a real ip u lamer!";
};
4.16 - Επιλογή Ban Server ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the q:Line)
Σύνταξη:
ban server {
mask <server-name>;
reason <reason-for-ban>;
};
Αυτη η επιλογή εμποδίζει την ιδιότητα ενός server's για σύνδεση στο δύκτιο. Αν ο server συνδέεται κατευθείαν στον server σας, η σύνδεση απορρίπτεται. Αν ο server συνδέεται σε απομακρυσμένο server, τότε ο τοπικός server θα αποσυνδεθεί απο το δύκτιο. Το πεδίο ban::mask ορίζει μια μάσκα wildcard που ταιριάζει με τον όνομα του server που προσπαθεί να συνδεθεί, και το ban::reason ορίζει τον λόγο για τον οποίο τέθηκε αυτό το ban.
Παράδειγμα:
ban server {
mask broken.server.my.network.com;
reason "Its broken!";
};
4.17 - Επιλογή Ban RealName ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the n:Line)
Σύνταξη:
ban realname {
mask <realname-mask>;
reason <reason-for-ban>;
};
Η επιλογή ban realname σας επιτρέπει να κάνετε ban έναν χρήστη βασισμένοι στο πεδίο GECOS (πραγματικό όνομα). Αυτό είναι χρήσιμο για να σταματήσετε επιθέσεις κλώνων γιατι συχνά οι κλώνοι χρησιμοποιούν το ίδιο πραγματικό όνομα. Το ban::mask ορίζει το πραγματικό όνομα που θα πρέπει να γίνει ban. Η μάσκα μπορεί να περιέχει wildcards. Το ban::reason ορίζει τον λόγο για τον οποίο τέθηκε αυτο το ban.
Example:
ban realname {
mask "Bob*";
reason "Bob sucks!";
};
4.18 - Επιλογή Ban Version ΠΡΟΑΙΡΕΤΙΚΟ
Σύνταξη:
ban version {
mask <version-mask>;
reason <reason-for-ban>;
action [kill|tempshun|shun|kline|zline|gline|gzline];
};
Η επιλογή ban version σας επιτρέπει να κάνετε ban έναν χρήστη βασισμένοι στο πρόγραμμα πρόσβασης IRC που χρησιμοποιούν. Αυτό χρησιμοποιεί την επιλογή CTCP version των προγραμμάτων. Γιαυτό άν το πρόγραμμα δεν δώσει απάντηση στο CTCP version, το ban δεν θα λειτουργήσει. Αυτη η επιλογή στοχεύει στο να επιτρέπει να αποτρέψετε την χρήση κακόβουλων προγραμμάτων. Το ban::mask ορίζει την έκδοση που πρέπει να αποτραπεί. Η μάσκα μπορει να περιέχει wildcards. Το ban::reason ορίζει τον λόγο για τον οποίο αυτο το ban θα πλαισιωθεί. Μπορείτε ενα ορίσετε επίσης ban::action, το kill είναι η αρχική επιλογή, tempshun θα κάνει shun στην σύνδεση του συγκεκριμένου χρήστη και θα λειτουργήσει μόνο πολύ αποτελεσματικά εναντίον zombies/bots σε δυναμικές διευθύνσεις αφού δεν θα επηρεάσει αθώους χρήστες. shun/kline/zline/gline/gzline θα ορίσει ένα ban αυτού του τύπου στην ip (*@IPADDR), η διάρκεια αυτών των ban μπορει να οριστεί με το όρισμα set::ban-version-tkl-time και η αρχική τιμή της είναι 1 μέρα.
Example:
ban version {
mask "*SomeLameScript*";
reason "SomeLameScript contains backdoors";
};
ban version {
mask "*w00tZombie*";
reason "I hate those hundreds of zombies";
action zline;
};
4.19 - Επιλογή Ban Exceptions ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the E:Line)
Σύνταξη:
except ban {
mask <hostmask>;
};
Η επιλογή εξαίρεσης ban σας επιτρέπει να ορίσετε ένα user@host το οποίο θα υπερβαίνει ένα ban που τέθηκε σε ένα πιο ευρύ host. Αυτο είναι χρήσιμο όταν θέλετε να κάνετε μια ISP banned, αλλα επίσης θέλετε συγκεκριμένους χρήστες να μπορούν να συνδεθούν. Το except::mask όρισμα ορίζει την user@host μάσκα των χρηστών που θα μπορούν να συνδεθούν.
Example:
except ban {
mask myident@my.isp.com;
};
4.20 - Επιλογή TKL Exceptions ΠΡΟΑΙΡΕΤΙΚΟ
Σύνταξη:
except tkl {
mask <hostmask>;
type <type>;
type {
<type>;
<type>;
...
};
};
Η επιλογή εξαίρεσης tkl σας επιτρέπει να ορίσετε μια μάσκα user@host που θα υπερβαίνει ένα tkl ban που τέθηκε σε ένα πιο ευρύ host. Αυτο είναι χρήσιμο όταν θέλετε να κάνετε μια ISP banned, αλλα επίσης θέλετε συγκεκριμένους χρήστες να μπορούν να συνδεθούν. Το except::mask όρισμα ορίζει την user@host μάσκα των χρηστών που θα μπορούν να συνδεθούν. Το όρισμα except::type ορίζει ποιούς τύπους ban αυτό θα υπερβαίνει. Έγκυροι τύποι είναι gline, gzline, qline, gqline, και shun, που δημιουργεί εξεραίσεις για τα Glines, Global Zlines, Qlines, Global Qlines, και shuns. Αν η μορφή {} χρησιμοποιείται, μπορούν να οριστούν πολλαπλοί τύποι.
Example:
except tkl {
mask myident@my.isp.com;
type gline;
};
4.21 - Επιλογή Throttle Exceptions ΠΡΟΑΙΡΕΤΙΚΟ
Σύνταξη:
except throttle {
mask <ipmask>;
};
Η επιλογή εξαίρεσης throttle σας επιτρέπει να ορίσετε μια μάσκα IP που θα υπερβαίνει το σύστημα throttling. Αυτό λειτουργεί μόνο άν έχετε διαλέξει να ενεργοποιήσετε το throttling. Το except::mask ορίζει μια μάσκα IP που δεν θα γίνεται ban εξαιτίας του throttling.
Example
except throttle {
mask 192.168.1.*;
};
4.22 - Επιλογή Deny DCC ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as dccdeny.conf)
Σύνταξη:
deny dcc {
filename <file-to-block>;
reason <reason-for-ban>;
soft [yes|no];
};
Η επιλογή απόρριψης dcc σας επιτρέπει να ορίσετε ένα αρχείο το οποίο δεν θα επιτρέπεται να σταλεί μέσω DCC στον server. Αυτό είναι αρκετά χρήσιμο στο να σταματήσει η διακίνηση ιών και trojans.
Το deny::filename ορίζει μια μάσκα wildcard του αρχείου του οποίου θα αποτρέπεται η αποστολή, και το deny::reason ορίζει τον λόγο για τον οποίο αυτο το αρχείο είναι απαγορευμένο.
Υπάρχει ακόμα ένα deny::soft όρισμα, αν το ορίσετε 'yes' το dcc αποτρέπεται εκτώς και αν ο χρήστης το επιτρέψει μέσω του /DCCALLOW +χρήστης-που-προσπαθεί-να-στείλει. Δείτε το dccallow.conf για ένα καλό παράδειγμα της χρήσης του dccallow.
Example
deny dcc {
filename virus.exe;
reason "This is a GD Virus";
};
deny dcc {
filename "*.exe";
reason "Executable content";
soft yes;
};
4.23 - Επιλογή Deny Version ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the V:Line)
Σύνταξη:
deny version {
mask <server-name>;
version <version-number>;
flags <compile-flags>;
};
Αυτή η επιλογή σας επιτρέπει να αποτρέψετε την σύνδεση ενός server βασισμένο στην έκδοση του Unreal που τρέχει και στις παραμέτρους του compile που έχει. Η μορφή της επιλογής είναι λίγο πολύπλοκη αλλα δεν είναι πολύ δύσκολο να την κατανοήσετε. Το όρισμα deny::mask ορίζει μια μάσκα wildcard που αναφέρεται στο όνομα του server. Το deny::version ορίζει τον αριθμό του προτοκόλου στην οποία αυτή η έκδοση αναφέρεται.
Για παράδειγμα, στην έκδοση 3.0 είναι 2301, 3.1.1/3.1.2 είναι 2302, 3.2 είναι 2303. Ο πρώτος χαρακτήρας της παραμέτρου μπορεί να είναι ένας απο τους επόμενους >, <, =, !. Αυτός ο χαρακτήρας λέει στο IRCd πως να ερμηνεύσει την έκδοση. Αν ο πρώτος χαρακτήρας είναι ένα > τότε όλες οι νεότερες εκδόσεις απο αυτήν που ορίστικε απορρίπτονται, εάν είναι ένα < όλες οι παλαιότερες εκδόσεις απορρίπτονται, εάν είναι ένα = μόνο η συγκεκριμένη έκδοση απορρίπτεται, και εάν είναι ένα ! τότε όλες οι εκδόσεις εκτώς απο την συγκεκριμένη απορρίπτονται. Το όρισμα deny::flags σας επιτρέπει να ορίσετε ποιες παραμέτρους compile ο server μπορεί η δεν μπορεί να έχει. Τα flags είναι τοποθετημένα το ένα δίπλα στο άλλο χωρίς κενό ανάμεσα τους, άν ένας χαρακτήρας βρίσκεται μετά απο ένα ! τότε σημαίνει οτι ο server δεν μπορεί να έχει αυτο το flag compiled, άν δεν βρίσκεται μετά απο ένα !, τότε σημαίνει οτι ο server πρέπει να έχει αυτο το flag compiled.
4.24 - Επιλογή Deny Link ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as the D/d:Line)
Σύνταξη:
deny link {
mask <server-name>;
rule <crule-expression>;
type <type-of-denial>;
};
Αυτή η επιλογή σας επιτρέπει να χρησιμοποιήσετε συγκεκριμένους κανόνες για να απορρίψετε την σύνδεση ενός server. deny::mask ορίζει μια μάσκα wildcard στην οποία θα ταιριάζει το όνομα του server. Το όρισμα deny::rule είναι πολυ πολύπλοκο. Μια ωμή έκφραση σας επιτρέπει να ελέγξετε την σύνδεση σε μεγάλο βαθμό, και ορίζεται ώς έκφραση προγραμματισμού. Τέσσερα operators υποστιρίζονται, connected(<servermask>), επιστρέφει true αν ο server που ταιριάζει την μάσκα συνδεθεί, directcon(<servermask>), επιστρέφει true αν ο server που ταιριάζει την μασκα συνδεθεί κατευθείαν σε αυτόν τον server, via(<viamask>,<servermask>), επιστρέφει true αν ο server που ταιριάζει την μάσκα συνδεθεί μέσω ενός server που ταιριάζει το viamask, και directop(), το οποίο επιστρέφει true αν ο διαχειρηστής που χρησιμοποιεί το /connect είναι συνδεδεμένος κατευθείαν σε αυτόν τον server. Αυτά τα ορίσματα μπορούν να συνδεθούν μεταξύ τους χρησιμοποιώντας && (και) and || (ή), τα ορίσματα μπορούν επίσης να δωθούν μέσα σε παρενθέσεις για να επιτρέπεται η δημιουργία group. Επίσης, ένα όρισμα που ακολουθείται απο ένα ! ελέγχει αν το όρισμα επιστρέφει false. Αν ολόκληρη η έκφραση επιστρέφει true, τότε η σύνδεση απορρίπτεται. Το όρισμα deny::type σας επιτρέπει δύο διαφορετικές τιμές, auto (μόνο για τις αυτόματες συνδέσεις, το /connect θα συνεχίσει να λειτουργεί), και all (λειτουργεί για όλες τις προσπάθειες σύνδεσης).
4.25 - Επιλογή Deny Channel ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as chrestrict.conf)
Σύνταξη:
deny channel {
channel "<channel-mask>";
reason <reason-for-ban>;
redirect "<channel-name>";
warn [on|off];
};
Η επιλογή deny channel σας επιτρέπει να αποτρέψετε την είσοδο των χρηστών σε συγκεκριμένα κανάλια. Το όρισμα deny::channel ορίζει μια μάσκα wildcard καναλιών που απαγορεύεται η είσοδος στους χρήστες, και το deny::reason ορίζει τον λόγο για τον οποίο η είσοδος στο κανάλι απαγορεύεται. Επιπλέον, μπορείτε να ορίσετε ένα deny::redirect. Αν αυτό οριστεί, όταν ένας χρήστης προσπαθήσει να εισέλθει σε ένα κανάλι που ταιριάζει με το deny::channel, θα προωθηθεί στο deny::redirect. Και επίσης υπάρχει το deny::warn που (άν ειναι στο on) θα στείλει ένα μήνυμα στους διαχειριστές (με το EYES snomask) αν ο χρήστης προσπαθήσει να εισέλθει.
Example
deny channel {
channel "#unrealsucks";
reason "No it don't!";
};
deny channel {
channel "#*teen*sex*";
reason "You == dead";
warn on;
};
deny channel {
channel "#operhelp";
reason "Our network help channel is #help, not #operhelp";
redirect "#help";
};
4.26 - Επιλογή Allow Channel ΠΡΟΑΙΡΕΤΙΚΟ
Σύνταξη:
allow channel {
channel "<channel-mask>";
};
Η επιλογή allow channel σας επιτρέπει να ορίσετε συγκεκριμένα κανάλια που οι χρήστες επιτρέπεται να εισέρχονται. Το όρισμα allow::channel ορίζει την μάσκα wildcard των καναλιών που μπορούν οι χρήστες να εισέλθουν.
Example:
allow channel {
channel "#something";
};
4.27 - Επιλογή Allow DCC ΠΡΟΑΙΡΕΤΙΚΟ
Σύνταξη:
allow dcc {
filename "<filename-mask>";
soft [yes|no];
};
Η επιλογή allow dcc σας επιτρέπει να ορίσετε εξαιρέσεις για τις επιλογές deny dcc, επιτρέποντας και wildcards. Αν το allow dcc::soft έχει οριστεί σε 'yes' αναφέρεται στην λίστα 'soft dcc bans', ενώ αν οριστεί σε 'no' αναφέρεται στην κανονική λίστα ('hard') dcc bans.
Example:
allow dcc {
filename "*.jpg"; /* Images are usually safe */
soft yes;
};
4.28 - Επιλογή Vhost ΠΡΟΑΙΡΕΤΙΚΟ (Previously known as vhosts.conf)
Σύνταξη:
vhost {
vhost <vhost>;
from {
userhost <hostmask>;
userhost <hostmask>;
...
};
login <login-name>;
password <password> { <auth-type>; };
swhois "<swhois info>";
};
Η επιλογή vhost σας επιτρέπει να ορίσετε ένα κωδικό σύνδεσης που θα χρησιμοποιείτε με την εντολή /vhost για να αποκτήσετε μια ψεύτικη διεύθυνση. Το όρισμα vhost::vhost μπορει είτε να είναι της μορφής user@host είτε μια διεύθυνση μόνο που ο χρήστης θα δέχεται μετα απο επιτυχημένη χρήση /vhost. Το όρισμα vhost::from::userhost περιέχει μια μάσκα user@host που ο χρήστης πρέπει να ταιριάζει για να είναι κατάλληλος για το vhost. Μπορείτε να ορίσετε πάνω απο μία μάσκα. Το vhost::login είναι το όνομα login που ο χρήστης πρέπει να δώσει και vhost::password είναι ο κωδικός που πρέπει να εισαχθεί. Το vhost::password:: σας επιτρέπει να ορίσετε τον τύπο της αναγνώρισης που χρησιμοποιείται για το κάθε vhost. Οι τύποι που υποστιρίζονται αυτήν την στιγμή είναι crypt, md5, και sha1, ripemd-160. Τέλος το vhost::swhois σας επιτρέπει να προσθέσετε μια επιπλέον γραμμή στο whois του χρήστη, ακριώς όπως γίνεται και στην επιλογή διαχειριστών oper::swhois.
Example:
vhost {
vhost my.own.personal.vhost.com;
from {
userhost my@isp.com;
userhost myother@isp.com;
};
login mynick;
password mypassword;
swhois "Im Special";
};