软件名为CuteHttpFileServer ,官方简称 chfs。
- 官网:http://iscute.cn/chfs
- GitHub:GitHub - docblue/chfsgui: This is just a GUI WRAPPER for chfs(cute http file server)
原来论坛里也有人推荐过,不过没什么介绍,没人重视。在这里重新介绍一下,以小米路由为例子,并附上一些常见的配置、用法、说明。
开源的,LGPL v3协议,不过看起来源码已经比较旧,官网的版本比较新,而且隔三差五还会更新。建议用官网的。
这是一个跨平台的、开源、使用简单、支持http、webdav的文件服务器。
c++ 写的,只要知道设备的 CPU 类型,到官网上下载对应的编译二进制文件,就可以直接运行。所以不仅仅传统的 windows、完整的 linux 发行版、mac 能运行,像软路由、nas 一类精简、魔改的linux应该问题都不大。
- 准备
我这里用小米路由为例子。型号是小米路由 R1D。
先刷成开发板。然后申请开 ssh。
- 下载
找个位置,创建个chfs目录,我这里用/etc/chfs。
电脑、服务器的根据系统选择版本。如果是路由器,例如很多是魔改openwrt就属于精简linux,根据cpu选对应版本,多数是arm、mips。
小米路由R1D就选 chfs-linux-arm-2.0.zip
使用命令 wget http://iscute.cn/tar/chfs/2.0/chfs-linux-arm-2.0.zip
- 配置
下完压缩包,命令解压unzip chfs-linux-arm-2.0.zip
得到 chfs 文件
删除下载的压缩包,已经没有必要留着 rm chfs-linux-arm-2.0.zip
编写配置文件 vi /etc/chfs/config.ini
按 i,是编辑模式。
输入以下内容,注意自己替换一下用户名密码
port=81
path=/userdisk/data/
rule=::|用户名:密码:d
log=/etc/chfs/logs
html.title=miroute
html.notice=miroute
image.preview=true
ssl.cert=
ssl.key=
allow=
小白就改一下用户名密码。老司机的可以看一下参数解释。
port 是端口。
path 是路径,/ 也是可以的,不过不太安全。
rule 是用户权限与目录,比较复杂,详细看官网,我只简单说。| 是分割每一条规则,:是分割参数,第一个参数用户名,第二个参数密码,第三个参数是根目录权限。一二参数空就是匿名用户。权限有4种,“”(不可访问),“R”(只读),“W”(读写),“D”(写+删除)。第四、五参数,是子目录和对应权限。
log 就是日志文件位置。
html.title 是浏览器标签页上的标题。
html.notice 是网页上第一行描述文字。
image.preview 是开启图片预览功能。
allow 是控制ip黑白名单,具体看官网。
ssl.cert 和 ssl.key 是开 https 用的。
保存:按 esc 退出编辑模式,输入:wq 保存并退出。
给 chfs 授权,chmod -R 755 chfs
这时候我们可以手动运行一下,测试:
nohup /etc/chfs/chfs --file=/etc/chfs/config.ini &
正常情况下会显示这样的文字
浏览器输入路由ip和端口就能打开网页操作文件
- 开机启动
进入开机脚本的目录:cd /etc/init.d
创建文件 chfs:vi chfs
输入以下内容:
#!/bin/sh /etc/rc.common
START=99
start() {
/etc/chfs/chfs --file=/etc/chfs/config.ini
}
stop() {
echo 233 >>/userdisk/data/log
}
保存退出
给脚本授权: chmod -R 777 chfs
到目录 cd /etc/rc.d
建立启动软链接 ln -s /etc/init.d/chfs /etc/rc.d/S99chfs
重启路由,测试是否正常开机自启动。
- 其他
windows建议可以用raiddrive做客户端,支持协议多,免费还没什么限制。
Android建议可以用es文件浏览器做客户端,但是设置有点奇葩,webdav协议竟然藏在ftp分类里。播放器建议可以用nplayer。
电视可以用kodi和nplayer。
如果家里宽带能申请到公网地址,可以做个ddns,然后在外面也能访问到路由的文件。