27個開源免費(fèi)FTP服務(wù)端軟件
FTP服務(wù)器,也稱為文件傳輸協(xié)議服務(wù)器,是一種允許通過網(wǎng)絡(luò)傳輸文件的軟件應(yīng)用程序。它為用戶提供了一種在遠(yuǎn)程服務(wù)器上上傳、下載和管理文件的方法。
在搭建私有化文件服務(wù)器時有許多軟件可以選型,其中開源FTP服務(wù)器選型范圍更廣,主要優(yōu)勢如下:
- 可定制性:開源FTP服務(wù)器允許用戶根據(jù)自己的特定需求定制和修改代碼。這種靈活性使用戶能夠添加或修改功能,增強(qiáng)安全性并優(yōu)化性能。
- 透明性:開源FTP服務(wù)器提供透明性,因?yàn)樵创a可免費(fèi)供審查。這使用戶能夠了解服務(wù)器的功能并驗(yàn)證其安全性和可靠性。
- 社區(qū)支持:開源FTP服務(wù)器通常擁有活躍的開發(fā)人員和用戶社區(qū),他們?yōu)榉?wù)器的開發(fā)做出貢獻(xiàn)并提供支持。包括幫助解決問題、提供安裝和使用方面的指導(dǎo)等。
- 成本效益:開源FTP服務(wù)器通常免費(fèi)使用,無需軟件許可費(fèi)用。這使得它們成為預(yù)算有限的個人和組織的經(jīng)濟(jì)有效的解決方案。
- 安全性:開源FTP服務(wù)器受益于社區(qū)的集體知識和專業(yè)知識,使其更安全。可以及時識別和解決漏洞,并快速共享和實(shí)施安全增強(qiáng)措施。
- 靈活性:開源FTP服務(wù)器在平臺兼容性和集成方面提供了靈活性。它們可以部署在各種操作系統(tǒng)上,并輕松與其他工具和系統(tǒng)集成。
鑒于開源FTP服務(wù)器的優(yōu)勢,本文主要推薦一些較好的開源FTP服務(wù)器應(yīng)用程序。
1.Vsftpd
https://security.appspot.com/vsftpd.html
Vsftpd是各類Linux服務(wù)器管理員的首選,它提供了開箱即用的安全性,以及一組功能來配置服務(wù)器上的FTP和FTP虛擬用戶。
Vsftpd被Red Hat、openSUSE、Debian、FreeBSD、Gnome、KDE使用。下面圖表展示的是Vsftpd的性能,在一臺機(jī)器上通過Vsftpd提供2.6TB的文件服務(wù),在24小時內(nèi)并發(fā)用戶數(shù)超過1500。
亮點(diǎn):
- 開源GPL許可
- 與許多Linux服務(wù)器發(fā)行版兼容
- 具有龐大的用戶社區(qū)支持
功能特性:
- 虛擬IP配置
- 用戶管理功能:創(chuàng)建、管理、刪除、虛擬用戶
- 支持每用戶配置
- 支持帶寬限制
- 支持IP源配置
- 支持每IP的限制設(shè)置
- 支持IPv6
- 支持SSL
2.Apache FTP-Server
https://mina.apache.org/ftpserver-project/
Apache FTP服務(wù)器是一個開源的跨平臺FTP服務(wù)器,它基于Java開發(fā),可以在Windows服務(wù)器上流暢運(yùn)行,在Linux服務(wù)器上也是如此。可以作為獨(dú)立的服務(wù)器運(yùn)行,也可以嵌入到Java服務(wù)器應(yīng)用程序中運(yùn)行,因此它為開發(fā)人員和系統(tǒng)管理員提供了更多的選擇。Apache FTP Server可以與基于Spring的應(yīng)用程序集成,為Spring開發(fā)人員提供支持。 對于獨(dú)立運(yùn)行方面,Apache FTP可以作為Windows服務(wù)以及Linux服務(wù)或Unix/Linux守護(hù)進(jìn)程運(yùn)行。
亮點(diǎn):
- 基于java開發(fā)
- 支持跨平臺
- 可以集成到Java應(yīng)用程序中
功能特性:
- 基于多線程設(shè)計
- 支持虛擬目錄
- 用戶管理
- 隊(duì)列管理
- 可恢復(fù)的文件上傳和下載
- 處理ASCII和二進(jìn)制數(shù)據(jù)傳輸
- IPs管理
- 支持IP禁令
- 事件通知
- 支持Z模式,上傳下載速度更快
- 支持隱式/顯式 SSL/TLS
- 可自定義的FTP消息
- 通過MDTM內(nèi)置支持更改文件日期/時間戳
- 支持事件日志記錄
3.ProFTP (Linux)
http://www.proftpd.org/
ProFTPd是一個用于Unix/Linux系統(tǒng)的FTP服務(wù)器。它易于安裝、易于使用、高度可配置。可通過“.ftpaccess”配置文件提供多個虛擬FTP服務(wù)器支持,該文件與Apache的“.htaccess”非常類似。
亮點(diǎn):
- 開源協(xié)議GPL
- 模塊化設(shè)計:許多模塊已經(jīng)為數(shù)據(jù)庫,LDAP服務(wù)器,TLS/SSL加密,RADIUS編寫。
- 支持多個虛擬FTP服務(wù)器
功能特性:
- 類似于Apache的“.htaccess”的目錄配置“.ftpaccess”
- 支持匿名FTP
- 配置單個或多個虛擬FTP服務(wù)器或匿名FTP服務(wù)
- 支持基于Linux文件系統(tǒng)權(quán)限的隱藏文件和目錄
- 日志
- 支持IPv6
- 過期賬戶配置
- 可在獨(dú)立模式下作為非特權(quán)用戶使用
4.CrossFTP
http://www.crossftp.com/crossftpserver.htm
CrossFTP是一個跨平臺的FTP服務(wù)器,可在Windows和Unix/ Linux系統(tǒng)上運(yùn)行。使用Java開發(fā),很容易安裝、管理和更新。CrossFTP有一個簡單的用戶圖形操作界面,提供了一個易于配置的設(shè)置管理器模塊,可以配置連接、IP控制、文件目錄、FTP消息等,CrossFTP圖形操作界面還提供了日志記錄配置選項(xiàng)和服務(wù)器使用情況統(tǒng)計信息。
亮點(diǎn):
- 純Java應(yīng)用程序支持多平臺
- 高度可配置
- 適用于所有類型用戶的命令行和GUI
- 基于Apache v2.0開源協(xié)議
- 為高級用戶和初學(xué)者提供教程
- 豐富的手冊和常見問題解答(FAQ)知識庫
功能特性:
- 易于安裝、管理、維護(hù)和更新
- 基于UTF-8的目錄編碼
- 支持用戶虛擬目錄
- 支持用戶寫/讀權(quán)限配置
- 支持空閑時間配置
- 支持上傳/下載限制配置
- 支持匿名登錄
- IP管理:過濾、綁定、屏蔽。
- 支持?jǐn)?shù)據(jù)庫存儲或者LDAP存儲
- 可自定義的FTP消息
- 支持隱式/顯式SSL/TLS
- 支持發(fā)現(xiàn)協(xié)議
- 支持通過數(shù)據(jù)時間戳查詢文件
- 支持“MODE Z”以加快上傳/下載速度
- 支持ASCII和二進(jìn)制數(shù)據(jù)傳輸
5.uFTP (Linux, Unix)
https://www.uftpserver.com/
uFTP是一個開源的、輕量級的、可移植的FTP服務(wù)器,采用C語言編寫,因此具備較高性能。它主要是為Unix/ Linux(POSIX)的服務(wù)器編寫的。 另外,uFTP非常易于使用,支持FTP命令行來運(yùn)行所有FTP服務(wù)器功能。它是在MIT許可下發(fā)布的,但用戶應(yīng)該知道它包含了由OpenSSL項(xiàng)目開發(fā)OpenSSL Toolkit軟件,因此在使用的時候建議查看OpenSSL許可。
亮點(diǎn):
- MIT開源許可
- 輕量級
- 采用C語言寫。
- 可移植
- 單個配置文件(uftpd.cfg)
- 兼容所有主要的FTP客戶端
- 文檔齊全(https://www.uftpserver.com/wiki/opensource-ftp-server)
功能特性:
- 支持FTP命令
- 性能流暢
- 容易安裝
- 配置簡單
- 易于使用
6.glFTPd (Linux, Unix)
https://glftpd.io/
glFTPd是Unix/ Linux操作系統(tǒng)的開源免費(fèi)FTP服務(wù)器。這是個古老的免費(fèi)軟件,它的第一個版本可以追溯到1998年初,glFTPd代表GreyLine FTP(原始創(chuàng)建者的名字)。glFTPd可以流暢地運(yùn)行在Unix系統(tǒng)上,如FreeBSD、OpenBSD、Ubuntu等。glFTP支持許多FTP/ site命令,并在chroot環(huán)境中運(yùn)行,這使得它相對安全。
功能特性:
- 在chroot模式下運(yùn)行
- 虛擬用戶管理
- 支持全局或者按用戶限制帶寬
- 支持TLS/SSL加密
- 上傳/下載比率控制
- 用戶管理:創(chuàng)建、更新、刪除
- IPv6支持
- 允許向用戶添加IPv6掩碼
- 下載(DL)和上傳(UL)使用量統(tǒng)計
- cookie支持
- 支持ECDHE密鑰交換,使PFS適用于ECC證書
- 支持顯示磁盤空間、使用情況、可用空間、已使用空間
- 在文件列表中隱藏真實(shí)的用戶名和組名
- 支持“dirlog”緩存
- 支持XCWD、XMKD、XRMD、XPWD、XCUP 等FTP命令
- 支持SSCN命令作為執(zhí)行SSL FXL的替代方法。
7.ColoradoFTP(Windows, Linux)
https://cftp.coldcore.com
ColoradoFTP是一個基于Java的開源FTP服務(wù)器,支持跨平臺,可以輕松地在Windows和Linux服務(wù)器上運(yùn)行,能夠在最新的JavaVM上流暢運(yùn)行。ColoradoFTP兼容RFC 959和RFC 3659文件協(xié)議。
亮點(diǎn):
- 基于Java開發(fā),支持在Windows、macOS、Linux、Unix系統(tǒng)上運(yùn)行
- 嵌入到項(xiàng)目代碼中運(yùn)行
功能特性:
- 支持命令行操作
- 基于xml的配置
- 無限制賬戶
- 輕松的用戶管理
- 支持用戶分組
- 權(quán)限管理
- 插件支持
- 多種下載和安裝選項(xiàng)
8.Waarp
http://waarp.github.io/Waarp/index.html
Waarp是一個開源Web服務(wù)器,它提供多種協(xié)議(HTTP、FTP、FTPS、SSH、SFTP)和多種專有協(xié)議,是一個功能齊全的服務(wù)器。Waarp支持開發(fā)人員在項(xiàng)目中進(jìn)行自定義開發(fā),可以構(gòu)建自定義FTP服務(wù)器。Waarp的團(tuán)隊(duì)發(fā)布了WaarpGatewayFTP,這是一個強(qiáng)大的FTP服務(wù)器,正是構(gòu)建在WaarpFTP之上。
亮點(diǎn):
- LGPL開源協(xié)議。
- 支持多種協(xié)議
- 提供開發(fā)API
功能特性:
- 配置簡單
- 支持FTP、FTPS和SFTP
- 多種身份驗(yàn)證選項(xiàng)(包括:基于文件、數(shù)據(jù)庫、LDAP)
- 支持命令前/命令后活動
- 支持記錄儀
- 遠(yuǎn)程文件MD5、SHA-1計算
- 允許關(guān)閉遠(yuǎn)程服務(wù)器
- [WaarpGatewayFtp]:支持通過擴(kuò)展的SITE命令動態(tài)更改身份驗(yàn)證的能力
- [WaarpGatewayFtp]:指定要在(RETR)之前或之后(類似STOR的操作)執(zhí)行的顯式命令的能力
- 提供基于HTTPS的管理界面
- 為每個用戶指定命令行能力
- 支持在數(shù)據(jù)庫中保存?zhèn)鬏斎罩?/li>
- 支持限制CPU或連接數(shù)量
9.FileZilla FTP Server
https://filezilla-project.org/
FileZilla是一個開源的免費(fèi)FTP客戶端和服務(wù)器,F(xiàn)ileZilla Server可以在Windows上運(yùn)行,支持Windows 7,8,8.1和10等版本的32和64位,F(xiàn)ileZilla客戶端則支持多平臺。FileZilla已經(jīng)存在多年,它與許多商業(yè)付費(fèi)軟件競爭。
亮點(diǎn):
- 僅適用于Windows。
- 支持32位和64位。
- 易于最終用戶安裝和使用
- 適合用于家庭服務(wù)器、小型公司或者個人使用
- 多協(xié)議支持
功能特性:
- 提供簡單的UI以支持快速安裝
- 提供配置管理器
- 支持自定義端口
- 提供用戶管理器
- 支持速度限制
- 通過易于使用的管理器支持被動模式
- TLS/SSL支持
- IP過濾器和管理器
- 每用戶的連接限制
- 共享文件夾管理器
- 支持文件傳輸壓縮
- 文件夾/目錄權(quán)限設(shè)置選項(xiàng)
- 可控制線程數(shù)
- 網(wǎng)絡(luò)連接、無傳輸、登錄等方面的超時設(shè)置
- 支持在另一臺機(jī)器上遠(yuǎn)程共享文件夾
- 支持匿名用戶登錄
10.DrFTPD
http://drftpd.org/
DrFTP是一個用Java開發(fā)的分布式FTP服務(wù)器,它可以在Windows以及Linux/Unix 服務(wù)器上運(yùn)行。它使用主從架構(gòu)來提供更好的文件傳輸效率和安全性能。可以用通過分布式FTP守護(hù)進(jìn)程來創(chuàng)建一個FTP網(wǎng)格或多FTP網(wǎng)點(diǎn)。
亮點(diǎn):
- 免費(fèi)
- 插件
- 使用主從概念來控制文件傳輸
- 支持大多數(shù)流行的FTP客戶端
功能特性:
- 沒有root/管理員權(quán)限的網(wǎng)絡(luò)服務(wù)器。
- 支持被動(PASV)模式
- 基于緩存校驗(yàn)的內(nèi)存文件列表。
- 支持插件功能
- 提供監(jiān)控插件
- 根據(jù)用戶帶寬選擇從機(jī)。
- 在從機(jī)之間傳輸文件。
- 試用賬戶選項(xiàng)
11.Python FTP(Star 1.6k)
https://github.com/giampaolo/pyftpdlib
Python FTP服務(wù)器庫提供了一個高級的可移植接口,可以輕松地使用Python編寫非常高效、可擴(kuò)展的、異步的FTP服務(wù)器。
12.SFTPGo(Star 7K)
https://github.com/drakkan/sftpgo
SFTPGo是一個多功能的文件傳輸服務(wù)器,支持各種存儲后端,虛擬文件夾,自定義命令和鉤子,多種身份驗(yàn)證方法,LDAP/Active Directory集成,配額支持,帶寬限制,速率限制,IP過濾器,shell模式過濾器,空閑連接終止,阻止用戶列表管理,Geo-IP過濾,Git存儲庫,SCP,rsync,F(xiàn)TP/S,WebDAV。
它還支持TLS證書的ACME協(xié)議,雙向TLS身份驗(yàn)證,Prometheus指標(biāo),HAProxy PROXY協(xié)議,從Linux系統(tǒng)用戶帳戶輕松遷移,可移植模式,SFTP子系統(tǒng)模式,性能分析,靈活的配置格式,準(zhǔn)確的日志文件,插件系統(tǒng)和Terraform提供程序的基礎(chǔ)設(shè)施即代碼(IaC)支持。
13.LightFTP
https://github.com/hfiref0x/LightFTP
LightFTP是一個基于BSD-2-Clause License協(xié)議的輕量級開源FTP服務(wù)器。
14.Golang FTP Server
https://github.com/fclairamb/ftpserver
這個FTP服務(wù)器是老式FTP設(shè)備和現(xiàn)代云文件系統(tǒng)之間的網(wǎng)關(guān),使用afero(https://github.com/spf13/afero)的Fs接口,并作為ftpserverlib(https://github.com/fclairamb/ftpserverlib)的參考實(shí)現(xiàn)。
15.Portable FTP server
https://github.com/FubarDevelopment/FtpServer
這個FTP服務(wù)器被編寫為.NET標(biāo)準(zhǔn)2.0庫,并有一個抽象的文件系統(tǒng)。
16.uftpd(Star 164)
https://github.com/troglobit/uftpd
uftpd是一個UNIX守護(hù)進(jìn)程,有默認(rèn)的常規(guī)內(nèi)置配置項(xiàng)。
功能特性:
- 支持FTP和/或TFTP
- 沒有復(fù)雜的配置文件
- 可以在標(biāo)準(zhǔn)UNIX inetd運(yùn)行或單獨(dú)運(yùn)行
- 根據(jù)/etc/passwd或自定義路徑,使用ftp用戶的$HOME
- 使用ftp/tcp中的tftp/udp和/etc/services或自定義端口
- 權(quán)限分離,解除綁定到端口的根權(quán)限
- 可以在FTP主目錄之外使用符號鏈接
- 可以按照用戶組分配可寫FTP主目錄
17.MinimalFTP Server(Star 144)
https://github.com/Guichaguri/MinimalFTP
這是一個輕量級的、簡單的FTP服務(wù)器。純Java開發(fā),沒有其他底層庫依賴。
主要特征包括:
- Although it's named "minimal", it supports a bunch of features:雖然它被命名為“minimal”,但它支持一系列功能:
- 100% Java開發(fā)
- 輕量級
- 支持57個FTP命令
- 支持TLS/SSL
- 支持自定義文件系統(tǒng)
- 支持自定義用戶身份驗(yàn)證
- 支持自定義命令
- 支持某些FTP客戶端可能仍然使用的過時的命令
18.ftpd
https://github.com/goftp/ftpd
這是一個基于github.com/goftp/server的開源FTP服務(wù)器。但這個項(xiàng)目目前已經(jīng)沒有在維護(hù)。
19.SimpleFTPServer
https://github.com/xreef/SimpleFTPServer
這是一個簡單小巧的FTP服務(wù)器,可以安裝在Arduino、ArduinoSAMD WiFiNINA、esp8266、esp32、stm32或者樹莓派上。
20.Portable FTP server
https://github.com/dubasdey/portable-ftp-server
這是一個Java開發(fā)的開源的跨平臺便攜式FTP服務(wù)器,適用于Windows、Linux Mac等系統(tǒng)。支持命令行模式或GUI模式。
21.Open TFTP Server
https://sourceforge.net/projects/tftp-server/
這是一個免費(fèi)的多線程TFTP服務(wù)器,支持Windows/Unix的PXEBOOT,支持硬件加載,支持tsize、blksize,大型文件的塊號滾動,可以作為服務(wù)獨(dú)立運(yùn)行。
主要特征包括:
- 支持幾乎所有行業(yè)標(biāo)準(zhǔn)
- 總大小(tsize)、數(shù)據(jù)塊大小、間隔時間、數(shù)據(jù)塊滾動
- 支持進(jìn)程所有者權(quán)限,而不是root。
- 支持?jǐn)U展日志記錄、歷史日志記錄
- 可以指定服務(wù)器接口和端口
- 支持端口區(qū)間
- 支持線程池
- 支持Unix守護(hù)進(jìn)程或Windows服務(wù)
- 對系統(tǒng)的影響非常小
22.bftpd
https://sourceforge.net/projects/bftpd/
bftpd是一個基于Unix系統(tǒng)的FTP服務(wù)器。它支持inetd和獨(dú)立運(yùn)行模式,支持大多數(shù)RFC FTP命令,并且非常容易配置。
23.Java FTP服務(wù)器
https://sourceforge.net/projects/pj-ftp-server/
這是一個免費(fèi)開源的純Java FTP服務(wù)器。
主要功能特點(diǎn)包括:多線程、多平臺、高速、支持GUI和CMD模式、IP過濾、讀/寫支持、接口選擇、限速配置、匿名模式、TCP端口選擇、文件夾選擇、日志記錄和登錄限制等。
24.FtpServer Library .Net
https://github.com/taoyouh/FtpServer
這是一個可以用于.NET Core的FTP服務(wù)器程序以及用于自定義開發(fā)的.NET標(biāo)準(zhǔn)核心庫。
25.UniFTP
https://github.com/UlyssesWu/UniFTP
UniFTP是一個用C#編寫的FTP服務(wù)器庫。
26.ZeptoServer
https://github.com/junk-machine/ZeptoServer
ZeptoServer是一個極簡的輕量級FTP服務(wù)器,具備強(qiáng)大功能和靈活性。
關(guān)鍵特性是高效和安全。另外,其采用模塊化設(shè)計,可以輕松擴(kuò)展任何文本協(xié)議。這意味著無論您需要HTTP、SMTP或任何其他基于文本的協(xié)議的服務(wù)器,ZeptoServer都可以輕松搞定。
ZeptoServer的另一個優(yōu)勢是它在托管選項(xiàng)方面的功能非常豐富。它可以作為一個獨(dú)立的服務(wù)器托管,同時也提供了在進(jìn)程中托管的選項(xiàng)。還可以利用ServerHost項(xiàng)目中的ZeptoServer類,您可以無縫地將ZeptoServer直接集成到現(xiàn)有的應(yīng)用程序中。
27.SmallHTTP Server
https://sourceforge.net/projects/smallsrv/
SmallHTTP Server是一個小型的、開源的、免費(fèi)的HTTP服務(wù)器,提供了郵件、DNS、FTP和代理服務(wù)器等一系列功能。
它提供了CGI腳本、服務(wù)器端、虛擬主機(jī)和目錄服務(wù)等。另外它還提供詳細(xì)的數(shù)據(jù)統(tǒng)計、Web管理、本地管理、IPv6和SSL/TLS支持,GZip壓縮和HTTP TLS VPN服務(wù)器。