Weechat
WeeChat är en terminalbaserad Internet Relay Chat (IRC) klient. WeeChat är skriven i C, och är gjord för att vara flexibel och utbyggbar. WeeChat har alla möjliga plugins skrivna i olika språk t.ex. Python, Perl, och Ruby.
Installation
Rekommenderat OS: Debian 7
touch /etc/apt/sources.list.d/weechat.list echo "deb http://debian.weechat.org wheezy main" | tee /etc/apt/sources.list.d/weechat.list apt-get update && apt-get -y --force-yes install screen weechat weechat-scripts
Konfiguration
Grundläggande konfiguration. Glöm inte att spara efter varje inställning du gör som du vill ska finnas kvar efter reboot.
/set irc.server_default.nicks "HorseBoy_92" /set irc.server_default.realname "John Smith" /save
Lägg till kanaler
/server add freenode irc.freenode.net/6667 -autoconnect /set irc.server.freenode.autojoin "#FreeNAS,#cisco,#pfsense" /server add ircnet open.ircnet.net/6667 -autoconnect /server add quakenet se.quakenet.org/6667 -autoconnect /set irc.server.quakenet.autojoin "#dd,#qm secretpäwä" /set irc.server.hacker.ssl_verify off /server add hacker irc1.hacker.se/6667 -password=noes -ssl -autoconnect /save
Script
/script /script install keepnick.py
Ångra inställning
Alla kommandon som börjar med /set kan man köra /unset på.
/unset <option>
Relay
Relay behövs för tex glowing-bear.
/set relay.network.password secretpw /relay add weechat 9001
Vet ej vilken av följande två som behövs för att tillåta klienter från ett annat nät än samma som weechatservern.
/set relay.network.allowed_ips * /set relay.network.websocket_allowed_origins *
Weechat relay lyssnar default efter IPv6. För att stänga av.
/set relay.network.ipv6 off
Autostart
sed -i "13i/bin/su - -- user1 -l -c '/usr/bin/screen -dmS Weechat /usr/bin/weechat'" /etc/rc.local
Anslut till nästa IRC server.
/reconnect quakenet -switch
SSL
För att aktivera SSL.
/set irc.server.freenode.ssl on
Om du får error om certifikatet eller att certet inte är giltligt skriv.
/set irc.server.freenode.ssl_verify off
Skicka ett kommando när du ansluter.
/set irc.server.quakenet.command "/MSG Q@CServe.quakenet.org AUTH USERNAME PASSWORD"
Filter
Filter kan användas för att slippa se vissa ord, användare eller meddelande.
För att filtrera bort join/part/quit-meddelanden.
/set irc.look.smart_filter on /filter add joinquit *.freenode.* irc_join,irc_part,irc_quit *
Fish
aptitude install python-crypto /script install fish.py /set fish.look.mark_encrypted "." /set fish.look.mark_position off|begin|end
DH1080: /blowkey exchange nick Set the key for a channel: /blowkey set -server freenet #blowfish key Remove the key: /blowkey remove #blowfish Set the key for a query: /blowkey set nick secret+key List all keys: /blowkey
Glowing Bear
Glowing Bear är en webb-frontend för weechat, byggd i html5. Man behöver aldrig sköta något underhåll utav Glowing Bear, utan koden hämtas av din webbläsare från deras servrar varje gång man använder det. Kräver att man kör Weechat version 0.4.2 eller högre.
Konfiguration
En relay behövs för att glowing bear ska fungera.
/set relay.network.password secretpw /relay add weechat 9001
Anslut sedan på glowing bear sidan mot.
SSL
För att kryptera trafiken mellan din webbläsare och din weechat relay så använd SSL.
Skapa eget cert
mkdir -p ~/.weechat/ssl cd ~/.weechat/ssl openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 3650 -out relay.pem -subj "/CN=glowing.fu.se/"
/set relay.network.password secretpw /relay sslcertkey /relay add ssl.weechat 9001
Let's Encrypt
Signa cert med Let's_Encrypt.
mkdir -p ~/.weechat/ssl cat cert.pem > ~/.weechat/ssl/relay.pem && cat chain.pem >> ~/.weechat/ssl/relay.pem && cat privkey.pem >> ~/.weechat/ssl/relay.pem /set relay.network.password secretpw /relay sslcertkey /relay add ssl.weechat 9001
För att ladda om SSL certet.
/relay sslcertkey
Bakom Reverse Proxy
För att köra glowing bear genom en nginx HTTP reverse proxy måste man köra det som en websocket, inte en HTTP-anslutning ("Upgrade").
T.ex.
location / { proxy_pass http://10.0.0.10:9001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_read_timeout 604800; }