获取四层转发列表

get:/v1/streams
integer:page=1#当前页码
integer:limit=10#单页显示数量
integer:listen_port#监听的端口
listen_protocol#监听的协议,可选为tcp、udp
backend_ip#源IP,模糊匹配
integer:group#所属的转发组
integer:id#转发ID
integer:user_package#所属的套餐
boolean:enable#启用或禁用
state#四层转发状态,可选为200、512、513、514。200是正常,512是套餐过期,513是流量超限,514是被锁定
<<<
返回结果
{
    "code": 0,
    "count": 2,
    "data": [
        {
            "acl": "{}",
            "backend": "[{\"state\": \"up\", \"addr\": \"1.1.1.1\", \"weight\": 1}]",
            "backend_port": "99",
            "backup_node_group": null,
            "backup_node_group_name": null,
            "balance_way": "rr",
            "cname_domain": "cdnfly.com",
            "cname_hostname": "cbsjyv4m",
            "cname_mode": "site",
            "cname_state": "done",
            "cname_task_id": 120525,
            "conn_limit": "",
            "create_at": null,
            "create_at2": "2021-11-26 19:06:02",
            "enable": 1,
            "enable_backup_group": 0,
            "id": 42,
            "listen": "[{\"protocol\": \"tcp\", \"port\": \"999\"}]",
            "name": "jason",
            "node_group_id": 490,
            "node_group_name": null,
            "package_name": "ff",
            "proxy_protocol": 0,
            "record_id": "732094354142733312",
            "region_id": 646,
            "region_name": "test",
            "s.cname_domain": "cdnfly.com",
            "s.cname_hostname": "cbsjyv4m",
            "s.cname_mode": "site",
            "state": "200",
            "stream_state": "200",
            "sync_state": "done",
            "task_id": 120524,
            "uid": 2,
            "up_cname_domain": "cdnfly.com",
            "up_cname_hostname": "v325sf8j-u",
            "update_at": null,
            "update_at2": "2021-11-26 19:06:02",
            "user_package": 425,
            "version": 1
        },
        {
            "acl": "{}",
            "backend": "[{\"state\": \"up\", \"addr\": \"1.1.1.1\", \"weight\": 1}]",
            "backend_port": "88",
            "backup_node_group": null,
            "backup_node_group_name": null,
            "balance_way": "rr",
            "cname_domain": "cdnfly.com",
            "cname_hostname": "knw42svf",
            "cname_mode": "site",
            "cname_state": "done",
            "cname_task_id": 120502,
            "conn_limit": "",
            "create_at": null,
            "create_at2": "2021-11-26 18:57:16",
            "enable": 1,
            "enable_backup_group": 0,
            "id": 41,
            "listen": "[{\"protocol\": \"tcp\", \"port\": \"88\"}]",
            "name": "jason",
            "node_group_id": 490,
            "node_group_name": null,
            "package_name": "ff",
            "proxy_protocol": 0,
            "record_id": "732093253135826944",
            "region_id": 646,
            "region_name": "test",
            "s.cname_domain": "cdnfly.com",
            "s.cname_hostname": "knw42svf",
            "s.cname_mode": "site",
            "state": "200",
            "stream_state": "200",
            "sync_state": "done",
            "task_id": 120501,
            "uid": 2,
            "up_cname_domain": "cdnfly.com",
            "up_cname_hostname": "v325sf8j-u",
            "update_at": null,
            "update_at2": "2021-11-26 18:57:16",
            "user_package": 425,
            "version": 1
        }
    ]
}

新增一个或多个转发(多个时,数据格式为数组)

post:/v1/streams
*integer:user_package#绑定的套餐
*json:listen#监听的协议和端口,格式为json数组,如[{"protocol":"tcp","port":"88"}],protocol可选为tcp或udp
balance_way#源站负载均衡方式,可选为ip_hash、rr、least_conn、random
boolean:proxy_protocol#回源是否使用proxy protocol协议
*integer:backend_port#回源端口
*json:backend#源IP设置,格式为json数组,如[{"addr":"1.1.1.1","weight":1,"state":"up"}],state可选为up、down、backup
integer:conn_limit#连接数限制
json:acl#acl配置,格式为json,如{"default_action":"allow","rule":[{"ip":"1.1.1.1","action":"deny"}]},default_action可选为allow、deny;rule中的action可选为allow,deny。
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "四层转发添加成功"
}
<<<
提交内容
[{
	"user_package": "427",
	"listen": [{
		"protocol": "tcp",
		"port": "100"
	}],
	"backend_port": "100",
	"backend": [{
		"addr": "1.1.1.1"
	}]
}]

批量修改四层转发(数据格式为数组)

put:/v1/streams
*integer:id#四层转发ID
integer:user_package#绑定的套餐
json:listen#监听的协议和端口,格式为json数组,如[{"protocol":"tcp","port":"88"}],protocol可选为tcp或udp
balance_way#源站负载均衡方式,可选为ip_hash、rr、least_conn、random
boolean:proxy_protocol#回源是否使用proxy protocol协议
integer:backend_port#回源端口
json:backend#源IP设置,格式为json数组,如[{"addr":"1.1.1.1","weight":1,"state":"up"}],state可选为up、down、backup
integer:conn_limit#连接数限制
json:acl#acl配置,格式为json,如{"default_action":"allow","rule":[{"ip":"1.1.1.1","action":"deny"}]},default_action可选为allow、deny;rule中的action可选为allow,deny。
boolean:enable#启用或禁用
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "更新转发成功"
}
<<<
提交内容
[{
	"id": 1,
	"enable": 0
}, {
	"id": 2,
	"enable": 0
}]

获取指定四层转发

get:/v1/streams/41
<<<
返回结果
{
    "code": 0,
    "data": {
        "acl": "{}",
        "backend": "[{\"state\": \"up\", \"addr\": \"1.1.1.1\", \"weight\": 1}]",
        "backend_port": "88",
        "backup_node_group": null,
        "balance_way": "rr",
        "cname_domain": "cdnfly.com",
        "cname_hostname": "knw42svf",
        "cname_mode": "site",
        "cname_state": "done",
        "cname_task_id": 120502,
        "conn_limit": "",
        "create_at": null,
        "create_at2": "2021-11-26 18:57:16",
        "enable": 1,
        "enable_backup_group": 0,
        "end_at": "2021-12-16 14:47:38",
        "groups": null,
        "id": 41,
        "listen": "[{\"protocol\": \"tcp\", \"port\": \"88\"}]",
        "name": "jason",
        "node_group_id": 490,
        "node_group_name": null,
        "package_name": "ff",
        "proxy_protocol": 0,
        "record_id": "732093253135826944",
        "region_id": 646,
        "s.cname_domain": "cdnfly.com",
        "s.cname_hostname": "knw42svf",
        "s.cname_mode": "site",
        "state": "200",
        "stream_state": "200",
        "sync_state": "done",
        "task_id": 120501,
        "uid": 2,
        "up_cname_domain": "cdnfly.com",
        "up_cname_hostname": "v325sf8j-u",
        "update_at": null,
        "update_at2": "2021-11-26 18:57:16",
        "user_package": 425,
        "version": 1
    },
    "msg": ""
}

修改指定四层转发

put:/v1/streams/<四层转发ID>
integer:user_package#绑定的套餐
json:listen#监听的协议和端口,格式为json数组,如[{"protocol":"tcp","port":"88"}],protocol可选为tcp或udp
balance_way#源站负载均衡方式,可选为ip_hash、rr、least_conn、random
boolean:proxy_protocol#回源是否使用proxy protocol协议
integer:backend_port#回源端口
json:backend#源IP设置,格式为json数组,如[{"addr":"1.1.1.1","weight":1,"state":"up"}],state可选为up、down、backup
integer:conn_limit#连接数限制
json:acl#acl配置,格式为json,如{"default_action":"allow","rule":[{"ip":"1.1.1.1","action":"deny"}]},default_action可选为allow、deny;rule中的action可选为allow,deny。
boolean:enable#启用或禁用
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "更新转发成功"
}
<<<
提交内容
{
	"id": 1,
	"enable": 0
}

删除四层转发

delete:/v1/streams/<四层转发ID,多个以逗号分隔>
<<<
返回结果
{
  "code": 0, 
  "data": "", 
  "msg": "四层转发删除成功"
}