云计算百科
云计算领域专业知识百科平台

闲鱼50块都没人要的N1盒子,我把它改造成了一个能公网访问的网站服务器

前言

前段时间整理抽屉的时候,我翻出了一台很多年前买的 N1 盒子。

当年这东西特别火,刷电视系统、刷 OpenWrt、刷各种 NAS 系统,几乎成了折腾党的入门神器。后来家里设备越来越多,它也慢慢被遗忘在角落里,落了一层灰。

本来我都准备把它挂到闲鱼卖掉了,可看了看价格,几十块钱还不一定有人收。那一刻我突然冒出一个想法:这么一台还能正常运行的小电脑,真的只能当电子垃圾吗?

后来折腾过程中,我给它刷上了 iStoreOS,又装上了 Nginx。原本只是想测试一下服务能不能跑起来,结果越玩越上头。最后甚至直接把一个 2048 小游戏部署了上去,并通过 cpolar 实现了公网访问。现在无论是在家里还是外面,只要打开浏览器,就能直接访问这台 N1 提供的网站。

对于现在动不动就几千块的 NAS 和迷你主机来说,这种低成本折腾带来的成就感反而更强。毕竟谁能想到,一台快被淘汰的电视盒子,居然还能变成一台真正对外提供服务的小型服务器。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文适合对N1盒子有一定认识和基础但又想深入学习刷机、服务器部署及内网穿透的技术爱好者。无论您是想打造一个家庭小游戏服务器,还是学习Linux服务器搭建与网络穿透技术,这篇教程都将带您一步步走过每个关键环节,配合大量截图和详细命令,确保您能够轻松上手并掌握相关技术。

image-20250812185244520

1. 刷机顺序选择

在开始刷机操作之前,您需要明确目标系统类型。如果您还不确定是刷入电视系统(基于Android系统)还是刷入OpenWrt、iStoreOS、CasaOS等系统(基于Linux系统),建议采用以下刷机顺序:

强烈建议您先刷入Android电视系统,再刷入Linux系统(如OpenWrt/iStoreOS)。

**这样选择的原因是:**如果您先刷入Linux系统后,想要回退到Android电视系统,此时Linux刷回Android需要拆机短接线刷,操作复杂且存在风险。建议先体验Android电视系统,熟悉操作后再体验Linux系统,最后再决定是否回退到Android系统。

1.1 技术原理

Android系统刷机: 在Android系统下,可通过晶晨刷机工具(USB Burning Tool)直接进行线刷操作。N1盒子在Android系统下,开启开发者选项中的ADB调试后,执行adb connect [IP]:5555再adb shell reboot update即可触发线刷模式。

Linux系统限制: 在Linux系统(如OpenWrt/iStoreOS)下,系统没有集成Amlogic的烧录协议,USB Burning Tool无法识别设备。主流救砖方案都需要短接主板背面触点(G12和GND)强制进入线刷模式,这需要拆机操作。

Linux系统互刷: 基于Linux的系统之间可以相互刷入,通过烧录镜像写入U盘,然后U盘启动系统,并将系统写入eMMC存储中。在开始编写本教程前,已经成功从CasaOS系统刷入到了iStoreOS系统:

image-20250812190704140

刷入iStoreOS系统后,在系统终端中尝试使用reboot update命令进入线刷模式,系统确实会重启,但无法进入线刷模式,这验证了Linux系统无法直接触发Amlogic线刷模式的技术限制。

2. 准备工作

在开始刷机操作之前,需要准备以下硬件设备和软件工具:

2.1 必需硬件设备

  • N1盒子 × 1(核心设备)

  • 电源适配器 × 1(推荐12V/1A或12V/2A,支持5V/3A)

  • 网线 × 1(千兆或百兆均可,N1盒子网口支持千兆,用于连接路由器)

  • 计算机 × 1(推荐Windows系统,用于镜像烧录和网络配置)

  • U盘 × 1(容量≥8GB,用于系统镜像烧录和启动)

  • 2.2 软件工具和系统镜像

    软件工具:

    • balenaEtcher:镜像烧录工具,用于将系统镜像写入U盘
    • Advanced IP Scanner:PC端局域网IP扫描工具,用于获取设备IP地址
    • WiFiman:Android端局域网IP扫描工具,移动设备扫描网络设备

    系统镜像:

    • iStoreOS系统镜像:基于OpenWrt的轻量级Linux发行版

    image-20250813115028719

    2.3 可选工具设备

  • USB公对公数据线(用于线刷操作,可自制或购买)
  • 短接工具(镊子或导线,用于Linux系统救砖时的短接操作)
  • HDMI显示器(调试时使用,非必需)
  • 拆机工具(吹风机用于加热脚垫,起子用于拧开螺丝,仅救砖时使用)
  • 3. N1盒子系统降级

    3.1 降级操作的必要性

    需要执行降级操作的N1盒子通常有以下两种情况:

  • 全新未刷机设备:设备仍运行官方Android系统,尚未进行任何系统修改
  • 已恢复官方固件设备:使用aml_upgrade_package或其他官方镜像恢复过系统的设备
  • 在这两种情况下,设备的boot分区通常为新版本,无法直接进入线刷模式或执行第三方系统刷入操作。因此需要先进行降级操作,将boot分区恢复到兼容状态,以便后续刷机或安装自定义系统。

    ⚠️ 注意: 本教程使用的 N1 盒子已参考 N1盒子刷CasaOS轻NAS教程将官方固件降级并刷入 CasaOS,因此无法提供原始官方版本降级的过程截图。

    image-20250813175106805

    3.2 降级操作参考教程

    如果您希望直观了解官方版本降级过程,可以参考以下教程:

    视频教程: 韩风talk N1盒子降级教程(建议从01:44开始观看)

    该视频详细演示了从官方版本降级到Android电视盒子系统的完整流程。

    文字教程: N1盒子刷OpenWrt软路由系统教程

    该教程的大纲2部分详细介绍了N1盒子降级与U盘启动的步骤,内容详实,适合直接刷入Linux系统的用户参考。

    💡 提示: 如果您在该步骤有什么问题被困扰住了,欢迎您在评论区中提出问题,会有技术爱好者为您作出解答。

    4. 烧录iStoreOS系统镜像

    4.1 软件工具说明

    从准备工作阶段下载的资源包中,包含以下软件工具:

    网络扫描工具:

    • Advanced IP Scanner:PC端局域网IP扫描工具,用于获取N1盒子的设备名称和局域网IP地址
    • WiFiman:Android端局域网IP扫描工具,移动设备扫描网络设备

    镜像烧录工具:

    • balenaEtcher:跨平台镜像烧录工具,支持将系统镜像写入U盘,实现U盘启动

    image-20250813133931664

    系统镜像:

    • iStoreOS系统镜像:专为N1盒子优化的轻量级Linux发行版,基于OpenWrt系统

    image-20250813135027771

    4.2 镜像烧录操作步骤

    步骤1:启动烧录工具 安装balenaEtcher烧录工具,启动后选择【从文件烧录】选项:

    image-20250813163811926

    步骤2:选择镜像文件 将iStoreOS系统目录下的镜像压缩包解压,选择.img镜像文件:

    image-20250813163557204

    步骤3:选择目标设备 将U盘插入计算机,然后点击【选择目标磁盘】选项:

    image-20250813165547197

    步骤4:确认目标设备 勾选刚插入的U盘(⚠️ 重要提醒: 如果U盘中有重要数据,请提前备份,此操作将完全格式化U盘),然后点击【选定】按钮:

    image-20250813170113361

    步骤5:开始烧录 确认信息无误后,点击【现在烧录!】按钮开始烧录过程:

    image-20250813170315112

    步骤6:等待烧录完成 烧录过程需要几分钟时间,请耐心等待:

    image-20250813170447941

    步骤7:验证烧录结果 烧录完成后会自动进行数据验证:

    image-20250813170634326

    步骤8:完成烧录 看到烧录成功提示后,关闭balenaEtcher程序,安全移除U盘:

    image-20250813170752077

    💡 技术提示: 如果您使用balenaEtcher 2.x版本进行烧录,在文件校验时可能会遇到(0,h,requestMetadata) is not a function异常。建议使用1.18版本(即本教程中使用的版本)来避免此问题。

    5. 开始刷入iStoreOS系统

    5.1 系统刷入操作

    前置条件确认:

    • N1盒子已完成系统降级操作
    • U盘已成功烧录iStoreOS系统镜像

    硬件连接步骤: 按照以下顺序进行硬件连接,确保系统正常启动:

  • 将 U盘 插入靠近HDMI接口的 USB端口
  • 将 网线 插入N1盒子的 LAN网口,另一端连接与计算机同一网络的 路由器LAN端口,确保设备在同一局域网内
  • 最后接通 电源适配器,启动N1盒子,如下图所示:
  • 🔹 重要: 这种顺序可以保证 Bootloader 在开机时正确识别 U 盘和网络,避免刷机或 ADB 连接失败。

    image-20250813183747017

    接下来,等待2~3分钟左右即可。

    5.2 获取iStoreOS的局域网IP地址

    打开【Advanced IP Scanner】程序,需要先进行安装,图中软件:

    image-20250813184112515

    安装步骤省略,按照默认设置点击下一步即可。打开软件后可以看到如下界面:

    image-20250813184301592

    图中输入区域显示了很多的网段,为了提升搜索速度和准确率,可以先确认自己电脑所属的局域网IP地址所处的网段,电脑中执行:

  • 按 Win + R(快捷键),然后输入 cmd 回车
  • 在命令提示符中输入【ipconfig】可以查看当前电脑网卡IP信息
  • image-20250813184725565

    💡 提示: 如果电脑是插入网线的就是看以太网,如果连接的是WIFI,则需要看无线局域网适配器 Wi-Fi的ipv4项。

    接下来,在输入区域,只保留50号段的网段(确认自己的号段192.168.50.X 这个50就是局域网IP的网段),其余的都可以去掉。然后点击搜索按钮:

    image-20250813185417608

    手机安卓端也同理,推荐使用【WiFIman】APP,即如下APP:

    image-20250813185920145

    打开APP后,点击发现页面,就会开始扫描当前手机连接的WIFI所属的同一局域网下的设备:

    image-20250813185848292

    到这里,已经获取到了iStoreOS系统的局域网IP了,本教程中显示为:192.168.50.252

    ⚠️ 注意: 如果一直没有显示iStoreOS设备,请确保iStoreOS设备和电脑/手机处于同一局域网中。确保处于后,仍然看不到iStoreOS设备,请更换另一个USB口,进行尝试5.1的刷入iStoreOS系统步骤。

    6. 将iStoreOS系统写入EMMC

    前面已经获取到了iStoreOS设备(N1盒子)的局域网IP地址,直接在浏览器中访问测试:

    image-20250813190642767

    可以看到成功进入iStoreOS系统的登录界面,输入账号密码进行登录:

    • 账号: root
    • 密码: password

    image-20250813190831296

    成功登录进iStoreOS系统,点击页面中的【终端】按钮,会打开新的标签页:

    image-20250814093141032

    接下来在新的终端页面,输入用户名和密码登录,并且把iStoreOS写入emmc中,输入如下命令,如图:

    install-to-emmc.sh

    image-20250814093612898

    接着输入关机指令,等待N1盒子的Logo指示灯熄灭后,拔掉U盘和电源线:

    poweroff

    image-20250814093957575

    拔掉U盘和电源线后,此时N1盒子上应该只插有网线,然后插上电源线:

    image-20250814094612958

    等待2~3分钟后,访问iStoreOS(即N1盒子)的局域网IP(如果不确定是否启动,可以用前面提到的扫描IP工具,再次扫描一下局域网IP,也确保防止盒子IP变化):

    image-20250814094902869

    登录进系统,对比前面的磁盘信息,可以看到此时只剩mmcblk1磁盘了(因为U盘拔出了),可以确定,iStoreOS系统也成功写入了N1盒子内置的emmc中了:

    image-20250814095148636

    至此,N1盒子刷入iStoreOS系统就算完成啦!

    7. 安装Nginx

    在iStoreOS首页的左侧菜单中点击【iStore】菜单,然后在【全部软件】中搜索【Nginx】进行安装,如图:

    image-20250814100152462

    点击安装后,会弹出安装日志控制台,安装完成后,右上角的【红色】关闭按钮会变成【绿色】,如下图:

    image-20250814100504209

    点击这个小绿点关闭即可。(如果控制台长时间没有跑日志,可以刷新页面看看)

    8. 部署2048小游戏

    8.1 项目介绍

    本部分适合对Nginx有一定了解的技术爱好者,教程会尽量详细说明每个步骤,让初学者也能顺利完成部署。

    8.2 获取项目源码

    项目地址: 2048中文版 – Gitee

    该项目基于GitHub上的开源项目进行二次开发,主要改进包括:

    • 主界面中文显示
    • 添加设置按钮
    • 保留原有英文界面
    • 支持中英文语言切换

    欢迎给项目点个Star支持!

    源项目地址为:

    • 2048原版 – GitHub

    下载下来后可以看到如图有一个2048小游戏的源码和一个ssh的连接工具finalshell:

    image-20250814103633353

    接着需要解压【finalshell】工具,解压后直接在解压目录中双击【finalshell.exe】程序即可打开它,打开后,如下图操作:

    image-20250814104319778

    填写信息如下(注意,盒子IP为你对应的IP):

    image-20250814104540757

    接着双击刚才创建好的快速连接:

    image-20250814104636693

    如提示安全警告,选择【接受并保存】即可,可以看到成功连接ssh进来:

    image-20250814104730170

    前面步骤已经在iStoreOS中安装了【Nginx】:

    image-20250814105017687

    在 iStoreOS(基于 OpenWrt)中,Nginx 的配置方式与传统 Linux 系统不同,主要通过 UCI(Unified Configuration Interface) 管理。

    接下来,需要在finalshell中执行如下命令,添加一个nginx的server块:

    uci add nginx server
    uci set nginx.@server[-1].server_name='_'
    uci set nginx.@server[-1].root='/www/2048'
    uci set nginx.@server[-1].listen='8080'
    uci add_list nginx.@server[-1].index='index.html'
    uci commit nginx
    /etc/init.d/nginx reload

    image-20250814115510871

    这些命令的步骤是:

  • 创建一个nginx server
  • 设置server_name为"_",通配符匹配所有域名
  • 设置2048小游戏的静态资源目录为 “/www/2048”
  • 设置nginx的监听端口为"8080"
  • 设置nginx的首页文件
  • 提交设置的nginx配置
  • 刷新nginx配置使其生效
  • 接下来,需要创建2048小游戏的静态资源目录,前面设置了路径为"/www/2048",所以也需要创建该位置,输入如下命令:

    mkdir -p /www/2048

    image-20250814131246788

    然后在finalshell中的路径栏输入创建好的路径:

    /www/2048

    image-20250814131529972

    接着打开电脑上的2048小游戏源码目录,把全面内容复制拖动到finalshell 该窗口位置:

    image-20250814131934721

    可以看到,文件成功上传上来了:

    image-20250814132129217

    由于前面设置的【Nginx】监听端口是8080,所以需要使用【盒子IP+8080端口】进行访问2048小游戏页面:

    image-20250814132323021

    到这里,nginx部署2048小游戏就完成啦!

    9. 内网穿透实现公网访问

    前面已经成功在N1盒子上部署了2048小游戏,但此时只能通过局域网访问。如果您希望让朋友或其他用户访问您的游戏,就需要解决内网IP无法外网访问的问题。使用内网穿透工具,将局域网IP穿透到公网,实现外网访问。相比云服务器,内网穿透操作更简单,且有免费版本可用。缺点是带宽相对较低,但对于小游戏应用完全够用。

    9.1 安装cpolar

    首先在finalshell中执行如下命令,下载公钥:

    wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

    image-20250814141530244

    下载完成以后,添加该公钥,以及添加cpolar的opkg仓库源:

    #添加公钥
    opkg-key add cpolar-public.key

    #添加cpolar的opkg仓库源
    echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)" >> /etc/opkg/customfeeds.conf

    image-20250814141712834

    接下来,更新仓库:

    opkg update

    image-20250814141751905

    安装cpolar内网穿透工具,执行如下3条命令:

    opkg install cpolar
    opkg install luci-app-cpolar
    opkg install luci-i18n-cpolar-zh-cn

    image-20250814142421034

    执行完成后,直接刷新iStoreOS首页,然后点击【服务】,展开即可看到Cpolar菜单:

    image-20250814142652651

    9.2 配置cpolar的http隧道

    点击【 打开Web-UI管理界面 】按钮,即可跳转至web ui的后台管理界面,如果还没有账号,也可以直接在该页面跳转注册页面注册账号:

    image-20250814142905090

    注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:

    image-20250814143058035

    选择【website】这条隧道,点击编辑进行查看:

    image-20250814143305555

    可以看到端口正好是8080,就不用额外创建隧道了,接下来直接点击【状态>在线隧道列表】查看公网访问地址:

    image-20250814143437099

    直接复制其中一个地址,浏览器访问测试,这里选择https:

    image-20250814143554104

    成功访问! 这样就可以直接拿着穿透好的公网地址给朋友访问了,访问速度较快,协议还支持https,体验良好。

    9.3 固定二级子域名(升级套餐可享)

    进入官网的预留页面:https://dashboard.cpolar.com/reserved

    image-20250818144529459

    列表中显示了一条已保留的二级子域名记录:

    • 地区:显示为China VIP。
    • 二级域名:显示为game2048。

    注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

    4.5.2 修改website隧道为子域名方式

    进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为website的隧道 image-20250815175406638

    点击编辑按钮进入编辑页面,修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮: image-20250818144805714

    4.5.3 访问子域名测试

    来到状态菜单下的在线隧道列表可以看到隧道名称为xyauto-8080的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

    image-20250818144822086

    这里以https协议做访问测试:

    image-20250818144934573

    访问成功!这样,一个固定不变的域名就设置好了!

    结语

    体验下来,我觉得 N1 最有意思的地方从来不是性能,而是可玩性。

    虽然它无法和现在的新款迷你主机相比,但对于部署静态网站、小游戏、个人导航页、文件服务甚至轻量级应用来说,依然完全够用。尤其是刷入 iStoreOS 之后,很多服务都能通过图形界面快速安装,大大降低了折腾门槛。

    而 Nginx 的加入,则让这台小设备真正具备了网站服务器的能力。从最简单的 2048 小游戏开始,后面无论是个人主页、相册还是各种静态项目,都能够轻松部署。

    再结合 cpolar 提供的公网访问能力后,这些原本只能在家里访问的内容,也能够直接分享给朋友或者在外网访问。对于很多喜欢折腾的人来说,这种从零搭建并成功访问的过程,本身就是最大的乐趣。

    这些年各种硬件更新换代越来越快。

    但有些设备真正有趣的地方,从来不是它值多少钱。

    而是你还能从它身上折腾出多少新玩法。 在这里插入图片描述

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 闲鱼50块都没人要的N1盒子,我把它改造成了一个能公网访问的网站服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!