chfs-HTTP协议的文件共享服务器
标签: linux, vps, win, 视频
chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问
官方下载地址:http://iscute.cn/chfs
特点:
- 单个文件,核心功能无需其他文件
- 跨平台运行,支持主流平台:Windows,Linux和Mac
- 界面简洁,简单易用
- 支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
- 支持账户权限控制和地址过滤
- 支持快速分享文字片段
- 支持webdav协议
基本用法
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.
示例
//都使用默认参数,共享目录为程序运行目录,监听端口号为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)"
//匿名用户具有只读权限(默认情况下匿名用户具有读写权限)
//::就是匿名用户 ::r就是匿名用户只读 不用的用户用|隔开
//账户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"
另外,有几个功能需要通过配置文件中进行配置,其中主要的配置项有:
1, html.title: 自定义网页标题
2, html.notice: 自定义网页顶部的公告板。可以是文字,也可以是HTML标签,此时,需要适用一对``(反单引号,通过键盘左上角的ESC键下面的那个键输出)来包住所有HTML标签
3, ssl.cert和ssl.key: 用来配置SSL,启用HTTPS
4, folder.leaf.download: 仅最后一个目录可以打包下载
5, session.timeout: 会话的时长,单位是分钟
也可以用ini配置文件启动
#---------------------------------------
# 请注意:
# 1,如果不存在键或对应值为空,则不影响对应的配置
# 2,配置项的值,语法如同其对应的命令行参数
#---------------------------------------
# 监听端口
port=
# 共享根目录,通过字符'|'进行分割
# 注意:
# 1,带空格的目录须用引号包住,如 path="c:\a uply name\folder"
# 2,可配置多个path,分别对应不同的目录
path=
# IP地址过滤
allow=
#----------------- 账户控制规则 -------------------
# 注意:该键值可以同时存在多个,你可以将每个用户的访问规则写成一个rule,这样比较清晰,如:
# rule=::
# rule=root:123456:RW
# rule=readonlyuser:123456:R
rule=
# 用户操作日志存放目录,默认为空
# 如果赋值为空,表示禁用日志
log=
# 网页标题
html.title=
# 网页顶部的公告板。可以是文字,也可以是HTML标签,此时,需要适用一对``(反单引号,通过键盘左上角的ESC键下面的那个键输出)来包住所有HTML标签。几个例子:
# 1,html.notice=内部资料,请勿传播
# 2,html.notice=`<img src="https://mat1.gtimg.com/pingjs/ext2020/qqindex2018/dist/img/qq_logo_2x.png" width="100%"/>`
# 3,html.notice=`<div style="background:black;color:white"><p>目录说明:</p><ul>一期工程:一期工程资料目录</ul><ul>二期工程:二期工程资料目录</ul></div>`
html.notice=
# 是否启用图片预览(网页中显示图片文件的缩略图),true表示开启,false为关闭。默认开启
image.preview=
# 下载目录策略。disable:禁用; leaf:仅限叶子目录的下载; enable或其他值:不进行限制。
# 默认值为 enable
folder.download=
#-------------- 设置生效后启用HTTPS,注意监听端口设置为443-------------
# 指定certificate文件
ssl.cert=
# 指定private key文件
ssl.key=
# 设置会话的生命周期,单位:分钟,默认为30分钟
session.timeout=
linux可以用Supervisor管理
[program:chfs]
command=/www/wwwroot/h5ai.0514.ink/aria2/chfs --port=25501
directory=/www/wwwroot/h5ai.0514.ink/aria2/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/server/panel/plugin/supervisor/log/chfs.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/chfs.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d
宝塔应用管理器
参数不需要加""了
例如
--file=d:\chfs\chfs.ini
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果