斐讯N1折腾记录(二)

最近我又买了一台N1,发现N1又升价了,现在都要120了,算上这次我总共买了3台N1了,总结下之前两台N1,一台一直是刷了OpenWrt做旁路由,功耗确实是低,也很稳定,连开一个月轻轻松松的,但是N1的CPU毕竟是ARM架构,可以刷OpenWrt的版本也不是很多,所以最后我还是换成了CPU是X86的的机子,最近在咸鱼上买了块J3160的板子,还在路上,到时候折腾一下。同样测试网络速度对比,X86确实比ARM更快。还有一台一直做电视盒子,做盒子真的非常好用。

刷入小钢炮(NDM)系统

其实之前我对小钢炮还不是很了解,还以为它单纯就是拿来PT下载用,实际上小钢炮系统非常强大,甚至我认为N1最适合玩的就是小钢炮了,如果刷了小钢炮,完全不用再安装OpenWrt了,因为可以通过Docker来安装OpenWrt,另外还可以通过Frp做内网穿透。

下载地址:http://rom.nanodm.net/N1/
官网:http://nanodm.net
N1 PT下载小钢炮固件安装说明:http://rom.nanodm.net/N1/n1-fw-install-guide.md

先去上面的下载地址下载小钢炮系统,文件大小为149.5MB,记得解压出来,然后通过USB Image Tool工具把镜像写入到U盘中。

如果是新的N1,还要去降级,降级之后,刷Webpad系统,然后通过ADB连接盒子,不知道IP地址的话,可以去路由器后台查看,N1的网卡地址是FC开头的,然后把U盘插到N1的USB口上,设置U盘启动,可以参考我上一篇关于N1的文章

这时候N1会重启到U盘里的小钢炮系统,路由器如果开启DHCP,IP可能会有变化,此时可以去路由器后台看看IP地址,然后通过IP地址就可以访问小钢炮系统了。

小钢炮写入EMMC的方法

方法很简单,打开ip:8086,通过端口访问会进入【FIRMWARE AUTO INSTALL TOOL】,然后点击【Start Install】,会自动写入到N1的EMMC里。

看到下面这句话就成功了。

设置Frp内网穿透

frp中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md
下载地址:https://github.com/fatedier/frp/releases

frp需要在客户端(frpc)和服务端(frps)都配置好才能使用,先在一台VPS上下载frp文件,如果CPU是X86_64,就选amd64那个文件,由于小钢炮已经集成了frp客户端,所以N1上不需要再下载frp文件了。先通过SSH连接到服务器上,输入下面命令:

#下载frp文件
wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz
#解压缩
tar -zxvf frp_0.30.0_linux_amd64.tar.gz
#进入文件夹
cd frp_0.30.0_linux_amd64
#编辑配置文件
vi frps.ini

配置文件具体参数含义可以参考frp中文文档,比如这样:

[common] 
bind_port = 7000 
dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin 
vhost_http_port = 80 
vhost_https_port = 443 
token = 123456 
subdomain_host = frp.yourdomain.com

设置完按ESC键,输入:wq保存退出,然后输入以下命令运行frp:

./frps -c ./frps.ini

看到出现start frps success表示配置成功,如果想一直保持后台运行,可以先Ctrl+C终止前台服务,输入下面命令:

nohup ./frps -c frps.ini >/dev/null 2>&1 &

停止进程的方法是:

#找到这个进程的序号
ps -aux|grep frp| grep -v grep
#终止进程
kill -9 进程序号

然后在小钢炮系统里点击【Apps】里面的【FRP】选项,根据服务端的配置信息,填写【Common】里的内容:

然后填写【Proxies】里的内容:

参考上面图片的设置,基本可以实现内网穿透,如果是域名访问的话,还要在域名商那里解析域名和子域名到服务器的IP地址,如果服务器有防火墙,最好放行相关端口或关闭防火墙。

如果觉得麻烦,目前也有很多免费的FRP内网穿透服务,也很好用,比如:https://freenat.ml/,使用它提供的免费frp服务,自定义一个子域名就可以了,上面也有详细说明。

小钢炮使用Docker

小钢炮使用Docker要在【System】的【Startup】里启动Docker,如下图:

然后点击【Apps】-【Other】-【Docker Settings】,点击【Install or Re-Install Docker UI】,会自动安装,安装完成后,点击【Docker UI】启动。

默认是9000端口,所以输入ip:9000,设置用户名和密码,选择【Local】。

举两个例子,安装OpenWrt和Miniflux,都需要通过SSH输入IP地址登录小钢炮,然后输入下面几条命令:

安装OpenWrt:

docker pull kanshudj/n1-openwrtgateway:r9
ip link set eth0 promisc on
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet (将这里IP地址的第三个数字1改成你的路由器网段的数字。)
docker run --restart always -d --network macnet --privileged kanshudj/n1-openwrtgateway:r9 /sbin/init

进入Docker管理界面,点击【Local】-【Containers】,然后点击下图箭头所指的命令行工具。

输入下面命令,根据自己网络修改OpenWrt的网络配置文件:

vi /etc/config/network

安装Miniflux:

在N1小钢炮上运行Docker版的Miniflux有些问题,首先是没有https支持导致很多RSS无法订阅,另外版本不是最新的,安装方法和上面OpenWrt基本差不多。

docker run -d \
  --name miniflux \
  --restart=always \
  -p 8080:8080 \
  -v /docker/postgresql/data:/miniflux/postgresql/data \
  lstcml/n1_miniflux

建议最好在VPS上Docker安装Miniflux,配合Caddy,绑定域名和Https支持。

小钢炮刷回Webpad

有的N1小钢炮是不能直接通过USB_Burning_Tool刷回Webpad,由于不是安卓系统,也不能通过adb进入线刷模式,网上有通过拆机短接的方法,但要拆机,其实可以通过先刷入CoreELEC至EMMC,然后就可以使用USB_Burning_Tool刷回Webpad了。

刷入Armbian

其实刷Armbian的方法上一篇文章有说到,这里主要以5.77为例,把Armbian的镜像文件写入U盘后,更改uEnv.ini文件里面的内容,如若不修改,N1将没有有线:

dtb_name=/dtb/meson-gxl-s905x-khadas-vim.dtb
修改为:dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb

还有就是替换掉/dtb/meson-gxl-s905d-phicomm-n1.dtb文件,替换文件可以去这里下载,不替换dtb文件,负载很高。

也可以选择不写入EMMC,直接U盘运行问题也不大,个人觉得N1使用Armbian,性能上还是差点,所以玩的不多。

刷入CoreELEC

CoreELEC的红色主题界面是真好看,刷入CoreELEC的方法更简单,也是要把相应的固件写到U盘,然后参考这篇文章,通过SSH登陆N1,通过下面命令写入EMMC中:

installtointernal

升级文件使用的话,就是先把升级文件传到N1的EMMC中,在这个文件的目录下执行下面命令:

sh CoreELEC_N1-9.2.0_update.sh

CoreELEC貌似不能直接添加Samba,如果是群晖的话,可以使用NFS协议访问,在群晖DSM上【控制面板】-【文件服务】里开启NFS协议。

在群晖DSM的【控制面板】-【共享文件夹】编辑你需要共享的文件夹的NFS权限。

记得把语言和字符集改成简体中文,时区国家改成中国,时间就会正常的了,分辨率也要改成1920x1080p。

总结

得益于很多大神无私的分享,N1拥有了很多玩法,感觉玩N1也是一个学习的过程,看了很多大神的帖子,慢慢一步步的跟着做基本就可以了。

更新:2020.1.11

53 条评论
  1. 朝林

    用啥刮削的影片信息呢?我用的一些基本上找不到中文,有还是繁体的。

    朝林 27天前   Android 11  Google Chrome 87.0.4280.141 回复
    1. 山小炮
      @朝林

      我是用tinyMediaManager,手动刮削,支持中文的。

      山小炮 26天前   Windows 10 x64 Edition  Google Chrome 72.0.3626.121 回复
      1. 朝林
        @山小炮

        现在遇到一个让我头大的事,我把CoreELEC刷入n1内存后,一旦U盘外挂小钢炮,就会导致CoreELEC丢失无法启动。

        朝林 26天前   Windows 10 x64 Edition  Google Chrome 91.0.4472.124 回复
        1. 山小炮
          @朝林

          我所知这种所谓的双系统,一般EMMC是webpad,也就是安卓,U盘可以是Openwrt、小钢炮、CoreELEC之类的linux系统。

          山小炮 26天前   Windows 7 x64 Edition  Google Chrome 86.0.4240.198 回复
          1. 朝林
            @山小炮

            我感觉也不全是这样,后来我索性把小钢炮刷到emmc,然后现在U盘挂个CoreELEC和一个游戏模拟器,倒也没出现问题。只是我试了下你说的刷了小钢炮后再刷CoreELEC回退安卓的方法,嗯,刷了CoreELEC并没有成功启动,盒子也没有了任何反应,ip也看不到了。因为我没有安卓系统,也没有接着试能不能继续刷安卓。

            朝林 25天前   Android 11  Google Chrome 87.0.4280.141 回复
            1. 山小炮
              @朝林

              这个方法我试过很多次的,主要是针对小钢炮刷不回webpad问题。你没有webpad吗?N1刷机是离不开webpad的,也是安卓系统呀。

              山小炮 25天前   Android 11  Google Chrome 90.0.4430.210 回复
              1. 朝林
                @山小炮

                待会去找一个试试。 另外更正下,小钢炮在和别的系统和平相处一天多后也gg了,果然是没法共存。

                朝林 24天前   Android 11  Google Chrome 87.0.4280.141 回复
发表评论
* 号为必填项