小米路由器安装filebrowser
Filebrowser在Window环境下编译打包到路由器
由于releases页面中的十多个包中,并没有mips平台的包,只能自己编译打包
对于 使用Go语言做开发的同学,这个问题很简单,可以咱不会GO怎么办,小白来一步步演示如何编译打包到自己的小米路由器
成功搭建自己的文件管理 + 私人网盘
1 首先,Window上需要安装环境
- 安装go 下载地址:https://go.dev/dl/go1.18.1.windows-amd64.msi
- 安装nodejs 下载地址:https://nodejs.org/dist/v16.14.2/node-v16.14.2-x64.msi
安装没什么好说的,下载之后直接点下一步下一步就安装好了
2 下载filebrowser源码,编译前端静态资源
源码地址:https://github.com/filebrowser/filebrowser
电脑有安装Git的话,直接clone。没有的话就下载zip
CMD窗口进入源码根目录
依次执行这三条命令
先编译前端资源,进入前端目录 cd frontend
安装依赖 npm ci
注意了 敲黑板了这里有一个坑 需要修改package.json的配置,因为Window下没有这个命令会报错。然后再执行 npm run build
等待一下,看到这个结果就证明前端资源打包好了(中间会出现警告 可以忽略)
3 配置对应平台编译配置
以我的路由器为例,查看系统信息,确定平台
1 | > uname -a |
注意啦,如果你也是用这款小米路由器,一定不要被这个 mips
平台迷惑了
mips存在两种架构,分别为大端和小端,其中mips代表大端方式;而mipsle代表小端方式,我的小米路由器使用的mips处理器是小端方式,如果我们使用mips则运行会出现如下错误:
1 | line 1: syntax error: unexpected "(" |
所以正确的平台应该是 mipsle
。
OK,确定了系统平台之后,我们开始设置GO的编译环境
回到filebrowser根目录,执行如下命令,设置环境
1 | SET GOOS=linux |
执行编译打包
1 | go build main.go |
等待片刻,会在目录下生成一个main文件(不带后缀名的)
4 上传到路由器,执行初始化并运行
改名为filebrowser
,放到/etc
目录下
1 | // 给予权限 |
1 | // 测试连接 |
游览器访问 路由器IP:端口就完成搭建了
遇到的问题,filebrowser的版本号显示异常,但是不影响使用
5 filebrowser开启https
1.首先获取自己域名的证书,这里以阿里云免费证书为例,选择下载证书后,得到一个压缩包,我们需要用到 .key
和 .pem
这两个文件。上传到路由器。
2.配置到filebrowser.db中,文件目录和名称记得替换成你们自己的。
1 | ./filebrowser -d filebrowser.db config set --key /etc/dollcode.key |
3.kill掉进程,重新执行启动命令。浏览器用域名访问,就需要加上https前缀了,http方式就打不开了(会提示Client sent an HTTP request to an HTTPS server.)