惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
N
Netflix TechBlog - Medium
腾讯CDC
C
Check Point Blog
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
S
SegmentFault 最新的问题
F
Fortinet All Blogs
美团技术团队
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 司徒正美
F
Full Disclosure
Recorded Future
Recorded Future
D
DataBreaches.Net
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
J
Java Code Geeks
I
InfoQ
Y
Y Combinator Blog
A
About on SuperTechFans
AI
AI
爱范儿
爱范儿
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Forbes - Security
Forbes - Security
W
WeLiveSecurity
M
MIT News - Artificial intelligence
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Docker
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero

Rat's Blog - Telegram

一个基于Go的Telegram RSS Bot机器人,支持应用内阅读预览 - Rat's Blog Telegram MTProxy一键安装脚本 - Rat's Blog TeleShellBot:通过Telegram机器人远程执行shell命令 - Rat's Blog
使用EH Forwarder Bot实现Telegram同时收发多个微信/QQ消息 - Rat's Blog
博主: Rat's · 2019-04-19 · via Rat's Blog - Telegram

说明:EH Forwarder Bot是一个可扩展的聊天隧道框架,允许用户一次发送和接收来自多个IM平台的消息,并最终远程管理他们的帐户,目前可以实现的Telegram收发QQ、微信、Facebook Messenger等消息,你也可以同时一起收发N个微信、NQQ等,这里就说下Telegram收发微信/QQ消息的手动安装及Docker安装。

收发微信

提示:使用该功能前,请先确认所使用的微信能成功登录WEB端,不然后面会报错。

项目地址:https://github.com/blueset/ehForwarderBot

所使用的模块地址:

#Telegram模块
https://github.com/blueset/efb-telegram-master
#微信模块
https://github.com/blueset/efb-wechat-slave

其他模块地址→传送门,包括Facebook Messenger等模块,有兴趣的可以看下。

环境要求:Python 3.6+EH Forwarder Bot 2.0+ffmpeglibmagiclibwebp

手动教程适用于DebianCentOSUbuntu,如果你想用Ubuntu的话,最好使用18.04+版本。

1、安装依赖

#CentOS系统
yum install file-devel libwebp-tools git screen -y

#Debian/Ubuntu系统
apt install libwebp-dev libmagic-dev git screen -y

2、安装Python3.6

#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh
#Ubuntu系统
apt update
apt install python3-pip python3-setuptools python3-dev -y

3、安装ffmpeg

#下载ffmpeg二进制
wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
#解压文件
tar xvf ffmpeg-git-*-static.tar.xz
#移动ffmpeg可执行文件
mv ffmpeg-git-*/ffmpeg  ffmpeg-git-*/ffprobe /usr/bin/
#删除文件
rm -rf ffmpeg-git-*

4、安装框架

#安装稳定版
pip3 install ehforwarderbot

#安装开发版,建议安装开发版,bug修复快些,功能也新
pip3 install git+https://github.com/blueset/ehforwarderbot.git

5、安装TG和微信模块

pip3 install efb-telegram-master efb-wechat-slave

6、启用模块
先新建配置文件夹和配置文件config.yaml,使用命令:

#default为配置文件默认的文件夹,你也可以命名为其它的,不会玩的就默认
mkdir -p ~/.ehforwarderbot/profiles/default
nano ~/.ehforwarderbot/profiles/default/config.yaml

参考代码为:

#请根据实际情况修改
master_channel: foo.demo_master
slave_channels:
- foo.demo_slave
- bar.dummy
middlewares:
- foo.null

以上对应的均为模块名称,模块参考→传送门,比如这里博主只用了TelegramWeChat模块,所以大致配置为:

master_channel: blueset.telegram
slave_channels:
- blueset.wechat

然后使用Ctrl+xy保存退出。

这只是登录一个微信号,如果你要同时登录多个微信号,那么配置文件就需要改为:

#比如我要同时登录并收发3个微信号
master_channel: blueset.telegram
slave_channels:
- blueset.wechat
- blueset.wechat#moe123
- blueset.wechat#rats321

只需要在后面使用#指定一个ID号,该ID号只能有字母,数字和下划线,即正则表达式[a-zA-Z0-9_]+,想登录几个账户就加几个。如果你使用QQFacebook Messenger模块的话,设置方法也一样。

7、建立TG配置文件
建立配置文件前需要先获取TelegramTokenUserid,获取方法如下:

#Telegram的Token获取
1、在Telegram关注@BotFather
2、再到对话框依次输入:/start=>/newbot,然后会要你给机器人命名(如:MoeratsBot),命名完成会给你一个Token。

#Telegram群Userid获取
1、先和你的机器人聊天,随便发一句话。
2、在浏览器输入https://api.telegram.org/botxx:xx/getUpdates(其中xx:xx为Token),然后chat后面的id即为你的userid。

再新建一个Telegram模块配置文件夹和配置文件config.yaml,使用命令:

#同样的也建在default文件夹,如果你上面更改了default文件夹,那这里也要更改
mkdir ~/.ehforwarderbot/profiles/default/blueset.telegram
nano ~/.ehforwarderbot/profiles/default/blueset.telegram/config.yaml

填入以下代码:

token: "12345:moerats" 
admins:
- 765432 

然后使用Ctrl+xy保存退出。上面所对应的参数分别为TokenUserid。关于Telegram模块的更多玩法可以参考→传送门

8、启动

#该命令会默认从default文件夹读取信息,如果你之前建的是moerats文件夹,那命令应该为ehforwarderbot -p moerats
ehforwarderbot

这时候会给一个微信二维码或者二维码链接你,放到浏览器打开扫描登录即可,如果你设置了同时登录多个账户,那设置几个就需要登录几个。

然后使用Ctrl+C断开运行,再使用命令后台运行:

screen -dmS EHF ehforwarderbot

最后你的微信消息会通过机器人发送给你,你也可以通过机器人将消息发送给指定好友。

收发QQ消息

提示:这里随便提了下,了解下就行了,建议使用下面Docker方式安装。

所使用的模块地址:

#Telegram模块
https://github.com/blueset/efb-telegram-master
#QQ模块
https://github.com/milkice233/efb-qq-slave

由于方法写的很大概,所以需要你把收发微信的方法看懂,这里EH Forwarder Bot只支持酷Q客户端,一般采用Docker的方法在Linux上安装酷Q,方法很久以前就说过了,参考→传送门,不过启动命令变了下,也就是安装wine-coolq的命令。

安装TGQQ模块:

pip3 install efb-telegram-master efb-qq-slave

安装wine-coolq

mkdir coolq  #包含CoolQ程序文件
docker run -ti --rm --name cqhttp-test --net="host" \
     -v $(pwd)/coolq:/home/user/coolq     `#mount coolq folder` \
     -p 9000:9000                         `#网页noVNC端口` \
     -p 5700:5700                         `#酷Q对外提供的API接口的端口` \
     -e VNC_PASSWD=MAX8char               `#请修改VNC密码!!!!` \
     -e COOLQ_PORT=5700                   `#酷Q对外提供的API接口的端口` \
     -e COOLQ_ACCOUNT=123456              `#在此输入要登录的QQ号,虽然可选但是建议填入` \
     -e CQHTTP_POST_URL=http://127.0.0.1:8000   `#efb-qq-slave监听的端口/地址用于接受传入的消息` \
     -e CQHTTP_SERVE_DATA_FILES=yes       `#允许以HTTP方式访问酷Q数据文件` \
     -e CQHTTP_ACCESS_TOKEN=ac0f790e1fb74ebcaf45da77a6f9de47  `#Access Token` \
     -e CQHTTP_POST_MESSAGE_FORMAT=array  `# 回传消息时使用数组(必选)` \
     richardchien/cqhttp:latest

然后使用ip:9000访问noVNC登录酷Q即可。

新建QQ模块配置文件:

mkdir ~/.ehforwarderbot/profiles/default/milkice.qq
nano ~/.ehforwarderbot/profiles/default/milkice.qq/config.yaml

填入的代码大致如下:

Client: CoolQ                         #指定要使用的QQ客户端(此处为CoolQ)
CoolQ:
    type: HTTP                        #指定efb-qq-slave与酷Q通信的方式 现阶段仅支持HTTP
    access_token: ac0f790e1fb74ebcaf45da77a6f9de47
    api_root: http://127.0.0.1:5700/  # 酷Q API接口地址/端口
    host: 127.0.0.1                   # efb-qq-slave所监听的地址用于接收消息
    port: 8000                        # 同上
    is_pro: false                      # 若为酷Q Pro则为true,反之为false
    air_option:                       # 包含于air_option的配置选项仅当is_pro为false时才有效
        upload_to_smms: true          # 将来自EFB主端(通常是Telegram) 的图片上传到sm.ms服务器并以链接的形式发送到QQ端

最后使用ehforwarderbot命令启动即可。

Docker安装

这里选择2个最新的Docker镜像,也是官方推荐的,项目地址:

#Telegram收发QQ消息
https://github.com/Earth-Online/efb-qq-coolq-docker
#Telegram收发微信消息
https://www.github.com/Mikubill/efb-wechat-docker

1、安装Docker

#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2、Telegram收发QQ消息
安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#验证是否安装成功
docker-compose --version
#返回以下信息即安装成功
docker-compose version 1.25.0, build 1110ad01

拉取Docker源码:

git clone https://github.com/Earth-Online/efb-qq-coolq-docker.git
cd efb-qq-coolq-docker
#编辑config.yaml配置文件
nano ehforward_config/profiles/default/blueset.telegram/config.yaml

修改如下:

#token和userid参数获取方法查看上面的手动安装教程
token: "你的TG机器人Token"
admins:
- 你的Userid

然后再编辑docker-compose.yml文件:

nano docker-compose.yml

修改如下:

- VNC_PASSWD=你的密码
- COOLQ_ACCOUNT=你的qq账号

后台启动:

#第一次启动会构建镜像,所以会慢点
docker-compose up -d

然后打开ip:9801登陆novnc后完成coolq登陆操作。如果该地址打不开,请检查下防火墙。

3、Telegram收发微信消息

#拉取源码
git clone https://github.com/mikubill/efb-wechat-docker.git
#构建镜像
cd efb-wechat-docker && docker build -t mikubill/efbwechat .
#启动镜像,TOKEN为TG机器人Token、ADMIN为你的Userid,获取方法查看上面的手动安装教程
docker run -d -t --name "efbwechat" -e TOKEN=xxxx -e ADMIN=xxxx mikubill/efbwechat

最后获取微信登录验证码,使用命令:

docker logs -f efbwechat 

扫描登录即可。

最后这里都没有给微信添加额外的配置文件,直接使用默认的微信配置,如果想扩展微信功能的可以参考→传送门,不过由于模块使用的微信网页版,所以支持的功能是有限的,比如:没有朋友圈、不能发语音、位置等等,一般来说也够用了,至于QQ的话,功能肯定受酷Q限制,暂时不能处理好友请求处理,加群请求处理,语音发送/接收等,对于Facebook Messenger模块的话,有需求的可以自己试试安装配置。


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/931/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。