CuteHttpFileServer 文件服务器

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

软件介绍

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

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

软件截图

Windows版程序主界面:

CuteHttpFileServer 文件服务器插图
Windows主程序界面

Web端访问界面:

CuteHttpFileServer 文件服务器插图1
Web端访问界面

软件特点

  • 单个文件,核心功能无需其他文件
  • 跨平台运行,支持主流平台:Windows,Linux和Mac
  • 界面简洁,简单易用
  • 支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
  • 支持账户权限控制和地址过滤
  • 支持快速分享文字片段
  • 支持webdav协议

 

使用说明

Windows版本可使用带GUI的版本,添加对应共享目录并设置权限等即可,Linux或其他平台需使用配置文件启动。

非系统服务运行:

该程序是一个控制台程序,可直接双击运行,或在控制台/命令行中运行。可通过命令行参数进行相关配置,如使用'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.

 

参数说明:

 

完整配置文件模板:

#---------------------------------------


# 请注意:


#     1,如果不存在键或对应值为空,则不影响对应的配置


#     2,配置项的值,语法如同其对应的命令行参数


#---------------------------------------


 


# 监听端口


port=


 


# 共享根目录,通过字符'|'进行分割


# 注意:


#     1,带空格的目录须用引号包住,如 path="c:a uply namefolder"


#     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=

 

 

 

几个例子:

//都使用默认参数,共享目录为程序运行目录,监听端口号为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:chfschfs.ini"

 

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

1, 使用注册表模板文件(如下内容新建一个chfs.reg文件并保存运行)

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINESOFTWAREClassesDirectorybackgroundshellchfs]



@="使用CHFS共享当前目录"



[HKEY_LOCAL_MACHINESOFTWAREClassesDirectorybackgroundshellchfscommand]



@=""C:\windows\chfs.exe" --path="%v.""

2, 在该文件中编辑你的chfs.exe的真实路径,并可添加其他参数

3, 双击该脚本文件,进行注册表添加

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

html.title: 自定义网页标题
html.notice: 自定义网页顶部的公告板。可以是文字,也可以是HTML标签,此时,需要适用一对``(反单引号,通过键盘左上角的ESC键下面的那个键输出)来包住所有HTML标签
ssl.cert和ssl.key: 用来配置SSL,启用HTTPS
folder.leaf.download: 仅最后一个目录可以打包下载
session.timeout: 会话的时长,单位是分钟

以系统服务运行:

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

1、将chfs.exe放在指定目录,假设为:d:programcutehttpfileserver

2、到 http://www.nssm.cc/download 下载 nssm

3、将解压后的nssm程序放在 d:programcutehttpfileserver 中

4、在d:programcutehttpfileserver中运行命令行,或运行命令行并CD至该目录

5、假设你的服务名称为cute_http_file_service,命令行中输入:nssm install cute_http_file_service

6、NSSM会弹出配置对话框,在该对话框中输入程序路径以及运行参数

7、启动服务,命令行中输入:nssm start cute_http_file_service

 

高级用法:

  • 如何启用HTTPS?

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

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

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

  • 如何启用webdav?

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

 

测试说明:

运行主机:

  •  Windows XP:√
  • Windows 10:√
  • Debian 9:√
  • CentOS 7:√
  • 其他:未测试

PC浏览器:

  • IE:11+ √
  • Edge:√
  • Firefox:√
  • Chrome:√
  • Opera:√
  • Safari:√
  • 其他:未测试

 

下载地址

命令行程序:

GUI程序:

gui-chfs-windows.zip

 

也可移步官网下载:http://iscute.cn/chfs

技术交流

幕享:多平台多设备的投屏软件

2020-3-20 22:16:06

技术交流

LumgV1.1 自动获取福利美图写真播放软件

2020-3-22 20:53:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
快速搜索
关注我们
  • 扫码打开当前页

  • Go破解公众号

返回顶部