views:

424

answers:

2

Could anyone recommend FTP / SFTP client C/C++ library for Linux-based embedded system? I know about Curl library but I need something as simple as possible just to download files from FTP / SFTP servers. Is there any recommendation to look for? Yes, SFTP support is critical. Actually I can even sacrifice multi-threading because I need only one stream at a time. And I'd like it to be able to work through memory buffers but this should be not a problem.

Thank you in advance.

UPDATE:
After spent some time with libcurl I decided not to go this way in favor of direct usage of libssh2 for SFTP and reuse proprietary FTP library from different project. libcurl seems too linked to curl command line tool approach. For example try to get remote file size before starting download operation - it was definitely not planned.

But actually another propositions are welcome especially I see no really simple good public C or C++ FTP client library at all. Everything is either very old and not supported or fresh and wet.

+1  A: 

Have you looked at libcurl's alternatives page? A few options there may provide an FTP solution.

I think if you move away from libcurl, you may need to use two different libraries, one for SFTP (which is really just SSH) and one for FTP.

However, if you do not want to do this, perhaps you want to look at compiling libcurl to link against cyaSSL or PolarSSL instead of openssl to make the installation more lightweight. You could also try to compile it with minimal options, as you only need FTP and SFTP support.

Hope this helps.

geekpreacher
Selected solution was slightly customized openssl and libcurl with only FTP and SFTP protocols enabled. Good enough for my case.
Roman Nikitchenko
+1  A: 

libssh2 is a great lib for SFTP - and it also happens to be the lib that (lib)curl uses for SFTP.

Daniel Stenberg