阿里云限量代金券 | 此广告位出租25元/月 |
CuteHttpFileServer/chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:
单个文件,核心功能无需其他文件
跨平台运行,支持主流平台:Windows,Linux和Mac
界面简洁,简单易用
支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
支持账户权限控制和地址过滤
支持快速分享文字片段
支持webdav协议
与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷,是自建个人网盘的一个不错的选择,博士之前有介绍过同类的网盘程序https://diannaobos.com/post/828.html 它们各有有点,感兴趣的同学可以研究一下,本篇主要介绍chfs在linux和windows下的使用教程。
chfs下载地址http://iscute.cn/chfs
由于官网下载速度太慢只有100KB/s左右,本站高速下载地址:https://file.kskxs.com/?dir=linux/chfs
chfs在CentOS7下的使用方法
yum install unzip -y
解压unzip chfs-linux-amd64-2.0.zip -d chfs
赋予权限chmod +x chfs
编写配置文件config.ini
port=989 path=/root/chfs/dav rule=::|admin:123456:d log=/root/chfs/logs html.title=diannaobos html.notice=diannaobos 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 用的。
官方关于配置文件的更多详情http://iscute.cn/asset/chfs.ini
linux版运行命令
进入chfs所在目录,执行下面命令
chfs --file=config.ini
开机启动
chmod +x /etc/rc.d/rc.local
将启动命令加入rc.local结尾
nohup /root/chfs/chfs --file=/root/chfs/config.ini &
chfs在windows下的使用方法
下载windows版程序并解压
编写配置文件config.ini
port=989 path=C:\Users\Administrator\Documents\chfs\dav rule=::|admin:123456:d log=C:\Users\Administrator\Documents\chfs\logs html.title=diannaobos html.notice=diannaobos 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 用的。
官方关于配置文件的更多详情http://iscute.cn/asset/chfs.ini
windows版运行命令
cmd进入到chfs存放的目录,运行下面命令
chfs.exe --file=config.ini
windows挂载webdav网络硬盘的方法
打开此电脑,在空白区域鼠标点击右键,添加一个网络位置,下一步,选择自定义网络位置,下一步,在internet地址或网络地址里填入webdav服务器地址,下一步,输入用户名和密码,点击确定,输入网络位置名称,下一步,完成,如下图
如果提示:输入的文件夹似乎无效。
这种错误,原因如下
从Windows Vista起,微软就禁用了http形式的基本WebDAV验证形式(KB841215),必须使用https连接,所以在Windows Vista/7/8/10中,要方便地映射chfs的webdav为系统上的“网络位置”,就必须改注册表,打开注册表:WIN+R键输入regedit回车,找到下面路径
HKEY_LOCAL_MACHINE>>SYSTEM>>CurrentControlSet>>Services>>WebClient>>Parameters>>BasicAuthLevel
把这个值从1改为2,即同时支持http和https,默认只支持https,然后进控制面板,服务,把WebClient服务重启(没有启动的就启动它)。
然后重新添加一个网络位置就不会提示输入的文件夹似乎无效了。
如果你修改了webdav的用户名和密码,可以删除再重新添加,打开控制面板搜索凭据管理器,管理Windows凭据,在普通凭据下面你可以发现你的webdav服务器地址,删除即可
但是博士删除凭据后再重新添加偶尔添加不上,还是提示输入的文件夹无效,于是在网上找到下面这个命令方式挂载网络硬盘的方法
例子
在CMD管理员状态下执行 net use Z: http://10.48.73.186:81/webdav /user:admin sm123456 /persistent:YES
加上参数/persistent:YES可以使得这个映射在重启计算机后依然存在。
删除网络映射盘保存的用户和密码
例子
net use回车 会记录新的网络连接。 状态 本地 远程 网络 ------------------------------------------------------------------------------- Z: \\10.48.73.186@81\webdav Web Client Network \\10.48.73.186@81\webdav Web Client Network \\dav.jianguoyun.com@SSL\DavWWWRoot Web Client Network 命令成功完成。 删除命令net use \\dav.jianguoyun.com@SSL\DavWWWRoot /delete 重新建映射盘会要求输入用户名和密码 如果就只有一个答网络映射盘,那么net use * /delete回车,再输入Y回车就可以了。
但是这种挂载方法挂载后,博士发现WPS不能在线编辑保存
自带的添加方法添加后打开world竟然打不开了!!!这么折腾下来我放弃了windows自带的webdav客户端方案,开始寻找支持webdav协议的第三方客户端,发现一款神器RaiDrive
RaiDrive是一款开源的windows网络硬盘映射工具,支持Google Drive、Google Photos、Dropbox、OneDrive、FTP、SFTP、WebDAV。
RaiDrive支持中文界面,使用非常简单,下面以webdav为例
点击确定后,点击连接就挂载上了
打开资源管理器可以看到已经挂载的网络硬盘
如何开启HTTPS?
配置文件中有ssl.cert和ssl.key两个键值,设置好对应的文件目录即可。另外,chfs支持的最低SSL版本为SSLv3,不兼容SSL2的握手。对了,别忘了将监听端口设置为443
编写配置文件config.ini
port=443 path=C:\Users\Administrator\Documents\chfs\dav rule=::|admin:123456:d log=C:\Users\Administrator\Documents\chfs\logs html.title=diannaobos html.notice=diannaobos image.preview=true ssl.cert=C:\Users\Administrator\Documents\chfs\192.168.2.237.pem ssl.key=C:\Users\Administrator\Documents\chfs\192.168.2.237-key.pem allow=
以系统服务运行
这个程序不自带安装服务的功能,如果你要以系统服务运行,需要自己创建服务。下面给出Windows平台的创建服务方法(通过NSSM工具),参考这篇教程:https://diannaobos.com/post/402.html
拓展应用
如何在自己本地签发让浏览器信任的证书?
mkcert是一个可以轻松在本地签发证书的工具
项目地址:https://github.com/FiloSottile/mkcert
下载适合自己系统的二进制文件,比如windows下载https://github.com/FiloSottile/mkcert/releases
下载后重名为mkcert.exe
安装本地CA
mkcert -install
需要注意:mkcert不会生成自签名的证书,证书签名是通过你自己的私有CA来做的。当你运行mkcert -install命令的时候,你的机器会自动配置好CA信任。因此当你的浏览器加载了由你的mkcert实例生成的证书时,浏览器将会显示一个绿色的锁标志。
生成证书命令
mkcert 192.168.2.237
生成的证书会储存在当前目录下
配置完证书后我发现在本地签发的证书依然是无法添加的,看来要使用https来挂载webdav还是要用公网服务器。
webdav客户端选择
推荐您阅读更多有关于“”的文章
Powered By Z-Blogphp
分享:
支付宝
微信