简介
rejetto/hfs (HTTP File Server) 是一个由 Massimo Melina (又名 Rejetto) 开发的轻量级、免费的 Web 服务器软件,专门用于文件共享。它的核心理念是让用户可以直接从自己的电脑磁盘上,通过 Web 浏览器轻松分享文件,而无需复杂的设置、专业的服务器软件或将文件上传到第三方服务。
主要特点和用途:
极简的文件共享:
你就是服务器,共享磁盘上的最新文件,拥有无限的空间和带宽。
速度快! 试试压缩 100GB,立即开始下载!
只需使用我们的虚拟文件系统共享单个文件 ,即使名称不同,也无需触碰真实文件。随心所欲地呈现!
实时观看所有活动。
控制带宽 ,决定给予多少。
无需中介 ,将大文件交给您的朋友,无需等待它先上传到服务器。
如何工作:
在您的计算机上运行 HFS,管理页面会自动显示
选择您想要访问的文件和文件夹
只需使用浏览器即可从手机或其他计算机访问这些文件
可能创建帐户并限制对文件的访问
安装
所需的最低 Windows 版本为 10 或 Server 2019。如果您拥有以前的版本,您仍然可以按照其他系统的说明进行操作。
下载 https://github.com/rejetto/hfs/releases
界面
后台管理
前台界面
我这里共享了我的磁盘
优化
hfs.exe在启动的时候会打开一个控制台窗口,如果你不喜欢,可以通过添加hide-console-window 插件来关闭。
脚本
为了方便管理,写了两个脚本来管理hfs。
hfs_start.vbs可以直接在后台运行hfs服务,无需hide-console-window插件。
hfs.bat用来启动、停止、查看状态,开打管理及前台的脚本工具,依赖hfs_start.vbs。
将这两个脚本放在hfs.exe所在目录即可。
hfs_start.vbs
Set WshShell = CreateObject("WScript.Shell")
' 检查是否有传递参数
If WScript.Arguments.Count > 0 Then
port = WScript.Arguments.Item(0) ' 获取传递的端口参数
Else
port = 8068 ' 默认端口
End If
' 使用 Shell 来启动程序,并且在后台运行
WshShell.Run """HFS.exe"" --port " & port, 0, False
Set WshShell = Nothing
hfs.bat
@echo off & chcp 65001>nul
setlocal enabledelayedexpansion
if "%1" neq "runas" mshta vbscript:CreateObject("Shell.Application").ShellExecute("conhost.exe","cmd.exe /c ""%~f0"" runas %*","","",1)(window.close)&&exit
shift && cd /d "%~dp0"
rem 设置 HFS 可执行文件的路径
set HFS_PATH="hfs.exe"
set HFS_NAME=hfs.exe
set port=8068
set SHORTCUT_NAME="hfs.lnk"
:main
cls
mode con cols=70 lines=22
title hfs管理工具
echo hfs管理工具
echo.
echo 1.开启
echo 2.关闭
echo 3.状态
echo 4.打开管理端
echo 5.打开前端
echo 6.添加开机启动
echo 7.删除开机启动
echo 8.退出
echo.
set "choice="
set /p choice=请输入您的选择:
if "%choice%"=="1" goto start_hfs
if "%choice%"=="2" goto stop_hfs
if "%choice%"=="3" goto check_status
if "%choice%"=="4" goto start_admin
if "%choice%"=="5" goto start_front-end
if "%choice%"=="6" goto add_startup
if "%choice%"=="7" goto del_startup
if "%choice%"=="8" goto exit
goto main
:start_hfs
echo 启动 HFS...
cscript //nologo hfs_start.vbs %port%
echo HFS 已启动。 & timeout /t 3
goto main
:stop_hfs
echo 停止 HFS...
taskkill /F /IM %HFS_NAME% >nul 2>&1
echo HFS 已停止。 & timeout /t 3
goto main
:check_status
tasklist /FI "IMAGENAME eq %HFS_NAME%" 2>NUL | find /I "%HFS_NAME%" >nul
if errorlevel 1 (
echo HFS 没有运行。
) else (
echo HFS 正在运行。
)
timeout /t 3
goto main
:start_admin
start "" "http://localhost:%port%/~/admin/"
goto main
:start_front-end
start "" "http://localhost:%port%"
goto main
:add_startup
echo 正在创建开机启动快捷方式...
set "target=%~dp0%HFS_NAME%"
set "startup_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
rem 使用 PowerShell 创建快捷方式
powershell -command "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut('%startup_folder%\\%SHORTCUT_NAME%'); $s.TargetPath = '%target%'; $s.WorkingDirectory = '%~dp0'; $s.Save()"
if exist "%startup_folder%\%SHORTCUT_NAME%" (
echo 已成功添加开机启动!
) else (
echo 添加开机启动失败!
)
timeout /t 3
goto main
:del_startup
echo 正在删除开机启动快捷方式...
set "startup_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
if exist "%startup_folder%\%SHORTCUT_NAME%" (
del "%startup_folder%\%SHORTCUT_NAME%"
echo 已删除开机启动!
) else (
echo 未找到开机启动快捷方式!
)
timeout /t 3
goto main
开启自启动
方法一:
把hfs.exe的快捷方式放在shell:startup目录下面,这样在计算机启动的时候hfs也会跟随一起启动,通过安装hide-console-window 插件来隐藏控制台。
方法二:
如果你创建了上文中的hfs_start.vbs脚本,可以把他添加到系统的任务计划程序中,来设置开机自动运行。