惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
TaoSecurity Blog
TaoSecurity Blog
H
Heimdal Security Blog
Help Net Security
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
V2EX - 技术
V2EX - 技术
博客园 - 【当耐特】
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
S
Schneier on Security
S
SegmentFault 最新的问题
Google Online Security Blog
Google Online Security Blog
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
IT之家
IT之家
Project Zero
Project Zero
博客园 - 司徒正美
P
Privacy International News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Jina AI
Jina AI
Security Latest
Security Latest
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
NISL@THU
NISL@THU
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
L
Lohrmann on Cybersecurity

AirTerminal – Blanboom

AirTerminal 2.2:Telnet 服务器、自动重连 AirTerminal 2.1:自定义字体、颜色主题、退格键映射 AirTerminal 2.0:支持连接多个蓝牙设备 AirTerminal 1.4 更新:自定义换行符,隐藏没有名称的设备 Arduino Bootloader 程序下载协议 AirTerminal 1.2 更新:XMODEM 文件传输、自定义终端工作模式 [iOS] AirTerminal: 用于 Raspberry Pi 等嵌入式设备的蓝牙终端
AirTerminal 1.3 更新:日志记录、改用 SwiftTerm
2022-02-23 · via AirTerminal – Blanboom

AirTerminal 是一个蓝牙终端和 XMODEM 文件传输工具。具体功能可参考我过去的文章

在这个春节,我为 AirTerminal 增加了日志记录功能,同时改用 SwiftTerm 实现终端模拟器。新版本可在 App Store 中下载

日志记录

大部分 SSH/Telnet 工具都具备日志记录功能,能够将终端输出的内容保存在文本文件中。

对于调试嵌入式设备等应用场景,如果设备通过串口输出大量信息,同时又不支持通过 lessmore 这样的工具进行翻页,就可以使用日志记录功能,保存输出内容,方便后续查阅。

启用日志记录功能,只需要在终端中点击右上角的按钮,选择 Enable Logging 即可:

AirTerminal 截图,可以选择 Enable Logging 打开日志功能
AirTerminal 的日志记录功能

记录下的日志文件,可以在 iOS/iPad OS 的「文件」App 中查看。也可以将 iPhone/iPad 连接电脑,通过 iTunes 或 Finder 导出:

在 iOS Files App 中查看 AirTerminal 产生的日志
在 Files App 中查看日志

目前 AirTerminal 的日志记录功能比较基础,只是将蓝牙接收到的数据原封不动地记录到文件。如果在 AirTerminal 中使用 vim、tmux 等工具,则记录的日志不方便用户阅读。这部分功能需要进一步优化。

日志记录的功能建议,是由 Twitter 用户 @AllAboutJake 提出的,非常感谢这位推友。如果读者对 AirTerminal 还有其他建议,也欢迎与我联系。

AirTerminal 原先基于 WKWebViewxterm.js,通过 Web 的方式实现终端模拟器。简单说,就是 AirTerminal 调用浏览器,在浏览器中加载网页,来显示终端。终端的大部分功能都是在网页中实现的。

通过这种方式实现终端,在开发与调试的过程中,遇到了不少 UI 细节的问题,为了规避这些问题,代码中增加了不少处理。同时,还需要使用 JavaScriptCore,实现 Web 页面与 App 之间的交互。整体上代码不是很优雅。

最近我在使用 Secure ShellFish 时,发现这款 App 使用了 SwiftTerm。SwiftTerm 是用 Swift 实现的终端模拟器,专门为 iOS 和 macOS 打造。使用 SwiftTerm,能让 AirTerminal 的代码简洁不少,同时后续可以基于 SwiftTerm 实现更多功能。所以,在 AirTermnal 1.3 中,我使用 SwiftTerm 替换了 xterm.js,来实现终端模拟器。

后续计划

由于工作等各方面的的原因,在 2022 年,我的空闲时间不是很多,AirTerminal 也主要保持在维护状态。如果还有时间的话,可能会尝试为 AirTerminal 优化 UI、增加多 Tab 和多窗口支持、完善 CJK 支持等……