Browse Source

feat: 支持拉起本地客户端 (#10865)

* perf: 拉起本地客户端应用接口提供更多数据

* fix: rdp客户端拉起后窗口标题中文乱码

* perf: ssh客户端连接选项显示优化

* feat: 增加本地sftp客户端选项

* perf: 合并支持sftp协议

* perf: sftp与ssh使用相同端口

---------

Co-authored-by: halo <wuyihuangw@gmail.com>
pull/11231/head
fit2bot 1 year ago committed by GitHub
parent
commit
f486c843bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      apps/authentication/api/connection_token.py
  2. 2
      apps/terminal/models/component/endpoint.py

15
apps/authentication/api/connection_token.py

@ -148,16 +148,25 @@ class RDPFileClientProtocolURLMixin:
if connect_method_dict is None:
raise ValueError('Connect method not support: {}'.format(connect_method_name))
endpoint = self.get_smart_endpoint(
protocol=connect_method_dict['endpoint_protocol'],
asset=token.asset
)
data = {
'id': str(token.id),
'value': token.value,
'name': f'{endpoint.host}-{str(token.id)[:18]}',
'protocol': token.protocol,
'host': endpoint.host,
'port': endpoint.get_port(token.asset, token.protocol),
'username': f'JMS-{str(token.id)}',
'value': token.value,
'command': '',
'file': {}
}
if connect_method_name == NativeClient.mstsc or connect_method_dict['type'] == 'applet':
filename, content = self.get_rdp_file_info(token)
filename = urllib.parse.unquote(filename)
data.update({
'protocol': 'rdp',
'file': {
@ -166,10 +175,6 @@ class RDPFileClientProtocolURLMixin:
}
})
else:
endpoint = self.get_smart_endpoint(
protocol=connect_method_dict['endpoint_protocol'],
asset=token.asset
)
cmd = NativeClient.get_launch_command(connect_method_name, token, endpoint)
data.update({'command': cmd})
return data

2
apps/terminal/models/component/endpoint.py

@ -41,6 +41,8 @@ class Endpoint(JMSBaseModel):
protocol == Protocol.oracle:
port = db_port_manager.get_port_by_db(target_instance)
else:
if protocol == Protocol.sftp:
protocol = Protocol.ssh
port = getattr(self, f'{protocol}_port', 0)
return port

Loading…
Cancel
Save