從零開始

CuteHttpFileServer / chfs 简单免费 http 文件共享服务器 支持 webdav 协议

CuteHttpFileServer/chfs 是一个免费的、HTTP 协议的文件共享服务器,使用浏览器可以快速访问。类似 HFS ~ HTTP File Server,可以快速搭建本地 http 文件共享服务器。

「CuteHttpFileServer / chfs 简单免费 http 文件共享服务器 支持 webdav 协议:https://ostarted.com/168」

CuteHttpFileServer / chfs 简介

chfs 官网:http://iscute.cn/chfs

CuteHttpFileServer / chfs 特点

与其他常用文件共享方式(如 FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。

「CuteHttpFileServer / chfs 简单免费 http 文件共享服务器 支持 webdav 协议:https://ostarted.com/168」

CuteHttpFileServer / chfs cmd 命令行版本 基本用法

温馨提示:日常轻度使用直接使用 chfs Windows GUI 版本更简单,快捷!

非系统服务运行

该程序是一个控制台程序,可直接双击运行,或在控制台/命令行中运行。可通过命令行参数进行相关配置,如使用'chfs --help'来查看帮助:

usage: chfs.exe []

Flags:
--help Show context-sensitive help (also try --help-long and
--help-man).
--path=DIRECTORIES Directories where store shared files, separated by '|'.
--port=PORT HTTP listening port(Default is 80).
--allow=LIST Allowed IPv4 addresses(Allow any address by default).

White list mode: "listitem1[,listitem2,...]" e.g.
"192.168.1.2-192.168.1.10,192.169.1.222" allows this 10
addresses.

Black list mode: "not(listitem1[,listitem2,...])" e.g.
"not(192.168.1.2-192.168.1.10,192.169.1.222)" bans this 10
addresses!
--rule=LIST Access rules(anybody can access any thing by default).

List defines like:"USER:PWD:MASK[:DIR:MASK...][|...]":

1,USER and PWD is account name and password
2,MASK:''=NO present,'r'=read,'w'=write,'d'=delete
3,r=view+download,w=r+upload+create+rename,d=w+delete
4,DIR is directory name, allows wildcard('*' & '?')
5,The 3rd field is access mask of shared root directory
6,The optional fields is pairs of sub-directory and mask
7,The optional sub-directory's mask overwrite parent's
8,You should avoid '|' ':' and white space(exclude DIR)

For instance: "::|root:123456:rw" bans guest, and defines
a account 'root' can do anything
--log=DIRECTORY Log directory. Empty value will disable log.
--file=FILE A configuration file which overwrites & enhence the
settings.
--version Show application version.

CuteHttpFileServer / chfs 参数说明:

「CuteHttpFileServer / chfs 简单免费 http 文件共享服务器 支持 webdav 协议:https://ostarted.com/168」
help:	显示帮助信息 
path: 你要共享的目录,默认为程序运行目录。如果需要共享多个目录,则用 “|” 符号隔开。注意:如果路径带有空格,则需要将整个路径用引号包住。
port: 程序使用的端口号,默认为 80
allow: IP 地址过滤,可使用白名单模式或黑名单模式
rule: 账户及访问权限,允许一个账户多点登陆,默认情况下匿名用户具有读写权限,其语法为:

RULEITEM1[|RULEITEM2|RULEITEM3...]

每个 RULEITEM 代表一个账户信息及其访问权限,多个 RULEITEM 则用'|'进行分割,RULEITEM 的语法为:

USER:PWD:MASK[:DIR:MASK...]

每个项由 “:” 来分隔,前三个项是必须的,分别对应:账户名、账户密码、共享目录根目录的访问权限。后面的可选的项,必须成对出现,用来设定根目录下面的子级目录的访问权限。一些规定:

* 对于匿名用户,前两个项都为空
* 访问权限分为四种:""(不可访问),"R"(只读),"W"(读写),"D"(写+删除)。读权限指的是下载,写权限指上传、新建等操作,删除权限是在写权限的基础上加上删除权限。
* 各项的值应避免出现空白键,':'及'|'(目录名除外)
log: 用户操作日志存放目录,默认是程序所在目录下的 logs 中。禁用日志功能只需将其赋值为空即可。
file: 配置文件,该文件可配置上述配置项,语法相同,如果配置有效则覆盖对应配置项。另外,一些功能需要通过配置文件进行配置,比如页面自定义和 SSL 证书设置。下载配置文件模板
version: 显示程序版本号

几个例子:

//都使用默认参数,共享目录为程序运行目录,监听端口号为 80
chfs

//共享目录为 D 盘,监听端口号为 8080
chfs --path="d:/" --port=8080

//共享目录为"d:\\projects"和"e:\\nsis",监听端口号为 80
chfs --path="d:\\projects|e:\\nsis"

//白名单模式,允许 192.168.1.2-192.168.1.100 以及 192.168.1.200 进行访问
chfs --allow="192.168.1.2-192.168.1.100,192.168.1.200"

//黑名单模式,禁止 192.168.1.2-192.168.1.100 以及 192.168.1.200 进行访问
chfs --allow="not(192.168.1.2-192.168.1.100,192.168.1.200)"

//匿名用户具有只读权限(默认情况下匿名用户具有读写权限)
//账户 ceshizu,密码为 ceshizu123,对根目录的权限为只读,但对 test 目录具有读写权限
//账户 yanfazu,密码为 yanfazu123,对根目录的权限为只读,但对 yanfa 目录具有读写权限
chfs --rule="::r|ceshizu:ceshizu123:r:test:rw|yanfazu:yanfazu123:r:yanfa:rw"

//匿名用户什么权限都没有(默认情况下匿名用户具有读写权限)
//账户 admin,密码为 admin123,具有读写权限
//账户 zhangsan,密码为 zhangsan123,对根目录的权限为不可读写,但对 zhangsanfiles 目录具有读写权限
chfs --rule="::|admin:admin123:rw|zhangsan:zhangsan123::zhangsanfiles:rw"

//通过配置文件进行配置,该文件可以不存在,待以后需要更改配置时使用
chfs --file="d:\chfs\chfs.ini"

Tips 1:在 Windows 系统中,可以使用右键弹出菜单快捷地共享某个目录。步骤如下:

1, 下载注册表模板文件
2, 在该文件中编辑你的 chfs.exe 的真实路径,并可添加其他参数
3, 双击该脚本文件,进行注册表添加

Tips 2:另外,有几个功能需要通过配置文件中进行配置,其中主要的配置项有:

「CuteHttpFileServer / chfs 简单免费 http 文件共享服务器 支持 webdav 协议:https://ostarted.com/168」
1, html.title: 自定义网页标题 
2, html.notice: 自定义网页顶部的公告板。可以是文字,也可以是 HTML 标签,此时,需要适用一对``(反单引号,通过键盘左上角的 ESC 键下面的那个键输出) 来包住所有 HTML 标签
3, ssl.cert 和 ssl.key: 用来配置 SSL,启用 HTTPS
4, folder.leaf.download: 仅最后一个目录可以打包下载
5, session.timeout: 会话的时长,单位是分钟

以系统服务运行

本程序不是一个服务程序,所以如果你要以系统服务运行,需要自己创建服务。下面给出 Windows 平台的创建服务方法 (通过 NSSM 工具):

1, 将 chfs.exe 放在指定目录,假设为:d:\program\cutehttpfileserver
2, 到 http://www.nssm.cc/download 下载 nssm
3, 将解压后的 nssm 程序放在 d:\program\cutehttpfileserver 中
4, 在 d:\program\cutehttpfileserver 中运行命令行,或运行命令行并 CD 至该目录
5, 假设你的服务名称为 cute_http_file_service,命令行中输入:nssm install cute_http_file_service
6, NSSM 会弹出配置对话框,在该对话框中输入程序路径以及运行参数
7, 启动服务,命令行中输入:nssm start cute_http_file_service

CuteHttpFileServer / chfs 高级用法

CuteHttpFileServer / chfs 如何启用 HTTPS?

配置文件中有 ssl.cert 和 ssl.key 两个键值,设置好对应的文件目录即可。另外,chfs 支持的最低 SSL 版本为 SSLv3,不兼容 SSL2 的握手。对了,别忘了将监听端口设置为 443

我想自己搞一套页面,请问开发文档在哪里?

运行 chfs 后,通过地址:http://host:port/asset/api.html 访问 API 文档。

CuteHttpFileServer / chfs 如何启用 webdav?

程序默认支持 webdav,跟 http 共用同一套访问规则。其地址为:http://host:port/webdav

CuteHttpFileServer / chfs 测试说明

运行主机:Windows XP:√;Windows 10:√;Debian 9:√;CentOS 7:√;其他:未测试

PC 浏览器:IE:11+ √;Edge:√;Firefox:√;Chrome:√;Opera:√;Safari:√;其他: 未测试

CuteHttpFileServer / chfs 实际应用 & 下载

chfs 有命令行程序和 GUI 程序,日常 Windows 使用 GUI 版本更方便。

CuteHttpFileServer / chfs 实际应用

CuteHttpFileServer / chfs 有哪些应用场景?

折腾路由器,需要在本地或者本机快速搭建个 http 文件服务器,又或者网络扫描仪把扫描文件直接存到本地共享(扫描仪可能还支持扫描到 ftp、smb、共享……但不一定能折腾上,这时候 chfs 就很方便了),又或者家庭影音共享……

chfs gui 功能列表:

chfs gui 还能自动生成链接二维码:

chfs 命令行程序

2022-03-08:chfs-cmd-2.0.0(包含上面列表所有文件)

chfs GUI 程序

2022-03-08:chfs-2.0「包含:hfs.exe、chfsgui-v1.0.1、chfsgui-v1.4.0、chfsgui-v2.0.0」

退出移动版