mirror of
https://github.com/cnotch/ipchub.git
synced 2025-09-26 19:41:18 +08:00
update config.md
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
## 1. 根配置对象
|
||||
## 1. 配置文件(config.json)
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
listen | 侦听地址,":1554" | 默认:":1554" |
|
||||
@@ -8,31 +8,101 @@ hlsfragment | hls 分段大小(单位秒)| 默认:10 |
|
||||
hlspath | hls临时文件存储目录,不设置则在内存存储|默认:空字串,使用内存文件 |
|
||||
profile | 是否启动在线诊断|默认:false |
|
||||
tls | 安全连接配置 |如果需要http范围,设置该配置向 |
|
||||
routetable | 路由表提供者 | 默认:json|
|
||||
users | 用户提供者 |默认:json |
|
||||
routetable | 路由表提供者 | 默认:json provider|
|
||||
users | 用户提供者 |默认:json provider|
|
||||
log | 日志配置 | |
|
||||
|
||||
## 2. tls 配置
|
||||
### 1.1 tls 配置
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
listen | 安全连接侦听地址 |默认":443" |
|
||||
cert | 证书内容或文件 | |
|
||||
key | 私钥内容或文件 | |
|
||||
|
||||
## 3. 路由表配置文件
|
||||
### 1.2 routetable 配置
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
provider | 路由表提供者名称 |默认"json" |
|
||||
config | 提供者配置 | |
|
||||
config.xxx | 提供者所需的配置名称和值 | |
|
||||
|
||||
目前支持 json 和 memory 提供者,以json为例:
|
||||
``` json
|
||||
"routetable":{
|
||||
"provider":"json",
|
||||
"config":{
|
||||
"file":"./cfg/routetable.json"
|
||||
}
|
||||
}
|
||||
```
|
||||
需要其他路由表提供者,需自行开发。
|
||||
|
||||
### 1.3 users 配置
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
provider | 用户安全提供者名称 |默认"json" |
|
||||
config | 提供者配置 | |
|
||||
config.xxx | 提供者所需的配置名称和值 | |
|
||||
|
||||
目前支持 json 和 memory 提供者,以json为例:
|
||||
``` json
|
||||
"users":{
|
||||
"provider":"json",
|
||||
"config":{
|
||||
"file":"./cfg/users.json"
|
||||
}
|
||||
}
|
||||
```
|
||||
需要其他用户安全提供者,需自行开发。
|
||||
|
||||
### 1.4 完整配置文件示例
|
||||
``` json
|
||||
{
|
||||
"listen": ":1554",
|
||||
"auth": false,
|
||||
"cache_gop": true,
|
||||
"hlspath":"./",
|
||||
"hlsfragment":10,
|
||||
"profile": false,
|
||||
"routetable":{
|
||||
"provider":"json",
|
||||
"config":{
|
||||
"file":"./cfg/routetable.json"
|
||||
}
|
||||
},
|
||||
"users":{
|
||||
"provider":"json",
|
||||
"config":{
|
||||
"file":"./cfg/users.json"
|
||||
}
|
||||
},
|
||||
"log": {
|
||||
"level": "debug",
|
||||
"tofile": false,
|
||||
"filename": "./logs/ipchub.log",
|
||||
"maxsize": 20,
|
||||
"maxdays": 7,
|
||||
"maxbackups": 14,
|
||||
"compress": false
|
||||
}
|
||||
}
|
||||
```
|
||||
## 2. 路由表配置文件
|
||||
默认位置在可执行文件同目录,默认名称:routetable.json。
|
||||
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
pattern | 本地路径模式字串 | 当以'/'结尾,表示一个以pattern开头的请求都路由到下面的url |
|
||||
url | 路由的目标地址,用户名和密码可以直接写在url中 | rtsp://admin:admin@localhost/live2 |
|
||||
keepalive | 是否保持连接;如果没有消费者是否继续保持连接,如果为false在5分钟后自动断开 | false/true |
|
||||
|
||||
### 3.1 pattern
|
||||
### 2.1 pattern
|
||||
模式字串有两种形式:
|
||||
+ 精确形式
|
||||
+ 目录形式
|
||||
|
||||
目录形式以'/'字符结束,表示以此pattern开始的流路径都将路由到它对应的url。它适合于多层组织结构的路由导航。
|
||||
### 3.2 完整实例:
|
||||
### 2.2 完整实例:
|
||||
``` json
|
||||
[
|
||||
{
|
||||
@@ -57,7 +127,9 @@ keepalive | 是否保持连接;如果没有消费者是否继续保持连接
|
||||
|
||||
将路由到 rtsp://admin:admin@localhost:8540/video/door
|
||||
|
||||
## 4. 用户配置文件
|
||||
## 3. 用户配置文件
|
||||
默认位置在可执行文件同目录,默认名称:users.json。
|
||||
|
||||
属性 | 说明 | 示例
|
||||
-|-|-
|
||||
name | 用户名 | admin |
|
||||
@@ -85,22 +157,22 @@ pull | 拉取权限 | * |
|
||||
]
|
||||
```
|
||||
|
||||
### 4.2 权限配置格式说明
|
||||
### 3.2 权限配置格式说明
|
||||
+ `*` 0-n 段通配
|
||||
+ `+` 表示可以一个路径端通配
|
||||
|
||||
可以通过分号设置多个
|
||||
#### 4.2.1 例子1
|
||||
#### 3.2.1 例子1
|
||||
当权限设置为 /a
|
||||
+ 路径 /a 通过授权
|
||||
+ 路径 /a/b 不通过授权
|
||||
|
||||
#### 4.2.2 例子2
|
||||
#### 3.2.2 例子2
|
||||
当权限设置为 /a/*
|
||||
+ 路径 /a 通过授权
|
||||
+ 路径 /a/b, /a/c, /a/b/c 都通过授权
|
||||
|
||||
#### 4.2.3 例子3
|
||||
#### 3.2.3 例子3
|
||||
当权限设置为 /a/+/c/*
|
||||
+ 路径 a/b/c, a/d/c, a/b/c/d, a/b/c/d/e 都通过授权
|
||||
+ 路径 a/c 不通过授权
|
||||
|
Reference in New Issue
Block a user