Fishroom安装记录
安装过程(直接在服务器上部署,不使用docker)
采用的系统是ubuntu 16.04,debian记忆中安装时候有报错
下载项目
1 | git clone https://github.com/tuna/fishroom |
安装redis
1 | apt update |
安装依赖
首先确认python最新的3.5版本已经安装
1 | apt-get install -y python3-dev python3-pip libmagic1 libjpeg-dev libpng-dev libwebp-dev zlib1g-dev gcc |
编辑配置文件(重点)
1 | mv fishroom/config.py.example fishroom/config.py |
这是一开始配置文件的内容:
1 | config = { |
我的需求是使用web服务,然后用bot把irc和telegram互通起来
为了方便阅读,把配置文件拆开
1 | config = { |
baseurl
:设置成你web想要访问的url,如http://irc.parrotsec-cn.org ,需要注意的是这里会强制跳转,如果你这里写的是https,但是你并没有配置https,会导致web服务无法使用,如果你这里设置的是 http://www.baidu.com 那么通过ip访问你的web服务的时候,会跳转到百度, 如果你dns中还没有添加a记录解析域名到你服务器的ip,这里先填 http://你的服务器ip地址 即可cmd_me
:设置成你telegrambot的用户名,比如我的bot用户名是ParrotSecCN_bot
1 | "redis": { |
这里如果你和我一样是直接在服务器上部署,host
请改为127.0.0.1
1 | "irc": { |
这里是设置irc频道,默认使用的服务器是freenode端口6697,你也可以设置为其他irc服务器nick
是你的bot在irc频道中的昵称,比如ParrotSecCN_bot
1 | # Uncomment these if you want telegram access |
我需要使用telegrambot去和irc互通,所以要把这条配置中的注释符删掉
token
是telegram @BotFather给你创建的机器人的token,格式为数字:字母
me
是你机器人的id,如果你不知道你机器人的id是多少,访问https://api.telegram.org/bot+token/getMe
(把你的token加在bot后面没有’+’) 返回内容中的id即是你bot的idadmin
:这是群组管理员的id,先把你的bot加到你想要添加的群组,然后使用管理员用户随便发句话,访问:https://api.telegram.org/bot+token/getUpdates
即可看到新发的内容,找到username和管理员一样的那段前面的id即是管理员的id,注意这里还可以看到一个群组id,把它记录下来
1 | # Uncomment these if you want XMPP-MUC access |
这些我都不需要,不需要修改
1 | # Optional, only if you use qiniu for file_store |
把这里注释掉因为我不需要七牛来储存内容
1 | "photo_store": { |
不需要修改
1 | # this is the web interface |
这里是web服务监听的地址,我想要外网访问,并且不想配置https,直接监听外网ip然后端口设置为80即可
default_channel
是默认加入的irc频道,设置为你聊天使用的irc频道即可
1 | # Comment this out if you don"t use qiniu |
同样注释掉这里,不使用七牛
1 | "text_store": { |
不需要修改
1 | "bindings": { |
最后这里,bindings和test是在网页右上角可以切换的频道,如果你只需要一个irc频道,把后面的test内容注释掉
irc
:是irc频道telegram
:是tg群组的id,在通过之前的方法应该已经得到了xmpp
和matrix
我不需要使用,所以注释掉
启动
依次执行即可
1 | # run fishroom core |
你会发现需要多个窗口来执行,很麻烦,所以我写了一个脚本来批量启动并且记录log
start.sh
:
1 |
|
保存后添加执行权限chmod +x start.sh
启动:./start.sh
log会保存到fishroom/log/
目录下