可能是一个太长不看的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”:5555
,
adb 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/busybox
,
chmod 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 &
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
设为
plain
,
auth.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”下载的电影、电视。关于设置什么的网上有很多教程,这里讲一下使用中的几个问题。
Smart YouTube TV
第三方Youtube客户端 ,不需要谷歌全家桶,功能完整无广告,第一次启动会让你选择版本,包括1080 Main
、
1080 Alt
、
4K Main
、
4K 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还不如手机投屏(ノ`Д)ノ。不过万能的网友找到了
旧版本安装包
,所有视频都可以播放,而且有弹幕可以看。
)
)
乐播投屏
YYF固件已经自带了,投屏还是不错的,没有明显的画质下降,只是 有广告 。 Airplay会卡顿 尽量还是用DLNA(视频app里面的应该是这个)吧。另外投屏过程据说会产生 大量缓存 ,清理还比较麻烦。
遥控器
N1的遥控器选择很多,从App到蓝牙遥控到无线飞鼠,五花八门。
斐讯遥控器App
官方出品的遥控App,有按键滑动几种模式,还能截图保存,就是每次都要用手机有点麻烦。
T1遥控器
T1盒子带的遥控,完美开关N1,还可以使用语音控制。价格较贵,外观较丑,听说手感不错,价格在35以上。
其他品牌蓝牙遥控器
如果有限制的盒子遥控器可以用一下,几乎都是通用的,一般通过加入按键文件也都能成功控制。不过此类遥控通常不能开机,电源按钮也可能变成重启而不是关机。另一个问题就是像小米这种品牌的遥控手感做工都比较好,但是单买价格贵,而山寨遥控手感和做工不尽如人意。
2.4G无线遥控
和无线鼠标差不多,需要接收器。无线飞鼠、YYF店里卖的无线遥控都属于这一类,弊端和蓝牙的差不多,没办法开机,据说延迟也比较严重。
红外遥控
需要插个接收器,YYF店里也有卖,因为用USB,应该也是没法开机的,好像也没什么非要用红外的理由…
HDMI CEC
N1默认开启这个功能,这个东西再各个品牌电视上名字可能不一样,但本质是一样的,都是 通过HDMI控制设备 ,这样就可以用电视机遥控器去控制N1了。在家里的松下电视机上试了一下是可以的,上下左右、返回、确认及数字键都能正常使用,只是少了个菜单键。然而当我再接一个电视机顶盒就不能使用了,坑!每次开电视机需要把另一个HDMI线拔了才能开启这个功能。还是要另搞一个遥控器。
最终选择
最后看见论坛有人提到小熊的
Verizon遥控
(网搜青州小熊有真相),做工手感都极佳只要15/16块,算上运费就是22/23,就买了这个。
实际体验感觉不错,播放控制的几个按钮也是可以使用的,最下面的按钮是主页键。唯一缺点就是不能开机还有就是不知道
蓝牙一直连着会不会有点费电
,发现一段时间不用第一次按键会先激活,可能有省电效果。
功耗和发热
N1功耗据说是很低的,正好之前买了测功耗的插座,用来看一下。
这个功耗应该可以说是很低了,看了家里的有线电视盒子基本在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