IRC正确且安全的打开方式--Weechat relay with Certbot + Glowing-bear(Front-end of weechat)



  • 首发在我的个人博客,原文请见: 雨宫千鹤的个人博客
    (本文使用 CC BY-NC-SA 3.0 许可协议进行许可)

    注意是weechat,不是wechat!!

    嗯,就像这样:




    ###############来一发配置指南###############

    注意一定要以非root账户来运行weechat,除了考虑到安全原因,weechat relay加载证书也只能在非root账户才能正常加载。
    以下是在您的VPS上进行的设置,搭建weechat relay
    $ weechat
    $ mkdir -p ~/.weechat/ssl
    $ cd ~/.weechat/ssl
    $ touch relay.pem
    $ vim relay.pem
    --------------------------------------------------------------------------------------
    relay.pem = fullchain + priv key.
    --------------------------------------------------------------------------------------
    
    $ sudo pacman -S certbot #首先安装Certbot
    $ certbot certonly --standalone -d weechat.example.com -m yourname@xxx.com
    

    /etc/letsencrypt目录分析:

    $ ls -l /etc/letsencrypt/
    total 24
    drwx------ 3 root root 4096 May 19 12:36 accounts/
    drwx------ 3 root root 4096 May 19 12:39 archive/
    drwxr-xr-x 2 root root 4096 May 19 12:39 csr/
    drwx------ 2 root root 4096 May 19 12:39 keys/
    drwx------ 3 root root 4096 May 19 12:39 live/
    drwxr-xr-x 2 root root 4096 May 19 12:39 renewal/
    $ ls -l /etc/letsencrypt/live/weechat.example.com/
    total 0
    lrwxrwxrwx 1 root root 43 May 19 12:39 cert.pem -> ../../archive/weechat.example.com/cert1.pem
    lrwxrwxrwx 1 root root 44 May 19 12:39 chain.pem -> ../../archive/weechat.example.com/chain1.pem
    lrwxrwxrwx 1 root root 48 May 19 12:39 fullchain.pem -> ../../archive/weechat.example.com/fullchain1.pem
    lrwxrwxrwx 1 root root 46 May 19 12:39 privkey.pem -> ../../archive/weechat.example.com/privkey1.pem
    

    你可以看到,/etc/letsencrypt/需要root用户才能进行访问;
    而且/etc/letsencrypt/live/weechat.example.com/除了只能使用root账户才能访问之外,似乎还不能cd进这个目录。然而weechat建议运行在非root账户,所以你需要将证书复制出来,并且合并掉fullchain.pem和privkey.pem,合并成relay.pem再扔到~/.weechat/ssl/文件夹去

    所以你可以写一个crontab来自动进行这个操作。(因为Let's Encrypt的证书只有90天的有效期。)
    注意,这里建议每隔不少于60天,不超过90天进行renew证书的操作。

    ##在您的root账户新建一个crontab任务
    39 12 * * 4 /usr/local/sbin/renew.sh
    ###编辑一下renew.sh文件
    vim /usr/local/sbin/renew.sh
    

    renew.sh文件内容如下:

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

    最后你需要设置一下weechat

    ##在weechat里输入
    /set relay.network.password yourpassword
    /relay sslcertkey
    /relay add ssl.weechat 9001
    

    然后就是Glowing-bear, 选择一个本地的服务器进行搭建:

    git clone https://github.com/glowing-bear/glowing-bear.git
    cd glowing-bear
    # python 2.* (Debian用户应该是使用的这个版本的python,Gentoo用户则需要切换一下python版本,建议使用Py3)
    python -m SimpleHTTPServer
    # or python 3.* (我是Arch Linux, 所以使用的是这种)
    python -m http.server
    

    最后在浏览器上打开 http://localhost:8000 就可以连接你的Weechat relay了。你和weechat relay之间的连接采用的是HTTPS加密。(取决于你用的哪个端口,我这边默认设置的是9001端口。)


  • Blogspace Alpha

    发现Arch用户



  • @dontpanic 管理员大大好~


Log in to reply