一款简洁美观的共享服务器 chfs 安装与配置(可用于局域网文件共享、私有网盘…)

CuteHttpFileServer(chfs)是一款免费的HTTP文件共享服务器,支持跨平台运行,包括Windows、Linux和Mac。使用浏览器即可快速访问,具备账户权限控制、地址过滤等功能,支持webdav协议,适用于个人及共享场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简介

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

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

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

2.下载

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

Windows版本:http://iscute.cn/tar/chfs/3.1/gui-chfs-windows.zip

Linux版本:(执行uname -a查看系统架构,若下载不匹配的版本则无法运行)

Mac版本:http://iscute.cn/tar/chfs/3.1/chfs-mac-amd64-3.1.zip

3.使用

Windows版本

下载解压后,双击运行,在窗口中添加想要共享的目录,点击左上角按钮运行,然后在右上角找到提示的网址打开,可根据左侧列表自定义配置。

image-20221012205228589

Linux版本

本教程安装路径为:/opt/chfs,日志路径为:/opt/chfs/logs, 共享文件路径为:/myshare

依次执行命令

mkdir -p /opt/chfs/logs
mkdir /myshare
cd /opt/chfs
## 注意不同CPU架构链接不同
wget http://iscute.cn/tar/chfs/3.1/chfs-linux-amd64-3.1.zip
unzip chfs-linux-amd64-3.1.zip
## 赋予执行权限
sudo chmod 777 ./chfs
## 创建配置文件
touch chfs.ini
vim chfs.ini

将以下内容复制到chfs.ini文件中,可根据自己的实际情况自定义配置

不要将此配置文件放到共享目录中!!!
不要将此配置文件放到共享目录中!!!
不要将此配置文件放到共享目录中!!!

#---------------------------------------
# 请注意:
#     1,如果不存在键或对应值为空,则不影响对应的配置
#     2,配置项的值,语法如同其对应的命令行参数
#---------------------------------------


# 监听端口
port=80


# 共享根目录,通过字符'|'进行分割
# 注意:
#     1,带空格的目录须用引号包住,如 path="c:\a uply name\folder"
#     2,可配置多个path,分别对应不同的目录
path=/myshare


# IP地址过滤
allow=


# 用户操作日志存放目录,默认为空
# 如果赋值为空,表示禁用日志
log=/opt/chfs/logs


# 网页标题
html.title=HelloWorld


# 网页顶部的公告板。可以是文字,也可以是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=true



# 下载目录策略。disable:禁用; leaf:仅限叶子目录的下载; enable或其他值:不进行限制。
# 默认值为 enable
folder.download=



#-------------- 设置生效后启用HTTPS,注意监听端口设置为443-------------
# 指定certificate文件
ssl.cert=
# 指定private key文件
ssl.key=



# 设置会话的生命周期,单位:分钟,默认为30分钟
session.timeout=9999


# 文件/目录删除模式:
#    1: 安全删除:移动到系统回收站 [不是所有操作系统都支持,建议使用前进行测试。默认模式]
#    2: 安全删除:移动到chfs的专属回收站: ~/.chfs_trashbin, 程序会删除存储超过1个月的文件
#    3: 真正删除
file.remove=3


#----------------- ------------------------
# 注意: 账户配置区域放置到配置文件的后面
#------------------------------------------



#----------------- 账户及控制规则 -------------------
#     [xxx] xxx即为账户名, 访客的用户名为guest
#     password 账户密码
#     rule.default 账户对所有的目录和文件的访问权限,但可以针对任意子目录进行重新设定访问权限,以覆盖默认的权限
#     rule.none 表示对哪些子目录设置为不可访问的权限,多个目录使用字符'|'分割,也可以分为多行。注意:该子目录本身也不可访问!
#     rule.r 表示对哪些子目录设置为读权限,多个目录使用字符'|'分割,也可以分为多行。注意: 该子目录本身不受影响,影响的只是它所包含的目录和文件!
#     rule.w 表示对哪些子目录设置为写权限,多个目录使用字符'|'分割,也可以分为多行。注意: 该子目录本身不受影响,影响的只是它所包含的目录和文件!
#     rule.d 表示对哪些子目录设置为最高访问权限,多个目录使用字符'|'分割,也可以分为多行。注意: 该子目录本身不受影响,影响的只是它所包含的目录和文件!
#
#   示例:
#        [foo]
#        password=bar
#        rule.default=r
#        rule.none=d:\公司制度|d:\财务票据
#        rule.r=d:\施工项目\2021年
#        rule.r=d:\施工项目\2022年
#        rule.d=d:\个人目录\foo
#
#    该账户名为foo,密码为bar,默认访问权限是读权限,但账户没有“d:\公司制度”和“d:\财务票据”的访问权限,且
#    对“d:\施工项目\2021年”和“d:\施工项目\2021年”只有读权限,对“d:\个人目录\foo”有最高访问权限。
#


#账户xxx,访客的用户名为guest
[guest]
password=
rule.default=
rule.none=
rule.r=
rule.w=
rule.d=

后台运行命令

nohup /opt/chfs/chfs --file=/opt/chfs/chfs.ini >/opt/chfs/logs/ops.log 2>&1 &

浏览器输入IP地址端口号即可访问

查看运行的端口号、PID和其他信息

netstat -ntlp

停止运行(PID可根据上述命令查看)

kill -9 [PID]

shell启动脚本(非必须)

#!/bin/bash
APP_FILE_NAME=/opt/chfs/chfs
LOG_FILE_FILE=/opt/chfs/logs/ops.log
CONFIG_FILE=/opt/chfs/chfs.ini
FILE_PID=$(pgrep -f $APP_FILE_NAME)
kill -9 "$FILE_PID"
echo "close $APP_FILE_NAME"
sleep 3
if test -e $APP_FILE_NAME; then
  echo "start $APP_FILE_NAME"
  nohup $APP_FILE_NAME --file=$CONFIG_FILE >$LOG_FILE_FILE 2>&1 &
  sleep 3
  echo "start success"
else
  echo "start fail"
fi
sleep 2
tail -30f $LOG_FILE_FILE

进阶玩法(后续分享)

如何启用HTTPS

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

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

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

如何启用webdav

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值