Compare commits

..

21 Commits

Author SHA1 Message Date
dexter
e4bc0ad5ea Merge pull request #51 from dwdcth/patch-3
Update go.yml
2022-05-16 10:14:38 +08:00
banshan
33a58b0641 Update go.yml 2022-05-16 10:12:50 +08:00
dexter
cb71b2c7e2 Merge pull request #50 from dwdcth/patch-1
Update go.yml
2022-05-15 21:24:11 +08:00
banshan
38b8923e6f Update go.yml 2022-05-15 21:20:41 +08:00
dexter
8b483e5139 升级插件版本 2022-05-15 19:12:30 +08:00
dexter
34c21e5e8f 尝试发布beta 2022-05-15 16:30:44 +08:00
dexter
b8a23517ba Merge pull request #48 from dwdcth/v4
publish langhuihui/m7s-import
2022-05-15 11:22:58 +08:00
banshan
d491b6206a publish langhuihui/m7s-import 2022-05-04 21:34:07 +08:00
dexter
93ce7391a5 Merge pull request #46 from dwdcth/v4
V4 自动发布和readme
2022-04-25 09:23:39 +08:00
dwdcth
611bd78b5c readme 2022-04-24 11:38:12 +08:00
dwdcth
b112187125 go.yml 2022-04-24 11:16:45 +08:00
dwdcth
e0c35fce2b v4 自动发布 2022-04-24 11:04:31 +08:00
banshan
7bcf2cba27 Update go.yml 2022-04-24 10:31:43 +08:00
dexter
da5f970067 Merge pull request #44 from dwdcth/v4
darwin and windows arm64
2022-04-24 09:41:51 +08:00
dwdcth
711b4cc82c darwin and windows arm64 2022-04-23 21:39:01 +08:00
dexter
f1bcb6f2c9 删除二进制文件 2022-04-08 16:18:39 +08:00
dexter
306a7ffeff 加入WebTransport插件 2022-04-08 16:07:00 +08:00
dexter
9c8a2c5d83 加入log和rtsp两个插件引入 2022-03-22 09:26:07 +08:00
dexter
1a67f63932 更新包路径 2022-02-27 21:47:51 +08:00
dexter
c761c6ce9b 简化代码 2022-02-23 17:34:26 +08:00
dexter
cc9c0d67e2 调试rtmp插件 2022-02-19 10:39:38 +08:00
19 changed files with 582 additions and 538 deletions

View File

@@ -3,90 +3,68 @@ name: Go
on:
create:
tags:
- v*
- v4*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Build
run: go build -o m7s_linux_x86_64
- name: Tar
run: tar -zcvf linux.tgz m7s_linux_x86_64 config.toml
- name: Deploy
uses: garygrossgarten/github-action-scp@release
with:
local: /home/runner/work/monibuca/monibuca/linux.tgz
remote: /opt/dexter/linux.tgz
host: monibuca.com
username: root
privateKey: ${{ secrets.PEM }}
- name: Release
uses: softprops/action-gh-release@v1
with:
files: "linux.tgz"
build2:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
- name: Build
run: go build -o m7s_x86_64.exe
- name: Tar
run: tar -zcvf windows.tgz m7s_x86_64.exe config.toml
- name: Deploy
uses: garygrossgarten/github-action-scp@release
with:
local: D:\\a\\monibuca\\monibuca\\windows.tgz
remote: /opt/dexter/windows.tgz
host: monibuca.com
username: root
privateKey: ${{ secrets.PEM }}
- name: Release
uses: softprops/action-gh-release@v1
with:
files: "windows.tgz"
build3:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Set up Env
run: echo "version=${GITHUB_REF:11}" >> $GITHUB_ENV
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
go-version: 1.18
- name: Build
run: go build -o m7s_darwin_x86_64
- name: Tar
run: tar -zcvf mac.tgz m7s_darwin_x86_64 config.toml
- name: Deploy
uses: garygrossgarten/github-action-scp@release
- name: Cache Go modules
uses: actions/cache@v1
with:
local: /Users/runner/work/monibuca/monibuca/mac.tgz
remote: /opt/dexter/mac.tgz
host: monibuca.com
username: root
privateKey: ${{ secrets.PEM }}
- name: Release
uses: softprops/action-gh-release@v1
path: ~/go/pkg/mod
key: runner.osgo{ { hashFiles('**/go.sum') } }
restore-keys: ${{ runner.os }}-go-
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
if: success() && startsWith(github.ref, 'refs/tags/')
with:
files: "mac.tgz"
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout m7s-import
uses: actions/checkout@v3
with:
repository: langhuihui/m7s-import
path: m7s-import
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
fetch-depth: 0
- name: Add bin to m7s-import
if: success() && startsWith(github.ref, 'refs/tags/')
run: |
cd m7s-import
mkdir -p apps/m7s-website/src/public/bin
cp ../dist/m7s_${{ env.version }}_windows_amd64.tar.gz apps/m7s-website/src/public/bin/m7s_windows_amd64.tar.gz
cp ../dist/m7s_${{ env.version }}_darwin_amd64.tar.gz apps/m7s-website/src/public/bin/m7s_darwin_amd64.tar.gz
cp ../dist/m7s_${{ env.version }}_darwin_arm64.tar.gz apps/m7s-website/src/public/bin/m7s_darwin_arm64.tar.gz
cp ../dist/m7s_${{ env.version }}_linux_amd64.tar.gz apps/m7s-website/src/public/bin/m7s_linux_amd64.tar.gz
cp ../dist/m7s_${{ env.version }}_linux_arm64.tar.gz apps/m7s-website/src/public/bin/m7s_linux_arm64.tar.gz
git config --global user.name 'langhuihui'
git config --global user.email '178529795@qq.com'
git add -A
git commit -m '[automated commit] add bin & GitHub workflow'
- name: push to m7s-import
uses: ad-m/github-push-action@master
if: success() && startsWith(github.ref, 'refs/tags/')
with:
github_token: ${{ secrets.TOKEN }}
directory: m7s-import
repository: langhuihui/m7s-import

7
.gitignore vendored
View File

@@ -7,4 +7,9 @@ resource
node_modules
shutdown.bat
shutdown.sh
.m7s
.m7s
debug.go
dist/
flv
hls
mp4

148
README.md
View File

@@ -1,97 +1,87 @@
# 主页
<h2 align="center">
<img src="https://monibuca.com/img/logo.089ef700.png"></h2>
## Stargazers over time
[https://m7s.live](https://m7s.live)
# Introduction
# 中文文档
🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server.
- Customize the server by combining function plug-ins.
- It's easy to develop plug-ins to implement business logic.
- Reduce enterprise development cost and improve development efficiency
[https://m7s.live/guide/introduction.html](https://m7s.live/guide/introduction.html)
# Quick start
# 文章
## Go has not been installed
```
bash <(curl -s -S -L https://monibuca.com/go.sh)
```
## Go is already installed
[重新定义流媒体服务器](https://www.infoq.cn/article/uiPl8dIuQmhipKb3q3Tz)
1. git clone https://github.com/langhuihui/monibuca
2. go build && ./monibuca
3. open your browser http://localhost:8080
4. use ffmpeg or OBS to push video streaming to rtmp://localhost/live/user1
# 核心代码库和插件代码库
# Ecosystem
[https://github.com/Monibuca](https://github.com/Monibuca)
go to
[https://plugins.monibuca.com](https://plugins.monibuca.com).
to submit your own plugin
# 介绍
| Project | Description |
|---------| -------------|
|[plugin-rtmp]|rtmp protocol support.push rtmp stream to monibuca.play stream from monibuca.
|[plugin-rtsp]|rtsp protocol support.pull/push rtsp stream to monibuca
|[plugin-hls]|pull hls stream to monibuca
|[plugin-ts]|used by plugin-hls. read ts file to publish
|[plugin-hdl]|http-flv protocol support. pull http-flv stream from monibuca
|[plugin-gateway]|a console and dashboard to display information and status of monibuca ,also can display UI of other plugins
|[plugin-record]|record multimedia stream to flv files
|[plugin-cluster]|cascade transmission of multimedia by cluster network
|[plugin-jesscia]|play multimedia stream through websocket protocol
|[plugin-logrotate]|split log files by date or size
|[plugin-rtp]|used by plugin-webrtc and plugin-rtsp
|[plugin-webrtc]|webrtc protocol support. push webrtc stream to monibuca or pull webrtc stream from monibuca
|[plugin-gb28181]|gb28181 protocol support.
## 什么是Monibucam7s)
[plugin-rtmp]: https://github.com/Monibuca/plugin-rtmp
[plugin-rtsp]: https://github.com/Monibuca/plugin-rtsp
[plugin-hls]:https://github.com/Monibuca/hlspplugin
[plugin-ts]:https://github.com/Monibuca/tspplugin
[plugin-hdl]:https://github.com/Monibuca/plugin-hdl
[plugin-gateway]:https://github.com/Monibuca/plugin-gateway
[plugin-record]:https://github.com/Monibuca/plugin-record
[plugin-cluster]:https://github.com/Monibuca/plugin-cluster
[plugin-jesscia]:https://github.com/Monibuca/plugin-jesscia
[plugin-logrotate]:https://github.com/Monibuca/plugin-logrotate
[plugin-rtp]:https://github.com/Monibuca/plugin-rtp
[plugin-webrtc]:https://github.com/Monibuca/plugin-webrtc
[plugin-gb28181]:https://github.com/Monibuca/plugin-gb28181
# Protocol Functions
| Protocol | Pusherpush-->Monibuca |Source-->Monibucapull|Monibuca-->Playerpull|Monibucapush-->Other Server
|---------| -------------|-------------| -------------|-------------|
|rtmp|✔||✔|
|rtsp|✔|✔|✔|✔
|http-flv||✔|✔|
|hls||✔|✔|
|ws-flv|||✔|
|webrtc|✔||✔
# Build & Test with docker
> development and testing only: IP and udp ports need to be exposed carefully in production.
```shell
docker build . -f dockerfile -t m7s:3.0
docker run --name m7s -p 1935:1935 -p 8081:8081 -p 8082:8082 -p 554:554 m7s:3.0
```
# Documentation
中文文档:
[http://docs.monibuca.com](http://docs.monibuca.com).
Monibuca(发音模拟不卡m7s是其缩写类似k8s) 是一个开源的Go语言开发的流媒体服务器开发框架。
它基于go1.18+此外并无任何其他依赖构建并提供了一套插件式的二次开发模型帮助你高效地开发流媒体服务器你既可以直接使用官方提供的插件也可以自己开发插件扩展任意的功能所以Monibuca是可以支持**任意**流媒体协议的框架!
# Q&A
> 流媒体服务器是一种用于分发流媒体的服务器端软件可用于直播、监控、会议等需要实时观看音视频的场景。流媒体服务器区别于传统Web服务器对于实时性要求极高需要使用各种传输协议而Web服务器则主要以http/https协议为主。
## Q: There are so many streaming server projects in the worldwhy need to create Monibuca?
Monibuca由三部分组成引擎、插件、实例工程。
- 引擎提供一套通用的流媒体数据缓存以及转发的机制,本身不关心协议如何实现
- 插件提供其他所有的功能,并可以无限扩展
- 实例工程是引入引擎和插件并启动引擎的项目工程,可以完全自己编写
A: Monibuca is different from other streaming servers,that it was created for facilitate secondary development.
## 插件式框架
## Q: Why use golang?
Monibuca旨在构建一个通用的流媒体开发生态所以从v1版本开始就考虑到业务和流转发的解耦从而设计了一套可供任意扩展的插件机制。根据你的需求场景可以灵活引入不同类型的插件
- 提供流媒体协议打包/解包例如rtmp插件、rtsp插件等
- 提供日志持久化的处理——logrotate插件
- 提供录像功能——record插件
- 提供丰富的调试功能——debug插件
- 提供http回调能力——http插件
A: Golang is a greate programming language. It is very suited to build streaming server since streaming server is a kind of IO intensive system. Goroutine is good at doing these jobs. Another important reason of using Golang is that people read the source code or doing secondary development easier.
如果你是有经验的开发者,那么最佳的方式是在现有的插件基础上进行二次开发,并可向更多的人提供可重用的插件丰富生态。
如果你是流媒体的初学者,那么最佳的方式是利用现有的插件拼凑出你需要的功能,并向有经验的开发者寻求帮助。
## Q: What does "Monibuca" mean?
A: No special meaning. Just from monica —— a girl name.
## 名称的由来
Monibuca这个单词来源于 `Monica` (莫妮卡),为了解决起名的难题,使用了三个名称分别是 `Monica``Jessica``Rebecca` 用来代表服务器、播放器、推流器。由于莫妮卡、杰西卡、瑞贝卡,都带卡字,对直播来说寓意不好,所以改为莫妮不卡(`Monibuca`)、杰西不卡[Jessibuca](https://jessibuca.com)、瑞贝不卡[Rebebuca](https://rebebuca.com)。
## 安装
- 官方提供已编译好的各个平台的二进制可执行文件(即绿色软件),所以无需安装任何其他软件即可运行。
- 如果需要自己编译启动工程则需要安装go1.18以上版本。
:::tip 配置go环境
- go可以在https://golang.google.cn/dl 中下载到
- 国内需要执行go env -w GOPROXY=https://goproxy.cn 来下载到被屏蔽的第三方库
:::
官方提供了最新版本的下载链接:
- [Linux](https://m7s.live/bin/m7s_linux_x86)
- [Linux-arm64](https://m7s.live/bin/m7s_linux_arm64)
- [Mac](https://m7s.live/bin/m7s_darwin_x86)
- [Mac-arm64](https://m7s.live/bin/m7s_darwin_arm64)
- [Windows](https://m7s.live/bin/m7s_windows_x86)
## 运行
### 可执行文件直接运行
- Linux 例如下载到了/opt/m7s_linux_x86,则 `cd /opt` 然后 `./m7s_linux_x86`
- Mac 和Linux类似需要注意的时候可能需要修改文件的可执行权限也可以双击运行
- Windows直接双击m7s_windows_x86.exe即可启动
:::tip 运行多实例
由于实例会监听http端口所以如果需要运行多实例就需要为每个实例指定不同的http端口因此需要启动时指定配置文件例如./m7s_linux_x86 -c config.yaml
:::
### 自行编译启动工程
1. `git clone https://github.com/langhuihui/monibuca`
2. `cd monibuca`
3. `go run main.go`
### 自行创建启动工程
可以观看视频教程:
- [从零启动 m7s V4](https://www.bilibili.com/video/BV1iq4y147N4/)
- [m7s v4 视频教程——插件引入](https://www.bilibili.com/video/BV1sP4y1g7BF/)

View File

@@ -1,77 +0,0 @@
# 主页
[https://monibuca.com](https://monibuca.com)
# 中文文档
[http://docs.monibuca.com](http://docs.monibuca.com)
# 文章
[重新定义流媒体服务器](https://www.infoq.cn/article/uiPl8dIuQmhipKb3q3Tz)
[直播回顾](https://live.oschina.net/detail/l_5ec359168fca5_6CA0rArq/4?fromH5=true)
# 核心代码库和插件代码库
[https://github.com/Monibuca](https://github.com/Monibuca)
# 本项目为开箱即用的实例demo
## 一键安装golang环境和monibuca的demo
```
bash <(curl -s -S -L https://monibuca.com/demo.sh)
```
## 对于已经安装好golang环境的
1. git clone https://github.com/langhuihui/monibuca
2. 执行go build得到可执行文件windows下为monibuca.exe)
3. 启动可执行文件后浏览器打开8080端口查看后台界面
4. ffmpeg或者OBS推流到1935端口
5. 后台界面上提供直播预览、录制flv、rtsp拉流转发、日志跟踪等功能
# Monibuca简介
[Monibuca](https://monibuca.com) 是一个开源的流媒体服务器开发框架适用于快速定制化开发流媒体服务器可以对接CDN厂商作为回源服务器也可以自己搭建集群部署环境。 丰富的内置插件提供了流媒体服务器的常见功能例如rtmp server、http-flv、视频录制、QoS等。除此以外还内置了后台web界面方便观察服务器运行的状态。 也可以自己开发后台管理界面通过api方式获取服务器的运行信息。 Monibuca 提供了可供定制化开发的插件机制,可以任意扩展其功能。
⚡高性能
针对流媒体服务器独特的性质进行的优化充分利用Golang的goroutine的性质对大量的连接的读写进行合理的分配计算资源以及尽可能的减少内存Copy操作。使用对象池减少Golang的GC时间。
🔧可扩展
流媒体服务器的个性化定制变的更简单基于Golang语言开发效率更高独创的插件机制可以方便用户定制个性化的功能组合更高效率的利用服务器资源。[插件市场](https://plugins.monibuca.com)
📈可视化
功能强大的仪表盘可以直观的看到服务器运行的状态、消耗的资源、以及其他统计信息。用户可以利用控制台对服务器进行配置和控制。
# 在 Docker 中编译和测试
> 生产服务需要暴露IP和大量端口建议容器仅用于开发和测试
```shell
docker build . -f dockerfile -t m7s:3.0
docker run --name m7s -p 1935:1935 -p 8081:8081 -p 8082:8082 -p 554:554 m7s:3.0
```
# 交流微信群
进入网站首页上进行扫码
# Q&A
## Q流媒体服务器项目有很多为什么要重复发明轮子
A: Monibuca不同于其他流媒体服务器的地方是针对二次开发为目的。多数流媒体服务器是通用型完成特定任务的对于二次开发并不友好。Monibuca开创了插件机制可以自由组合不同的协议或者功能定制化特定需求的流媒体服务器。
## QMonibuca为何采用Golang为开发语言
A因为Golang语言相比其他语言可读性更强代码简单易懂更利于二次开发另外Golang的goroutine特别适合开发高速系统。
## QMonibuca是否使用Cgo或者其他语言依赖库
A没有。Monibuca是纯Go语言开发不依赖任何其他第三方库比如FFmpeg方便二次开发。对部署更友好仅仅需要Golang运行环境即可。
## QMonibuca对环境有什么要求直播流可以在微信里播放吗
AMonibuca是基于Golang开发支持跨平台部署。Monibuca可以用Jessibuca播放器在微信、手机浏览器里面播放视频。也可以通过其他SDK播放RTMP流、其他协议的流。只需要相应的插件支持即可。
## Q: Monibuca的名称有什么特殊含义吗
A: 这个单词来源于Monica莫妮卡是个人名在项目里面也存在这个文件夹。没有特别含义为了解决起名的难题使用了三个名称分别是Monica、Jessica、Rebecca用来代表服务器、播放器、推流器。由于莫妮卡、杰西卡、瑞贝卡都带卡字对直播来说寓意不好所以改为模拟不卡Monibuca、解析不卡Jessibuca、累呗不卡Rebebuca。其中推流器Rebebuca目前尚为公布是改造了的OBS可用于推流H265

View File

@@ -64,7 +64,7 @@ Reconnect = true
#启动后自动拉流,可以配置多个
[RTSP.AutoPullList]
# "live/rtsp" = "rtsp://114.116.215.52:38558/sub/3"
# "live/rtsp" = "rtsp://admin:12345678ab@42.193.7.166:9514/11"
"live/rtsp" = "rtsp://admin:MOMA2021@47.94.226.17/Streaming/Channels/201?transportmode=unicast"
# "live/rtc" = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4"
# "live/rtsp" = "rtsp://admin:123456@42.193.7.166:9018/video1"
[WebRTC]

27
config.yaml Normal file
View File

@@ -0,0 +1,27 @@
# global:
# secret: "123456"
# consoleurl: "wss://console.monibuca.com/test"
# http:
# listenaddrtls: :8081
# certfile: monibuca.com.pem
# keyfile: monibuca.com.key
# record:
# mp4:
# autorecord: false
# webtransport:
# enable: false
# certfile: monibuca.com.pem
# keyfile: monibunica.com.key
# rtsp:
# pull:
# pullonstart: true
# pulllist:
# live/test : rtsp://admin:aaa123456@airiot.link:18554/Streaming/Channels/101
# push:
# pushlist:
# live/test : rtsp://localhost:8554/live/test
# hls:
# pull:
# pullonstart: true
# pulllist:
# live/test : http://111.40.196.27/PLTV/88888888/224/3221225548/index.m3u8

11
config2.yaml Normal file
View File

@@ -0,0 +1,11 @@
global:
http:
listenaddr: :8080
rtsp:
listenaddr: :8554
rtmp:
enable: false
webtransport:
enable: false
hls:
enable: false

View File

@@ -1,46 +0,0 @@
FROM golang:1.17.0-alpine3.14 as builder
LABEL maintainer="yangshuhai@pdnews.cn"
WORKDIR /app
# 先装好基础依赖,减少在代码变化时的重复构建时间
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.14/main" > /etc/apk/repositories
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.14/community" >> /etc/apk/repositories
RUN apk add --no-cache --update autoconf automake make gcc g++
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN go get -d github.com/Monibuca/engine/v3@v3.4.7
RUN go get -d github.com/Monibuca/plugin-gateway/v3@v3.0.10
RUN go get -d github.com/Monibuca/plugin-gb28181/v3@v3.0.2
RUN go get -d github.com/Monibuca/plugin-hdl/v3@v3.0.5
RUN go get -d github.com/Monibuca/plugin-hls/v3@v3.0.6
RUN go get -d github.com/Monibuca/plugin-jessica/v3@v3.0.0
RUN go get -d github.com/Monibuca/plugin-logrotate/v3@v3.0.0
RUN go get -d github.com/Monibuca/plugin-record/v3@v3.0.0
RUN go get -d github.com/Monibuca/plugin-rtmp/v3@v3.0.1
RUN go get -d github.com/Monibuca/plugin-rtsp/v3@v3.0.7
RUN go get -d github.com/Monibuca/plugin-summary@v1.0.0
RUN go get -d github.com/Monibuca/plugin-ts/v3@v3.0.1
RUN go get -d github.com/Monibuca/plugin-webrtc/v3@v3.0.3
# 再复制代码进行编译,可节省大量构建时间
COPY . .
RUN go mod tidy
RUN GOOS=linux go build -o m7s
# 构建完成则将成品复制到新的镜像中,减小镜像大小,可以考虑添加 upx 进一步减少空间
FROM alpine:3.14
WORKDIR /app
COPY --from=builder /app/m7s /app/m7s
COPY config.toml /app/config.toml
RUN /app/m7s --help
EXPOSE 554
EXPOSE 1935
EXPOSE 5060
EXPOSE 8081
EXPOSE 8082
CMD ["/app/m7s", "-c", "/app/config.toml"]

45
gen.go Normal file
View File

@@ -0,0 +1,45 @@
//go:build ignore
package main
import (
"fmt"
"io/ioutil"
"os"
)
var debugShim string = `package main
import "net/http"
func init() {
notSupport := func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("not support"))
}
http.HandleFunc("/debug/charts/", notSupport)
http.HandleFunc("/debug/charts/data", notSupport)
http.HandleFunc("/debug/charts/data-feed", notSupport)
}
`
var debug string = `package main
import (
_ "github.com/mkevac/debugcharts"
)
`
func main() {
if len(os.Args) < 2 {
fmt.Println("usage: go run gen.go <path>")
os.Exit(1)
}
var content string
if os.Args[1] == "1" {
content = debug
} else {
content = debugShim
}
ioutil.WriteFile("debug.go", []byte(content), 0666)
}

94
go.mod
View File

@@ -1,38 +1,66 @@
module github.com/langhuihui/monibuca/v3
module monibuca
go 1.16
go 1.18
require (
github.com/Monibuca/engine/v3 v3.5.1
github.com/Monibuca/plugin-gateway/v3 v3.0.13
github.com/Monibuca/plugin-gb28181/v3 v3.0.7
github.com/Monibuca/plugin-hdl/v3 v3.0.7
github.com/Monibuca/plugin-hls/v3 v3.0.6
github.com/Monibuca/plugin-jessica/v3 v3.0.0
github.com/Monibuca/plugin-logrotate/v3 v3.0.0
github.com/Monibuca/plugin-record/v3 v3.0.0
github.com/Monibuca/plugin-rtmp/v3 v3.0.3
github.com/Monibuca/plugin-rtsp/v3 v3.0.8
github.com/Monibuca/plugin-summary v1.0.0
github.com/Monibuca/plugin-ts/v3 v3.0.1
github.com/Monibuca/plugin-webrtc/v3 v3.0.3
github.com/Monibuca/utils/v3 v3.0.6 // indirect
m7s.live/engine/v4 v4.0.0
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2
m7s.live/plugin/gb28181/v4 v4.0.0-20220515110546-d795e7c80a18
m7s.live/plugin/hdl/v4 v4.0.0-20220504142221-26a2611af6e6
m7s.live/plugin/hls/v4 v4.0.0-20220514154311-e5cf49e0e853
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5
m7s.live/plugin/record/v4 v4.0.0-20220515083338-48d7f1a65b01
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0
m7s.live/plugin/rtmp/v4 v4.0.0-20220509140411-2dbfcfe19fdf
m7s.live/plugin/rtsp/v4 v4.0.0-20220515083245-a2100768b474
)
// replace github.com/Monibuca/plugin-ffmpeg => ../plugin-ffmpeg
// replace github.com/Monibuca/plugin-webrtc/v3 => ../plugin-webrtc
// replace github.com/Monibuca/plugin-gateway/v3 => ../plugin-gateway
// replace github.com/Monibuca/plugin-rtsp/v3 => ../plugin-rtsp
// replace github.com/Monibuca/plugin-gb28181/v3 => ../plugin-gb28181
// replace github.com/Monibuca/plugin-rtmp/v3 => ../plugin-rtmp
// replace github.com/Monibuca/plugin-hls/v3 => ../plugin-hls
// replace github.com/Monibuca/plugin-hdl/v3 => ../plugin-hdl
// replace github.com/Monibuca/engine/v3 => ../engine
// replace github.com/Monibuca/plugin-summary => ../plugin-summary
require (
github.com/aler9/gortsplib v0.0.0-20220513210403-3bd8ad810fa3 // indirect
github.com/cnotch/ipchub v1.1.0 // indirect
github.com/discoviking/fsm v0.0.0-20150126104936-f4a273feecca // indirect
github.com/edgeware/mp4ff v0.28.0 // indirect
github.com/ghettovoice/gosip v0.0.0-20220420085539-cf932c28a8fe // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.1.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/icza/bitio v1.1.0 // indirect
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
github.com/lufia/plan9stats v0.0.0-20220326011226-f1430873d8db // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
github.com/onsi/ginkgo v1.16.4 // indirect
github.com/onsi/gomega v1.13.0 // indirect
github.com/pion/randutil v0.1.0 // indirect
github.com/pion/rtcp v1.2.9 // indirect
github.com/pion/rtp v1.7.13 // indirect
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0 // indirect
github.com/pion/sdp/v3 v3.0.5 // indirect
github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect
github.com/q191201771/naza v0.30.2 // indirect
github.com/quangngotan95/go-m3u8 v0.1.0 // indirect
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b // indirect
github.com/shirou/gopsutil/v3 v3.22.4 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/tevino/abool v1.2.0 // indirect
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/tklauser/numcpus v0.5.0 // indirect
github.com/x-cray/logrus-prefixed-formatter v0.5.2 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
github.com/zhangpeihao/goamf v0.0.0-20140409082417-3ff2c19514a8 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.21.0 // indirect
golang.org/x/crypto v0.0.0-20220513210258-46612604a0f9 // indirect
golang.org/x/net v0.0.0-20220513224357-95641704303c // indirect
golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 // indirect
golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a // indirect
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 // indirect
golang.org/x/text v0.3.7 // indirect
gopkg.in/yaml.v3 v3.0.0-20220512140231-539c8e751b99 // indirect
)

305
go.sum
View File

@@ -1,51 +1,10 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v0.4.1 h1:GaI7EiDXDRfa8VshkTj7Fym7ha+y8/XxIgD2okUIjLw=
github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/Monibuca/engine/v3 v3.1.0/go.mod h1:yz6cssED2VlYu+g/LrxseBB9pcvsLM/o2QXa4gVY650=
github.com/Monibuca/engine/v3 v3.4.1/go.mod h1:rgAUey5ziRhlh6WugWyA5fYKyGOvcwhtTMDk4sukE7E=
github.com/Monibuca/engine/v3 v3.4.5/go.mod h1:Dik9pFxU9TFI5vj8Sv5QXZM+ooCs2fm9P7Uhe4yYNkQ=
github.com/Monibuca/engine/v3 v3.5.0/go.mod h1:yNiVKeHxgv+Ez+f2RHXMkXoa5Oxv+G7Ch+MJdHi7ing=
github.com/Monibuca/engine/v3 v3.5.1 h1:3AX+FwxerMw3JuyGXIOd/1dYCjA3IzWLKH/zq/GWe20=
github.com/Monibuca/engine/v3 v3.5.1/go.mod h1:yNiVKeHxgv+Ez+f2RHXMkXoa5Oxv+G7Ch+MJdHi7ing=
github.com/Monibuca/plugin-gateway/v3 v3.0.13 h1:/RdKU//3bsbnWMlMYcN0RIpuTetBUcD+OYD2U3AfjJw=
github.com/Monibuca/plugin-gateway/v3 v3.0.13/go.mod h1:Pw5seYubBswGoF4knryLbLp6qrkYPwg3a7ZupgOir/4=
github.com/Monibuca/plugin-gb28181/v3 v3.0.7 h1:sa89DEGBa/eTmwSmR2XDoe8xjrUgKaGiZHNC7seX1MQ=
github.com/Monibuca/plugin-gb28181/v3 v3.0.7/go.mod h1:EIu6vD1irPweLcA+1dC4k05wVe6ygYn6ErMfEx+UYPo=
github.com/Monibuca/plugin-hdl/v3 v3.0.7 h1:caNQwYzOVYgAxGksTEYVey9LW/7v1VlvgwSYqANHlZ0=
github.com/Monibuca/plugin-hdl/v3 v3.0.7/go.mod h1:ImBolaupuPvXGoWD5hOUUMvSPPuzrg2lzVWqhcXmdVA=
github.com/Monibuca/plugin-hls/v3 v3.0.6 h1:WfM9BeTnezQJK6WmC40A3yyxXXGFqJNMePvcjKtYa+M=
github.com/Monibuca/plugin-hls/v3 v3.0.6/go.mod h1:HRfFcEfpBZYrbtj4j46wLhYuAcZdTukzpw87CLf8FcE=
github.com/Monibuca/plugin-jessica/v3 v3.0.0 h1:ArSiHOHfcekBfUOJMFZ0IJSbP/B1TnvcC5gegTpcbDw=
github.com/Monibuca/plugin-jessica/v3 v3.0.0/go.mod h1:pf2lC2r3ZC1DYffW12zDPJH1sX59suI9JNXXuokZdbE=
github.com/Monibuca/plugin-logrotate/v3 v3.0.0 h1:lWLgfKx2tVmXomzmZNACDzl/8HCHAkxyAmxT+ReLa9g=
github.com/Monibuca/plugin-logrotate/v3 v3.0.0/go.mod h1:OltyTXYmIGyUaZap+/qyEm87HVmn14PzEUCtAmNAUUg=
github.com/Monibuca/plugin-record/v3 v3.0.0 h1:449s+La2O5in0jaIdA94iK3QIS1s+G73VQXeLUiciN0=
github.com/Monibuca/plugin-record/v3 v3.0.0/go.mod h1:71pviyOflKsNq+ijPKOgcsKqZkvZ91PzJxLJWPDzYe0=
github.com/Monibuca/plugin-rtmp/v3 v3.0.3 h1:pXVmMwZ8yb2eoiOm3PGSCr7C9D6MtfTG4ghIH3oJte0=
github.com/Monibuca/plugin-rtmp/v3 v3.0.3/go.mod h1:subd/7X5wcPbt5PDc0tbJ9RqNkvnrLJGj05RsYw25A8=
github.com/Monibuca/plugin-rtsp/v3 v3.0.8 h1:wKGcTxwyZdG63AR5ZW9M5vYfUvMHY/iwmsq56XibEfQ=
github.com/Monibuca/plugin-rtsp/v3 v3.0.8/go.mod h1:byXGE5BxFv0RpcoOjcQRt7B7mZvrgNuVpRn0kJtFIkU=
github.com/Monibuca/plugin-summary v1.0.0 h1:tWL7KWw5mcep2jAhG3Gzd1DCiLSyCl3u3nmJtYkqGFA=
github.com/Monibuca/plugin-summary v1.0.0/go.mod h1:rpSCVcPrecGlgT+aoCYsA6MawsE6ELT2mMGYYlSfTWo=
github.com/Monibuca/plugin-ts/v3 v3.0.0/go.mod h1:S+sUqUbZTiRws/GHoxcVVQdhOcuUQUxoAGDeQOAgKw0=
github.com/Monibuca/plugin-ts/v3 v3.0.1 h1:WPjDsv7s1aqDcpBzPJrC9CvaHZvnDf92qEQaBx6oR3c=
github.com/Monibuca/plugin-ts/v3 v3.0.1/go.mod h1:Xndravs2PFGXHr4ZtAZ+azPBjDBBTB8ZanP8zrvu11o=
github.com/Monibuca/plugin-webrtc/v3 v3.0.3 h1:MWIQEZwIlxlruEU5rxiH7KhhKyCp3fZf0qrxF2gFd7Y=
github.com/Monibuca/plugin-webrtc/v3 v3.0.3/go.mod h1:eH8O1nvkxpHJVmasyXK1r/oOsAuXdwQ8TvkyVLR5Crg=
github.com/Monibuca/utils/v3 v3.0.0/go.mod h1:RpNS95gapWs6gimwh8Xn2x72FN5tO7Powabj7dTFyvE=
github.com/Monibuca/utils/v3 v3.0.5/go.mod h1:RpNS95gapWs6gimwh8Xn2x72FN5tO7Powabj7dTFyvE=
github.com/Monibuca/utils/v3 v3.0.6 h1:Ya1KjxmirzHnaLneOgbopzMm9NhJtZxD4XqePefOYZw=
github.com/Monibuca/utils/v3 v3.0.6/go.mod h1:RpNS95gapWs6gimwh8Xn2x72FN5tO7Powabj7dTFyvE=
github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
github.com/agiledragon/gomonkey/v2 v2.2.0 h1:QJWqpdEhGV/JJy70sZ/LDnhbSlMrqHAWHcNOjz1kyuI=
github.com/agiledragon/gomonkey/v2 v2.2.0/go.mod h1:ap1AmDzcVOAz1YpeJ3TCzIgstoaWLA6jbbgxfB4w2iY=
github.com/aler9/gortsplib v0.0.0-20211212220644-6f374e396529 h1:j2tfs+eUubyZnuwmYWzK+IS681IixfUyD8bivz4sqAw=
github.com/aler9/gortsplib v0.0.0-20211212220644-6f374e396529/go.mod h1:fyQrQyHo8QvdR/h357tkv1g36VesZlzEPsdAu2VrHHc=
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef h1:2JGTg6JapxP9/R33ZaagQtAM4EkkSYnIAlOG5EI8gkM=
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef/go.mod h1:JS7hed4L1fj0hXcyEejnW57/7LCetXggd+vwrRnYeII=
github.com/aler9/gortsplib v0.0.0-20220513210403-3bd8ad810fa3 h1:NUR7qpx6g8vNVvzSSHiBfZ1cCdTbYuCu1aLCLigSCp4=
github.com/aler9/gortsplib v0.0.0-20220513210403-3bd8ad810fa3/go.mod h1:Mezkz7Jb5zrIWP6MxJ2uBgt5xwywZkcdmuQZ2QrFYsM=
github.com/asticode/go-astikit v0.20.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0=
github.com/asticode/go-astits v1.10.0/go.mod h1:DkOWmBNQpnr9mv24KfZjq4JawCFX1FCqjLVGvO0DygQ=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/cnotch/apirouter v0.0.0-20200731232942-89e243a791f3/go.mod h1:5deJPLON/x/s2dLOQfuKS0lenhOIT4xX0pvtN/OEIuY=
github.com/cnotch/ipchub v1.1.0 h1:hH0lh2mU3AZXPiqMwA0pdtqrwo7PFIMRGush9OobMUs=
github.com/cnotch/ipchub v1.1.0/go.mod h1:2PbeBs2q2VxxTVCn1eYCDwpAWuVXbq1+N0FU7GimOH4=
@@ -57,20 +16,26 @@ github.com/cnotch/xlog v0.0.0-20201208005456-cfda439cd3a0/go.mod h1:RW9oHsR79ffl
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/discoviking/fsm v0.0.0-20150126104936-f4a273feecca h1:cTTdXpkQ1aVbOOmHwdwtYuwUZcQtcMrleD1UXLWhAq8=
github.com/discoviking/fsm v0.0.0-20150126104936-f4a273feecca/go.mod h1:W+3LQaEkN8qAwwcw0KC546sUEnX86GIT8CcMLZC4mG0=
github.com/edgeware/mp4ff v0.28.0 h1:iAtPUXtENORvCPCLIdDNeh5Lb6GXS1hIyYUx2iBkygE=
github.com/edgeware/mp4ff v0.28.0/go.mod h1:GNUeA6tEFksH2CrjJF2FSGdJolba8yPGmo16qZTXsm8=
github.com/emitter-io/address v1.0.0/go.mod h1:GfZb5+S/o8694B1GMGK2imUYQyn2skszMvGNA5D84Ug=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478 h1:Db9StoJ6RZN3YttC0Pm0I4Y5izITRYch3RMbT59BYN0=
github.com/funny/slab v0.0.0-20180511031532-b1fad5e5d478/go.mod h1:0j1+svBH8ABEIPdUP0AIg4qedsybnXGJBakCEw8cfoo=
github.com/funny/utest v0.0.0-20161029064919-43870a374500 h1:Z0r1CZnoIWFB/Uiwh1BU5FYmuFe6L5NPi6XWQEmsTRg=
github.com/funny/utest v0.0.0-20161029064919-43870a374500/go.mod h1:mUn39tBov9jKnTWV1RlOYoNzxdBFHiSzXWdY1FoNGGg=
github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/ghettovoice/gosip v0.0.0-20220420085539-cf932c28a8fe h1:turrF/P/KarJUx9aUnRNZMQtUu2hsNFNa+iNog+e/fc=
github.com/ghettovoice/gosip v0.0.0-20220420085539-cf932c28a8fe/go.mod h1:yTr3BEYSFe9As6XM7ldyrVgqsPwlnw8Ahc4N28VFM2g=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.1.0-rc.1/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -80,181 +45,205 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/icza/bitio v1.0.0 h1:squ/m1SHyFeCA6+6Gyol1AxV9nmPPlJFT8c2vKdj3U8=
github.com/icza/bitio v1.0.0/go.mod h1:0jGnlLAx8MKMr9VGnn/4YrvZiprkvBelsVIbA9Jjr9A=
github.com/icza/bitio v1.1.0 h1:ysX4vtldjdi3Ygai5m1cWy4oLkhWTAi+SyO6HC8L9T0=
github.com/icza/bitio v1.1.0/go.mod h1:0jGnlLAx8MKMr9VGnn/4YrvZiprkvBelsVIbA9Jjr9A=
github.com/icza/mighty v0.0.0-20180919140131-cfd07d671de6 h1:8UsGZ2rr2ksmEru6lToqnXgA8Mz1DP11X4zSJ159C3k=
github.com/icza/mighty v0.0.0-20180919140131-cfd07d671de6/go.mod h1:xQig96I1VNBDIWGCdTt54nHt6EeI639SmHycLYL7FkA=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/kelindar/process v0.0.0-20170730150328-69a29e249ec3/go.mod h1:+lTCLnZFXOkqwD8sLPl6u4erAc0cP8wFegQHfipz7KE=
github.com/kelindar/rate v1.0.0/go.mod h1:AjT4G+hTItNwt30lucEGZIz8y7Uk5zPho6vurIZ+1Es=
github.com/kelindar/tcp v1.0.0/go.mod h1:JB5hj1cshLU60XrLij2BBxW3JQ4hOye8vqbyvuKb52k=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/lufia/plan9stats v0.0.0-20220326011226-f1430873d8db h1:m2s7Fwo4OwmcheIWUc/Nw9/MZ0eFtP3to0ovTpqOiCQ=
github.com/lufia/plan9stats v0.0.0-20220326011226-f1430873d8db/go.mod h1:VgrrWVwBO2+6XKn8ypT3WUqvoxCa8R2M5to2tRzGovI=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.5/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.1/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.11.0/go.mod h1:azGKhqFUon9Vuj0YmTfLSmx0FUwqXYSTl5re8lQLTUg=
github.com/pion/datachannel v1.4.21 h1:3ZvhNyfmxsAqltQrApLPQMhSFNA+aT87RqyCq4OXmf0=
github.com/pion/datachannel v1.4.21/go.mod h1:oiNyP4gHx2DIwRzX/MFyH0Rz/Gz05OgBlayAI2hAWjg=
github.com/pion/dtls/v2 v2.0.9/go.mod h1:O0Wr7si/Zj5/EBFlDzDd6UtVxx25CE1r7XM7BQKYQho=
github.com/pion/dtls/v2 v2.0.10 h1:wgys7gPR1NMbWjmjJ3CW7lkUGaun8djgH8nahpNLnxI=
github.com/pion/dtls/v2 v2.0.10/go.mod h1:00OxfeCRWHShcqT9jx8pKKmBWuTt0NCZoVPCaC4VKvU=
github.com/pion/ice/v2 v2.1.13 h1:/YNYcIw56LT/whwuzkTnrprcRnapj2ZNqUsR0W8elmo=
github.com/pion/ice/v2 v2.1.13/go.mod h1:ovgYHUmwYLlRvcCLI67PnQ5YGe+upXZbGgllBDG/ktU=
github.com/pion/interceptor v0.1.0 h1:SlXKaDlEvSl7cr4j8fJykzVz4UdH+7UDtcvx+u01wLU=
github.com/pion/interceptor v0.1.0/go.mod h1:j5NIl3tJJPB3u8+Z2Xz8MZs/VV6rc+If9mXEKNuFmEM=
github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY=
github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms=
github.com/pion/mdns v0.0.5 h1:Q2oj/JB3NqfzY9xGZ1fPzZzK7sDSD8rZPOvcIQ10BCw=
github.com/pion/mdns v0.0.5/go.mod h1:UgssrvdD3mxpi8tMxAXbsppL3vJ4Jipw1mTCW+al01g=
github.com/onsi/gomega v1.10.4/go.mod h1:g/HbgYopi++010VEqkFgJHKC09uJiW9UkXvMUuKHUCQ=
github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA=
github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8=
github.com/pion/rtcp v1.2.4/go.mod h1:52rMNPWFsjr39z9B9MhnkqhPLoeHTv1aN63o/42bWE0=
github.com/pion/rtcp v1.2.6/go.mod h1:52rMNPWFsjr39z9B9MhnkqhPLoeHTv1aN63o/42bWE0=
github.com/pion/rtcp v1.2.8 h1:Cys8X6r0xxU65ESTmXkqr8eU1Q1Wx+lNkoZCUH4zD7E=
github.com/pion/rtcp v1.2.8/go.mod h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo=
github.com/pion/rtp v1.6.1/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtcp v1.2.9 h1:1ujStwg++IOLIEoOiIQ2s+qBuJ1VN81KW+9pMPsif+U=
github.com/pion/rtcp v1.2.9/go.mod h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo=
github.com/pion/rtp v1.6.2/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp v1.6.5/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp v1.7.0/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp v1.7.2/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp v1.7.4 h1:4dMbjb1SuynU5OpA3kz1zHK+u+eOCQjW3MAeVHf1ODA=
github.com/pion/rtp v1.7.4/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/sctp v1.7.10/go.mod h1:EhpTUQu1/lcK3xI+eriS6/96fWetHGCvBi9MSsnaBN0=
github.com/pion/sctp v1.7.12 h1:GsatLufywVruXbZZT1CKg+Jr8ZTkwiPnmUC/oO9+uuY=
github.com/pion/sctp v1.7.12/go.mod h1:xFe9cLMZ5Vj6eOzpyiKjT9SwGM4KpK/8Jbw5//jc+0s=
github.com/pion/rtp v1.7.9/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp v1.7.13 h1:qcHwlmtiI50t1XivvoawdCGTP4Uiypzfrsap+bijcoA=
github.com/pion/rtp v1.7.13/go.mod h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0 h1:zyOGxHutZ6IhksQSMtwf3OFXB29W5R18yFQWOQJYWjU=
github.com/pion/rtp/v2 v2.0.0-20220302185659-b3d10fc096b0/go.mod h1:Vj+rrFbJCT3yxqE/VSwaOo9DQ2pMKGPxuE7hplGOlOs=
github.com/pion/sdp/v3 v3.0.2/go.mod h1:bNiSknmJE0HYBprTHXKPQ3+JjacTv5uap92ueJZKsRk=
github.com/pion/sdp/v3 v3.0.4 h1:2Kf+dgrzJflNCSw3TV5v2VLeI0s/qkzy2r5jlR0wzf8=
github.com/pion/sdp/v3 v3.0.4/go.mod h1:bNiSknmJE0HYBprTHXKPQ3+JjacTv5uap92ueJZKsRk=
github.com/pion/srtp/v2 v2.0.5 h1:ks3wcTvIUE/GHndO3FAvROQ9opy0uLELpwHJaQ1yqhQ=
github.com/pion/srtp/v2 v2.0.5/go.mod h1:8k6AJlal740mrZ6WYxc4Dg6qDqqhxoRG2GSjlUhDF0A=
github.com/pion/stun v0.3.5 h1:uLUCBCkQby4S1cf6CGuR9QrVOKcvUwFeemaC865QHDg=
github.com/pion/stun v0.3.5/go.mod h1:gDMim+47EeEtfWogA37n6qXZS88L5V6LqFcf+DZA2UA=
github.com/pion/transport v0.10.1/go.mod h1:PBis1stIILMiis0PewDw91WJeLJkyIMcEk+DwKOzf4A=
github.com/pion/transport v0.12.2/go.mod h1:N3+vZQD9HlDP5GWkZ85LohxNsDcNgofQmyL6ojX5d8Q=
github.com/pion/transport v0.12.3 h1:vdBfvfU/0Wq8kd2yhUMSDB/x+O4Z9MYVl2fJ5BT4JZw=
github.com/pion/transport v0.12.3/go.mod h1:OViWW9SP2peE/HbwBvARicmAVnesphkNkCVZIWJ6q9A=
github.com/pion/turn/v2 v2.0.5 h1:iwMHqDfPEDEOFzwWKT56eFmh6DYC6o/+xnLAEzgISbA=
github.com/pion/turn/v2 v2.0.5/go.mod h1:APg43CFyt/14Uy7heYUOGWdkem/Wu4PhCO/bjyrTqMw=
github.com/pion/udp v0.1.1 h1:8UAPvyqmsxK8oOjloDk4wUt63TzFe9WEJkg5lChlj7o=
github.com/pion/udp v0.1.1/go.mod h1:6AFo+CMdKQm7UiA0eUPA8/eVCTx8jBIITLZHc9DWX5M=
github.com/pion/webrtc/v3 v3.1.6 h1:r6WQRayW2SyKTYeRl4vBUQ43XXp7RSwBJ9+tNQWI5zQ=
github.com/pion/webrtc/v3 v3.1.6/go.mod h1:tkwdWNYdZhc200hH/wPx6AtNo/rcTAM6MICA6dg1je8=
github.com/pion/sdp/v3 v3.0.5 h1:ouvI7IgGl+V4CrqskVtr3AaTrPvPisEOxwgpdktctkU=
github.com/pion/sdp/v3 v3.0.5/go.mod h1:iiFWFpQO8Fy3S5ldclBkpXqmWy02ns78NOKoLLL0YQw=
github.com/pixelbender/go-sdp v1.1.0/go.mod h1:6IBlz9+BrUHoFTea7gcp4S54khtOhjCW/nVDLhmZBAs=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.4.0/go.mod h1:NWz/XGvpEW1FyYQ7fCx4dqYBLlfTcE+A9FLAkNKqjFE=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/q191201771/naza v0.19.1 h1:4KLcxT2CHztO+7miPRtBG3FFgadSQYQw1gPPPKN7rnY=
github.com/q191201771/naza v0.19.1/go.mod h1:5LeGupZZFtYP1g/S203n9vXoUNVdlRnPIfM6rExjqt0=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI=
github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/q191201771/naza v0.30.2 h1:9ZC4T5AdSgGlW9cuFGp6H0mOOXQ156HxOzkYPqrvc14=
github.com/q191201771/naza v0.30.2/go.mod h1:n+dpJjQSh90PxBwxBNuifOwQttywvSIN5TkWSSYCeBk=
github.com/quangngotan95/go-m3u8 v0.1.0 h1:8oseBjJn5IKHQKdRZwSNskkua3NLrRtlvXXtoVgBzMk=
github.com/quangngotan95/go-m3u8 v0.1.0/go.mod h1:smzfWHlYpBATVNu1GapKLYiCtEo5JxridIgvvudZ+Wc=
github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw=
github.com/shirou/gopsutil v3.21.6+incompatible h1:mmZtAlWSd8U2HeRTjswbnDLPxqsEoK01NK+GZ1P+nEM=
github.com/shirou/gopsutil v3.21.6+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/shirou/gopsutil/v3 v3.22.4 h1:srAQaiX6jX/cYL6q29aE0m8lOskT9CurZ9N61YR3yoI=
github.com/shirou/gopsutil/v3 v3.22.4/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo=
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tevino/abool v0.0.0-20170917061928-9b9efcf221b5/go.mod h1:f1SCnEOt6sc3fOJfPQDRDzHOtSXuTtnz0ImG9kPRDV0=
github.com/tevino/abool v1.2.0 h1:heAkClL8H6w+mK5md9dzsuohKeXHUpY7Vw0ZCKW+huA=
github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg=
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
github.com/tklauser/numcpus v0.5.0 h1:ooe7gN0fg6myJ0EKoTAf5hebTZrH52px3New/D9iJ+A=
github.com/tklauser/numcpus v0.5.0/go.mod h1:OGzpTxpcIMNGYQdit2BYL1pvk/dSOaJWjKoflh+RQjo=
github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg=
github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zhangpeihao/goamf v0.0.0-20140409082417-3ff2c19514a8 h1:r1JUI0wuHlgRb8jNd3zPBBkjUdrjpVKr8SdJWc8ntg8=
github.com/zhangpeihao/goamf v0.0.0-20140409082417-3ff2c19514a8/go.mod h1:RZd/IqzNpFANwOB9rVmsnAYpo/6KesK4PqrN1a5cRgg=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220513210258-46612604a0f9 h1:NUzdAbFtCJSXU20AOXgeqaUwg8Ypg4MPYmL+d+rsB5c=
golang.org/x/crypto v0.0.0-20220513210258-46612604a0f9/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201201195509-5d6afe98e0b7/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211005001312-d4b1ae081e3b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220513224357-95641704303c h1:nF9mHSvoKBLkQNQhJZNsc66z2UzAMUbLGjC95CF3pU0=
golang.org/x/net v0.0.0-20220513224357-95641704303c/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 h1:w8s32wxx3sY+OjLlv9qltkLU5yvJzxjjgiHWLjdIcw4=
golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201214095126-aec9a390925b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359 h1:2B5p2L5IfGiD7+b9BOoRMC6DgObAVZV+Fsp050NqXik=
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a h1:N2T1jUrTQE9Re6TFF5PhvEHXHCguynGhKjWVsIUt5cY=
golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 h1:EH1Deb8WZJ0xc0WK//leUHXcX9aLE5SymusoTmMZye8=
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -266,15 +255,47 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20220512140231-539c8e751b99 h1:dbuHpmKjkDzSOMKAWl10QNlgaZUd3V1q99xc81tt2Kc=
gopkg.in/yaml.v3 v3.0.0-20220512140231-539c8e751b99/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
m7s.live/engine/v4 v4.0.0 h1:Uf4kQcmp1/dErdB7aRayWLWv+v5qqG6SSUWja17HRDQ=
m7s.live/engine/v4 v4.0.0/go.mod h1:rliHP5yJnSyr40ha6q8OhUResRn8fo26TxmmBbR2X4M=
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2 h1:0QWJvozTHy7m+G/lOIGiejQ9okFIDjwzVsgXe6ZaJg8=
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2/go.mod h1:A/C1ViacCOK7EPeeCfiwlUrC2TUtRdEqzrR0Yd9b1KQ=
m7s.live/plugin/gb28181/v4 v4.0.0-20220515110546-d795e7c80a18 h1:M5je1OvOUDe5GYGNW2Iib9NJ9OzNcqwQHV5AqGg7SmI=
m7s.live/plugin/gb28181/v4 v4.0.0-20220515110546-d795e7c80a18/go.mod h1:9femJbhlnygtfmrfdwaZ/NUpH8IReSBxP71DQvtswr8=
m7s.live/plugin/hdl/v4 v4.0.0-20220504142221-26a2611af6e6 h1:0md8QxcXPacqyni5eAH8OMyKLk5N1N+nuVSTmqF3Y0U=
m7s.live/plugin/hdl/v4 v4.0.0-20220504142221-26a2611af6e6/go.mod h1:nJ/VCp/gS752/hEQ/YYY7Q7lsMHfKVhWKHSb6LGZeXE=
m7s.live/plugin/hls/v4 v4.0.0-20220514154311-e5cf49e0e853 h1:Eh+G27BYH1JofTc81Cv/cuF1Vp16U4qKIeocGv5Eqwo=
m7s.live/plugin/hls/v4 v4.0.0-20220514154311-e5cf49e0e853/go.mod h1:Qn4dDz5xlyBJwO+eZ3w8CUQ8Hl6KN1nmv0a3IsOjJvw=
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415 h1:ByaKrp8iWIDhASzxxCsJRBx0Cyw1P466KLgvSiMSix4=
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415/go.mod h1:ky3FOzCMKSDIiosPOw3wrKrQLM3YERSe5YrQZToJh/I=
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d h1:QNIg4SAg+FnJ0rS7KlXAAH29wbTeuee9+jI7HINVNlo=
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d/go.mod h1:mJCONeOUeIPPA7Pfgge844l65KzHXa+QwE+AJ64Cf+4=
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5 h1:XkkHG9sYk45GXVxZXDbY7WgtwoiXfJ8Mf58CPT5Bzss=
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
m7s.live/plugin/record/v4 v4.0.0-20220515083338-48d7f1a65b01 h1:ShnEzrcIoWkIHQx+vWN1y7UIh2SDrmFJqZQxved1eac=
m7s.live/plugin/record/v4 v4.0.0-20220515083338-48d7f1a65b01/go.mod h1:a2/CY+ddgmxzUMDpVTfAsTHrtWNDo/JOmzi6Xf05bQM=
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0 h1:rv/GTbcVz1k3/7xWHTXnp4f9LU7Bzf+qC3Dqe9TIEZs=
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0/go.mod h1:s/e+9cyOkJVMAsOVRM08RDvlPikeaeh5R26qk8oekFA=
m7s.live/plugin/rtmp/v4 v4.0.0-20220509140411-2dbfcfe19fdf h1:LikAdbXgQ9EScOTd3ZYNIamR7tze4PGTg5veWWcpfXs=
m7s.live/plugin/rtmp/v4 v4.0.0-20220509140411-2dbfcfe19fdf/go.mod h1:im3XlkN0XxMCWI8XQZHxER63/EPIfM9XoeLZtgFqYD8=
m7s.live/plugin/rtsp/v4 v4.0.0-20220515083245-a2100768b474 h1:9iHAw+mWFjaBD7RkgU3MUPTR+AQE1leQclkXLddivI8=
m7s.live/plugin/rtsp/v4 v4.0.0-20220515083245-a2100768b474/go.mod h1:larXRUF0Db/RNTIIfFp/Q68GX8KyN/6jE2Z/cfZOFpA=

36
goreleaser.yml Normal file
View File

@@ -0,0 +1,36 @@
project_name: m7s
archives:
-
files:
- config.yaml
builds:
- id: "with-debug"
env: [CGO_ENABLED=0]
ignore:
- goos: darwin
goarch: arm64
- goos: windows
goarch: arm64
goos:
- linux
- windows
- darwin
goarch:
- amd64
- arm64
hooks:
pre:
- bash -c "debug=1 go generate ./..."
- go mod tidy
- id: "without-debug"
env: [CGO_ENABLED=0]
goos:
- windows
- darwin
goarch:
- arm64
hooks:
pre:
- bash -c "debug=0 go generate ./..."
- go mod tidy

53
main.go
View File

@@ -1,48 +1,31 @@
package main
//go:generate go run gen.go $debug
import (
"context"
"flag"
_ "net/http/pprof"
"os"
"os/signal"
"path/filepath"
"syscall"
. "github.com/Monibuca/engine/v3"
// _ "github.com/Monibuca/plugin-ffmpeg"
// _ "github.com/Monibuca/plugin-cluster"
_ "github.com/Monibuca/plugin-gateway/v3"
"m7s.live/engine/v4"
"m7s.live/engine/v4/util"
_ "github.com/Monibuca/plugin-gb28181/v3"
_ "github.com/Monibuca/plugin-hdl/v3"
_ "github.com/Monibuca/plugin-hls/v3"
_ "github.com/Monibuca/plugin-jessica/v3"
_ "github.com/Monibuca/plugin-logrotate/v3"
_ "github.com/Monibuca/plugin-record/v3"
_ "github.com/Monibuca/plugin-rtmp/v3"
_ "github.com/Monibuca/plugin-rtsp/v3"
_ "github.com/Monibuca/plugin-summary"
_ "github.com/Monibuca/plugin-ts/v3"
_ "github.com/Monibuca/plugin-webrtc/v3"
_ "m7s.live/plugin/debug/v4"
_ "m7s.live/plugin/gb28181/v4"
_ "m7s.live/plugin/hdl/v4"
_ "m7s.live/plugin/hls/v4"
_ "m7s.live/plugin/hook/v4"
_ "m7s.live/plugin/jessica/v4"
_ "m7s.live/plugin/logrotate/v4"
_ "m7s.live/plugin/record/v4"
_ "m7s.live/plugin/room/v4"
_ "m7s.live/plugin/rtmp/v4"
_ "m7s.live/plugin/rtsp/v4"
)
func main() {
addr := flag.String("c", "config.toml", "config file")
conf := flag.String("c", "config.yaml", "config file")
flag.Parse()
ctx, cancel := context.WithCancel(context.Background())
go waiter(cancel)
if _, err := os.Stat(*addr); err == nil {
Run(ctx, *addr)
} else {
Run(ctx, filepath.Join(filepath.Dir(os.Args[0]), *addr))
}
}
func waiter(cancel context.CancelFunc) {
sigc := make(chan os.Signal, 1)
signal.Notify(sigc, syscall.SIGINT, syscall.SIGTERM)
defer signal.Stop(sigc)
<-sigc
cancel()
go util.WaitTerm(cancel)
engine.Run(ctx, *conf)
}

27
monibuca.com.key Normal file
View File

@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAsDuh54gI4Flxg+ZrpvxWdmCnvpE1EqNfrV41+yTMZxJko32B
6ErSCb/qu6viTqnV+Vf/YY/a7TFCt/NQHFpx3pXRhRFCM5TVaoFqWOYpU8dgACOs
nK9cyOlAaE0s8TuPTjo9P9TZAbVyaHobTdEwImu17Nq6vAczFLanqfhKcQ22e7PR
mk039f/7vqDUvYJiHtddjACaKfJ9XqfsLjxhKT/fSg/iYjjmD9uEidvUwbK0Uq62
M5oTyf1R1A/z+SD4rVUaxN8JyjYsOrELoVYQAP6YY9d5e5V5KrX1JXf+7cjwU0Jy
gcieNWvAIzq0oVVqiq43N59//FcoU+n4g2vloQIDAQABAoIBAAc7GySF119lLBwu
WyJp3h5TTu6pxJS0MVvKrspUMzLTdV+j6a2fTEjsH/R9U/bITyhA7RCSt3fd+o/T
oujW6S8p1IPyNlYpeCw7jSKCpxVx68V1sUJoi5UOxP7Ck+J+AB5Ek3jIAfNo/327
7NzfhWsUIk3Kl7jZTsY9zFlT/7HtvZSO9UkNVz0m0wlkoENE7va+SbBgPEIupMqU
oR0jZQKAcEwJi7vneLKjUhTr8v2InGYeLybLcw5ZKxYBOjFk2rELPUP26/SgNvsA
VPvA9HBTYy9IZFNF/3O3QNnD2/Ix0zGm2LVuYAc4FqE4Zd7NssNBmi25ASZq+rdg
YMiNJ7ECgYEA7EbusDzUId4WO8bwB9vW0Glg+8flNJ4uXqbV9eA/B5Vp71jkV9fB
led2dmcW5FUG2kktkUNHbUXEer4eM7s74983CAb74hpUXEWY75Fp3FqOCk0eTLqE
unke8BaUKdSSYPPWEBNHfii9GkoKRBLvGLnfOsrMB1pZouAhhwdDZu0CgYEAvvGZ
0/bhTjdS7k9/5h7FiY1brxpFy/G8yrpZwA+tvxLLGnPNmRBljFDCSQsPliBbURD4
T/jt2FOltfBPOJ0wMCNUmEqsnIs2fCiRr1UkEUFZ2SPOcTybk5gaiTKeXKl3i+Zq
u1MT+qxr1HfjspuUJ0Ou9N+HIXtrwNMqxb7/DwUCgYAFELw7QQKXO0ikvW4V7Quc
6jVvEGkEiMObud3qaIVRZ02fGPvEOlbnHNA4V5txB7We5mS4sYWNfSpqKztAhqoR
B48JeATcYw4d8EwIDskDNVnINMEKihEgYkpcgU9p2inNNE0JiTBGLx9mueGgdft0
Pz/e5cwb+D7ltAJj/67dPQKBgQCsLv3CcIw3lhgIolP5VaJYKcqVmiF6iWDvhx/L
29eXyACyt96cunZ4E5M/fuPtQvxVm/HvW9BPFQ8Hg85MhSKhJhrwwdXpzHezenn1
G9fMX5v//RP6dObuL2kucyDu+jq9Q2jXx1Dq6XTLQdlohHcS+SvZ0X/vp3ZBiaq2
a0dhaQKBgAV3WUwkqzdmG7yzcUxMMcRO4686UNApNQlqkTieOt3n5+uDEOjxbYQz
z8bBLDunDpW5UEQr2UEP/jT6TAZ34xXqMpXyF2BvTPzVbRYlFVzGTLQ6MmOkvykJ
BFD6EWH2uAbzNQF1y7TlKTa6CO58+I9tP9+CL6LSfeZ+9ABuRKQ4
-----END RSA PRIVATE KEY-----

66
monibuca.com.pem Normal file
View File

@@ -0,0 +1,66 @@
-----BEGIN CERTIFICATE-----
MIIGdDCCBNygAwIBAgIQNDrmCqWpIXWEcjc+6M1EeDANBgkqhkiG9w0BAQwFADBZ
MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywg
SW5jLjEjMCEGA1UEAxMaVHJ1c3RBc2lhIFJTQSBEViBUTFMgQ0EgRzIwHhcNMjIw
NDA3MDAwMDAwWhcNMjMwNDA3MjM1OTU5WjAXMRUwEwYDVQQDEwxtb25pYnVjYS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwO6HniAjgWXGD5mum
/FZ2YKe+kTUSo1+tXjX7JMxnEmSjfYHoStIJv+q7q+JOqdX5V/9hj9rtMUK381Ac
WnHeldGFEUIzlNVqgWpY5ilTx2AAI6ycr1zI6UBoTSzxO49OOj0/1NkBtXJoehtN
0TAia7Xs2rq8BzMUtqep+EpxDbZ7s9GaTTf1//u+oNS9gmIe112MAJop8n1ep+wu
PGEpP99KD+JiOOYP24SJ29TBsrRSrrYzmhPJ/VHUD/P5IPitVRrE3wnKNiw6sQuh
VhAA/phj13l7lXkqtfUld/7tyPBTQnKByJ41a8AjOrShVWqKrjc3n3/8VyhT6fiD
a+WhAgMBAAGjggL4MIIC9DAfBgNVHSMEGDAWgBRfOnwREH4MZ3Fh3IujtQADZ/VX
HDAdBgNVHQ4EFgQUXzGOkA4bBluzNCi/v4FoPmbmRkYwDgYDVR0PAQH/BAQDAgWg
MAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEkG
A1UdIARCMEAwNAYLKwYBBAGyMQECAjEwJTAjBggrBgEFBQcCARYXaHR0cHM6Ly9z
ZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMH0GCCsGAQUFBwEBBHEwbzBCBggrBgEF
BQcwAoY2aHR0cDovL2NydC50cnVzdC1wcm92aWRlci5jbi9UcnVzdEFzaWFSU0FE
VlRMU0NBRzIuY3J0MCkGCCsGAQUFBzABhh1odHRwOi8vb2NzcC50cnVzdC1wcm92
aWRlci5jbjApBgNVHREEIjAgggxtb25pYnVjYS5jb22CEHd3dy5tb25pYnVjYS5j
b20wggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB2AK33vvp8/xDIi509nB4+GGq0
Zyldz7EMJMqFhjTr3IKKAAABgAMZ5TAAAAQDAEcwRQIhAOeaZWh1Myi4VcwhZIZ+
DnqGBK+j8RgjsxXEKsLsviAUAiAhhdqtOma6qPzjCx8erWmAGALHLW3ksTzLRdiC
TZmqegB2AHoyjFTYty22IOo44FIe6YQWcDIThU070ivBOlejUutSAAABgAMZ5OIA
AAQDAEcwRQIhALKO6kODma4cvfI6ylGtpkLaBfa6IqoNPIo6iHWqfl0GAiAo0ksX
l45X1RxiFCbSS8XMgOgFpXST5rMW9KFZmKNf5gB2AOg+0No+9QY1MudXKLyJa8kD
08vREWvs62nhd31tBr1uAAABgAMZ5McAAAQDAEcwRQIgbAiIMrugBC74wShIjEhn
6P0RNpddTPiulfQwlK/nPYcCIQC8/i3N8JJ1d8or+FqQulc3eU6PIuzg39MjX9UU
GcN4qTANBgkqhkiG9w0BAQwFAAOCAYEAXjyA/d2/Xu1ChRqoaGaDDc4Na1ogvzkM
X2ZXhAl0L/fPWiZjMX6DSjQmBFZZLhXC40LhnvuvVByGt0OUWrHRWU2wonH7Avhn
IZi1BcrQXwO5vwfA4kmwaMA92PZFQMjySzmd9+44J6HacrbI6j29Tv67qeglE7z2
NmzsuaHAW0G08A5A7LlziW53lz+CnPk60iPcNCjV60bPFJPRPhtt/a4ND2jbIALa
u8OuFZvlggeCWW8TQlGQFhv4ux7PotHcRfcyW3HigLyNQTjLkzopVufL7BvSR4vW
JFfb5LdOfcx5iES4AoNdld8jIxKhOviLlKV0eT25o66SwGGfP+hGcDx+Vf+2/x4n
ukHwQVMtidiwxvDTJMPBoTZRCj5AW6A8bF8Ps4gh7Vfr3fvLRJnL+88f6GjUbmfO
GlO4h6Za78Vl3TQcBD7296+MrBu0faAtTbd34FqgRXGQ8DHdDNLeKRP8WAzv19/L
IhHfarLkL/bhhrGTB9McvA2jmGr4W0jf
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y
ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg
VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM
UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs
Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm
qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c
Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf
IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5
8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB
Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8
SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY
1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB
JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE
FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE
GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo
dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy
bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k
b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY
eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO
2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4
3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP
v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s
Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g==
-----END CERTIFICATE-----

Binary file not shown.

BIN
monibuca_windows_amd64.syso Normal file

Binary file not shown.

View File

@@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA9GfMG29OMywEVPWgQ0po9ItEamQtLr7Vo16FabJ4C/YyzGlD
P48aJ5jcOazdVbVN9spndyk1fDBmO+tDkSw9nD2TI+GrXdEf/hDN3voTK5W2oZag
1tVqjENprtTlk1JgzM3Cpe/CZJcBCjp040Dl6ccS9rkyFoYE1PsIkaottxV0iUoY
WMVJtEt5FZQZ4Uu6RhlR0DKVGLq/V20F0cwvYmU4BaPigsKx/Azn8QNSaaePy947
XPZn/he1JjNcqXp185ZGF7AvIbkJGCsH6YOnMhppidI/i4z5kE14dOXWnO2C6f6Z
LN4X24JtTTIcjkQ/KSR0KLy8XHafseA55ztK2QIDAQABAoIBAQCeGU7lKFkzrPOY
adOj88x09GnrUKYRqQzVw10WBIa3ZilyJV2FDfLjTnSXMoVy3fdy/3dyk8uvbDeV
5xgsHqw0F3jJK0AJTjAdz4z9AlPIS+56FNAyaJel6C3DFKD1bcKEeU3CvZfILg5U
KYBXSTHwygAwbZhDDaqugz0FzUoJNaoxLChdPLnpVat/WjWIvqnLJ6OMx9J0LdxK
FsIw6OruiZEalQBJ5R/uhX6MasSUrnUuwloeuDNtEoyF67+Vuor0JtirN7HbaTFK
IKx5tRKXtJNGy82G45He/qZeXENEF/02NN3JehX5hxZfH0BtRgoARgt+gVDP67SX
tqrmcl8hAoGBAPnMVZQNmdsK8DT3GdTxBjMYEBa/PgTbX1MzLgcEjE/0l5ppBQmv
n5ckXwGkVEM7DEbMBfV3GLMRsW/+Gu4VFXdvgGix7zylWmbWB5a+yxG+1HHPV5WI
Yabi0vZf3Y7KIPooNxAwgeWKpLnDiPh4WvCm45i2oT27CxMkUX8JubRdAoGBAPp5
MB7WPm9QN6U80Tg6RGz/YqVa3xhG65vrUesneK9N/SdTtb1z09r+Gat/DL+ACWfc
f2p5JTPoRO1v7cpYYdmamTYXhxEec3+72j0WeGdiGsYVO48TepfN1IXw1U4W3tXY
K4jBFgsjzLWW75DTSnKkT4th/dZT23oszLTR54itAoGAFxFLhdSLtLKZ5Ao9lHB9
hhJeyfr3GzO25dQAGB3PZ0LLDTNNh8t0DV0KePhX362AQLlug3BwE3k6zYDFs962
kMT3MrPbx9ntMznokX8k+YqJy8i96c0iV2ry2FWZ/CmmSfOUwiX4mN3owE7SQz+6
BicjNWMIGM9BAo+EBxs6zvECgYEA4Qj6q+nvBFF8/S9MBgmLqqY0+b1QDV7Clj5x
RiYbbt1R4gB6m3EyWWHMrGEkkfU1/iOEMqQPQbigHPdgHFkV6MzWdFvlFQNX395l
8FZ87N2eknNHJH/qt/LMy14aNuOjZ1ulmWNpK68JX+jw6hx7mc54TRFIX0TOPtF7
RcYFEK0CgYEAhJH+7qaiJkH8pdNJsIu+d4MSi7gTTJDeaplQJzjQqlMihCM+Vieu
RWx+T4TTezcBp8gLhF9WjUEgcEqLRJaJ2qxZWnJtxROGcVqj202DciN27lpKyMJW
Fz/anEaq6k7WsoFxCDNqSR4nP7kiR1EZlv1Y3Lh9j5eAvZfGMwma9Uk=
-----END RSA PRIVATE KEY-----

View File

@@ -1,23 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID2DCCAsCgAwIBAgIQS3ina9KfQpGwnzf0oMQ/VDANBgkqhkiG9w0BAQsFADBe
MQswCQYDVQQGEwJDTjEOMAwGA1UEChMFTXlTU0wxKzApBgNVBAsTIk15U1NMIFRl
c3QgUlNBIC0gRm9yIHRlc3QgdXNlIG9ubHkxEjAQBgNVBAMTCU15U1NMLmNvbTAe
Fw0yMTEyMjcxMzM5MzJaFw0yMjEyMjcxMzM5MzJaMCExCzAJBgNVBAYTAkNOMRIw
EAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQD0Z8wbb04zLARU9aBDSmj0i0RqZC0uvtWjXoVpsngL9jLMaUM/jxonmNw5rN1V
tU32ymd3KTV8MGY760ORLD2cPZMj4atd0R/+EM3e+hMrlbahlqDW1WqMQ2mu1OWT
UmDMzcKl78JklwEKOnTjQOXpxxL2uTIWhgTU+wiRqi23FXSJShhYxUm0S3kVlBnh
S7pGGVHQMpUYur9XbQXRzC9iZTgFo+KCwrH8DOfxA1Jpp4/L3jtc9mf+F7UmM1yp
enXzlkYXsC8huQkYKwfpg6cyGmmJ0j+LjPmQTXh05dac7YLp/pks3hfbgm1NMhyO
RD8pJHQovLxcdp+x4DnnO0rZAgMBAAGjgc4wgcswDgYDVR0PAQH/BAQDAgWgMB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBQogSYF0TQa
P8FzD7uTzxUcPwO/fzBjBggrBgEFBQcBAQRXMFUwIQYIKwYBBQUHMAGGFWh0dHA6
Ly9vY3NwLm15c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDovL2NhLm15c3NsLmNv
bS9teXNzbHRlc3Ryc2EuY3J0MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG
9w0BAQsFAAOCAQEAb/ZSwe0DS38TlVtxsueYMNWxfVzKA2WMzyabuRbsUMl8ja2Q
GWVOpb1EyCF8nPYtbalrbm8BWFyW9+qDtkLmpMZaFKx4VqhjbQnpK3tJliea+9U3
gtFKBVCinW81RnaET0A54Uy7ifrHWghBGjfXGfHx8bWMDYM2ksb5mC8BxPAueqnT
3s0g1iP8vVNvpiDeHsjyB1WQwt/Uj79sKrgRU3ZKAvPvHd61Dl7IZSJAR78XyOqG
DyF67ftWb+5EaXeT1gUy8dmdUIYfNhZFZYljwQa+DmTcO4dPzmSuvz4I1QGRyaSX
bYb8T4bgcmvHeSUKuhB/5/O4lPLW0NaOiUqA0g==
-----END CERTIFICATE-----