mritd / dnsbot

Telegram Bot for etcdhosts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dnsbot

这是一个为 etcdhosts 插件编写的 Telegram 机器人。

一、如何使用

1.1、二进制启动

Release 页下载预编译二进制文件,直接启动既可;使用前提是你需要自己创建 Telegram 机器人, 并且部署该机器人的网络能正常访问 Telegram API(或访问其代理地址)。

➜ ./dnsbot_darwin_amd64 --config ../dnsbot.yaml 
2020-12-14 23:24:00     INFO    DNS Bot Starting...

1.2、Docker 运行

本项目已经发布了预编译的 Docker 镜像到 Docker Hub,Docker 用户可以直接运行:

docker run -dt --name dnsbot -v `pwd`/dnsbot.yaml:/etc/dnsbot.yaml mritd/dnsbot --config /etc/dnsbot.yaml

二、配置文件

dnsbot 配置文件采用 yaml 格式,其配置如下:

# 机器人 Toekn
bot_token: "1402163:AAF1ktxkF_WfEabJsJ0rWnFqyfY"
# 允许调用该机器人的用户 IP 列表
bot_admins:
  - "3053639"
# 允许调用该机器人的组 ID 列表
bot_admin_groups:
  - "-4565493"
# etcdhosts 插件实用的 etcd key
etcd_host_key: /etcdhosts
# etcd 相关 证书
# 注意: 证书可以采用 base64 编码直接粘贴在此
#       也可以使用证书的绝对路径指定证书文件
# base64 编码命令: cat /etc/etcd/ssl/etcd.pem | base64 | tr -d '\n'
etcd_ca: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...
etcd_cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...
etcd_key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVkt...
# etcd 集群地址
etcd_endpoints:
  - https://172.16.1.21:2379
  - https://172.16.1.22:2379
  - https://172.16.1.23:2379

三、机器人使用样例

dnsbot_cmd.png

  • /add [domain] [ip]: 域名或 IP 缺少时会进入交互式处理,默认 5m 超时
  • /del [domain]: 域名缺少时进入交互式处理,默认 5m 超时
  • /print: markdown 格式回复消息(包含所有域名记录)

About

Telegram Bot for etcdhosts


Languages

Language:Go 86.0%Language:Makefile 5.0%Language:Dockerfile 4.6%Language:Shell 4.4%