Use this command to install FTPS Server with WinGet:
winget install --id=SiarheiKuchuk.FtpsServer -e
FTPS Server turns your Windows PC into a secure FTP server for private file sharing. Share photos, videos, and documents with a phone, laptop, or another computer on the same network, without uploading them to a cloud. You choose who can connect, which folder they can open, and whether they can only download files or also change them.
Share files on your network, not through a cloud
Files stay on your PC. The other device connects to this FTP server over your own network, so a copy is not sitting on someone else's storage.
- Move photos, videos, and documents between your PC and a phone, laptop, or another computer.
- Keep personal and work files off third-party cloud storage.
- Use it at home or in an office. The client has to be on the same network (the same Wi-Fi or LAN).
- Start the server in the app and leave it running while the other device copies files.
Choose who can open which folder
Add a separate login for each person or device, and limit what that login can do.
- Create a username and password for every connection.
- Give each login its own folder. That login cannot browse the rest of the files on your PC.
- Allow full access, or a read-only login that can download files but cannot upload, rename, or delete.
- Copy the address, port, and logins when the other device is ready to connect.
Encrypted transfer, not plain FTP
This is an FTPS server: explicit FTP over TLS (AUTH TLS). Plain FTP, with no encryption, is not used. The password and the files are encrypted while they cross the network.
- A login is not sent in the clear. Transfers use FTP over TLS.
- The first start creates a TLS certificate for you, so you can connect without extra setup.
- If you already have a certificate, you can use that instead.
- Compare the certificate fingerprint shown in the app with the one shown by your client, so you know you reached this device.
- File names in your own language are preserved, including letters that are not in the English alphabet.
See what the server is doing
- The app shows the address and port to enter in the client.
- Each login is listed with its folder and whether access is read-only or full.
- A log shows connection activity when something fails and you need to see why.
- You choose the port and how many clients can be connected at once.
Start the FTP server in four steps
1. Add a user, with a username and a password.
2. Pick the folder that user is allowed to open.
3. Choose read-only or full access.
4. On the other device, open an FTPS client, turn on explicit TLS (AUTH TLS), and enter the address, port, and login.
Clients that can connect
Any client that supports explicit FTPS works. Examples: FileZilla and WinSCP on Windows, FileZilla or lftp on Linux, Cyberduck or FileZilla on Mac, and an FTPS client such as Ghost Commander on Android.
Typical uses
- Copy files between a PC and a laptop on the same Wi-Fi.
- Open PC files from a phone file manager.
- Hand someone a read-only login when they should download files and nothing else.
What this FTP server is not
It does not upload your files to the developer or to a cloud service. It is also not a public file host. Use it on a network you trust, such as home or office Wi-Fi.
FTPS Server is open source (CC0-1.0) and contains no ads.
README
Sharing files via FTPS betweeen devices over network.
Desktop app has WPF and Avalonia versions.
Console app is written in C# (.NET 10).
Android app has Avalonia and Kotlin versions.
✨ Features
User Permissions - Granular control over Read/Write operations
Per-User Root Folders - Isolated directories for each user
Path Security - Protection against directory traversal attacks
UTF-8 - Supports localized characters
Localized to Amharic — አማርኛ, Arabic — العربية, Bengali — বাংলা, Burmese — မြန်မာဘာသာ, Chinese Simplified — 简体中文, French — Français, German — Deutsch, Hausa — Hausa, Hindi — हिन्दी, Igbo — Igbo, Indonesian — Bahasa Indonesia, Italian — Italiano, Japanese — 日本語, Kazakh — Қазақша, Korean — 한국어, Marathi — मराठी, Nepali — नेपाली, Nigerian Pidgin — Naijá, Oromo — Afaan Oromoo, Pashto — پښتو, Persian — فارسی, Polish — Polski, Portuguese,Brazilian — Português do Brasil, Punjabi — ਪੰਜਾਬੀ, Russian — Русский, Spanish — Español, Swahili — Kiswahili, Tamil — தமிழ், Telugu — తెలుగు, Thai — ภาษาไทย, Turkish — Türkçe, Ukrainian — Українська, Urdu — اردو, Uzbek — O'zbekcha, Vietnamese — Tiếng Việt, Yoruba — Yorùbá, Yue Chinese — 粵語
Setup is good when you can't use Store (no Microsoft Account, etc). Application will check for self-updates however you should manually update the application.
Binaries are good if setups and zip archives are blocked by corporate policies. Application will check for self-updates however you should manually update the application.
Linux
Debian, Ubuntu, and derivatives
A. Installation via APT Repository
Best option. System will keep application updated.
E. Prebuilt APK look for android.apk asset. Tap the downloaded APK in the browser download list, or open it from the Android Downloads app. If Android blocks the install, tap Settings and enable Allow from this source for the browser or file manager you used, go back and Install. Because app is self-signed, Android will ask you to confirm that you trust the APK before installing it. When Google Play Protect shows a warning for the self-signed APK, choose the option to install anyway if you trust this project. On Samsung devices click Details, Install anyway.
The library has no third-party dependencies. Notices for apps that do are next to those apps: sources/FtpsServerConsole/THIRD-PARTY-NOTICES.md, sources/FtpsServerWindows/THIRD-PARTY-NOTICES.md, sources/FtpsServerAvalonia/FtpsServerAvalonia/THIRD-PARTY-NOTICES.md, and sources/android/THIRD-PARTY-NOTICES.md.