N1刷iStoreOS:Nginx部署2048+公网访问教程(超详细图文)

01封面or材料准备

前言

欢迎您阅读本篇文章,这是一篇关于N1盒子系统刷机、服务器部署及内网穿透的详细技术教程。本教程涵盖了从N1盒子官方系统降级,然后刷入电视系统,或直接从官方系统降级刷入OpenWRT系统的完整流程(此部分将引用cpolar官方的技术教程文档链接和B站韩风Talk的视频教程作为参考)。

由于本教程使用的N1盒子已经从官方版本降级并刷入了CasaOS系统,因此无法提供原始官方版本降级的截图演示,需要您结合参考教程进行降级操作。主教程部分将详细演示从CasaOS系统刷至iStoreOS系统,再到iStoreOS系统安装Nginx,基于Nginx搭建2048小游戏网页,并实现内网穿透,实现公网访问以及设置固定域名的完整技术流程。

本文适合对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]:5555adb 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 必需硬件设备

  1. N1盒子 × 1(核心设备)
  2. 电源适配器 × 1(推荐12V/1A或12V/2A,支持5V/3A)
  3. 网线 × 1(千兆或百兆均可,N1盒子网口支持千兆,用于连接路由器)
  4. 计算机 × 1(推荐Windows系统,用于镜像烧录和网络配置)
  5. U盘 × 1(容量≥8GB,用于系统镜像烧录和启动)

2.2 软件工具和系统镜像

软件工具:

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

系统镜像:

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

资源下载:

image-20250813115028719

2.3 可选工具设备

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

3. N1盒子系统降级

3.1 降级操作的必要性

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

  1. 全新未刷机设备:设备仍运行官方Android系统,尚未进行任何系统修改
  2. 已恢复官方固件设备:使用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系统镜像

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

  1. U盘 插入靠近HDMI接口的 USB端口
  2. 网线 插入N1盒子的 LAN网口,另一端连接与计算机同一网络的 路由器LAN端口,确保设备在同一局域网内
  3. 最后接通 电源适配器,启动N1盒子,如下图所示:

🔹 重要: 这种顺序可以保证 Bootloader 在开机时正确识别 U 盘和网络,避免刷机或 ADB 连接失败。

image-20250813183747017

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

5.2 获取iStoreOS的局域网IP地址

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

image-20250813184112515

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

image-20250813184301592

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

  1. Win + R(快捷键),然后输入 cmd 回车
  2. 在命令提示符中输入【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有一定了解的技术爱好者,教程会尽量详细说明每个步骤,让初学者也能顺利完成部署。如果您想深入学习Nginx,推荐观看以下教程:

狂神说Java Nginx教程

8.2 获取项目源码

项目地址: 2048中文版 – Gitee

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

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

欢迎给项目点个Star支持!

源项目地址为:

如果有小伙伴不会用gitee也没有关系,可以在123云盘中下载即可:

123云盘永久链接:

下载下来后可以看到如图有一个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

这些命令的步骤是:

  1. 创建一个nginx server
  2. 设置server_name为”_”,通配符匹配所有域名
  3. 设置2048小游戏的静态资源目录为 “/www/2048”
  4. 设置nginx的监听端口为”8080″
  5. 设置nginx的首页文件
  6. 提交设置的nginx配置
  7. 刷新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

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

10. 故障排除与资源分享

10.1 救砖教程

如果您的N1盒子在刷机过程中出现问题,可以参考以下救砖教程:

这些教程涵盖了大部分常见问题的解决方案。如果您在救砖过程中遇到其他问题,欢迎在评论区询问,相信会有技术爱好者为您解答。

10.2 系统镜像资源

为了方便大家使用,本教程收集了一些常用的N1盒子系统镜像:

资源下载:

10.3 结语

本教程详细介绍了N1盒子从系统降级到iStoreOS部署,再到Nginx配置和公网穿透的完整流程。教程内容经过实际测试验证,每个步骤都配有详细截图和命令说明。最后,感谢您阅读本教程,希望它能帮助您成功完成N1盒子的系统部署!感谢您阅读本篇文章,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章