我也买了个N1盒子...

目录

可能是一个太长不看的N1折腾记录,部分内容冗杂,请选择性阅读…

(本文已转载至 张大妈

N1本质是某讯理财公司推出的提供一定家庭存储功能的 挖矿产品 ,本质上是Android盒子。由于配置强大,最终在大神破解了Bootloader后,通过刷机实现了各种功能。
网上有关这个盒子文章已是铺天盖地,除了 电视盒子 ,还能充当 游戏机NAS路由 或是一个“纯粹”的 Linux系统 ,各种固件也是非常成熟,不断涨价依旧是 300以内最强

购买

理财系产品已经长期被首富家和东哥家屏蔽,目前可以通过 某多多进行购买 。全新未拆大概在120多,带T1遥控的+40左右,当时嫌麻烦买了刷好的,看成色果然是二手矿机( ̄▽ ̄),没有特殊需求的话还是买全新的好了,刷机也没有多困难。

另外某讯官网也开始卖全新P1+遥控器, 只要110多 (现在只有五台一起卖的),其实是用了新固件的N1,刷机方法不太一样,会折腾的也可以买这个试试。

刷机

N1的固件大体分为两大类:一类是“webpad”、“YYF”等 电视盒子类固件 ,都是官改Android,可以直接刷入eMMC;第二类是基于 Linux 的“小钢炮”、“Armbian”、“OpenWrt”、“LibreELEC”,似乎只能用U盘引导。

N1刷机主要分为 降级 + 刷机 两个步骤,需要的硬件有 USB双公头线 (写入固件用)、 鼠标 (点击屏幕用)、 Windows PC或平板 (平板用数据线即可)`。由于我买的是已刷固件的,再次刷机就不需要降级步骤了,着重说一下怎么刷新的固件,有关降级操作可以看 这篇

  • 自带固件是YYF语音版,没有下载功能,于是我去官网下了个无语音下载版,解压得到 .img 文件。

  • 下载安装“USB_Burning_Tool”,它会自动安装USB驱动,不过看网上的说法好像还需要在设备管理器添加过时驱动,选择 操作 - 添加过失硬件 - 从列表选择 - libusb-win32-Usb Device

  • Adb环境,从 谷歌官方 下载“platform-tools”即可。

  • 网线连接N1和路由器,USB双工头线连接N1和电脑,打开USB_Burning_Tool,加载刷机包, 去掉“擦除FLASH”和“擦除Bootloader”前面的√ ,点击开始。

  • ADB连接N1, adb connect “N1的IP”:5555adb shell reboot update 进入线刷模式,N1重启后,USB_Burning_Tool会自动开始写入。

  • 如果没有变化,可能是N1和电脑没有连接识别,听说要用2.0的线,我的比较奇葩,接了个USB延长线才识别出来...

  • 固件问题

  • 在Kodi中查看系统信息,发现 温度总是在60多度 ,CPU的一个核心总是100%,在 恩山 看到别人也有这样的问题,原来是一个蓝牙语音服务“BluetoothLeService`,通过ES浏览器删除文件就好了。

  • 下载版的YYF固件自带了好多东西,SSH登录后发现好像就是个Linux(Optware),就是装啥啥没有,好吧问题不大,一通操作关闭了“Xware” 、“Aria2”等不想用的功能,然而还是有残留...

  • 自带的Web管理就是“Lighttpd” + “PHP”,索性把PHP删了后,用Lighttpd的dir-listing来浏览文件,还能添加CSS和JS优化一下界面,到添加JS的时候发现版本太老,而Optware也没有新版本,索性重新刷个纯净固件,装上更新的Entware。

  • Entware

    Entware大概就是一个给嵌入式设备提供的 Linux软件环境 ,通过它的软件源,可以方便的安装一众适配好的软件。

    安装

    重新刷了个"YYF无语音实用版(421)“固件,看日志已解决了CPU占用的问题,固件自带了dropbear,也就是可以直接SSH登陆操作,默认 root:rush ,端口 2223

    安装Entware照理是按照官方教程一步步操作就可以了,但是这里面有一个坑就是“wget”无法正常使用,下面就开始抄作业。

  • SSH登陆后进行一些准备工作:
    /system/bin/mount -o rw,remount /
    mkdir /opt
    mkdir /bin
    ln -s /system/bin/sh /bin/sh
    /system/bin/mount -o ro,remount /
    mkdir /data/entware.arm
    mount -o bind /data/entware.arm /opt

  • 接下来需要下载安装脚本进行安装,wget无法使用的问题可以替换“busybox”, 原帖 ,因为没有账号下不了,直接去busybox官网下载 二进制文件 也是可以用的。 mount -o remount,rw /system/system 分区支持写入,将下载的二进制文件覆盖到 /system/xbin/busyboxchmod 0755 /system/xbin/busybox 修改权限为755。

  • 下载并执行安装脚本 wget -O - http://bin.entware.net/armv7sf-k3.2/installer/alternative.sh | sh ,提示增加环境变量(程序执行路径),修改 .profile ,在 PATH 中新增路径,完成后如下

  • export PATH
    PATH=/system/bin:/system/xbin:/opt/bin:/opt/sbin/
    

    4.软链接到DNS解析的文件 ln -s /system/etc/resolv.conf /opt/etc/resolv.conf

    5.创建开机初始化的脚本,新建 /data/entware.arm/init.sh ,内容如下

    #!/system/bin/sh
    unset LD_PRELOAD
    unset LD_LIBRARY_PATH
    sleep 3
    /system/bin/mount -o rw,remount /
    sleep 1
    /system/bin/chmod 0777 /data/entware.arm
    /system/bin/mkdir /opt
    /system/bin/mkdir /bin
    ln -s /system/bin/sh /bin/sh
    /system/bin/mount -o ro,remount /
    sleep 3
    /system/bin/mount -o bind /data/entware.arm /opt
    /system/bin/mount -o bind /data/entware.arm/root /system/etc/dropbear
    sleep 2
    /opt/etc/init.d/rc.unslung start
    

    编辑 /system/bin/lazy-start.sh ,在exit 0 前加入

    sleep 1
    /data/entware.arm/init.sh &
    
  • 此时Entware就安装完成了,重启N1就可以SSH登录安装需要的软件包了。
  • Lighttpd

    用来做一个HTTP的目录浏览,以及WebDAV方便各个设备使用。
    opkg install lighttpd
    安装完成后,编辑 /opt/etc/lighttpd/lighttpd.conf ,增加 dir-listing 的配置,不用样式和脚本的可以注释掉,默认目录在 /opt/share/www

    
    dir-listing.encoding        = "utf-8"
    server.dir-listing          = "enable"
    dir-listing.external-css    = "/dir.css"
    dir-listing.external-js     = "/dir.js"
    

    安装WebDAV模块 opkg install lighttpd-mod-webdav ,编辑 /opt/etc/lighttpd/conf.d/30-webdav.conf ,默认有个模板了,主要是修改目录,我这里是用的 share 目录, webdav.sqlite-db-name 是数据库文件路径,有需要也可以修改。

    $HTTP["url"] =~ "^/share($|/)" {
      ##
      ## enable webdav for this location
      ##
      webdav.activate = "enable"
    
      ##
      ## By default the webdav url is writable.
      ## Uncomment the following line if you want to make it readonly.
      ##
      webdav.is-readonly = "disable"
    
      ##
      ## Log the XML Request bodies for debugging
      ##
      #webdav.log-xml = "disable"
    
      ##
      ##
     webdav.sqlite-db-name = "/opt/share/www/share/.lighttpd-webdav.db"
    

    配置用户认证,如果要开放到外网的话,最好还是加上。新增一用户文件 /opt/etc/lighttpd/lighttpd.user ,每行一个账号密码,用”:“分隔。接着编辑 /opt/etc/lighttpd/conf.d/20-auth.conf ,将 auth.backend 设为 plainauth.backend.plain.userfile 指向刚才新建的用户文件,设置目录等信息。

    auth.backend                 = "plain"
    auth.backend.plain.userfile  = "/opt/etc/lighttpd/lighttpd.user"
    #auth.backend.plain.groupfile = "/etc/lighttpd/lighttpd.group"
    
    #auth.backend.ldap.hostname = "localhost"
    #auth.backend.ldap.base-dn  = "dc=my-domain,dc=com"
    #auth.backend.ldap.filter   = "(uid=$)"
    
    auth.require               = ( "/share" =>
                                   (
                                     "method"  => "basic",
                                     "realm"   => "please enter password",
                                     "require" => "valid-user"
                                   ),
                                 )
    
    /opt/etc/init.d/S80lighttpd restart 重启服务。

    Transmission

    安装 opkg install transmission ,修改配置文件 /opt/etc/transmission/settings.json ,配置参数解释可以参考 这里 ,我主要是下PT,对于PT来说一般关闭DHT就可以了。

    替换WebUI,默认的Web界面(9091端口)太过简单,使用 transmission-web-control 进行替换,下载release里面的包,用src里面的文件覆盖到 /opt/share/transmission/web/ ,移动端还是老的UI。其实也可以使用 transgui 这样的本地软件来远程管理。

    transmission-web-control的作者的另一个项目 PT助手 提供 更好的搜索和下载体验 ,通过配置好transmission RPC服务地址,可以在搜索资源后一键远程下载。

    如果遇到PT站“可连接”显示否的,可以在路由器上手动 映射51413端口

    刚发现有个问题,下载的时候有一定概率使Tansmission变卡,页面打开很慢,看了下可能是ntfs-3g性能问题,如果硬盘用Ext4格式可能会有所改善吧(好像不会自动挂载)。有个更奇怪的影响是,Android下各种app都会播放不了视频,即使停止了transmission也不行,必须重启N1才能恢复正常…

    Shadowsocks+Privoxy

    开始只是想在电视上看Youtube,试了多个上网APP发现都不行,可能是系统阉割了什么东西,只能 曲线救国

    Android WiFi设置那里可以使用自动代理(pac),这样只要跑 个“ss-local”再生成个pac就好了,然而我用的有线连接没有这种操作。在网上找到Android有个命令可以 设置全局http代理 ,于是想到了用 Privoxy转换Socks5代理及分流

    安装 opkg install privoxy shadowsocks-libev-loacl 。修改 /opt/etc/shadowsocks.json 配置shadowsocks服务器,这里不作详细说明。

    使用 gfwlist2privoxy 将gfwlist转换为Privoxy的规则(需要一个能跑python的机器)。
    pip install –user gfwlist2privoxy
    wget https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
    ~/.local/bin/gfwlist2privoxy -i gfwlist.txt -f gfwlist.action -p 127.0.0.1:1080 -t socks5
    将生成的 gfwlist.action 拷贝到 /opt/etc/privoxy/ ,修改 /etc/privoxy/config ,加上一条

    
    actionsfile gfwlist.action
    
    /opt/etc/init.d/S24Privoxy restart 重启生效,接着执行 settings put global http_proxy 127.0.0.1:8118 设置全局代理。

    要开机自动设置代理可以编辑 /opt/init.sh 这个初始化脚本,把上面那条命令加在最后。

    Frp Server

    用来中转Mtproxy,直接从Github下载二进制包解压执行,要开机自起可以参照 /opt/etc/init.d/ 内的启动脚本,主要是两个参数 PROCS :命令名称, ARGS :执行参数(需要把二进制程序放 /opt/bin/ 下),关于启动脚本的命名,“S”后面的数字是启动顺序,一般选择靠后的没有被用掉就可以了。

    Caddy

    最后把Lighttpd换成了更好用的"Caddy”,最直接的好处是browse 文件浏览体验 比原来好很多,加上 TLS、WebDAV、反代 一条龙服务,配置起来很方便,就是开始用会碰到了几个坑。

    坑一是由于不能80端口,申请证书要用dnspod插件,需要设置密钥的环境变量,目前还没发现Entware怎么在启动脚本里加上环境变量,只能在shell里面手动启动;坑二是域名设置了cname会导致证书申请失败,折腾了好久改成A记录就好了;坑三是browse不支持软链接,只能把子路径另开一个server;坑四是WebDAV不能和browser同一Web路径,会返回xml,另外WebDAV不能另开server,在某些客户端会405。

    其它

    Entware还有许多实用软件包可以安装,也可以看做一个Linux机器使用,自己下载一些二进制包用,或是跑跑Python、Node之类的。不过它始终不是一个完整的Linux,比如用来编译估计比较困难,可能缺少某些依赖。

    Android App

    Kodi

    看片必备,主要用来播放“transmission”下载的电影、电视。关于设置什么的网上有很多教程,这里讲一下使用中的几个问题。

  • 削刮器:中文削刮器插件似乎都失效了,自带的削刮器也还行,不过要 注意命名方式 ,我是每个下载新建一个目录,用豆瓣上的名字命名,削刮器设置电影在独立文件夹中。这个方法在老电影和剧集上不太适用。 剧集使用纯外文命名 好像比较容易挂出来,老电影还是自己扫描一下。
  • 电视播放:需安装“PVR IPTV simple client”,节目源是很容易实效的东西,据说可以 替代运营商的盒子来播放IPTV ,由于我没有IPTV(准备有线电视到期了搞一个),没有实际操作过,可以参考 这篇文章 章节3.3。
  • miniBD播放问题:播放miniBD暂停退出后再次播放会卡,且声道无法修改,不清楚是不是个例。
  • kodi-0
    kodi-1

    Smart YouTube TV

    第三方Youtube客户端 ,不需要谷歌全家桶,功能完整无广告,第一次启动会让你选择版本,包括 1080 Main1080 Alt4K Main4K Alt ,官网的说明是“They may have different performance depending on the device. Try launchers one by one until you find best one. ” emmm...我选了1080 Main 感觉播放有点卡,可能是 没有硬解 。试了Alt版本需要安装一个额外的app,直接下还不行,之后再研究看看。

    关于科学上网参考Entware章节中的"Shadowsocks+Privoxy"。

    Bilibili TV

    Bilibili电视版没有弹幕,一部分视频还看不了(不知道是什么操作),说实话用这个App还不如手机投屏(ノ`Д)ノ。不过万能的网友找到了 旧版本安装包 ,所有视频都可以播放,而且有弹幕可以看。
    bilibili-0 )
    bilibili-1 )

    乐播投屏

    YYF固件已经自带了,投屏还是不错的,没有明显的画质下降,只是 有广告Airplay会卡顿 尽量还是用DLNA(视频app里面的应该是这个)吧。另外投屏过程据说会产生 大量缓存 ,清理还比较麻烦。

    遥控器

    N1的遥控器选择很多,从App到蓝牙遥控到无线飞鼠,五花八门。

    斐讯遥控器App

    官方出品的遥控App,有按键滑动几种模式,还能截图保存,就是每次都要用手机有点麻烦。
    feixun-app-0

    T1遥控器

    T1盒子带的遥控,完美开关N1,还可以使用语音控制。价格较贵,外观较丑,听说手感不错,价格在35以上。

    其他品牌蓝牙遥控器

    如果有限制的盒子遥控器可以用一下,几乎都是通用的,一般通过加入按键文件也都能成功控制。不过此类遥控通常不能开机,电源按钮也可能变成重启而不是关机。另一个问题就是像小米这种品牌的遥控手感做工都比较好,但是单买价格贵,而山寨遥控手感和做工不尽如人意。

    2.4G无线遥控

    和无线鼠标差不多,需要接收器。无线飞鼠、YYF店里卖的无线遥控都属于这一类,弊端和蓝牙的差不多,没办法开机,据说延迟也比较严重。

    红外遥控

    需要插个接收器,YYF店里也有卖,因为用USB,应该也是没法开机的,好像也没什么非要用红外的理由…

    HDMI CEC

    N1默认开启这个功能,这个东西再各个品牌电视上名字可能不一样,但本质是一样的,都是 通过HDMI控制设备 ,这样就可以用电视机遥控器去控制N1了。在家里的松下电视机上试了一下是可以的,上下左右、返回、确认及数字键都能正常使用,只是少了个菜单键。然而当我再接一个电视机顶盒就不能使用了,坑!每次开电视机需要把另一个HDMI线拔了才能开启这个功能。还是要另搞一个遥控器。

    最终选择

    最后看见论坛有人提到小熊的 Verizon遥控 (网搜青州小熊有真相),做工手感都极佳只要15/16块,算上运费就是22/23,就买了这个。
    verizon-0

    实际体验感觉不错,播放控制的几个按钮也是可以使用的,最下面的按钮是主页键。唯一缺点就是不能开机还有就是不知道 蓝牙一直连着会不会有点费电 ,发现一段时间不用第一次按键会先激活,可能有省电效果。

    功耗和发热

    N1功耗据说是很低的,正好之前买了测功耗的插座,用来看一下。

  • 空闲:功耗3.2-3.5W
  • Kodi播放1080P视频:4.6-5.3W
  • Bilibili:5.5-5.8W
  • Youtube:5.9-6.3W
  • 这个功耗应该可以说是很低了,看了家里的有线电视盒子基本在15W以上。。。

    N1发热比T1好很多,在室温29度情况下待机48度,播放视频在68-72度,感觉还是有点热。买了一个 USB小散热风扇 ,温度直降10度。就是声音有点大,接个电阻或二极管应该能改善,目前用WIFI插座跑个脚本根据温度自动开关。

    总结

    作为一个一百多价位的盒子硬件不落后,可玩性高,可以说是垃圾佬必备了。

    参考

    https://post.smzdm.com/p/aoo6q09n/
    https://pockies.github.io/2019/03/07/phicomm-n1/
    https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=669258
    http://www.iwil.club/90.html
    https://www.right.com.cn/forum/thread-323838-1-1.html
    https://blog.whsir.com/post-1182.html

    Taosky