EFB – 小众软件 https://inloveinparis.com 分享免费、小巧、实用、有趣、绿色的软件 Mon, 29 Jul 2019 05:59:38 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.1 EFB V2 简明安装教程 http://inloveinparis.com/efbv2-docker-tutorial/ http://inloveinparis.com/efbv2-docker-tutorial/#comments Sat, 27 Jul 2019 10:30:29 +0000 http://inloveinparis.com/efbv2-docker-tutorial/ ⚠⚠⚠微信会针对使用第三方客户端的用户实行登录封禁,即无法再使用微信网页版登录,请自行考虑风险 ⚠⚠⚠

EH Forwarder Bot(EFB) 是一个可扩展的开源聊天平台隧道 Bot 框架,目前支持在 Telegram 上收发微信、QQ、Facebook Message 信息,支持文字、语音、图片、视频、表情互通,虽有一些功能限制但可用性良好。

两年多前,青小蛙就在使用 EFB V1 了,并且还写过一篇比较详细的教程。目前此版本仍然可用,但 EFB 已经升级到了 V2,虽然还处于 Beta,基于 V2 的各种中间件,以及支持 QQ 互通,所以新用户还是使用 V2 吧。

原帖地址,安装问题可前往参与讨论。

介绍

EFB 全称 ehForwarderBot,是一个可扩展的信息隧道机器人开源框架,支持通过聊天机器人从不同的 IM 工具收发信息,比如通过 Telegram 收发微信消息,通过 Telegram 收发 QQ 消息,通过 Telegram 收发 Facebook Messenger 等。

首先

你需要一台可以访问 Telegram 的 VPS,青小蛙依旧推荐比较容易购买的 LinodeDigitalOceanVultr

上述链接带返利。Vultr 是双向返利:通过 该链接注册 并购买 Vultr 的 VPS,你的 Vultr 账号将被赠送 25 刀,可额外免费使用 5 个月。

安装 Docker,以 Ubuntu 为例

鉴于每个人的系统环境不同,无论多么详尽的安装教程都会产生各种各样的问题,而这些问题绝大多数都与 EFB 无关,更多的是系统环境配置问题,所以本着多一事不如少一事的原则,这里使用 docker 安装。而 Docker 能够有效避免不同用户系统环境不同导致的问题。

曾经写过 Docker 官方推荐的安装方式,不过目前的 Ubuntu 18.04+ 版本更推荐使用 apt 安装,简单快捷:

apt update
apt install docker.io
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

即可完成安装。其它平台请参考官网,安装 Docker CE 即可。

配置 EFB V2

首先创建一个文件夹,这里以 efbv2 为例。

需要先创建几个文件:

├── blueset.telegram
│   ├── config.yaml
│   └── tgdata.db *
├── blueset.wechat *
│   ├── wxpy.pkl *
│   └── wxpy_puid.pkl *
├── config.yaml
└── docker-compose.yml **

标记 * 号为自动生成的路径和文件,可以不用管它,** 可见最后。

config.yaml

在当前路径下创建 config.yaml 文件

下面是一个拿来可用的 config.yaml 示例:

master_channel: blueset.telegram
slave_channels:
- blueset.wechat
middlewares:
- catbaron.sticker2img
- filter.FilterMiddleware

里面包含了两个中间件:可以收发贴纸,以及过滤指定会话功能。

blueset.telegram/config.yaml

创建 Telegram 主频道配置文件 config.yaml

$ mkdir blueset.telegram
$ touch blueset.telegram/config.yaml

下面是需要修改的 blueset.telegram/config.yaml 示例文件:

token: "Telegram Bot's token"
admins:
 - 你的 Telegram User ID

运行

创建并修改 docker-compose.yml 文件:

efbv2:
  image: scavin/docker-efbv2:dev
  container_name: efbv2
  restart: always
  volumes:
    - ./:/root/.ehforwarderbot/profiles/default/ 

然后运行:

docker-compose up -d

最后,使用下面的命令查看微信登录二维码:

docker logs efbv2

如何使用过滤

选择你要屏蔽的对象,直接回复 filter` 即可

(完)

为什么用 Docker?

因为不用 Docker 这个教程进行不下去,系统环境配置问题就能让用户和青小蛙崩溃。

最后再推荐

通过该链接 https://www.vultr.com/?ref=7872434-4F 注册并购买 Vultr VPS,您的 Vultr 账号将被赠送 25 刀,可额外免费使用 5 个月。


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


]]>
http://inloveinparis.com/efbv2-docker-tutorial/feed/ 8
EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] http://inloveinparis.com/efb-tutorial-with-docker/ http://inloveinparis.com/efb-tutorial-with-docker/#comments Sun, 19 Mar 2017 01:50:38 +0000 http://inloveinparis.com/efb-tutorial-with-docker/ 去年 12 月底,青小蛙介绍了可扩展的聊天平台,隧道机器人框架 EH Forwarder Bot,实现了通过 Telegram Bot(机器人)收发微信功能,无论文字、语音、图片还是视频、表情,都可以互通。几个月用下来,真有点离不开了。

EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] 2

而 EFB 的搭建有一些门槛(官方教程),主要的问题是 Python 3 的配置问题,青小蛙也碰了不少坑。鉴于最近在折腾 Docker,索性把青小蛙是如何安装 EFB 的过程总结出来,方便大家。

背景

首先你要有使用 Telegram 的习惯,不然这一切没得玩 😭 。其次,要有一点 Linux 基础,需要一台 VPS,青小蛙这里以 Vultr👈 此链接有返利) 2.5刀最低款套餐为例,系统为 Ubuntu 16.04 x64,CPU 1 核,内存 512M。之所以没有使用 Vultr 提供的 Docker 镜像在于那是台 CentOS,好久没用过了…

更新系统

由于新机器,SSH 登录后,照惯例先更新:

EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] 3
apt-get update
apt-get upgrade

安装 Docker CE

这里有详细的安装过程,非常容易,照着一行一行敲命令即可:

sudo apt-get -y install apt-transport-https ca-certificates curl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get -y install docker-ce

通过 Docker 安装 EFB

我们使用 @royx 提供的 EFB 镜像来安装,也非常容易:

docker pull royx/docker-efb

至此,其实服务器端的配置已经完成了,基于 Docker 的安装就是这么简单 😂

下面来配置一下 Telegram,让可爱的小机器人来愉快的工作。

配置 Telegram Bot 机器人

EFB 目前实现的 Telegram 与 微信 互通的原理是这样的:

Telegram bot > EFB > 微信网页版 > 微信

所以我们先来配置 Telegram bot:

  1. 在 Telegram 里搜索 @botfather 并和他对话
  2. 对 @botfather 说话,输入 /newbot
  3. 给你的机器人 bot 起个名字
  4. 继续给机器人起用户名,和上面的名字可以相同,但必须以 bot 结尾
  5. 获得机器人 Token,下图红色部分,一会要用到
EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] 4

注意以上机器人信息不要泄漏给别人,上面这个测试机器人青小蛙删掉了。

设置 bot 隐私权限

bot 可能会接收不了非 “/” 开头的消息,所以需要设置一下,让 bot 接收全部内容:

继续与 @botfather 对话,输入 /setprivacy,选择刚刚创建的机器人,点击 Disable

获得 Telegram ID

再和另外一个机器人 @get_id_bot 对话,点击 start 即可获得你的 Telegram ID,一串数字(Chat ID)。

至此,Telegram 的配置完成,我们得到两个重要的数字:token、Telegram ID

配置 EFB

这里是最简单的一份配置文件,你可以从这里获得 官方提供的配置文件:

master_channel = 'plugins.eh_telegram_master', 'TelegramChannel'
slave_channels = [('plugins.eh_wechat_slave', 'WeChatChannel')]

eh_telegram_master = {
    "token": "12345678:QWFPGJLUYarstdheioZXCVBKM",
    "admins": [13456782],
    "bing_speech_api": ["xxx", "xxx"],
    "baidu_speech_api": {
        "app_id": 0,
        "api_key": "xxx",
        "secret_key": "xxx"
    }
}

将以上内容保存为 config.py 文件,注意把上面 token以及 admins 冒号后面的部分替换成刚刚获得的 token 和 Chat ID。

即:下面的红色部分:

“token”: “12345678:QWFPGJLUYarstdheioZXCVBKM”,
“admins”: [13456782],

注意 xxx 部分可以自己申请,也可以参考官方提供的内容。

再新建一个 tgdata.db 文件:

touch tgdata.db

至此,EFB 的配置完成,我们得到两个文件: config.py、tgdata.db,在这里我们举例将这两个文件保存在 /root/efb/config.py 和 /root/efb/tgdata.db 这两个位置。

通过 Docker 运行 EFB

只需要一句:

docker run -d --restart=always --name=ehforwarderbot \
        -v $(pwd)/config.py:/opt/ehForwarderBot/config.py \
        -v $(pwd)/tgdata.db:/opt/ehForwarderBot/plugins/eh_telegram_master/tgdata.db \
        royx/docker-efb

又要注意了,这里面需要把 $(pwd) 改成刚刚创建的两个文件路径,随便你保存在哪里,上面的例子就是 /root/efb/,所以完整的一个例子:

docker run -d --restart=always --name=ehforwarderbot -v /root/efb/config.py:/opt/ehForwarderBot/config.py -v /root/efb/tgdata.db:/opt/ehForwarderBot/plugins/eh_telegram_master/tgdata.db royx/docker-efb

所有安装、配置、运行已完成。

登录微信

docker logs ehforwarderbot

在屏幕上,你会看到一个二维码,用微信扫描,登录,大功告成。

简单的使用 EFB

你可以完全通过机器人与微信互通,但对于联系人较多的微信用户来说意义不大,所以,我们将微信联系人绑定到一一对应的 Telegram 群组中,就完美解决了一对一聊天的问题。

首先在 Telegram 中创建一个新的群组,比如 青小蛙.WeChat 这个名字,然后将你的机器人邀请进来(此处,手机端的 Telegram 无法直接拉机器人进来,你需要随便拉一个真人,再拉机器人进来,再把那个人踢出去;电脑端则可以在创建群组的时候直接拉机器人进来)

继续和你的机器人聊天,对他说:

/link 青小蛙

EFB 会自动帮你搜索微信联系人,并显示搜索结果,点击你需要的联系人名:

EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] 5

再点击 Link,此时 Telegram 会弹出联系人选单,选择刚刚创建的群组,即完成了微信联系人与 Telegram 群组的绑定。

EFB 简明安装教程:用 Telegram 收发微信 [基于 Docker] 6

现在已经可以愉快的和机器人聊天啦,你还可以把群组的头像改成微信联系人的头像,感觉…就跟微信换了一个客户端一样 😊


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


]]>
http://inloveinparis.com/efb-tutorial-with-docker/feed/ 62