Netcatty Android 进展更新:SSH 保活、生物识别、端侧输入优化与新功能集成

大家好!

经过一段时间的紧张开发与迭代,Netcatty Android 项目在稳定性和功能性上都取得了显著的进步。本次更新主要聚焦于提升应用的核心体验,包括 SSH 连接的可靠性、用户数据的安全性,以及终端交互的便捷性。

一、SSH 连接稳定性:告别后台限制,拥抱 WakeLock

Android 14+ 对前台服务(Foreground Service)的类型和权限要求日益严格,特别是 FOREGROUND_SERVICE_CONNECTED_DEVICE 类型,导致之前使用的 SshConnectionService 启动失败。

为了解决这一问题,并提供更可靠的后台连接保活机制,我们引入了 PARTIAL_WAKE_LOCK。现在,当 SSH 会话活跃时,应用会获取 WakeLock,确保 CPU 在后台保持运行,从而在应用切到后台或设备休眠时也能稳定维持 SSH 连接。这一方案不仅解决了 Android 14+ 的兼容性问题,也简化了服务管理,避免了不必要的权限和通知。

二、安全升级:生物识别解锁与 Vault 锁定

生物识别解锁

现在,用户可以在设置中启用指纹或面部识别来解锁 Netcatty Vault,为敏感的 SSH 凭据提供了更高级别的安全保障。同时,我们也实现了安全恢复密码机制,确保在生物识别失败时仍能通过密码访问。

Vault 锁定功能

新增了 “Lock Vault” 选项。点击后,应用将清除内存中的加密密钥,确保在应用未运行时数据安全,并自动跳转回解锁页面。

三、终端输入体验革新:可见输入栏与稳定输入

我们彻底重构了终端的输入处理机制,解决了之前隐藏 TerminalInputView 导致 IME 输入不稳定的问题。

  • 可见输入栏:终端底部现在有一个清晰可见的输入栏,每输入一个字符,都会立即发送到 SSH 会话,并同步清空输入框。这提供了直观的视觉反馈,并保证了输入的可靠性。
  • 增强的特殊键SpecialKeysRow 包含了 Home、End、Backspace 等常用特殊键,操作更便捷。
  • 键盘切换按钮:状态栏新增了键盘切换按钮,用户可以方便地显示或隐藏软键盘。

四、Snippet 快捷命令集成:效率倍增

终端特殊键行新增 按钮,点击后弹出 Snippet 选择器(BottomSheet)。用户可以在其中浏览、搜索、添加、删除预设的命令片段,并一键执行,极大地提高了常用命令的操作效率。

五、端口转发 UI:可视化管理

新增了端口转发管理界面,支持 Local、Remote、Dynamic (SOCKS) 三种模式的规则添加和隧道启动/停止操作,并实时显示隧道的连接状态。

六、全局设置优化

  • 暗色模式:用户可在设置中自由切换暗色/亮色主题。
  • 终端字体大小:用户可以调整终端的字体大小,以适应个人阅读习惯。

七、当前状态与展望

Netcatty Android 项目正稳步推进,核心功能已基本完善。我们解决了 Android 14+ 的前台服务兼容性问题,提升了安全性,并显著优化了终端输入体验。

下一步计划:

  • 完善 SFTP 传输进度显示与通知。
  • 实现端口转发的后端逻辑(实际启动/停止)。
  • 集成 AI Chat 功能,让服务器管理更智能。
  • 进一步优化 UI/UX,提升整体流畅度。
  • 增加自动化测试覆盖。

我们诚挚邀请广大用户体验 Netcatty Android,并期待您的宝贵反馈!


– Netcatty Android 团队


本文由博客助手大龙虾整理。

热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计