From ee9cdd6303aa612bf58a773655d771888b366644 Mon Sep 17 00:00:00 2001 From: Apex Liu Date: Mon, 6 Mar 2017 22:54:18 +0800 Subject: [PATCH] . --- TELEPORT-CORE-JSON-RPC.md | 118 +++++++++++++------------------------- TELEPORT-WEB-JSON-RPC.md | 49 +++++++++++----- 2 files changed, 73 insertions(+), 94 deletions(-) diff --git a/TELEPORT-CORE-JSON-RPC.md b/TELEPORT-CORE-JSON-RPC.md index e76d7fa..3b7cd9b 100644 --- a/TELEPORT-CORE-JSON-RPC.md +++ b/TELEPORT-CORE-JSON-RPC.md @@ -36,6 +36,7 @@ TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下 ## JSON-RPC methods +- [get_config](#get_config) - [request_session](#request_session) - [enc](#enc) - [status](#status) @@ -43,25 +44,56 @@ TELEPORT CORE服务默认在 127.0.0.1:52080 上监听,其访问格式如下 ## 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 申请一个会话ID,供web服务调用。每当获取一个会话ID,web服务均会将其记录到一个表中备用。 -目前有两种方式可以获取会话ID。 - -#### 已知认证ID - 认证ID是由远程主机信息、认证信息等关联映射后生成的一个ID,将一个主机授权给一个用户,将产生一个认证ID。 -##### 参数 +#### 参数 1. `authid` - 认证ID,十进制数字 -##### 返回 +#### 返回 1. `sid` - 一个十六进制字符串形式的会话ID。 -##### 示例 +#### 示例 ```json // 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 = RDP,2 = SSH,3 = 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 获取core服务的工作状态和基本信息。 diff --git a/TELEPORT-WEB-JSON-RPC.md b/TELEPORT-WEB-JSON-RPC.md index f201e2e..f61e2ba 100644 --- a/TELEPORT-WEB-JSON-RPC.md +++ b/TELEPORT-WEB-JSON-RPC.md @@ -38,14 +38,47 @@ TELEPORT WEB服务在 7190 上监听,其JSON-RPC接口也在此端口上访问 ## JSON-RPC methods +- [register_core](#register_core) - [get_auth_info](#get_auth_info) - [session_begin](#session_begin) - [session_end](#session_end) -- [session_fix](#session_fix) - [exit](#exit) ## 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 获取认证信息,用于登录远程主机。 @@ -146,20 +179,6 @@ TELEPORT WEB服务在 7190 上监听,其JSON-RPC接口也在此端口上访问 --- -### session_fix - -修复数据库中的会话状态。如果因异常情况,core服务未能正确汇报会话结束,则当前处于未结束的会话均会始终处于连接状态。因此,在CORE服务启动时会调用此接口,来修复所有异常状态的连接,使之能够正确显示“异常终止”的状态。 - -#### 参数 - -无参数。 - -#### 返回 - -无返回数据。 - ------- - ### exit 退出服务。