# FlyServer **Repository Path**: fbinba3955/fly-server ## Basic Information - **Project Name**: FlyServer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-20 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FlyServer HarmonyOS SSH 客户端 SDK,基于 [libssh2](https://libssh2.org/) 移植,支持 SSH2/SFTP/SCP 协议。 ## 项目结构 ``` FlyServer/ ├── main/ # Entry 模块(应用入口) │ └── src/main/ets/ │ ├── pages/ # 测试 Demo 页面 │ └── service/ # 业务服务 ├── libssh2/ # Shared 模块 │ └── src/main/ │ ├── cpp/ # Native C++ 代码 │ │ ├── napi_init.cpp # NAPI 绑定层 │ │ └── CMakeLists.txt │ └── ets/ # ArkTS 封装 │ └── ssh/ │ ├── SSHSession.ets # SSH 会话 │ ├── SSHChannel.ets # 通道 │ ├── SFTPClient.ets # SFTP │ └── Types.ets # 类型定义 └── open/ # 第三方库 ├── libssh2/ # libssh2 v1.11.0 └── mbedtls/ # mbedTLS v3.6.2 ``` ## 架构 ``` ┌────────────── ArkTS 应用层 ──────────────┐ │ SSHSession / SSHChannel / SFTPClient │ ├──────────────── NAPI 绑定层 ──────────────┤ │ napi_init.cpp (C++) │ ├───────────── libssh2 协议层 ─────────────┤ │ Session / Channel / SFTP / SCP │ ├────────────── mbedTLS 加密层 ─────────────┤ │ RSA / ECDSA / AES / SHA │ └───────────────────────────────────────────┘ ``` ## 功能特性 | 类别 | 支持功能 | |------|----------| | **Session** | 连接、握手、认证、主机密钥验证 | | **认证** | 密码认证、公钥认证(文件/内存) | | **Channel** | 命令执行、Shell、PTY、读写数据 | | **SFTP** | 文件/目录操作、属性、符号链接 | | **SCP** | 文件接收与发送 | | **扩展** | KnownHost、Agent、端口转发 | ## 快速开始 ```bash # 初始化依赖 cd open git clone --branch v3.6.2 --depth 1 https://github.com/Mbed-TLS/mbedtls.git ``` ```typescript // 连接并执行命令 import { SSHSession, ExecResult } from 'libssh2'; const session = new SSHSession(); session.connect('your-server.com', 22); session.authPassword('username', 'password'); const result: ExecResult = session.exec('uname -a'); console.log(result.stdout); session.disconnect(); ``` ## 环境要求 - DevEco Studio 5.0+ - HarmonyOS SDK 6.0.0 (API 20)+ - 目标设备:phone / tablet / 2in1 ## 权限 ```json { "requestPermissions": [ { "name": "ohos.permission.INTERNET" } ] } ``` ## 依赖 | 库 | 版本 | 用途 | |----|------|------| | libssh2 | 1.11.0 | SSH2 协议 | | mbedTLS | 3.6.2 | 加密后端 | ## 许可证 - libssh2: BSD-3-Clause - mbedTLS: Apache-2.0 / GPL-2.0-or-later