• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

一个专注于消息通知的 frp server manager plugin 实现,让你对进入 frps 的连接了如指掌。

frp-notify

Build

一个专注于消息通知的 frp server manager plugin 实现,让你对进入 frps 的连接了如指掌,不再裸奔。

快速启动

下载地址

目录介绍

* frp-notify
└─── system
|    |          frp-notify.service                  # linux 系统服务配置文件
|
│           frp-notify                              # frp-notify 程序
|           frp-notify.json                      # 通知插件配置文件

打印帮助信息

./frp-notify --help

命令行启动

./frp-notify start -c /etc/frp-notify/frp-notify.json -b 127.0.0.1:50080

配置介绍

frps

frps.ini 增加以下配置

[plugin.frp-notify]
addr = 127.0.0.1:50080                             // frp-notify 地址
path = /handler                                    // frp-notify url, 固定配置
ops = Login,NewProxy,NewWorkConn,NewUserConn       // 通知的操作

黑白名单配置(IP 过滤)

先判断白名单,后判断黑名单。仅对 NewUserConn 有效 (黑白名单配置支持热加载)。

{
  "blacklist": [                                   // 黑名单
    "127.0.0.1"
  ],
  "whitelist": [                                   // 白名单
    "127.0.0.1"
  ],
  "notify_plugins": [
    ...
  ]
}

通知插件配置

插件列表:

  1. log
  2. dingTalk
  3. wxwork
  4. 飞书
  5. gotify

frp-notify.json 文件中按需配置通知插件,支持同时配置多个插件。

log

将消息打印到控制台,用于调试。

{
  "notify_plugins": [
    {
      "name": "log",                                                               // 固定配置
      "config": {}
    }
  ]
}

dingTalk

将消息发送到钉钉。

{
  "notify_plugins": [
    {
      "name": "dingTalk",                                                               // 固定配置
      "config": {
        "token": "df54651465c1189b76fd13f910b76bed361f8fff31bf9118b1896bc148500000",    // dingTalk 自定义机器人 token
        "secret": "SEC97d8a209f9ddda25b89d63d82a0b2ad4065504cbe4bc043719fbb1a0000000",  // dingTalk 自定义机器人 secret
        "is_at_all": true                                                               // 发送消息时是否@所有人
      }
    }
  ]
}

实例截图

wxwork

将消息发送到企业微信。

{
  "notify_plugins": [
    {
      "name": "wxwork",
      "config": {
        "corp_id": "ww123456789",
        "corp_secret": "UK__xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "agent_id": 12345678,
        "to_user": [],
        "to_party": [],
        "to_tag": [],
        "filter_regexp": ".*"
      }
    }
  ]
}

实例截图

飞书

将消息发送到飞书

{
  "notify_plugins": [
    {
      "name": "lark",
      "config": {
        "webhook_url": "",
        "secret": "",
        "at_users": []
      }
    }
  ]
}

gotify

将消息发送到 gotify-server

{
  "notify_plugins": [
    {
      "name": "gotify",                                                                // 固定配置
      "config": {
        "server_proto": "http",                                                        // gotify-server 上报协议
        "server_addr": "127.0.0.1:40080",                                              // gotify-server 服务地址
        "app_token": "token"                                                           // gotify-server 配置的 app token
      }
    }
  ]
}

实例截图