RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / 建站 / 正文内容

chfs在linux和windows下的使用教程

3580 建站 | 2020年05月10日

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服务器地址,下一步,输入用户名和密码,点击确定,输入网络位置名称,下一步,完成,如下图

webdav3.jpg


如果提示:输入的文件夹似乎无效。

webdav2.jpg

这种错误,原因如下

从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服务重启(没有启动的就启动它)。

安全提醒:不要在公共网络环境(如公共WiFi热点)下以http连接的WebDAV访问,以免泄露隐私数据。

然后重新添加一个网络位置就不会提示输入的文件夹似乎无效了。

如果你修改了webdav的用户名和密码,可以删除再重新添加,打开控制面板搜索凭据管理器,管理Windows凭据,在普通凭据下面你可以发现你的webdav服务器地址,删除即可

但是博士删除凭据后再重新添加偶尔添加不上,还是提示输入的文件夹无效,于是在网上找到下面这个命令方式挂载网络硬盘的方法

例子

在CMD管理员状态下执行
net use Z: http://10.48.73.186:81/webdav /user:admin sm123456 /persistent:YES

加上参数/persistent:YES可以使得这个映射在重启计算机后依然存在。

删除网络映射盘保存的用户和密码

例子

net use回车
会记录新的网络连接。
状态 本地 远程 网络
-------------------------------------------------------------------------------
             Z:        \\[email protected]\webdav Web Client Network
                       \\[email protected]\webdav Web Client Network
                       \\[email protected]\DavWWWRoot
                                                Web Client Network
命令成功完成。
删除命令net use \\[email protected]\DavWWWRoot /delete
重新建映射盘会要求输入用户名和密码
如果就只有一个答网络映射盘,那么net use * /delete回车,再输入Y回车就可以了。

但是这种挂载方法挂载后,博士发现WPS不能在线编辑保存

然后重新用电脑自带的添加方法重新添加,但是发现需要重新启动webclient服务

自带的添加方法添加后打开world竟然打不开了!!!这么折腾下来我放弃了windows自带的webdav客户端方案,开始寻找支持webdav协议的第三方客户端,发现一款神器RaiDrive

RaiDrive是一款开源的windows网络硬盘映射工具,支持Google Drive、Google Photos、Dropbox、OneDrive、FTP、SFTP、WebDAV。

RaiDrive支持中文界面,使用非常简单,下面以webdav为例

raidrive.jpg

点击确定后,点击连接就挂载上了

打开资源管理器可以看到已经挂载的网络硬盘

QQ截图20200511214000.jpg


如何开启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客户端选择

Android选择了ES文件浏览器,被归为了FTP一类中可以添加。虽然被曝ES有网络漏洞,但是确实ES是我在Android上使用比较习惯的一个工具软件。主要好处是可以在其他应用直接分享保存到ES,这样省去很多麻烦。
IOS使用nPlayer
Windows使用自带的映射网络驱动器或者RaiDrive
Linux mount -t davfs https://ip:port/dir /mnt 然后输入用户名密码即可
Mac 下使用自带的资源管理器finder即可

上一篇:ProxyAdmin内网穿透使用教程

下一篇:易歪歪微信淘宝QQ客服快速回复工具

猜你喜欢

网站分类
FRP包教会服务
先领券再购物更优惠
友情链接
Title - Artist
0:00

    分享:

    支付宝

    微信