Repository navigation
Releases
Terminal v1.0.8
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版修的是 tab:以前按下去没反应,现在能补全了,硬件键盘的 tab / shift+tab 也真正送进了 PTY。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.8_iphoneos-arm64.deb - 包名:
terminal - 安装位置:
/var/jb/Applications/Terminal.app - 方式:Sileo / Zebra 里直接升级,或
dpkg -i Terminal_1.0.8_iphoneos-arm64.deb
装完由 Sileo 给出「重启 SpringBoard」按钮,点不点由你决定。
本版修复
-
输入法还在组词时,屏幕上的字和 shell 里的命令行是对不上的 —— #4,
4bc254b中文键盘组词(预编辑,带下划线的那串字母)时,屏幕上显示的字只画在 App 里,并没有
送进 PTY。此时按tab,shell 收到的只是一个 tab、命令行还是空的,补全自然没反应:
屏幕上写着pyt,shell 那边什么都没有。现在按tab、^C、方向键这类功能键时,终端
会先把预编辑内容上屏再发按键,两边保持一致。 -
硬件键盘的
tab根本到不了 App ——4bc254biOS 13.4 之后系统把
tab当「焦点导航」键,没在keyCommands里显式声明的话 UIKit
会直接吃掉,insertText:也不会被调用。现在tab/shift+tab都注册成按键命令
(分别发送0x09与ESC [ Z),iOS 15 起再带上wantsPriorityOverSystemBehavior
抢在系统行为前面。 -
快捷键条点按更跟手 ——
4bc254b快捷键条所在的
UIScrollView关掉delaysContentTouches,按下即发送,不用等滚动视图
判定手势。 -
vt_key_encode的shift+tab分支少拷了结尾的NUL,顺手补上 ——4bc254b
关于 tab 补全
补全是 shell 的能力,终端只负责把 0x09 原样写进 PTY:bash 与 zsh 都自带命令与文件名
补全,但被补全的命令必须真的在 PATH 里。若没有任何候选(例如设备上并没有装 python,
或者前缀有歧义),按 tab 不会有可见变化,最多响一声铃 —— 那是 shell 的正常行为,不是
终端把按键丢了。
验证
make test:177 项断言,0 failures(新增tab/shift+tab/backtab编码用例)- 本机真 PTY 探针(App 同一套
vt.c/pty.c):zsh 下ec+Tab补全为echo、
pyt+Tab补全为python3;bash 下wh+Tab按预期响铃(候选有歧义),说明
按键确实到达了 shell
SHA256:b31358e420b255e226ac5fcc13eab754e9f27fe6c989312dbf1bd43865df6c3b
Terminal v1.0.7
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版把「装完自动 respring」彻底改成「装完由 Sileo 给出重启按钮,你自己按」。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.7_iphoneos-arm64.deb - 包名:
terminal - 安装位置:
/var/jb/Applications/Terminal.app - 方式:Sileo / Zebra 里直接升级,或
dpkg -i Terminal_1.0.7_iphoneos-arm64.deb
包名从 1.0.5 起是 terminal(更早是 com.malacaihongpi.terminal),新包用
Replaces: / Conflicts: 把老包顶掉,Sileo 里照提示走就行。
本版修复
-
装完之后让 Sileo 给出「重启 SpringBoard」按钮 ——
3475cdf1.0.6 只是把
postinst里的killall -HUP SpringBoard删掉,结果 Sileo 记的是
finish:return,安装完只显示「完成」,并没有重启按钮 —— 光删是不够的。Sileo 的机制在它自己的源码里(
Sileo/Backend/APT Wrapper/APTWrapper.swift):- 起 apt 时给它传
SILEO=6 1与CYDIA=6 1(配合 apt 的Keep-Fds,fd 6 会留给
dpkg 与维护者脚本),然后从 fd 6 上读finish:开头的行 finish:return→ 「完成」,finish:reopen→ 重启 Sileo,finish:restart/
finish:reload→ 「重启 SpringBoard」,finish:reboot/finish:usreboot→ 重启设备- 点下去之后是 Sileo 自己执行
sbreload(DownloadsTableViewController.swift)
所以
postinst/postrm现在往那个 fd 写一行finish:reload:装完由 Sileo 给出按钮,
按下才重启。环境变量的值是"6 1"(fd + 级别),只取前一段;fd 没开(比如手动
dpkg -i)就安静跳过,不会往 stderr 吐Bad file descriptor。 - 起 apt 时给它传
同时包含 1.0.6 的变更
postinst/postrm删掉killall -HUP SpringBoard——34bb75e
同时包含 1.0.5 的变更
- deb 包名从 bundle id 改成
terminal——f3c4b44
同时包含 1.0.4 的修复
--被 iOS 改写成别的字符(智能标点) ——cbf86fd
同时包含 1.0.3 的修复
- zsh 里键入中文回显成乱码(
<00ad>之类) ——61170e0
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.7_iphoneos-arm64.deb |
386a4eedd4ae4aad29927679dbcbd277da6421ffd8f868222193b6742501da12 |
make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.6
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版只改打包脚本:装完不再自己 respring。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.6_iphoneos-arm64.deb - 包名:
terminal - 安装位置:
/var/jb/Applications/Terminal.app - 方式:Sileo / Zebra 里直接升级,或
dpkg -i Terminal_1.0.6_iphoneos-arm64.deb
从 1.0.5 起包名是 terminal(更早的版本叫 com.malacaihongpi.terminal),新包用
Replaces: / Conflicts: 把老包顶掉,Sileo 里照提示走就行。
本版变更
-
装完不再自动 respring ——
34bb75epostinst/postrm末尾原来各有一句killall -HUP SpringBoard,进度条一走到头
屏幕就自己黑一下重启,抢在用户前面动手。现在脚本只执行uicache登记(或注销)图标,
SpringBoard 什么时候重新载入交给用户按 Sileo 提示的那个按钮 —— 和别的包一个节奏。
装完日志里会多一行Terminal: 图标已登记,重新载入 SpringBoard 之后出现,免得以为图标丢了。 -
版本号 1.0.6(
Makefile/Info.plist/mkdeb.sh/ README)
同时包含 1.0.5 的变更
- deb 包名从 bundle id 改成
terminal——f3c4b44
同时包含 1.0.4 的修复
--被 iOS 改写成别的字符 ——cbf86fd
输入视图漏关了 iOS 11 起新增的「智能标点」三项(smartDashesType/
smartQuotesType/smartInsertDeleteType),它们默认开着,而且在字符送进 App
之前就改写按键:--变成一个长破折号—,直引号变弯引号,...变…。
现在全部显式关掉,按键原样透传。
同时包含 1.0.3 的修复
- zsh 里键入中文回显成乱码(
<00ad>之类) ——61170e0
pick_lang()原来只看 locale 目录在不在,C.UTF-8/zh_CN.utf8在 Darwin 上
其实没有数据,名字一无效 shell 就停在 C locale,zsh 的 ZLE 掉进单字节模式。现在改成
直接问 libc(newlocale+wcwidth_l),并把LANG/LC_CTYPE/LC_ALL一起
设成真正可用的那个。
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.6_iphoneos-arm64.deb |
70ea257f62141ae996939fc1c808a37ce365addbbd72cddbc1ade1be9d9ff635 |
make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.5
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版只改打包:deb 的包名(Package:)从 bundle id com.malacaihongpi.terminal 改成 terminal。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.5_iphoneos-arm64.deb - 包名:
terminal - 安装位置:
/var/jb/Applications/Terminal.app - 方式:Sileo / Zebra 里直接升级,或
dpkg -i Terminal_1.0.5_iphoneos-arm64.deb postinst会自动执行uicache并刷新 SpringBoard
从 1.0.4 及更早版本升级(包名变了,注意一下)
老包的包名是 com.malacaihongpi.terminal,两边落地的是同一个
/var/jb/Applications/Terminal.app,所以新包声明了:
Replaces: com.malacaihongpi.terminal
Conflicts: com.malacaihongpi.terminal
- Sileo / Zebra:直接装新包,它会提示并顺手把老包卸掉,照做即可
- 手动 dpkg:先
dpkg -r com.malacaihongpi.terminal,再dpkg -i新包,
否则 dpkg 会以「想覆盖别人拥有的文件」为由拒绝安装
本版变更
- deb 包名改成
terminal——f3c4b44 - 版本号 1.0.5(
Makefile/Info.plist/mkdeb.sh/ README)
同时包含 1.0.4 的修复
--被 iOS 改写成别的字符 ——cbf86fd
输入视图漏关了 iOS 11 起新增的「智能标点」三项(smartDashesType/
smartQuotesType/smartInsertDeleteType),它们默认开着,并且在字符送进 App
之前就改写按键:--变成一个长破折号—,直引号变弯引号,...变…。
现在全部显式关掉,终端里的按键原样透传。
同时包含 1.0.3 的修复
- zsh 里键入中文回显成乱码(
<00ad>之类) ——61170e0
pick_lang()原来只看 locale 目录在不在,C.UTF-8/zh_CN.utf8在 Darwin 上
其实没有数据,名字一无效 shell 就停在 C locale,zsh 的 ZLE 掉进单字节模式。现在改成
直接问 libc(newlocale+wcwidth_l),并把LANG/LC_CTYPE/LC_ALL一起
设成真正可用的那个,rc 里残留的LANG=C.UTF-8也压不住它。
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.5_iphoneos-arm64.deb |
2f8b87c1e4ab1743ef139f215c94c5b9d9373abd69b4c861c87528af181b6e4b |
make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.4
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版修的是「连按两个 -,第二个不按原样进去」。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.4_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.4_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
从 1.0.2 / 1.0.3 直接覆盖安装即可,bundle id 没变,设置与会话不受影响。
本版修复
-
--被 iOS 改写成别的字符 ——cbf86fd输入视图原来只关了
autocorrection/spellChecking/autocapitalization,漏掉了 iOS 11 起新增、和它们并列的智能标点三项。这三项默认是Default(跟着键盘类型走,通常是开着的),而且它们在字符送进 App 之前就把按键改写掉:你按的 实际送进来的 --一个长破折号 —"弯引号 “/”...…终端要的是原样透传,所以
smartDashesType/smartQuotesType/smartInsertDeleteType现在全部显式关掉。关掉之后--就是两个-。 -
顺带把
replaceRange:withText:补完整:系统要改写的范围正好紧贴光标时(智能标点、听写纠正、输入法改写都是这种情况),先在 shell 里把它们退掉再打新内容,终端里不会再多留一份旧字符串;范围不紧贴光标的仍然不动,免得凭空删掉命令行上的东西。
同时包含 1.0.3 的修复
- #locale zsh 里键入中文回显成乱码(
<00ad>之类) ——61170e0
pick_lang()原来只看 locale 目录在不在,C.UTF-8/zh_CN.utf8这些在 Darwin 上其实没有数据,名字一无效 shell 就停在 C locale,zsh 的 ZLE 掉进单字节模式。现在改成直接问 libc(newlocale+wcwidth_l),并把LANG/LC_CTYPE/LC_ALL一起设成真正可用的那个,rc 里残留的LANG=C.UTF-8也压不住它。 out/里从此只放一个 deb,不再产出 ipa ——32e7ebc
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.4_iphoneos-arm64.deb |
a26e6431adc1fb097b6a54bd641cc2d21e1ca1fef130fb0a8c7fabf1f05941e2 |
make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.3
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
这一版修的是「中文能打进去、shell 里回显的却是乱码」:问题出在 shell 的 locale 上,跟输入法本身没关系。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.3_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.3_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
从 1.0.2 直接覆盖安装即可,bundle id 没变,设置与会话不受影响。
本版修复
-
zsh 里键入中文回显成乱码(
echo ��<00ad>�<0096><0087>) ——61170e0pick_lang()原来靠 stat/usr/share/locale/<name>目录在不在来挑 locale,可这跟 libc 认不认这个名字是两回事:C.UTF-8、zh_CN.utf8在 macOS 与 iOS 上都没有数据,最后兜底那句"en_US.UTF-8"更是从来没验证过。名字一旦无效,shell 就停在 C locale,zsh 的 ZLE 掉进单字节模式,把中文按<00ad>这种记法回显出来;而此时命令其实已经正确执行,cat也完全正常(那是内核行规程的回显,不经过 ZLE),所以看起来很像"输入没送进终端"。bash 的 readline 会把字节原样吐出来 —— 这就是同一个环境里 bash 看着正常、只有 zsh 不正常的由来。 -
现在改为直接问 libc:
newlocale(LC_CTYPE_MASK)建得出来、且wcwidth_l(0x4E2D) == 2,才算这个 locale 可用,按zh_CN.UTF-8→en_US.UTF-8→UTF-8挑。并把LANG/LC_CTYPE/LC_ALL一起设成这个真正可用的名字:LC_ALL优先级最高,所以~/.zshrc里残留的export LANG=C.UTF-8(甚至LC_CTYPE=C.UTF-8)也不会再让 zsh 掉回单字节模式;而如果设备上只有 LC_CTYPE 可用(Darwin 的UTF-8就是这种),就只设LC_CTYPE,免得setlocale(LC_ALL, "")整体失败反而更糟。
其他变更
out/里从此只放一个 deb(make ios的 App 挪到build/Terminal.app),不再产出 ipa ——32e7ebc$TERM_PROGRAM_VERSION改为构建时注入,跟着版本号走(原来写死1.0)- 不用再手动
export LANG=C.UTF-8(C.UTF-8是 Linux 的东西,Darwin 上没有),README 已补上说明
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.3_iphoneos-arm64.deb |
2cc7e11d76cd87d5a54b2d0a2d3b3f3d5125f824fd0c2f0c04b74fd858212f0a |
复现与验证都在真 shell 上做的:起 /bin/zsh 逐字节键入 echo 中文,LANG/LC_CTYPE/LC_ALL=zh_CN.UTF-8 与「只设 LC_CTYPE=UTF-8」两种情况回显与输出均正常,只设 LANG=C.UTF-8(旧行为)则复现出上面的乱码。make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.2
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
1.0.1 修好了中文输入法的组词(预编辑)流程,但选候选项上屏这一步仍然是丢的:英文能打,拼音候选点下去终端里什么都没有。这一版补上。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.2_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.2_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
ipa(TrollStore 等)
- 文件:
Terminal_1.0.2.ipa,内含Payload/Terminal.app
本版修复
- 中文候选词上屏(#1 后续):有的中文输入法上屏时只调用
unmarkText、不调用insertText:,原来我们把预编辑串直接清掉,等于把这串字丢了。现在unmarkText会把内容记下来、推到本轮 RunLoop 末尾补发;如果紧接着走的是标准入口insertText:,insertText:会先取消这份待发内容,所以不会重复发送。 insertText:里单个非 ASCII 字符(中文、emoji)改为直接按 UTF-8 送出,不再走按键编码;ASCII 与控制键行为不变。- 补上
setAttributedMarkedText:selectedRange:(UIKit 有时走带属性的那个入口),textInRange:不再给输入法返回nil。
同时包含 1.0.1 的修复
- #1 无法输入中文(预编辑文本走完整的
UITextInput流程)——4d5703f - #2 终端字符串间距异常(reflow 丢换行、多空格)——
b0539b1 - #3 终端刷新异常(标签条显隐没触发重排)——
962651b
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.2_iphoneos-arm64.deb |
640ee98dda9c6ed5a49492f3fff4101bc740dc798af8ad066688a13a30d30770 |
Terminal_1.0.2.ipa |
d193f6a871f98fc3618dfae29f8deb5182006373fbc31804ac172e332c3ccc3e |
重排引擎的定向回归与固定种子的随机往返测试在 tests/test_vt.c,make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.1
越狱 iOS 设备的终端 App,修复版本,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.1_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.1_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
ipa(TrollStore 等)
- 文件:
Terminal_1.0.1.ipa,内含Payload/Terminal.app
本版修复的 issue
本版修复
- 中文输入(#1):拼音键盘的预编辑文本没有走完整的
UITextInput流程,导致打不出中文。现在补上textWillChange:/textDidChange:通知,unmarkText/insertText:正确落盘,退格逐字收缩组词而不是丢掉整串,textInRange:在预编辑区返回预编辑串,组词期间选区停在预编辑串末尾。 - 重排 reflow(#2):键盘弹出/收起只改行数,屏幕却会把两行并成一行;列数变窄再变回来,中文旁边会凭空多一个空格。根因是硬换行标记挂在了宽字符的零宽续格上、被重排循环跳过,以及宽字符换行让出的填充格被当成真空格。前者改成挂在最后一个真实格子上,后者新增
VT_WIDE_PAD标记,重排与取文本时都跳过。 - 多会话刷新(#3):新建/关闭会话时标签条的显隐改变了顶栏高度,但没人触发重排,标签条被压在终端视图下面,要进设置页再返回才恢复。现在
rebuildTabs会立刻重排,顶栏也始终置于最前。
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.1_iphoneos-arm64.deb |
a86a02b76e2dcef204440ef3fed6f43ad3e32f443dafa596f2f63bcfdb48fc3e |
Terminal_1.0.1.ipa |
0e6145fc2959be98053196b169d4d2cb2ecf3bf81d64388f099018c6f4fd050d |
重排引擎的定向回归(行数往返、列数往返、宽字符行尾换行)与固定种子的随机往返测试在 tests/test_vt.c,make test 173 项断言全过;这些测试在修复前的代码上必定失败。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。
Terminal v1.0.0
面向越狱 iOS 设备的终端 App:原生 App 形态、带主屏幕图标,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)以纯 C 实现,界面层为 Objective-C + UIKit —— 不使用 SwiftUI,也不需要 Swift 运行时。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.0_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.0_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
ipa(TrollStore 等)
- 文件:
Terminal_1.0.0.ipa,内含Payload/Terminal.app
亮点
- 中文输入:完整实现
UITextInput,走系统输入法与候选条,预编辑文本只参与渲染、不写入 PTY - 中文显示:CoreText 级联字体链 + 字距校正,中英文与 emoji 严格按列对齐
- 粘贴:默认括号粘贴,远端未启用时自动把换行转成回车,多行内容粘贴前确认
- 中文选择:双击选词、三击选行、长按后拖动扩选
- 多会话标签、快捷键条、硬件键盘、鼠标上报(1000/1002/1003)
- 自动探测
/var/jb,优先使用 rootless 前缀下的 Shell
本版修复
- 修复终端文字上下颠倒:UIKit 的绘制上下文是 y 向下,CoreText 需要
scale(1, -1)的文字矩阵
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.0_iphoneos-arm64.deb |
08237faa1eb2df50051cfa757958a3dd0c038570b04bdd3a0fd71c551401674e |
Terminal_1.0.0.ipa |
5ab7a3e01a48230a0d407bac553328767c7f57ce4782556ac7c1e5dfdc8a8650 |
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。