Uživatelské nástroje

Nástroje pro tento web

Tato dokumentace již není udržována týmem projektu Turris (přestože ji lze i nadále používat pro sdílení komunitního obsahu). Aktuální oficiální dokumentace se nachází na docs.turris.cz.

Článek prozatím neobsahuje:
- aby Glowing Bear běžel na pozadí (screen v LXC kontejneru nejde)
- SSL certifikát pro neveřejnou IP adresu

Instalace IRC klienta (weechat) a webového rozhraní (Glowing Bear) v LXC kontejneru

Požadavky:

  • mít minimálně 8GB flash disk (lepší je použít pevný disk [HDD])
  • mít LXC kontejner Turris 1.x Omnia.

V tomto návodu v Debian LXC kontejneru si ukážeme

  1. Jak stáhnout a nainstalovat Weechat.
  2. Nastavení Weechatu.
  3. Propojení s Glowing Bear (a případně jeho stažení a spuštění pro běh v lokální síti).
  4. Pro ty, co mají veřejnou IPv4 adresu, tak vygenerování Let's Encrypt certifikátu a použití SSL pro připojování do Glowing Bear.

Proč je dobré použít kontejner se můžeš dočíst ve článku: https://www.turris.cz/doc/cs/public/lxc

Závislosti

Pro stažení zavislostí je nutné, aby ses přihlásil na SSH, které běží ve tvém routeru a zkopíroval tento příkaz

Turris 1.x

apt-get install cmake pkg-config libncursesw5-dev libcurl4-gnutls-dev zlib1g-dev libgcrypt20-dev libgnutls28-dev
gettext ca-certificates libaspell-dev python-dev libperl-dev ruby2.3-dev liblua5.3-dev tcl-dev guile-2.0-dev asciidoctor libcpputest-dev

Omnia

apt-get build-dep weechat

Stažení Weechat

V době psaní článku je aktuální verze: 1.8

Není vhodné používat starší verze, protože od verze 0.3.3 do 1.7.1 se nachází bug, který ti může shodit weechat. Více zde

wget https://weechat.org/files/src/weechat-1.8.tar.gz

Rozbalení archívu .tar.gz

tar -xvzf weechat-1.8.tar.gz

Nyní přejdeme do rozbalené složky:

cd weechat-1.8

Kompilace vč. instalace Weechat

Do defaultní složky /usr/local

mkdir build
cd build
cmake ..
make
make install

Do vlastního adresáře

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
make
make install

Kompilace trvá zhruba 2 minuty, jak na Turris 1.x, tak také na Turris Omnia.

Nastavení Weechatu

Prvotní vytvoření konfiguračních souborů:

cd
/usr/local/bin/weechat

a nyní napiš:

/save

a potom hned

/quit

Nyní ve složce /rootfs/root najdeme skrytou složku .weechat a v ní si můžeš přidat např. na jaký server se chceš připojovat, jakou chceš mít přezdívku na IRC serveru atd.

Přidání serveru

Freenode
/server add freenode chat.freenode.net

Přezdívky na serveru

Nastavení jména uživatele a Tvého pravého jména
/set irc.server.freenode.username "Moje přezdívka"
/set irc.server.freenode.realname "Moje pravé jméno"
Nastavení výchozích jmen uživatele
/set irc.server.freenode.nicks "mojeprezdivka,mojeprazdivka2,mojeprazdivka3,mojeprazdivka4,mojeprazdivka5"

Automatické přihlášení na server

/set irc.server.freenode.autoconnect on

Přihlášení pomocí SSL na IRC server

/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on

Registrace jména

/msg NickServ REGISTER heslo tvujemail@priklad.cz

Po připojení na server provést příkaz(y)

například pro automatickou identifikaci (= přihlášení uživatele)

/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"

Automatické připojení ke kanálům (channels) po připojení na server

/set irc.server.freenode.autojoin "#kanal1,#kanal2"

Jednorázové připojení na server

/connect freenode

Po dokončení nastavení je nutné napsat /save, aby se ti to vše uložilo do konfiguračních souborů

Automatické spuštění při startu LXC kontejneru

Turris 1.x

wget 'https://raw.githubusercontent.com/BKPepe/scripty-turris/master/weechat' -O /etc/init.d/weechat
chmod +x /etc/init.d/weechat

Omnia:

wget 'https://raw.githubusercontent.com/BKPepe/scripty-turris/master/weechat' -O /etc/init.d/weechat
chmod +x /etc/init.d/weechat

Pokud si nainstaloval weechat do jiného adresáře je nutné si script upravit.

Protože mně nevyhovuje se neustále připojovat do SSH a chatovat přímo ze shellu, tak používám webový klient Glowing Bear.

Webový klient

Glowing Bear

Glowing Bear můžeš najít na adrese: https://www.glowing-bear.org/

Prvně ve weechatu je nutné vytvořit unencrypted relay:

/relay add weechat 9001
/set relay.network.password tvoje_heslo_pod_kterym_se_budes_prihlasovat_do_weboveho_rozhrani

Pokud neplánuješ hostovat Glowing Bear u sebe a odpadne ti starost o aktualizace, neboť vyvojáři Glowing Bear se o to stará a ty to můžeš bezplatně využívat. Je to od velice vstřícný krok a rovnou přejdi na krok:
SSL Weechat & Glowing Bear

Přeci jenom pokud chceš hostovat Glowing Bear u sebe. Rozhodně ti v tom nebudu bránit a ukážu ti jak na to.

git clone https://github.com/glowing-bear/glowing-bear
cd glowing-bear 

Jednoduchý webový server, kde budeš mít Glowing Bear zapneš pomocí:

python -m SimpleHTTPServer

Glowing Bear nyní najdeš na http://ipadresatvehokontejneru:8000 dokud nezavřeš SSH klienta.

SSL Weechat & Glowing Bear

Generování vlastního SSL certifikátu

Pokud máš svojí vlastní doménu a veřejnou IP adresu, tak tento krok přeskoč a přejdi na: Let's Encrypt certifikát

mkdir -p ~/.weechat/ssl cd ~/.weechat/ssl

Použití Let's Encrypt certifikátu vč automatického obnovení

Bohužel LE certifikát nelze použít bez vlastní domény a veřejné IP adresy od tvého internetového providera. Přihlaš se do webhostingu, kde máš svojí doménu a vytvoř si subdoménu a její DNS záznam přesměruj na svojí veřejnou IP adresu. Případně si můžeš založit subdomény zdarma například od poskytovatele jako je afraid

Nastavení DNS záznamu pro doménu

U registrátora domény si najdi „DNS záznamy“ a přidej DNS záznam, aby vypadal např. takto

Přesměrování portu tzv. port forwarding je nutné provést v LuCI: Síť → Firewall → Přesměrování portů

Vytvoříš nové přesměrování, aby vypadalo takto:

Potom se můžeš pustit na instalaci Let's Encrypt certifikátu.

apt-get install certbot

Vytvoř si složku ssl, která se bude nacházet ve skryté složce .weechat

mkdir -p ~jmenouzivatele/.weechat/ssl

Nyní vytvoř LE certifikát pro tvojí subdoménu/doménu (v mém případě to je subdoména: irc.weechat.cz)

certbot certonly --standalone -d irc.weechat.cz

Vyzve nás to k zadání emailu, který je používán v případě urgentní obnovy nebo v případě bezpečnostních upozornění Potom potvrdíme licenční podmínky pomocí klávesy A a zmáčkneme enter. Nyní se nás to ptá, zda chceme sdílet naší emailovou adresu s nadací: Electronic Frontier Foundation a budou nám posílat emaily ohledně zabezpečení webu, chránění uživatelů a budou bránit digitální práva. Volbu nechám na tobě. [Y]es/[N]o

Pokud se ti objeví tato chyba:

   Type:   connection
   Detail: DNS problem: NXDOMAIN looking up A for irc.weechat.cz

Tak to znamená, že si zapomněl přidat DNS pro svojí subdoménu/doménu. Vrať se a opakuj tento krok případně zkontroluj tento krok: #Nastavení DNS záznamu pro doménu

Pokud je vše v pořádku, tak bys měl mít tento výstup v konzoli:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for irc.weechat.cz
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/irc.weechat.cz/fullchain.pem. Your cert
   will expire on 2017-08-18. To obtain a new or tweaked version of
   this certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

V Important Notices najdeš cestu, kde se ti certifikát a klíč uložil.

Nyní certifikát a klíč přesuneme do složky, kterou jsme vytvořili v minulém kroku:

cat /etc/letsencrypt/live/TVOJESUBDOMENA/{fullchain,privkey}.pem > ~jmenouzivatele/.weechat/ssl/relay.pem
chown -R username:username ~username/.weechat/ssl/

Nyní nastavíme SSL relay, abychom se mohli šifrovaně připojit do Weechatu.

/set relay.network.password y0ur_StRonG-pa$sw0rd:of*choice
/relay sslcertkey
/relay add ssl.weechat 9001

Teď se vrátíme zpátky k LE, protože sice je certifikát zadarmo, ale vydrží pouze 3 měsíce, proto nám je nutné použít automatická obnova certifikátu, protože pokud si certifikát neobnovíš, tak se nebudeš moct přihlásit na stránce Glowing Bear

Budeme k tomu potřebovat administrační rozhraní routeru LuCI, kde si naplánujeme úlohu. Podobně jako v tomto článku: https://www.turris.cz/doc/cs/public/cron_automaticke_vypinani_wifi

Nastavíme si, aby každý čtvrtek ve 12:39 obnovil LE certifikát:

39 12 * * 4 /usr/local/sbin/renew.sh

Nyní si vytvoříme soubor renew.sh, který umístíme do /usr/local/sbin Obsah souboru renew.sh bude vypadat takto:

renew.sh
#!/bin/bash
 
certbot renew -q
cat /etc/letsencrypt/live/irc.weechat.cz/privkey.pem \
    /etc/letsencrypt/live/irc.weechat.cz/fullchain.pem > \
    ~username/.weechat/ssl/relay.pem
chown username ~username/.weechat/ssl/relay.pem

Soubor je nutné si pozměnit podle tvé domény/subdomény a případně také cestu, kde máš nainstalovaný weechat.

Nyní máme hotovo!

Propojení se Slack

Již brzy.

It's possible to connect to slack using weechat. According to this site: https://wiki.archlinux.org/index.php/WeeChat

Odinstalace

Weechat a Glowing Bear

Pokud se někdy rozhodneš odinstalovat Weechat, stačí odstranit dvě složky weechat a skrytou složku .weechat
(která obsahuje nastavení pro relay, tvoje nešifrovaná/zašifrovaná hesla)
Obě složky by se měly nacházet v /mnt/hdd/lxc-containers/debian/rootfs/root,kde také najdeš Glowing Bear. Ten také nezapoměň smazat.

Můžeš využít také program WinSCP nebo pomocí PuTTY se můžeš procházet složkami na tvém Turrisu pomocí příkazu

apt-get install mc

a MC spustíš pomocí příkazu:

mc

Autorem článku je: Josef Schlehofer
Pokud je ti něco nejasné, tak neváhej a kontaktuj autora. Rád ti to vysvětlí a případně pomůže.
Můžeš se také na něj obrátit prostřednictvím soukromé zprávy na Turris fóru