The Rise of Machines: Real World Applications of AI
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Internet Relay Chat (IRC) je něco, co existuje od počátků internetu. V této příručce vám ukážu, jak nastavit IRC server s InspIRCd s Atheme pro další služby IRC. InspIRCd je jedním z mála IRC serverů napsaných od nuly a jedním z mála IRC serverů, které poskytují laditelný počet funkcí pomocí pokročilého modulového systému.
InspIRCd by měl fungovat s libovolnou velikostí instance. Jeho minimální systémové požadavky jsou 700 MHz CPU a 300 MB RAM.
Když se přihlásíte jako uživatel sudo, můžete aktualizovat systém na nejnovější stabilní stav následovně:
apt-get update && apt-get upgrade
Nejprve trochu přitvrdíme VPS. Povolíme ufwa přidáme několik pravidel. Začněme konfigurací portů:
ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable
Firewall vyzve dialogové okno k přijetí změn. Stačí stisknout Yano.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Dále můžeme nainstalovat InspIRCd, pro Ubuntu 16.04 je tento balíček dostupný prostřednictvím hlavního úložiště.
apt-get install inspircd
Po dokončení instalace můžeme začít s konfigurací služby. Hlavní konfigurace se nachází v /etc/inspircd/inspircd.confsouboru a má vzhled souboru XML.
nano /etc/inspircd/inspircd.conf
Nejprve vyhledejte serverznačku. Tato značka je místo, kde zadáváte podrobnosti o vašem serveru/síti, většina těchto nastavení je viditelná pro vaše uživatele.
name: Název hostitele vašeho serveru. Nemusí to řešit, ale musí mít správnou syntaxi (např.: sub.example.net).description: Popis serveru. id: SID, které se má použít pro tento server. Toto by nemělo být bez komentáře, pokud nedojde ke konfliktu SID. Musí mít tři znaky. První znak musí být číslice [0-9], zbývající dva znaky mohou být písmena [AZ] nebo číslice.network: Název sítě zadaný při připojení ke klientům. Měl by být stejný na všech serverech v síti a neměl by obsahovat mezery.V našem průvodci budeme používat následující:
<server name="irc.example.net"
description="My EXAMPLE.NET server"
id="5AA"
network="ExampleNET">
Nahraďte původní štítek výše uvedeným.
Dále vyhledejte adminznačku. Tato nastavení jsou administrativní detaily vašeho serveru. Zobrazí se, když zadáte /ADMINpříkaz.
name: Skutečné jménonick: Přezdívka (nejlépe taková, jakou používáte v síti).email: emailová adresa. Nemusí být platná, ale tato adresa bude ta, na kterou by vás měli vaši uživatelé kontaktovat v případě problémů.Použijeme správce Xenial:
<admin name="Xenial Xerius"
nick="xenial"
email="admin@irc.example.net">
Nyní přejděte na bind address. Tato značka se používá pro otevření služby. Ve výchozím nastavení uvidíte IP localhost ( 127.0.0.1). To znamená, že službu nemůže kontaktovat vnější svět. Pojďme otevřít naši službu tím, že nebudeme používat žádnou adresu. To způsobí, že se služba naváže na jakékoli ethernetové rozhraní, které stroj vlastní:
<bind address="" port="6667" type="clients">
Další tag bude powertag. Tato značka definuje dvě hesla.
diepass: Heslo pro operátory, které mohou použít, pokud chtějí vypnout server.restartpass: Heslo pro operátory, které mohou použít, pokud potřebují restartovat server.Nejlepší je změnit tato výchozí hesla:
<power diepass="die123" restartpass="restart123" pause="2">
Poslední nastavení, které budeme měnit, jsou opernastavení. Ty definují přihlášení operátora.
name: přihlášení operátora, které se používá k provozu (Příklad: /oper name password).password: nehašovaný a prostý texthost: Jaké názvy hostitelů/IP mohou fungovat. Více možností lze oddělit mezerami a CIDR jsou povoleny. Pro tuto sekci můžete použít *nebo @.type: Co je to za typ opery. Výše uvedený blok by měl mít již definované tři třídy: NetAdmin, GlobalOpa Helper. To NetAdminje ten, který budeme používat.Změňte operznačku pomocí následujícího obsahu. Všimněte si, že v našem příkladu budeme @pro hostitele používat " ". V produkčním prostředí není žádoucí používat toto:
<oper name="xenial"
password="mypassword"
host="*@*"
type="NetAdmin">
Než službu restartujeme, upravte soubory motda rules:
nano /etc/inspircd/inspircd.motd
Nahraďte jej vlastním, například:
This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.
Nakonec upravte soubory pravidel.
nano /etc/inspircd/inspircd.rules
Přidejte vlastní pravidla, například:
The first rule of Fight Club is: You do not talk about Fight Club. The second rule of Fight Club is: You DO NOT TALK ABOUT FIGHT CLUB!
Nyní, když je vše nastaveno, restartujte službu IRC:
service inspircd restart
Chcete-li ověřit, že vše běží, dotazujte se netstatnástroje:
netstat -tulpn | grep -i inspircd
Měl by vypsat program inspircdnaslouchající na portu 6666:
tcp6 0 0 :::6667 :::* LISTEN 31313/inspircd
udp 0 0 0.0.0.0:39335 0.0.0.0:* 31313/inspircd
Pro testování serveru můžeme nainstalovat terminálového IRC klienta. Ve Windows můžete použít program jako je mIRC. V našem příkladu budeme používat weechat. Toto je textový IRC klient, který může být použit v terminálové relaci.
Nainstalujte aplikaci weechat prostřednictvím repozitářů:
apt-get install weechat
Jakmile je tato aplikace nainstalována, spusťte tohoto IRC klienta:
weechat
Chcete-li zobrazit všechny příkazy, které weechat nabízí, můžete požádat o příkaz help:
/help
Chcete-li ukončit weechat, můžete zadat následující příkaz:
/quit
Přidejte náš místní server k připojení ve weechat:
/server add local localhost
Nyní se můžeme připojit k profilu připojení s názvem 'místní':
/connect local
V okně terminálu se zobrazí naše motd a pravidla.
Chcete-li se povýšit na operátora, zadejte následující:
/oper xenial mypassword
Toto nám ukáže potvrzení úspěchu:
22:40:34 local -- | User mode [+o] by irc.example.net
22:40:34 local -- | You are now a NetAdmin
To je pro náš IRC server vše.
Atheme je sada služeb pro IRC sítě určená pro velké IRC sítě s vysokými požadavky na škálovatelnost. Do vaší sítě IRC přidává další služby, jako je NickServ (registrace přezdívky).
Atheme lze nalézt v úložišti Ubuntu:
apt-get install atheme-services
Jakmile jsou binární soubory nainstalovány, rozbalte příklad konfiguračního souboru a zkopírujte jej do athemesložky:
gunzip /usr/share/doc/atheme-services/examples/atheme.conf.example.gz
cp /usr/share/doc/atheme-services/examples/atheme.conf.example /etc/atheme/atheme.conf
Dále upravte tento konfigurační soubor:
nano /etc/atheme/atheme.conf
Nejprve vyhledejte loadmodulepříkaz protokolu. To by mělo být definováno takto:
loadmodule "modules/protocol/charybdis";
Nahraďte charybdisprotokolem inspircd:
loadmodule "modules/protocol/inspircd12";
Další hledání služby name:
name = "services.int";
Změňte tak, services.intaby odpovídala názvu domény nebo IP adrese vašeho IRC serveru:
name = "services.irc.example.net";
Jakmile to uděláte, vyhledejte číslo:
numeric = "00A";
Now change it to a value different than the numeric used in the server tag used before.
numeric = "77C";
Once this is done, let's configure the network name. Search for netname:
netname = "misconfigured network";
Change this value to the network parameter in the server tag.
netname = "ExampleNET";
Change the value of the hidehostsuffix:
hidehostsuffix = "users.misconfigured";
Remove the .misconfigured:
hidehostsuffix = "users";
Next change the admin name to the one we used before:
adminname = "xenial";
Match the adminemail to the associated email used before:
adminemail = "admin@irc.example.net";
Now that this is done, we need to create an uplink for our services.
Find the two uplink code blocks and comment them all out.
Add /* before the uplink{ command and */ at the end of the closing brace.
It will look like the following:
/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
host = "::1";
password = "linkage";
port = 6667;
};
*/
Dále přidejte náš vlastní uplink. Tento uplink poběží pouze na IP našeho localhostu a na portu 7001. Zadejte supertajné heslo (budeme ho používat později):
uplink "services.irc.example.net" {
host = "127.0.0.1";
// password
// If you want to have same send_password and accept_password, you
// can specify both using 'password' instead of individually.
password = "SuperSecret123456";
port = 7001;
};
Nakonec vyhledejte naše definice služeb. Začněte nickservnejprve blokem.
V bloku nickserv vyhledejte hostznačku a změňte ji na ExampleNet/services/NickServ:
nickserv {
...<<truncated>>...
/* (*)host
* The hostname we want NickServ to have.
*/
host = "ExampleNet/services/NickServ";
/* (*)real
* The realname (gecos) information we want NickServ to have.
*/
real = "Nickname Services";
...<<truncated>>...
Změňte také hostname tagpro všechny ostatní služby:
nickserv: ExampleNet/services/NickServ
chanserv: ExampleNet/services/ChanServ
global: ExampleNet/services/Global
infoserv: ExampleNet/services/InfoServ
operserv: ExampleNet/services/OperServ
saslserv: ExampleNet/services/SaslServ
memoserv: ExampleNet/services/MemoServ
gameserv: ExampleNet/services/GameServ
botserv: ExampleNet/services/BotServ
groupserv: ExampleNet/services/GroupServ
hostserv: ExampleNet/services/HostServ
helpserv: ExampleNet/services/HelpServ
alis: ExampleNet/services/ALIS
Jakmile to uděláte, uložte a ukončete konfigurační soubor.
Chcete-li to vše vyzkoušet, spusťte atheme-servicesbinární soubor:
atheme-services
To by vám mělo přesně říct, jestli to funguje nebo ne. Pokud neobdržíte výstup, jak je znázorněno níže, vraťte se a zkontrolujte, zda v konfiguračním souboru nejsou nějaké chyby:
[19/02/2018 23:06:24] db-open-read: database '/var/lib/atheme/services.db' does not yet exist; a new one will be created.
[19/02/2018 23:06:24] pid 1929
[19/02/2018 23:06:24] running in background mode from /
Nyní povolte službu úpravou souboru služeb:
nano /etc/default/atheme-services
Změňte ENABLEDhodnotu:
DAEMON_OPTS=""
ENABLED=1
Nyní můžeme službu spustit:
service atheme-services restart
Zkontrolujte jeho stav:
service atheme-services status
To vrátí podobné výsledky:
● atheme-services.service - LSB: Atheme-services daemon init.d script
Loaded: loaded (/etc/init.d/atheme-services; bad; vendor preset: enabled)
Active: active (running) since Wed 2018-02-19 23:45:05 UTC; 8s ago
Docs: man:systemd-sysv-generator(8)
Feb 19 23:45:05 vultr.guest atheme-services[2810]: Starting Atheme IRC Services: atheme-service
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] atheme 6.0.11 is start
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] Module operserv/sgline
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] module_load(): module
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] /etc/atheme/atheme.con
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] db-open-read: database
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] pid 2824
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] running in background
Feb 19 23:45:05 vultr.guest atheme-services[2810]: .
Feb 19 23:45:05 vultr.guest systemd[1]: Started LSB: Atheme-services daemon init.d script.
Než skončíme, musíme přidat naše služby Atheme do InspIRCd:
nano /etc/inspircd/inspircd.conf
Na konec souboru přidejte tyto řádky:
<bind address="127.0.0.1" port="7001" type="servers">
<uline server="services.irc.example.net">
<link name="services.irc.example.net"
ipaddr="127.0.0.1"
port="7001"
allowmask="127.0.0.1"
sendpass="SuperSecret123456"
recvpass="SuperSecret123456">
<chanprotect noservices="no"
qprefix="~"
aprefix="&">
# Modules needed for services to function
<module name="m_chanprotect.so">
<module name="m_halfop.so">
<module name="m_services_account.so">
<module name="m_deaf.so">
<module name="m_spanningtree.so">
<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_svshold.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_chghost.so">
<module name="m_namesx.so">
<module name="m_uhnames.so">
Nyní restartujte službu InspIRCd:
service inspircd restart
Ujistěte se, že vše běží správně:
service inspircd status
Nyní znovu spusťte našeho weechatového klienta:
weechat
Připojte se k našemu místnímu serveru:
/connect local
Ihned uvidíte jednu z našich služeb Atheme: NickServ. Přivítá vás informacemi o sobě.
23:12:48 local -- | NickServ (NickServ@ExampleNet/services/NickServ): Welcome to ExampleNet,
| root! Here on ExampleNet, we provide services to enable the registration of
| nicknames and channels! For details, type /msg NickServ help and /msg
| ChanServ help.
Můžete se dotazovat NickServ a zjistit jeho dostupné příkazy pomocí následujícího:
/msg NickServ help
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více