I'm a bit surprised I haven't found a good open source library for performing common network tasks. There are a few very good commercial libraries, but they're too expensive to use on an open source project.
Anyone know of any?
NET Core doesn't support native SFTP or SCP protocols. Thus we need to borrow an external SFTP client library. Among a list of SFTP client libraries, SSH.NET is free and works fine for most use cases.
SFTP File Transfer Protocol - get SFTP client & server. SFTP (SSH File Transfer Protocol) is a secure file transfer protocol. It runs over the SSH protocol. It supports the full security and authentication functionality of SSH.
SSH.NET Library - https://github.com/sshnet/SSH.NET
Inspired by Sharp.SSH, this library is complete rewrite using .NET 4.0, without any third party dependencies and utilizes parallelism as much as possible to allow best performance.
It's been a solid C# implementation of client side SSH.
edtFTPNet is free, but you have to buy their "Pro" version to get SFTP (FTP over SSH) and FTPS (FTP over SSL).
Although it hasn't been updated in a while, it is free! I remember being able to get SharpSSH to run without much hassle, and it supports port forwarding (which is what I was looking for at the time!).
SharpSSH http://www.tamirgal.com/home/dev.aspx?Item=SharpSsh
.Net ships with some basic FTP support via System.Net.FtpWebRequest, but its a bit crude at best. A far superior alternative that I can recommend is dotNET FTP client from sourceforge.
I don't know if you're looking for email libraries too, but its something that I came across, so I'll mention it.
For email composing and delivery, the basic .NET libraries are fine. System.Net.Mail.MailMessage is great for composing emails, and System.Net.Mail.SmtpClient is good for sending emails over SMTP.
For retrieving emails with POP3 and parsing MIME messages, you will want an external library. I've been using POP3 MIME Client from codeproject without any problems.
I hope that helps!
It's not a single library, and I'm not sure how good they are but I was able to find a couple of links to open source libraries here:
http://csharp-source.net/open-source/network-clients
Hope this helps! Jeff
Lumisoft is open source and has FTP, DNS, IMAP, POP3 clients, among other stuff. It doesn't include SSH and SFTP though.
In practice, the only place where I currently do SFTP, I use putty's bundled psftp utility, and run it from a process object. That may not be great, but it's working reliably for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With