简介

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脚本,可以把他添加到系统的任务计划程序中,来设置开机自动运行。