A simple FTP client for working with files.
IMPORTANT! The version is unstable, so use it to work with small files/directories. Make sure your server supports the RFC 2428 and RFC 3659 specifications (in particular, commands such as EPSV and MLSD).
- cmake >= 3.26.0
- vcpkg more recent than 2023-02-9 (e.g. commit id 8e986ec51ae9728ff44b854390eef168f88ec687)
- **A working compiler supporting C++ 20 functions
On Windows, please use the prebuilt binaries. Ensure you select one of the options to add cmake to the system path.
On Linux, cmake
is usually available from the system package manager. Alternatively, sudo pip3 install cmake
can be used to install the latest version of CMake.
Clone the repo with the --recurse-submodules
flag
git clone --recurse-submodules https://github.com/n0f4ph4mst3r/SimpleFTP
Run ./vcpkg/bootstrap-vcpkg.sh
or .\vcpkg\bootstrap-vcpkg.bat
.
I build using Microsoft Visual Studio 2019. However, it is likely possible to build it with Visual Studio 2022.
I use GCC 9, but any compilers supporting C++ 20 functions should work.
- Clone this repository from GitHub project.
For example, in the git-bash run:
git clone --recurse-submodules https://github.com/n0f4ph4mst3r/SimpleFTP
-
Run
.\vcpkg\bootstrap-vcpkg.bat
. -
Configure project using CMake:
$ mkdir build && cd build $ cmake .. -G "Visual Studio 16 2019"
-
Open Visual Studio project:
$ .\\SimpleFTP.sln
and build using the IDE.
-
Clone repository from GitHub project.
git clone --recurse-submodules https://github.com/n0f4ph4mst3r/SimpleFTP
-
Run
./vcpkg/bootstrap-vcpkg.sh
. -
Configure project using CMake:
$ mkdir build && cd build $ cmake .. -G "Unix Makefiles"
Ninja
generator working too:$ cmake .. -G "Ninja"
Use
-DCMAKE_BUILD_TYPE=Debug
for debug configuration. -
Install project
Makefiles:
$ make install
Ninja:
$ ninja install
-
Test the build:
$ cd ../bin $ ./ClientApp