Tentokrát budeme mluvit o Internet Relay Chat, nebo jednoduše IRC. V první části tohoto článku se podíváme na tento protokol, jak používat Irssi nebo XChat k připojení na Freenode a dalších IRC sítích, vstupovat na kanály a mluvit s lidmi. Poté uvidíte, jak spustit vlastní IRC službu s UnrealIRCd.
Obsah
- Úvod
- Připojování k IRC
- Základní příkazy IRC
- Poskytování IRC pomocí UnrealIRCd
Úvod
Možná si vzpomínáte na IRC chaty, kdy ještě neexistovalo nic takového jako Facebook Google+ nebo LinkedIn a naše sociální sítě byly IRC chatovací kanály. Dnes máme spoustu alternativ, jak s někým mluvit na internetu, spolu se sociálními sítěmi máme mnoho oblíbených služeb pro zasílání zpráv, jako je Whatsapp, Skype, Hangouts a tak dále.
Přestože IRC není hlavním komunikačním programem na internetu, je stále živý a skvělý nástroj. Je to lehký, široce nasazený a standardizovaný protokol, původně vytvořený v roce 1988 uživateli BBS jako náhrada a vylepšení programu talk a který svými vlastnostmi viděl zrod a smrt mnoha dalších systémů pro zasílání zpráv.
Připojování k IRC
Chcete-li se připojit k síti IRC, budete potřebovat klientský software. Zde je několik dobrých klientů pro Linux.
Irssi
Irssi je IRC klient založený na curses, je docela skvělý, přizpůsobitelný, umožňuje použití skriptů a odmítá potřebu X serveru.
Instalovat
yum install irssi
Připojte se k síti pomocí parametru -c,
irssi -c irc.freenode.org
Přepínání mezi okny Irssi může být napoprvé trochu složité, můžete použít [Ctrl+n] přejděte do dalšího okna a [Ctrl+p] za předchozí. příkaz /window.
/window [ next | previous ]
Pomocí parametru seznam zobrazíte seznam s otevřenými okny
/window list
Poté můžete přejít na uvedené číslo okna pomocí [Alt+#] , kde # je číslo okna mezi 1-9. Dalším způsobem, jak toho dosáhnout, je parametr goto
Dobré tipy, jak používat Irssi, můžete také najít na webu quadpoint.
/window goto [1-9]
XChat
XChat zjednodušuje proces pro nováčky tím, že vám nabízí možnosti ukazování a klikání na příkazy a většinu akcí.
XChat můžete nainstalovat pomocí yum
yum install xchat
Připojte se k IRC sítím pomocí dialogu, který se vám zobrazí, když právě spouštíte XChat, přístupný také z nabídky XChat->Seznam sítí [Ctrl+s]
Po úspěšném připojení k síti můžete vybrat jednu z možností připojení ke kanálům. Můžete také použít nabídku Server->Seznam kanálů.
Základní IRC příkazy
Nyní máte klienta, zde jsou některé příkazy, které můžete použít na IRC. Když se poprvé připojíte k síti, klient vám přidělí přezdívku na základě vašeho přihlášení do systému a chcete-li změnit přezdívku například na Tuxman, zkuste toto.
/nick Tuxman
S novým, možná budete chtít vstoupit na kanál. Do seznamu kanály související s vývojem try
/list #devel*
Jakmile najdete kanál, který vás zajímá, zkuste se připojit pomocí /join #channelname.
/join #linux
OK, jste na kanálu, můžete začít mluvit hned, abyste věděli, kdo je na kanálu, udělejte to pomocí jmén
/names
Možná se chcete dozvědět více o tom, kdo je někdo v síti, zkuste whois.
/whois MrRobot
Chcete s někým chatovat? dotaz.
/query MrRobot
Zaregistrujte si přezdívku
K chatování v sítích IRC si nemusíte vytvářet účet. Pokud však chcete zabránit tomu, aby vaši přezdívku používal někdo jiný, musíte svou přezdívku zaregistrovat v síti. To vám také umožní přístup ke zdrojům, které vyžadují registrované přezdívky, jako je maskování a přístup k více kanálům.
Předpokládejme, že chcete zaregistrovat přezdívku Tuxman na Freenode. Požádejte NickServ, aby ZAREGISTROVAL vaši přezdívku
/msg NickServ REGISTER password [email protected]
Poté musíte získat svůj ověřovací kód, který vám byl zaslán na vámi uvedený e-mail, a odeslat jej NickServ
/msg NickServ VERIFY REGISTER nickname verifycode
Zaregistrovali jste svou přezdívku, nyní se můžete identifikovat v síti
/msg NickServ IDENTIFY password
Připojte se a identifikujte se při spuštění Irssi pomocí parametrů -n a -w.
irssi -c irc.freenode.net -n nickname -w password
Také byste měli čas od času změnit heslo, použijte následující příkaz
/msg nickserv set password newpassword
Instalace UnrealIRCd
Mezi další implementace Ircd existuje UnrealIRCd. Je to plně vybavený, modulární a vysoce zdokumentovaný, v současnosti také nejimplementovanější IRC server, který odpovídá více než 50 % aktuálně běžících IRC serverů.
Další požadavky
Zde je několik požadavků, abyste získali to nejlepší z vašeho UnrealIRCd, přestože to není vyžadováno, je to důrazně doporučeno, jak uvidíte.
Ntp - Musíte mít správný čas a datum, ntp je vaše nejlepší volba pro udržení správného času a data.
Nainstalujte ntp
yum install ntp
Povolit ntpd
chkconfig ntpd on
OpenSSL - Toto je také volitelné, použije se, pokud chcete podporu SSL/TLS.
yum install openssl
Zlib - To vám umožní komprimovat síťové pakety a snížit zatížení spojení.
yum install zlib
Získejte UnrealIRCd
Stáhněte si Unrealircd.
wget --no-check-certificate https://www.unrealircd.org/downloads/Unreal3.2.10.5.tar.gz
Extact the tarball
tar zxvf Unreal3.2.10.5.tar.gz
Zadejte strom zdrojů
cd Unreal*
Povolit uživatele chroot irc a skupinu irc (doporučeno)
Tento krok je volitelný, ale důrazně se doporučuje, protože vám umožní zrušit práva superuživatele a spustit UnreadIRCd pod neprivilegovaným uživatelským účtem v chrootovaném prostředí, a tak bude celé nastavení mnohem bezpečnější.
Chcete-li to provést, musíte upravit soubor include/config.h soubor ve zdrojovém adresáři.
Funkce prostředí Chroot je definována následující direktivou
/* #define CHROOTDIR */
Definujte konstantu IRC_USER
/* #define IRC_USER "<user name>" */
Definujte konstantu IRC_GROUP
/* #define IRC_GROUP "<group name>" */
Vytvořit skupinu pro ircd
groupadd ircd
Vytvořte uživatele ircd a přidejte jej do skupiny ircd.
useradd ircd -s /bin/false -g ircd
Nastavte heslo pro uživatele ircd, abyste se ujistili, že nikdo nemůže vstoupit.
passwd ircd
Nakonfigurujte sestavení
V tomto okamžiku se budete řídit otázkami na obrazovce a většinu z nich můžete použít výchozí nastavení, nicméně doporučuji, abyste na výzvu k povolení podpory ssl odpověděli Ano.
./config
Sestavte zdroje
make
Instalovat soubory
make install
Pokud jste povolili funkce uživatele, skupiny a chroot ircd, měli byste nyní změnit vlastnictví adresáře UnrealIRCd.
chown -R ircd:ircd /home/ircd/UnrealIRCd
Konfigurovat
Je čas, aby váš IRC démon fungoval. Pro tuto úpravu unrealircd.conf , konfigurační soubor pro UnrealIRCd. Dobře zdokumentovaný soubor doc/sample.conf najdete pod stromem adresářů UnrealIRCD, může vám pomoci na vaší cestě. Vytvořil jsem tyto pracovní úryvky se stručným popisem.
já - Tento blok nastavuje některá základní nastavení serveru, název , základní informace a číselné hodnota, která musí být jedinečná pro server ve stejné síti.
me {
jméno "irc.localhost"; info "Můj server"; číselná 1;
};
správce - Zde nastavíte, kdo je správce serveru, jeho jméno, přezdívku a email.
admin {
"George Jedi"; /* Jméno */ "geroge";/* Přezdívka */ "[email protected]"; /* E-mail */
};
klienti/servery třídy - Toto nastavuje způsob, jakým náš server zachází s klienty a dalšími servery. frekvence ping, maximální počet připojení klientů, frekvence pokusů o opětovné připojení, fronty příjmu a odesílání.
class clients {
pingfrekv 90; maxclients 500; sendq 100 000; recvq 8000;
};' třídní servery {
pingfrekv 90; maxclients 10; /* Maximální počet serverů, které můžeme mít propojeny najednou */ sendq 1000000; frekvence spojení 100; /* Kolik sekund mezi jednotlivými pokusy o připojení */
};
povolit - Definujte, kdo a jak se může připojit k serveru. První blok umožňuje připojení uživatelů z libovolné IP adresy nebo názvu hostitele a omezuje připojení na 5 na IP. Druhý blok umožňuje pouze jedno ověřené připojení k lidem z ugly.people.com
allow {
ip *; název hostitele *; třídní klienti; maxperip 5;
}; povolit {
ip *@*; název hostitele *@*.ugly.people.com; třídní klienti; heslo "jayajaya"; maxperip 1;
};
poslouchejte - Které porty poslouchat pro připojení. Na bloku nasloucháme na portu 6697 pro uživatelské klienty připojující se přes zabezpečenou soketovou vrstvu (SSL). Všimněte si také jednoduchého řádku pro připojení ve formátu prostého textu na portu 6667
listen *:6697 {
možnosti {
ssl; pouze pro klienty;
};
}; #poslouchej *:8067; poslouchej *:6667; #poslouchej *:6660-6669;
oper - Atributy operátora, v tomto příkladu používáme operátora s přezdívkou george, který se může připojit odkudkoli s heslem "fuba"
oper george { class klienti; z { userhost *@*; };
heslo "fuba"; příznaky {
netadmin; can_gkline; can_kline; can_unkline; can_gzline; can_zline; can_restart; může_umřít; can_rehash; globální;
};
swhois "Příklad masky whois"; snomask cFfkoSsqNG;
};
loadmodule - Načte moduly, toto je doporučené minimum
loadmodule "modules/commands.so";
loadmodule "modules/cloak.so";
protokol - Jak se budou zapisovat soubory protokolu, v příkladu protokolujeme události označené jako chyby, zabíjení atd
log ircd.log {
maximální velikost 5 MB; příznaky {
chyby; zabíjí; oper; tkl;
};
};
nastavit - Zde můžete nastavit mnoho dalších věcí, v našem příkladu máme síť na doméně gaia.net s názvem gaianet, která spojuje lidi s #welcome kanálem, nastavíme 3 různé alfanumerické maskovací klíče, nastavíme hostitele v síti, vytvoříme #help channel a další možnosti, které jsou podrobně popsány na nrealircd.org.
set {
kline-address [email protected]; automatické připojení #welcome; op
možnosti {
hide-ulines;
};
maxchannelsperuser 10; services-server "services.gaia.net"; default-server "localhost"; název sítě "gaianet"; kanál nápovědy "#help"; hiddenhost-prefix "gaia";
maskovací klíče {
"aoAr1O6fh3Q6w4Hnl3J7hVz4Zb7x4YwpW"; "andaoAr1HnR6gl3sJ7uhVzO6fh3Q6w4oN3"; "a2Ja2JO6fh3Q6w4oNs7O6fh3Q6w4oN3s7";
};
hostitelé {
místní "locop.gaia.net"; globální "ircop.gaia.net"; coadmin "coadmin.gaia.net"; admin "admin.gaia.net"; serviceadmin "csops.gaia.net"; netadmin "netadmin.gaia.net"; host-on-oper-up "ne";
};
};
Spusťte UnrealIRCd
Když máte všechny věci na svém místě, můžete nyní spustit svého IRC démona. Přidejte následující příkaz na rc.local pro spuštění UnrealIRCd při startu vašeho systému.
/home/ircd/UnrealIRCd/unreal start
Mělo by běžet bez problémů, pokud se však během spouštění setkáte s nějakým problémem, přečtěte si chybové zprávy na terminálu a také v souboru ircd.log, abyste zjistili, co je špatně.
Závěr
Pro tuto chvíli jste hotovi, váš klient a server by nyní měly být spuštěny, můžete mluvit s lidmi po celém světě pomocí některé z globálních sítí nebo pomocí své vlastní sítě. Je však dobré dozvědět se více o protokolu IRC, jak spravovat sítě, kanály a uživatele atd. Následující dokumenty by vám měly pomoci.
Dokumenty RFC
Následující RFC definuje standardy pro protokol IRC. Měli byste si to přečíst, než budete mít to nejlepší z IRC.
RFC-1459, RFC-2810, RFC-2811, RFC-2812, RFC-2813, RFC-7194
Podpora UnrealIRCd a dokumenty
Další informace naleznete v oficiální dokumentaci UnrealIRCd. Obsahuje všechny podrobnosti, které nejsou popsány v tomto dokumentu. Pomoc od IRC můžete také získat připojením na irc.unrealircd.org:6667 na kanálu #unreal-support. Děkujeme za přečtení!