feat(rustdesk): 强化会话管理并优化流媒体传输

This commit is contained in:
mofeng-git
2026-08-30 08:18:46 +08:00
parent e678ec394d
commit 95a1fdf42d
11 changed files with 654 additions and 233 deletions

View File

@@ -236,6 +236,9 @@ export interface RustDeskStatusResponse {
config: RustDeskConfigResponse
service_status: string
rendezvous_status: string | null
connection_count: number
listening: boolean
listen_port: number | null
}
export interface RustDeskConfigUpdate {

View File

@@ -1079,8 +1079,6 @@ export default {
modeDirectIpDesc: 'Listen on the device only, without connecting to an ID or relay server',
directAccessPort: 'Direct Access Port',
directAccessPortInvalid: 'The direct access port must be between 1 and 65535',
directAccessWarningTitle: 'Direct IP access is not end-to-end encrypted',
directAccessWarningDesc: 'Use it only on a trusted LAN or encrypted VPN. Do not expose this port directly to the internet.',
rendezvousServer: 'ID Server',
rendezvousServerPlaceholder: 'hbbs.example.com:21116',
rendezvousServerRequired: 'Enter the RustDesk ID server',
@@ -1088,7 +1086,6 @@ export default {
relayServerPlaceholder: 'hbbr.example.com:21117',
relayKey: 'Relay Key',
codec: 'Codec',
deviceInfo: 'Device Info',
deviceId: 'Device ID',
devicePassword: 'Device Password',
showPassword: 'Show Password',

View File

@@ -1078,8 +1078,6 @@ export default {
modeDirectIpDesc: '仅监听设备端口,不连接 ID 或中继服务器',
directAccessPort: '直连端口',
directAccessPortInvalid: '直连端口必须在 1 到 65535 之间',
directAccessWarningTitle: 'IP 直连不提供端到端加密',
directAccessWarningDesc: '仅建议在可信局域网或加密 VPN 中使用,请勿将此端口直接暴露到公网。',
rendezvousServer: 'ID 服务器',
rendezvousServerPlaceholder: 'hbbs.example.com:21116',
rendezvousServerRequired: '请填写 RustDesk ID 服务器',
@@ -1087,7 +1085,6 @@ export default {
relayServerPlaceholder: 'hbbr.example.com:21117',
relayKey: '中继密钥',
codec: '编码格式',
deviceInfo: '设备信息',
deviceId: '设备 ID',
devicePassword: '设备密码',
showPassword: '显示密码',

View File

@@ -5166,18 +5166,11 @@ watch(isWindows, () => {
<p v-if="rustdeskValidationMessage" class="text-xs text-destructive">{{ rustdeskValidationMessage }}</p>
</div>
</div>
<Alert v-if="rustdeskLocalConfig.mode === 'direct_ip'" variant="warning">
<AlertTriangle />
<AlertTitle>{{ t('extensions.rustdesk.directAccessWarningTitle') }}</AlertTitle>
<AlertDescription>{{ t('extensions.rustdesk.directAccessWarningDesc') }}</AlertDescription>
</Alert>
</div>
<Separator />
<!-- Device Info -->
<div class="space-y-3">
<h4 class="text-sm font-medium">{{ t('extensions.rustdesk.deviceInfo') }}</h4>
<!-- Device ID -->
<div v-if="rustdeskLocalConfig.mode === 'id'" class="grid gap-2 sm:grid-cols-4 sm:items-center">
<Label class="sm:text-right">{{ t('extensions.rustdesk.deviceId') }}</Label>