weechat 简要配置

2022-03-27 00:00 +0000

这篇文章是 Lindsay 的 weechat 配置记录,日常使用方式为:

  1. PC 端 ssh 到 VPS 使用 ( tmux 保存会话 )
  2. 移动端使用 android-weechat 连接 weechat relay websocket

供参考。

配置 irc 服务器连接

参考 Libera.Chat 的 weechat 教程 , 简要说明如下

  1. 连接 libera ,使用东亚域名

    /server add libera irc.ea.libera.chat/6697 -ssl
    /connect libera
    
  2. 注册 libera 帐号

    /nick <nickname>
    /msg NickServ REGISTER <libera_passphrase> <youremail@example.com>
    
  3. 设置登陆密码

    /secure passphrase <passphrase>
    /set irc.server.libera.sasl_mechanism PLAIN
    /set irc.server.libera.sasl_username <nickname>
    /set irc.server.libera.sasl_password <libera_passphrase>
    /save
    
  4. 设置 User Cloak 隐藏登陆 ip

    /join #libera-cloak
    !cloakme
    /reconnect libera
    /whois
    
  5. 连接服务器自动加入频道

    /set irc.server.libera.autojoin "#archlinux-cn,#go-nuts,#python,#archlinux,#archlinux-offtopic"
    

    国内比较活跃的 irc 频道大概只有 #archlinux-cn 了,还是 matrix 桥接过来的。

    其他的几个是国外的开源社区 irc 频道

修改常用配置

安装功能和外观脚本

允许从 weechat 服务器下载脚本(下载结束后可以考虑关闭)

/set script.scripts.download_enabled on

go.py

/script install go.py
/key bind meta-g /go

go.py 作用是快速跳转 buffer ,通过 alt + g 快捷键使用

colorize_lines.pl

/script install colorize_lines.pl

/set weechat.color.chat_nick_colors  33,38,42,45,48,51,63,69,75,80,84,87,99,103,105,106,113,117,118,120,125,128,130,132,124,123,126,139,141,143,147,149,152,159,162,164,170,174,176,180,182,200,204,207,209,213,217,219
/set irc.look.color_nicks_in_nicklist on

colorize_lines.pl 作用是调整消息颜色,使其与用户 nickname 的颜色一致,在聊天时,更容易区分不同用户的发言。

weechat.color.chat_nick_colors 变量为使用的 color256 颜色码,可以使用下面的命令在终端中显示出所有颜色样式,需要配合终端背景色选择

for COLOR in {1..255}; do echo -en "\e[38;5;${COLOR}m${COLOR} "; done; echo;

因为 irc 支持输入发送 ANSI 字符,包括输入字符和背景颜色,使用该脚本可能导致发生混乱。鉴于大部分用户并不怎么使用颜色字符,一般不需要考虑。

设置 weechat relay

/secure set relay <relay_passphare>
/set relay.network.password "${sec.data.relay}"
/relay add weechat 9000

weechat relay 同时接受 raw tcp 和 websocket 连接,我的配置为使用 nginx 配置 https 转发到该端口

nginx 配置文件如下

server {
    listen 443 http2 ssl ;
    listen [::]:443 http2 ssl;
    server_name example.com;
    
    ssl_certificate <cert_location>;
    ssl_certificate_key <key_location>;
    location /weechat {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://localhost:9000/weechat;
    }
}

更多的配置参考 weechat 提供的用户指导