21
0
0
Armbian模拟器
为了纪念斐讯n1被卖两周周,专门使用:
制作了一个Armbian模拟器
开源:
无开源协议 无需保留作者
README.md
Armbian模拟器
版本:v1.2
一个纯前端网页应用,模拟 Armbian Linux 终端环境。用户通过任意账号登录后,可在浏览器中体验经典的命令行界面,包含虚拟文件系统、命令历史、Tab 补全等特性。
特性
- 零依赖:所有 HTML/CSS/JavaScript 内联在单个
index.html中,无需构建工具、无需后端服务,浏览器直接打开即可运行 - Armbian 风格:还原 Armbian 登录界面与终端欢迎横幅(ASCII Art、系统信息、CPU 温度、内存占用等)
- 虚拟文件系统:内存级目录树,支持路径解析(相对路径、绝对路径、
..、~) - 命令历史:上下键浏览历史命令,
Ctrl+L清屏,Tab自动补全 - 响应式适配:桌面端与移动端自适应
快速开始
将 index.html 下载到本地,双击用浏览器打开即可。
登录页输入任意非空用户名和密码即可进入终端。
支持的命令
| 命令 | 说明 |
|---|---|
help |
显示可用命令列表 |
ls |
列出目录内容(支持 -a、-l 参数) |
cd |
切换目录 |
pwd |
显示当前路径 |
cat |
查看文件内容 |
head |
查看文件前几行(-n 指定行数) |
tail |
查看文件后几行(-n 指定行数) |
wc |
统计行数/词数/字符数(-l、-w、-c) |
grep |
在文件中搜索文本(-i 忽略大小写,-n 显示行号) |
echo |
输出文本 |
clear |
清屏(也可用 Ctrl+L) |
whoami |
显示当前用户名 |
date |
显示系统时间 |
uptime |
显示系统运行时间与负载 |
hostname |
显示主机名 |
uname |
显示系统信息(-a 查看全部) |
history |
显示命令历史 |
lsblk |
列出块设备(显示 128G mmcblk0 硬盘及分区) |
df |
显示磁盘使用情况(-h 人类可读格式) |
free |
显示内存使用情况(-h 人类可读格式) |
top |
显示系统进程与资源占用快照 |
ip |
显示网络接口信息(addr、link) |
neofetch |
显示系统信息概览(含 ASCII Art) |
ssh |
模拟 SSH 连接(含彩蛋) |
htop |
模拟系统监控 |
armbian-config |
模拟 Armbian 配置工具 |
armbian-update |
模拟 ophub 固件在线检查与更新流程 |
armbian-upgrade |
模拟系统升级(升级后重启黑屏无法启动) |
mkdir |
创建目录 |
touch |
创建空文件 |
rm |
删除文件或目录(支持 -r、-rf) |
exit |
退出登录 |
虚拟文件系统
初始目录结构如下:
/
├── root/
│ ├── readme.txt # 欢迎信息
│ └── armbian.txt # Armbian 信息
├── etc/
│ └── hostname # 主机名 (armbian)
├── home/ # 普通用户家目录
└── tmp/ # 临时目录
文件系统存储在浏览器内存中,刷新页面后会重置为初始状态。使用
mkdir、touch、rm等命令创建或删除的内容不会持久化。
技术架构
- 前端:原生 HTML5 + CSS3 + Vanilla JavaScript (ES6+)
- 无框架依赖,无构建步骤
- 单文件部署,直接在浏览器中打开即可运行
- 字体:使用系统等宽字体栈(Ubuntu Mono、Courier New、Monaco、Consolas)
核心模块
| 模块 | 职责 |
|---|---|
| 登录验证 | 任意非空用户名密码通过,保存用户名到内存 |
| 终端渲染 | 管理输出历史、光标闪烁、键盘输入处理 |
| 命令解析 | 解析命令与参数,分发到对应处理函数 |
| 虚拟文件系统 | 内存目录树,支持路径解析与文件操作 |
文件结构
.
├── index.html # 主应用文件(单文件,包含全部代码)
├── README.md # 项目说明(本文件)
└── 你被骗了.mp4 # SSH 彩蛋视频(需自行放置)
SSH 彩蛋:在终端中执行
ssh命令或点击右上角SSH ↗按钮后,会模拟 SSH 连接流程并播放恶搞视频。视频文件你被骗了.mp4需放置在与index.html同级目录下。
