分享

chfs在linux和windows下的使用教程

 uqt123 2021-12-30
  • 时间:2020年05月10日 | 作者 : liuhui 

  • CuteHttpFileServer/chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:

    单个文件,核心功能无需其他文件

    跨平台运行,支持主流平台:Windows,Linux和Mac

    界面简洁,简单易用

    支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便

    支持账户权限控制和地址过滤

    支持快速分享文字片段

    支持webdav协议

    与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷,是自建个人网盘的一个不错的选择,博士之前有介绍过同类的网盘程序https:///post/828.html 它们各有有点,感兴趣的同学可以研究一下,本篇主要介绍chfs在linux和windows下的使用教程。

    chfs下载地址http:///chfs

    由于官网下载速度太慢只有100KB/s左右,本站高速下载地址:https://file./?dir=linux/chfs

    chfs在CentOS7下的使用方法

    yum install unzip -y

    解压unzip chfs-linux-amd64-2.0.zip -d chfs

    赋予权限chmod +x chfs

    编写配置文件config.ini

    Bash
    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:///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

    Bash
    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:///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服务器地址,删除即可

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

    例子

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

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

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

    例子

    Bash
    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不能在线编辑保存

    然后重新用电脑自带的添加方法重新添加,但是发现需要重新启动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

    Bash
    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:///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即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多