利用斐讯N1盒子搭建Docker CUPS打印服务器,实现老旧打印机无线化
1. 项目概述与价值定位最近在折腾手头闲置的斐讯N1盒子这玩意儿当年可是“矿渣”里的明星S905D的芯片1G RAM8G eMMC的配置刷上Armbian系统后摇身一变就成了一个非常称职的低功耗Linux服务器。我这次的目标很明确把它打造成一个家庭打印服务器专门伺候我那台有点年头的惠普激光打印机。这样家里所有设备无论是Windows笔记本、MacBook还是手机都能无线打印再也不用为了打印一份文件而专门开某台电脑了。这个方案的核心价值在于低成本、高集成度和极致的便利性。N1盒子功耗常年不到5W7x24小时开机也几乎不产生电费。通过Docker来部署CUPS通用Unix打印系统不仅部署干净、隔离性好管理和迁移也异常方便。最终实现的效果是一个巴掌大的小盒子插上网线和电源就能让家里任何角落的设备实现无线打印尤其是对于只有USB接口的老款打印机这几乎是赋予其“新生”的最佳方案。整个过程涉及Armbian系统刷写、Docker环境搭建、CUPS服务配置以及惠普打印机驱动安装算是一次软硬件结合的经典实操。2. 核心思路与准备工作2.1 为什么选择N1ArmbianDockerCUPS这个组合这个技术栈的每一环都经过深思熟虑。首先斐讯N1硬件性价比无敌ARM架构功耗极低性能对于打印服务器这类轻量级应用绰绰有余是完美的硬件载体。其次Armbian是一个为ARM开发板高度优化的Linux发行版社区支持好对N1的适配非常成熟能最大程度发挥硬件性能提供稳定的基础系统。选择Docker来部署CUPS而非直接在宿主机安装是出于维护性和安全性的考虑。Docker容器将CUPS及其所有依赖打包在一个独立的环境中与宿主机隔离。这意味着环境纯净不会污染宿主机系统避免复杂的依赖冲突。一键部署与迁移配置文件和数据通过卷Volume持久化重装系统或迁移到另一台设备时几乎可以做到无缝切换。易于管理可以通过Portainer等可视化工具管理更新、重启服务都非常方便。最后CUPS是打印服务的事实标准支持IPP互联网打印协议兼容性极强。配合惠普官方的hplip驱动可以解决绝大多数惠普打印机的识别和驱动问题。2.2 准备工作清单在开始刷机前请确保你手头有以下“装备”硬件斐讯N1盒子一台。USB双公头数据线一条用于线刷至关重要。至少8GB的U盘一个推荐USB 3.0品牌货兼容性更好。网线一根用于连接N1和路由器。待连接的惠普打印机确保USB线完好。一台用于操作的电脑Windows/Mac/Linux均可。软件与文件线刷工具USB_Burning_Tool(Windows平台常用)。U盘写入工具balenaEtcher或Rufus。Armbian镜像需选择适配N1的版本。推荐使用ophub大神编译的镜像集成度好。例如Armbian_23.11.0_amlogic_s905d_bullseye_6.1.63_server.img.xz。Docker CUPS镜像这里我选择aguslr/cups:latest这个镜像它集成了常用的驱动和hplip对惠普打印机支持友好。ADB工具用于启动N1进入线刷模式。SSH客户端如PuTTY(Windows) 或系统自带的终端 (Mac/Linux)。注意下载镜像文件时务必核对MD5或SHA256校验值确保文件完整避免刷机过程中因文件损坏导致失败甚至变砖。3. 为N1刷写Armbian系统这是整个流程的基石也是最需要耐心的一步。3.1 降级关键分区与进入线刷模式新出厂的或系统版本较高的N1其Bootloader可能限制了从U盘启动。我们需要先通过线刷方式将一个能引导U盘的底层系统通常是官改电视盒子系统刷入N1。安装并打开USB_Burning_Tool。导入下载好的官改线刷包格式为.img通常勾选“擦除flash”和“擦除bootloader”即可其他保持默认。连接N1并进入线刷模式用USB双公头线连接电脑和N1靠近HDMI口的那个USB口。断开N1电源。打开USB_Burning_Tool点击“开始”。关键操作用镊子或导线短接N1主板上的刷机触点通常位于HDMI接口上方两个小孔内具体位置请根据你的N1版本搜索对应短接图。在保持短接的状态下给N1接通电源。此时USB_Burning_Tool会识别到设备并开始刷机。进度条走完显示“成功”后先点击“停止”再断开USB线最后给N1断电。3.2 制作Armbian启动U盘并写入EMMC使用balenaEtcher将下载的Armbian镜像.img.xz文件需先解压为.img写入U盘。将制作好的U盘插入N1离HDMI口远的那个USB口连接网线和电源线。给N1通电此时它会从U盘启动Armbian。首次启动需要稍等片刻进行初始化。通过路由器管理界面找到N1获取到的IP地址使用SSH客户端连接用户名root密码1234。首次登录会强制要求修改密码并创建一个新用户。将系统写入EMMC这是最重要的一步让Armbian永久驻留。登录后执行命令./install-aml.sh根据提示选择将系统安装到EMMC。完成后关机拔掉U盘再重新通电。此时N1将从内置的EMMC存储启动Armbian系统。用新IP地址再次SSH登录确认系统运行正常。实操心得在写入EMMC前建议先通过U盘启动测试一下网络、USB接口是否都工作正常。特别是如果你后续要接打印机可以先用lsusb命令测试一下插入打印机后能否识别。确认无误后再写入避免反复折腾。4. 在Armbian上安装与配置DockerArmbian系统就绪后我们为其安装Docker引擎。4.1 安装Docker CEArmbianDebian系安装Docker非常方便。以root用户执行以下命令# 1. 更新软件包索引并安装依赖 apt update apt upgrade -y apt install -y ca-certificates curl gnupg lsb-release # 2. 添加Docker官方GPG密钥和仓库 mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable | tee /etc/apt/sources.list.d/docker.list /dev/null # 3. 安装Docker引擎 apt update apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 4. 启动Docker并设置开机自启 systemctl start docker systemctl enable docker # 5. 可选将当前用户加入docker组避免每次都要sudo usermod -aG docker $YOUR_USERNAME # 执行后需要退出SSH重新登录生效4.2 配置Docker镜像加速国内拉取Docker镜像速度可能较慢需要配置镜像加速器。这里以阿里云镜像加速为例需先注册阿里云账号获取专属加速地址。编辑或创建Docker守护进程配置文件nano /etc/docker/daemon.json输入以下内容将https://xxxx.mirror.aliyuncs.com替换为你自己的加速器地址{ registry-mirrors: [https://xxxx.mirror.aliyuncs.com] }保存退出后重启Docker服务使配置生效systemctl restart docker运行docker info在输出末尾看到Registry Mirrors包含你设置的地址即表示配置成功。5. 使用Docker部署CUPS打印服务现在进入核心环节在Docker容器中运行CUPS。5.1 创建持久化数据目录与运行容器CUPS的配置、打印队列和驱动需要持久化保存我们通过Docker的“卷挂载”功能来实现。# 在用户目录下创建CUPS的持久化数据文件夹 mkdir -p ~/cups/config mkdir -p ~/cups/share # 运行CUPS容器 docker run -d \ --namecups \ --restartunless-stopped \ --nethost \ -v ~/cups/config:/etc/cups \ -v ~/cups/share:/usr/share/cups \ -v /var/run/dbus:/var/run/dbus \ -v /dev/bus/usb:/dev/bus/usb \ --device-cgroup-rulec 189:* rmw \ aguslr/cups:latest参数详解-d: 后台运行。--name: 给容器起个名字方便管理。--restartunless-stopped: 容器意外退出时自动重启确保服务高可用。--nethost: 使用宿主机的网络模式。这是关键能让CUPS服务直接以宿主机的IP和端口暴露方便局域网内设备发现和连接。-v ~/cups/config:/etc/cups: 将宿主机的~/cups/config目录挂载到容器的/etc/cups持久化CUPS主配置。-v ~/cups/share:/usr/share/cups: 持久化PPD驱动文件等共享数据。-v /var/run/dbus:/var/run/dbus和-v /dev/bus/usb:/dev/bus/usb: 将宿主机的Dbus和USB设备总线挂载到容器内这是容器能识别并控制USB打印机的关键。--device-cgroup-rule: 添加设备控制组规则允许容器访问USB设备。aguslr/cups:latest: 使用的镜像名称。5.2 访问CUPS管理界面并设置管理员容器运行后CUPS服务已经在运行。打开电脑浏览器访问http://你的N1_IP地址:631。首次访问点击顶部导航栏的 “Administration”。添加打印机在“Administration”页面点击“Add Printer”。认证登录此时会弹出登录框。注意这里需要输入的是Linux系统用户的账号密码即你SSH登录Armbian时用的那个用户名和密码而不是CUPS独立的密码。启用远程管理登录后在“Administration”页面勾选“Show printers shared by other systems”和“Allow remote administration”然后点击“Change Settings”保存。这样其他设备才能发现这个打印服务器。6. 添加惠普打印机并安装驱动6.1 物理连接与容器内识别将惠普打印机通过USB线连接到N1盒子的USB口。然后在N1的SSH终端里执行# 查看USB设备列表确认打印机已被系统识别 lsusb你应该能看到类似Bus 001 Device 003: ID 03f0:... Hewlett-Packard的输出其中03f0:xxxx是惠普的厂商ID和产品ID。接着进入CUPS容器内部检查是否也能看到打印机docker exec -it cups lsusb如果容器内也能看到相同的打印机信息说明USB穿透成功。6.2 在CUPS管理界面添加打印机回到浏览器中的CUPS管理界面 (http://N1_IP:631/admin)。点击 “Add Printer”。在本地打印机列表中你应该能看到你的USB打印机例如USB Printer #1或带有HP型号的描述。选择它点击“Continue”。为打印机命名如HP_LaserJet_Office勾选“Share This Printer”点击“Continue”。选择驱动这是最关键的一步。CUPS可能会自动推荐一个驱动。如果列表中有你的确切型号直接选择。如果没有或者打印测试页有问题可以尝试选择“Generic”类别下的“HP”系列通用驱动如HP LaserJet Series PCL 6很多激光打印机兼容此驱动。或者因为我们的镜像集成了hplip可以尝试选择“Provide PPD File”然后从/usr/share/cups/model/路径下寻找惠普相关的PPD文件。你可以在容器内用find /usr/share/cups/model -name *hp*.ppd命令查找。选择驱动后继续设置默认选项如纸张大小A4最后点击“Add Printer”。添加成功后强烈建议点击“Print Test Page”打印测试页。如果测试页成功打印说明驱动和连接一切正常。注意事项对于某些较新或非常老的惠普打印机镜像自带的hplip驱动可能不包含其PPD文件。这时需要进入容器内部手动更新或安装完整版的hplip。命令如下docker exec -it cups bash apt update apt install -y hplip hp-setup -i # 这是一个交互式安装工具可能会有所帮助安装完成后重启CUPS容器docker restart cups再重新添加打印机。7. 客户端连接与打印测试7.1 Windows客户端连接打开“设置” - “蓝牙和其他设备” - “打印机和扫描仪” - “添加设备”。稍等片刻系统应该能自动搜索到网络打印机名为你在CUPS里设置的打印机名。如果未自动发现点击“手动添加”选择“按IP地址或主机名添加打印机”。设备类型选择“Internet打印协议(IPP)”地址栏输入http://你的N1_IP地址:631/printers/你的打印机名例如http://192.168.1.100:631/printers/HP_LaserJet_Office。系统会自动从打印服务器获取驱动信息按提示完成安装即可。7.2 macOS客户端连接打开“系统设置” - “打印机与扫描仪”。点击“”号添加打印机。在“IP”标签页下协议选择“互联网打印协议 - IPP”地址输入N1的IP地址资源路径输入/printers/你的打印机名。使用选择“通用PostScript打印机”或“HP”相关驱动通常macOS能自动选择最合适的。点击“添加”即可。7.3 手机连接以iPhone为例确保手机和N1在同一Wi-Fi网络。打开要打印的文件点击分享或打印。在打印机选择界面点击“选择打印机”。系统会自动搜索找到你的网络打印机选择后即可打印。8. 常见问题排查与优化技巧8.1 问题排查速查表问题现象可能原因排查步骤与解决方案CUPS管理页面无法访问 (http://IP:631)1. 容器未成功运行2. 防火墙阻止了631端口1.docker ps查看cups容器状态docker logs cups查看日志。2. 在Armbian上运行sudo ufw allow 631(如果使用了UFW) 或检查路由器防火墙设置。添加打印机时找不到USB设备1. USB线或接口问题2. Docker容器USB权限或挂载失败1. 在宿主机执行lsusb确认系统能否识别。2. 检查docker run命令中USB挂载参数是否正确特别是--device-cgroup-rule。3. 尝试重启容器docker restart cups。打印测试页失败或乱码1. 驱动程序不匹配2. 打印机语言不支持如PCL vs PS1. 在CUPS管理页面编辑该打印机尝试更换其他驱动如Generic PCL、PostScript。2. 对于惠普打印机在容器内安装完整hplip后重试。Windows/Mac无法发现打印机1. CUPS未开启共享2. 客户端与服务器不在同一子网3. Bonjour/Avahi服务问题1. 确认CUPS管理页“Administration”中已勾选共享选项。2. 检查IP地址是否同网段。3. 在Armbian上安装Avahi-daemonsudo apt install avahi-daemon并重启服务。打印作业卡住或队列停滞1. 打印机物理状态错误缺纸、卡纸2. CUPS进程假死1. 检查打印机本体状态。2. 在CUPS管理页面“Jobs”里取消所有作业或重启CUPS容器docker restart cups。8.2 性能优化与进阶设置固定N1的IP地址在路由器DHCP设置中为N1的MAC地址分配一个固定的IP地址避免IP变化导致客户端连接失效。使用Docker Compose管理创建docker-compose.yml文件来定义服务管理起来更优雅。version: 3.8 services: cups: image: aguslr/cups:latest container_name: cups restart: unless-stopped network_mode: host volumes: - ./cups/config:/etc/cups - ./cups/share:/usr/share/cups - /var/run/dbus:/var/run/dbus - /dev/bus/usb:/dev/bus/usb group_add: - lpadmin devices: - /dev/bus/usb:/dev/bus/usb然后通过docker-compose up -d启动。启用CUPS日志调试如果遇到疑难杂症可以修改CUPS配置文件/etc/cups/cupsd.conf在宿主机的~/cups/config/目录下将LogLevel从info改为debug重启容器后查看/var/log/cups/error_log获取详细信息。安全考虑CUPS管理界面631端口暴露在局域网内。虽然需要密码但仍建议在路由器层面设置不要将其端口映射到公网。对于家庭环境保持现状即可。经过这一整套流程你的斐讯N1已经成功转型为一台安静、省电且功能强大的网络打印服务器。我自己的惠普M126a已经稳定运行了数月家里无论是谁在任何设备上都能随手打印那种无缝的体验彻底解决了“打印依赖某一台特定电脑”的痛点。整个过程最深的体会是Docker化部署带来的清爽感无可比拟哪天想升级或者换个硬件整个cups目录打包带走在新机器上几乎可以分钟级恢复服务这才是现代运维该有的效率。

相关新闻

终极RGB统一控制指南:OpenRGB让你的所有设备告别厂商软件束缚

终极RGB统一控制指南:OpenRGB让你的所有设备告别厂商软件束缚

终极RGB统一控制指南:OpenRGB让你的所有设备告别厂商软件束缚 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB.…

2026/8/3 11:25:04 阅读更多 →
如何在Blender中实现3D打印工作流:完整3MF格式导入导出终极指南

如何在Blender中实现3D打印工作流:完整3MF格式导入导出终极指南

如何在Blender中实现3D打印工作流:完整3MF格式导入导出终极指南 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 你是否在为3D打印准备模型时,发现…

2026/8/3 11:24:03 阅读更多 →
如何用Sunshine打造私人游戏云:5步免费搭建跨平台游戏串流服务器

如何用Sunshine打造私人游戏云:5步免费搭建跨平台游戏串流服务器

如何用Sunshine打造私人游戏云:5步免费搭建跨平台游戏串流服务器 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的开源游戏串流服务器&#xf…

2026/8/3 11:24:03 阅读更多 →

最新新闻

ITIL4服务目录管理:从救火模式到价值创造

ITIL4服务目录管理:从救火模式到价值创造

1. ITIL4服务目录管理的本质与价值ITIL4框架下的服务目录管理,本质上是一种将IT服务产品化的系统性方法。不同于传统IT运维中被动响应式的"救火"模式,服务目录通过明确定义服务内容、服务级别和交付方式,使IT部门从成本中心转型为价…

2026/8/3 11:59:22 阅读更多 →
鸿蒙多端协同高级架构设计:跨设备UI状态同步/事件总线/分布式ViewModel/MVVM协同模式

鸿蒙多端协同高级架构设计:跨设备UI状态同步/事件总线/分布式ViewModel/MVVM协同模式

一、前置思考 多端协同是鸿蒙"18N"战略的核心——手机编辑,平板预览,PC完成复杂操作,智慧屏展示最终成果。但"协同"≠"投影",真正的多端协同要求:各端拥有自己的UI(适配屏幕…

2026/8/3 11:59:22 阅读更多 →
幼儿电子屏幕观看指南:科学保护视力与脊柱健康

幼儿电子屏幕观看指南:科学保护视力与脊柱健康

1. 幼儿观看电子屏幕的行为分析2岁半幼儿侧卧观看动画片的现象在当代家庭中并不少见。作为一名从业多年的儿童发展研究者,我经常收到家长关于这个问题的咨询。要全面理解这个行为的影响,我们需要从多个维度进行分析。从生理发育角度来看,2岁半…

2026/8/3 11:59:22 阅读更多 →
Cursor动态上下文发现技术:AI编程效率革命

Cursor动态上下文发现技术:AI编程效率革命

1. 代码Agent效率革命的背景与意义在当今的软件开发领域,AI辅助编程工具已经成为开发者日常工作中不可或缺的助手。然而,随着这些工具的广泛应用,一个长期被忽视的问题逐渐浮出水面:上下文管理的效率瓶颈。传统的代码Agent在处理大…

2026/8/3 11:59:22 阅读更多 →
Python高效学习路径:从零到实战,避开99%新手坑

Python高效学习路径:从零到实战,避开99%新手坑

这类标题和描述,本质上指向一个核心需求: 如何用最高效、最稳妥的方式,从零开始系统学习 Python,并真正掌握能用于工作或项目的实战能力。 网上流传的“付费课程”、“内部资料”往往质量参差不齐,且存在版权风险。…

2026/8/3 11:59:22 阅读更多 →
MacBook Pro A1708硬盘升级指南:转接卡方案与SSD兼容性实战

MacBook Pro A1708硬盘升级指南:转接卡方案与SSD兼容性实战

1. 项目缘起:为什么A1708的磁盘更换是个“技术活”手头这台2016款的MacBook Pro A1708,最近用起来总觉得有点“力不从心”。倒不是性能不够,而是当初图便宜买的256GB硬盘,在如今动辄几十GB的工程文件和素材面前,实在是…

2026/8/3 11:58:21 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →