.

master
Apex Liu 2017-03-06 22:54:18 +08:00
parent b36e934c83
commit ee9cdd6303
2 changed files with 73 additions and 94 deletions

@ -36,6 +36,7 @@ TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下
## JSON-RPC methods ## JSON-RPC methods
- [get_config](#get_config)
- [request_session](#request_session) - [request_session](#request_session)
- [enc](#enc) - [enc](#enc)
- [status](#status) - [status](#status)
@ -43,25 +44,56 @@ TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下
## JSON RPC API Reference ## JSON RPC API Reference
### get_config
获取core服务的各个协议的配置信息例如是否启用、监听端口号等。
#### 参数
无参数
#### 返回
各个协议的配置信息,参见示例。
#### 示例
```json
// Result
{
"code": 0,
"data": {
"ssh": {
"enable": true,
"ip": "0.0.0.0",
"port": 52189
},
"rdp": {
"enable": false,
"ip": "0.0.0.0",
"port": 52089
}
}
}
```
---
### request_session ### request_session
申请一个会话ID供web服务调用。每当获取一个会话IDweb服务均会将其记录到一个表中备用。 申请一个会话ID供web服务调用。每当获取一个会话IDweb服务均会将其记录到一个表中备用。
目前有两种方式可以获取会话ID。
#### 已知认证ID
认证ID是由远程主机信息、认证信息等关联映射后生成的一个ID将一个主机授权给一个用户将产生一个认证ID。 认证ID是由远程主机信息、认证信息等关联映射后生成的一个ID将一个主机授权给一个用户将产生一个认证ID。
##### 参数 #### 参数
1. `authid` - 认证ID十进制数字 1. `authid` - 认证ID十进制数字
##### 返回 #### 返回
1. `sid` - 一个十六进制字符串形式的会话ID。 1. `sid` - 一个十六进制字符串形式的会话ID。
##### 示例 #### 示例
```json ```json
// Request // Request
@ -78,78 +110,6 @@ TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下
} }
``` ```
#### 已知认证信息
一般用于页面测试连接之用。
##### 参数
1. `ip` - 远程主机的IP地址
2. `port` - 远程主机的端口
3. `uname` - 登录远程主机的用户名
4. `uauth` - 登录远程主机的认证信息密码或者私钥是密文的base64编码字符串
5. `authmode` - uauth域的类型1 = 密码2 = 私钥
6. `protocol` - 登录协议1 = RDP2 = SSH3 = TELNET
##### 返回
同已知认证ID。
##### 示例
```json
// Request
{
"ip": "192.168.0.8",
"port": 23,
"uname": "root",
"uauth": "b903239f8543d04b5d13b143087c68d1b2168786408fcbce5f5374fce5edbc8e2a8697c15331677e6ebf0b",
"authmode": 1,
"protocol": 2
}
// Result
{
"code": 0,
"data": {
"sid": "0123abcdef"
}
}
```
---
### enc
加密一个字符串。
#### 参数
1. `p` - 被加密的明文字符串Plain
#### 返回
1. `c` - 加密后的密文的base64编码字符串 Cipher
#### 示例
```json
// Request
{
"p": "this-is-a-password"
}
// Result
{
"code": 0,
"data": {
"c": "Mxs340a9r3fs+3sdf=="
}
}
```
---
### status ### status
获取core服务的工作状态和基本信息。 获取core服务的工作状态和基本信息。

@ -38,14 +38,47 @@ TELEPORT WEB服务在 7190 上监听其JSON-RPC接口也在此端口上访问
## JSON-RPC methods ## JSON-RPC methods
- [register_core](#register_core)
- [get_auth_info](#get_auth_info) - [get_auth_info](#get_auth_info)
- [session_begin](#session_begin) - [session_begin](#session_begin)
- [session_end](#session_end) - [session_end](#session_end)
- [session_fix](#session_fix)
- [exit](#exit) - [exit](#exit)
## JSON RPC API Reference ## JSON RPC API Reference
### register_core
通知web服务一个core服务上线了。此时web服务会做以下操作
- 获取core服务的配置进行远程连接时需要知道core服务的各个协议监听地址
- 修复数据库中的会话状态如果因异常情况core服务未能正确汇报会话结束则当前处于未结束的会话均会始终处于连接状态。因此在CORE服务启动时会调用此接口来修复所有异常状态的连接使之能够正确显示“异常终止”的状态
#### 参数
1. `ip` - core服务的JSON-RPC监听IP
2. `port` - core服务的JSON-RPC监听端口
#### 返回
无返回数据。
#### 示例
```json
// Request
{
"ip": "127.0.0.1",
"port": 52080
}
// Result
{
"code": 0
}
```
------
### get_auth_info ### get_auth_info
获取认证信息,用于登录远程主机。 获取认证信息,用于登录远程主机。
@ -146,20 +179,6 @@ TELEPORT WEB服务在 7190 上监听其JSON-RPC接口也在此端口上访问
--- ---
### session_fix
修复数据库中的会话状态。如果因异常情况core服务未能正确汇报会话结束则当前处于未结束的会话均会始终处于连接状态。因此在CORE服务启动时会调用此接口来修复所有异常状态的连接使之能够正确显示“异常终止”的状态。
#### 参数
无参数。
#### 返回
无返回数据。
------
### exit ### exit
退出服务。 退出服务。