細水長流

FtpServer(FTP服务器)开源小工具

小众软件上看到的一个开源小工具:FtpServer,一键开启 FTP 文件服务器,方便其他设备通过网络传输、管理文件,支持 IPv4/IPv6 、多用户、 FTPS 。

「FtpServer(FTP服务器)开源小工具:https://uxtt.com/ftpserver」

放在 Chrome 标签栏很久了,今天有空整理过来收藏。

项目主页:https://github.com/jark006/FtpServer

「FtpServer(FTP服务器)开源小工具:https://uxtt.com/ftpserver」

FtpServer 使用说明

作者写的说明书很详细,贴过来备忘。

FTPS 配置

软件默认使用 FTP 明文传输数据,如果数据比较敏感,或者网络环境不安全,则可以按以下步骤开启 FTPS 加密传输数据。

LinuxMinGW64 终端使用 openssl (命令如下,需填入一些简单信息: 地区/名字/Email 等) 生成 SSL 证书文件 (ftpServer.key 和 ftpServer.crt), 不要重命名文件为其他名称。

「FtpServer(FTP服务器)开源小工具:https://uxtt.com/ftpserver」
openssl req -x509 -newkey rsa:2048 -keyout ftpServer.key -out ftpServer.crt -nodes -days 36500

直接将 ftpServer.keyftpServer.crt 放到程序所在目录,开启服务时若存在这两个文件,则启用加密传输 FTPS [TLS/SSL 显式加密, TLSv1.3]

Windows 文件管理器对 显式 FTPS 支持不佳,推荐使用开源软件 WinSCP 客户端,对 FTPS 支持比较好。

开启 FTPS 加密传输 后会影响传输性能,最大传输速度会降到 50MiB/s 左右。若对网络安全没那么高要求,不建议加密。

「FtpServer(FTP服务器)开源小工具:https://uxtt.com/ftpserver」

多用户配置

一般单人使用时,只需在软件主页面设置用户名和密码即可。如果需要开放给多人使用,可以按以下步骤建立多个用户,分配不同的读写权限和根目录。

在主程序所在目录新建文件 FtpServerUserList.csv ,使用 Excel 或文本编辑器 (需熟悉 csv 文件格式) 编辑,一行一个配置:

  1. 第一列:用户名,限定英文大小写/数字。
  2. 第二列:密码,限定英文大小写/数字/符号。
  3. 第三列:权限,详细配置如下。
  4. 第四列:根目录路径。

配置文件样例

JARK006 123456 readonly D:\Downloads
JARK007 456789 readwrite D:\Data
JARK008 abc123 只读 D:\FtpRoot
JARK009 abc456 elradfmwMT D:\FtpRoot
anonymous elr D:\FtpRoot
...

注: anonymous 是匿名用户,允许不设密码,其他用户必须设置密码。

详细权限配置:

  1. 使用 readonly只读 设置为 只读权限
  2. 使用 readwrite读写 设置为 读写权限
  3. 使用 自定义 权限设置, 从以下权限挑选自行组合 (注意大小写) 。

参考链接:pyftpdlib.authorizers.DummyAuthorizer.add_user

读取权限:

  • e : 更改目录 (CWD 命令)
  • l : 列出文件 (LIST 、 NLST 、 STAT 、 MLSD 、 MLST 、 SIZE 、 MDTM 命令)
  • r : 从服务器检索文件 (RETR 命令)

写入权限:

  • a : 将数据附加到现有文件 (APPE 命令)
  • d : 删除文件或目录 (DELE 、 RMD 命令)
  • f : 重命名文件或目录 (RNFR 、 RNTO 命令)
  • m : 创建目录 (MKD 命令)
  • w : 将文件存储到服务器 (STOR 、 STOU 命令)
  • M : 更改文件模式 (SITE CHMOD 命令)
  • T : 更新文件上次修改时间 (MFMT 命令)

其他

  1. 若读取到有效配置,则自动 禁用 主页面的用户/密码设置。
  2. 密码不要出现英文逗号 , 字符,以免和 csv 文本格式冲突。
  3. 若不需要多用户配置,可将配置文件 删除重命名 为其他名称。
  4. 配置文件可以是 UTF-8 或 GBK 编码。

FtpServer 下载

Github 发布页:https://github.com/jark006/FtpServer/releases

作者网盘:夸克网盘百度云盘(提取码:6666)

FTP 文件服务器 v1.23

修复网速数值格式。
端口值留空可不启动。 (若只需 IPv4 服务,则可将 IPv6 端口留空,反之亦然)
其他优化。

软件有两种打包方式,二选一即可:

ftpServer.exe 为 pyinstaller 打包的单文件版本。
ftpServer_nuitka.7z 为 nuitka 编译打包的,运行效率高,非单文件。

相关资料

小众软件

Slyar FTPserver 发布 (更新至 v3.0)

退出移动版