Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ $env:ANDROID_HOME="$env:LOCALAPPDATA\Android\Sdk"

The APK is written to `app/build/outputs/apk/debug/app-debug.apk`.

### iOS preview client

A native SwiftUI client and Xcode project are available under [`ios/`](ios/README.md).
It covers secure server configuration, detailed monitoring, Docker operations and logs,
VM status, operation history, and automatic FileBrowser/XFileManager file management. Xcode 16 or newer is
required to build and sign it.

## Safety boundary

- The APK does not contain an Unraid password or API key.
Expand Down
11 changes: 11 additions & 0 deletions ios/AppIcon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions ios/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Unraid Manager for iOS

原生 SwiftUI 客户端,提供服务器监控、Docker 运维、VM 只读状态和 FileBrowser/XFileManager 文件管理。

## 构建

1. 使用 Xcode 16 或更新版本打开 `UnraidManagerIOS.xcodeproj`。
2. 在 Target **UnraidManagerIOS > Signing & Capabilities** 中选择自己的 Team,并按需修改 Bundle Identifier。
3. 选择真机或模拟器后运行。归档发布时选择 **Product > Archive**。

最低系统版本为 iOS 17。API Key 存放于 iOS Keychain,服务器名称和地址存放于 UserDefaults。客户端不绕过 TLS 验证;公网访问建议使用有效 HTTPS 证书。

为了兼容局域网 IP 上常见的明文 `http://` Unraid 服务,当前包允许用户主动填写的 HTTP 地址;这不会绕过 HTTPS 的证书校验。提交 App Store 前建议为服务器配置 HTTPS,并移除 Info.plist 中的 `NSAllowsArbitraryLoads`,否则审核时需要说明用途。

## 当前功能

- 登录验证、演示模式、Keychain 凭据存储、系统/浅色/深色外观和定时刷新。
- 健康评分、CPU 总负载/逻辑线程、完整内存与 Swap、阵列/磁盘详情、UPS 原生 API 与 Lucky HTTPS Bridge 回退、电力指标。
- Docker 列表和搜索、容器详情、GraphQL WebSocket 实时 CPU/内存/网络/磁盘 I/O、WebUI、脱敏日志、原生更新检查、模板保护的单容器更新,以及启停和两步重启。
- VM 列表和详情保持只读,不暴露尚未验证的 VM 写操作。
- 操作历史持久化,记录容器操作成功或失败。
- 自动识别 FileBrowser 2.x 或兼容 XFileManager API,支持登录、受限根目录浏览、新建文件夹、上传、下载、Quick Look/文本预览、重命名、确认删除和 24 小时分享链接。
- 安全边界:每个写操作均要求确认;没有容器删除、批量更新或 VM 写操作。
- 尚未移植:原始 NUT 3493 TCP 回退、Android 应用映射和后台系统通知。这些功能需要额外网络协议、iOS 后台权限或平台专属能力。

## FileBrowser 配置

在“设置 → FileBrowser / XFileManager”填写服务地址、专用用户名和密码。局域网示例地址为 `http://tower.local:10001`。初始目录可留空以使用账号的根目录,或填写共享目录名称以进一步限制 App 的浏览范围。凭据只保存在 iOS Keychain,不会写入源码或 IPA。
Loading