Rebex.Ftp
8.0.9797
Prefix Reserved
dotnet add package Rebex.Ftp --version 8.0.9797
NuGet\Install-Package Rebex.Ftp -Version 8.0.9797
<PackageReference Include="Rebex.Ftp" Version="8.0.9797" />
<PackageVersion Include="Rebex.Ftp" Version="8.0.9797" />
<PackageReference Include="Rebex.Ftp" />
paket add Rebex.Ftp --version 8.0.9797
#r "nuget: Rebex.Ftp, 8.0.9797"
#:package Rebex.Ftp@8.0.9797
#addin nuget:?package=Rebex.Ftp&version=8.0.9797
#tool nuget:?package=Rebex.Ftp&version=8.0.9797
Rebex FTP - The C# FTP/SSL library for .NET
Rebex FTP is an FTP and FTP/SSL (FTPS) client library for .NET developers. It provides remote file system access using the FTP protocol with optional TLS/SSL encryption. With Rebex FTP, it's simple to transfer files between your application and any FTP server, with support for both explicit and implicit TLS/SSL modes. For server-side, use Rebex.FileServer package.
20+ years of active development. Rebex FTP has been continuously developed and maintained since 2003, with regular updates and new features.
Key features
- File transfers - upload, download, rename, delete, directory transfers with wildcards, resume capability
- FTP/SSL (FTPS) modes - explicit and implicit TLS/SSL modes, data transfer encryption control
- Cryptographic algorithms including PQC - ML-KEM, ML-DSA, Ed25519, ChaCha20/Poly1305, AES/GCM, ECDH, ECDSA, RSA, and more
- Multiple authentication modes - password, X.509 client certificates
- Async/await API - Task-based asynchronous API support
- Bandwidth throttling - transfer speed limiting, progress monitoring
- Server-to-server transfers (FXP) - direct file transfers between FTP servers
- Protocol-agnostic API - shared
IFtpinterface for writing code that works with both FTP and SFTP - ZLIB compression - compressed data transfers
- FIPS 140-3 compliant mode
Getting started
Connect, authenticate and download
using (var ftp = new Rebex.Net.Ftp())
{
ftp.Connect("server.example.org");
ftp.Login("username", "password");
ftp.Download("/pub/example/readme.txt", @"C:\MyData");
}
Connect using explicit TLS/SSL
using (var ftp = new Rebex.Net.Ftp())
{
// connect to a server using explicit TLS/SSL
ftp.Connect("server.example.org", SslMode.Explicit);
ftp.Login("username", "password");
ftp.Download("/pub/example/readme.txt", @"C:\MyData");
}
List directory content
// navigate to desired directory
ftp.ChangeDirectory("/pub/example");
// get content of the current directory
var list = ftp.GetList();
// print info about retrieved items
foreach (var item in list)
{
Console.WriteLine($"{item.Type} {item.Name}");
}
Upload files and directories
// upload a single file
ftp.PutFile(@"C:\MyData\report.txt", "/uploads/report.txt");
// upload all .txt files in a directory
ftp.Upload(@"C:\MyData\*.txt", "/uploads", TraversalMode.MatchFilesShallow);
Delete remote file or directory
// delete remote file
ftp.DeleteFile("/MyData/file.txt");
// delete whole remote directory
// (deletes "/MyData/Temp" directory itself as well)
ftp.Delete("/MyData/Temp", TraversalMode.Recursive);
Bandwidth throttling
// set download and upload speed limits
ftp.MaxDownloadSpeed = 128 * 1024;
ftp.MaxUploadSpeed = 64 * 1024;
Auto-resuming failed transfers
// auto-resume failed directory upload
ftp.Upload(@"C:\MyData\*", "/MyData", 0, 0, ActionOnExistingFiles.ResumeIfPossible);
Server-to-server transfer (FXP)
// connect to the source FTP server
var ftp1 = new Rebex.Net.Ftp();
ftp1.Connect(hostname1, port1);
ftp1.Login(username1, password1);
// connect to the destination FTP server
var ftp2 = new Rebex.Net.Ftp();
ftp2.Connect(hostname2, port2);
ftp2.Login(username2, password2);
// copy a single file to the destination server
ftp1.CopyToAnotherServer(ftp2, "/Incoming/file1.txt", "/MyData/file1.txt");
Supported platforms
- .NET 10 on Windows, Linux, macOS, Android, iOS/tvOS
- .NET 9 on Windows, Linux, macOS, Android, iOS/tvOS
- .NET 8 on Windows, Linux, macOS, Android, iOS/tvOS
- .NET 7 on Windows, Linux, macOS, Android, iOS/tvOS
- .NET 6 on Windows, Linux, macOS
- .NET 5 on Windows, Linux, macOS
- .NET Framework 4.0, 4.5.x, 4.6.x, 4.7.x, 4.8.x
- .NET Framework 3.5 SP1
- .NET Core 3.1 on Windows, Linux, macOS
- Xamarin.Android (10.1 and higher; via .NET Standard 2.1)
- Xamarin.iOS (13.10 and higher; via .NET Standard 2.1)
- Mono 6.0 or higher on Linux and macOS
Supported architectures: x86, x64, AMD64.
Licensing
This is a paid commercial product with a free 30-day trial.
- Trial mode: Start your free 30-day trial by generating your trial key
- Licensed mode: Buy Rebex FTP and get your full license key
When the full license key is provided, NuGet.org repository can be used to retrieve versions of Rebex components covered by your support contract.
Support
Talk to real people. No scripted or AI responses. Support is provided directly by the engineers who design and build the library.
Email us at support@rebex.net or visit rebex.net/support.
Documentation
- API reference
- Easy-to-use API
- Connecting
- Authentication methods
- Single file operations
- Multiple files operations
- Directory operations
- More file transfer operations
- Advanced FTP features
- Transfer speed management
- Events
- Asynchronous operations
- Communication logging
- Common API for SFTP and FTP
- TLS/SSL core
- X.509 certificates
- Proxies and custom sockets
- SSIS, SQL CLR, PowerShell
- Standards and platforms
- Compatibility
- FtpWebRequest plugin
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net35 is compatible. net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 3.1
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
.NETFramework 3.5
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
.NETFramework 4.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
.NETFramework 4.6
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
.NETStandard 2.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
.NETStandard 2.1
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net10.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net5.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net6.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net7.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net8.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
-
net9.0
- Rebex.Common (= 8.0.9797)
- Rebex.Networking (= 8.0.9797)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Rebex.Ftp:
| Package | Downloads |
|---|---|
|
Rebex.TotalPack
Rebex Total Pack is a metapackage that includes all Rebex libraries such as Rebex SFTP, Rebex FTP, Rebex SSH Shell, and more. See https://www.rebex.net/total-pack/ for a complete list. This is a paid commercial product with a free 30-day trial: - Trial mode: Start your free 30-day trial by generating your trial key at https://rebex.net/support/trial-key.aspx - Licensed mode: Purchase the product at https://rebex.net/shop/ and get your full license key at https://rebex.net/protected/nuget When the full license key is provided, NuGet.org repository can be used to retrieve versions of Rebex components covered by your support contract. Supported platforms: - .NET 10 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 9 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 8 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 7 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 6 on Windows, Linux, macOS - .NET 5 on Windows, Linux, macOS - .NET Framework 4.0, 4.5.x, 4.6.x, 4.7.x, 4.8.x - .NET Framework 3.5 SP1 - .NET Core 3.1 on Windows, Linux, macOS - Xamarin.Android (10.1 and higher; via .NET Standard 2.1) - Xamarin.iOS (13.10 and higher; via .NET Standard 2.1) - Mono 6.0 or higher on Linux and macOS |
|
|
Rebex.FileTransfer
Rebex.FileTransfer is a simple file transfer library that supports SFTP, FTP and FTPS (FTP over TLS) protocols. It is part of Rebex File Transfer Pack - a set of .NET libraries that include dedicated SFTP, SCP and FTP client libraries and a SFTP server library. This is a paid commercial product with a free 30-day trial: - Trial mode: Start your free 30-day trial by generating your trial key at https://rebex.net/support/trial-key.aspx - Licensed mode: Purchase the product at https://rebex.net/shop/ and get your full license key at https://rebex.net/protected/nuget When the full license key is provided, NuGet.org repository can be used to retrieve versions of Rebex components covered by your support contract. Supported platforms: - .NET 10 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 9 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 8 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 7 on Windows, Linux, macOS, Android, iOS/tvOS - .NET 6 on Windows, Linux, macOS - .NET 5 on Windows, Linux, macOS - .NET Framework 4.0, 4.5.x, 4.6.x, 4.7.x, 4.8.x - .NET Framework 3.5 SP1 - .NET Core 3.1 on Windows, Linux, macOS - Xamarin.Android (10.1 and higher; via .NET Standard 2.1) - Xamarin.iOS (13.10 and higher; via .NET Standard 2.1) - Mono 6.0 or higher on Linux and macOS |
|
|
Bluefish.Connections
A library that abstracts connections to remote systems. |
|
|
IsrarCommonLib
Commons utility library |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.9797 | 1,274 | 10/28/2026 |
| 8.0.9709 | 22,707 | 8/3/2026 |
| 8.0.9673 | 10,706 | 6/25/2026 |
| 8.0.9663 | 296 | 6/24/2026 |
| 8.0.9643-rc.4 | 149 | 5/27/2026 |
| 8.0.9531-rc.3 | 201 | 2/4/2026 |
| 8.0.9440-rc.2 | 257 | 11/5/2025 |
| 8.0.9392-rc.1 | 500 | 9/19/2025 |
| 7.0.9796 | 118 | 10/28/2026 |
| 7.0.9649 | 3,944 | 6/23/2026 |
| 7.0.9561 | 80,179 | 3/6/2026 |
| 7.0.9448 | 59,094 | 11/12/2025 |
| 7.0.9391 | 26,648 | 9/17/2025 |
| 7.0.9313 | 63,651 | 6/30/2025 |
| 7.0.9209 | 76,652 | 3/20/2025 |
| 7.0.9147 | 47,518 | 1/16/2025 |
| 7.0.9119 | 30,171 | 12/19/2024 |
| 7.0.9083 | 40,245 | 11/13/2024 |
| 6.0.9280 | 4,458 | 6/30/2025 |
| 6.0.9082 | 4,054 | 11/13/2024 |