Free Open Source .NET Components


SOCKS and HTTP Proxy Component for .NET
OpenPGP Component for .NET

Freeware Windows Applications

Starksoft FreeFTP

 

SOCKS and HTTP Proxy Component for .NET

Free, opensource, easy to use .NET 2.0 Component for creating client side proxy connections to SOCKS and HTTP proxy servers.  Provides a managed code library giving developers the ability to traverse firewalls using proxy servers from within their own .NET applications.

Download

Documentation

License

  • Free software with permissive BSD license - no GPL restrictions.
  • Easy to add proxy capabilities to any existing .NET projects that use the standard System.Net.SocketsTcpClient class.  Returns a standard TcpClient object once the proxy connection has been established.
  • Multiple VB.NET and C# examples.
  • Connects to SOCKS v4, SOCKS v4a, SOCKS v5, and HTTP proxy servers.
  • Factory and abstraction support via the ProxyClientFactory class and IProxyClient interface.
  • Use as a DLL or add the source code directly to your project.
  • Implements the new Microsoft Asynchronous Model so you can just fire and forget asynchronous calls (no Begin/End needed).
  • Integrated Visual Studio.NET help documentation.
  • Written in 100% managed C# code.
  • Requires .NET 2.0, 3.0, or 3.5.

Example:

   // create an instance of the client proxy factory
   ProxyClientFactory factory = new ProxyClientFactory();
          
   // use the proxy client factory to generically specify the type of proxy to create
   // the proxy factory method CreateProxyClient returns an IProxyClient object
   IProxyClient proxy = factory.CreateProxyClient(ProxyType.Http, "localhost", 6588); 
  
   // create a connection through the proxy to www.starksoft.com over port 80
   TcpClient conn = proxy.CreateConnection("www.starksoft.com", 80);


OpenPGP Component for .NET

Free, open source, easy to use .NET Component for encrypting and decryption data or documents with the free and open source GNU OpenPGP project called GnuPG (or GPG for short).

Download

Documentation

License

  • Free software with permissive BSD license - no GPL restrictions.
  • Multiple VB.NET and C# examples.
  • Interfaces directly with the GnuPG GPG.EXE command line tool to encrypt and decrypt data using .NET Streams.
  • Locates the GPG.EXE executable  two different ways - the Windows registery or by user supplied path.
  • Retrieve a collection or DataSet of the keys loaded in the local key ring.
  • Use as a DLL or add the source code directly to your project.
  • Encrypt and decrypt examples given in C# and VB.NET.
  • Asynchronous encryption and decryption examples given in C# and VB.NET.
  • Integrated Visual Studio.NET help documentation.
  • Accepts any System.IO.Stream object from reading and writing encryption data.
  • Output type either as ASCII Armor or Binary
  • Supports optional passphrases when decryption data.
  • Both Encrypt and Decrypt methods have corresponding EncryptAsync and DecryptAsync methods to support background processing.
  • Supports the new Microsoft Asynchronous Model so you can just fire and forget asynchronous calls (no Begin/End needed).
  • Written in 100% managed C# code.
  • Requires .NET 2.0, 3.0, or 3.5 and GPG.EXE executable.

Encrypt example:

  // create a new GnuPG object
  GnuPG gpg = new GnuPG();

  // specify a recipient that is already on the key-ring  
  gpg.Recipient = "myfriend@domain.com";

  // create an IO.Stream object to the source of the data and open it
  FileStream sourceFile = new FileStream(@"c:\temp\source.txt", FileMode.Open); 
  // create an IO.Stream object to a where I want the encrypt data to go
  FileStream outputFile = new FileStream(@"c:\temp\output.txt", FileMode.Create);

  // encrypt the data using IO Streams - any type of input and output IO Stream can be used
  // as long as the source (input) stream can be read and the destination (output) stream  
  // can be written to
  gpg.Encrypt(sourceFile, outputFile);

  // close the files
  sourceFile.Close();
  outputFile.Close();


Decrypt example:
  // create a new GnuPG object
  GnuPG gpg = new GnuPG();

  // create an IO.Stream object to the encrypted source of the data and open it  
  FileStream encryptedFile = new FileStream(@"output.txt", FileMode.Open);
  // create an IO.Stream object to a where you want the decrypted data to go
  FileStream unencryptedFile = new FileStream(@"unencrypted.txt", FileMode.Create);

  // specify our secret passphrase (if one is used)
  gpg.Passphrase = "your secret passphrase";            

  // decrypt the data using IO Streams - any type of input and output IO Stream can be used
  // as long as the source (input) stream can be read and the destination (output) stream  
  // can be written to
  gpg.Decrypt(encryptedFile, unencryptedFile);

  // close the files
  encryptedFile.Close();
  unencryptedFile.Close();

Starksoft FreeFTP

Starksoft Freeware Windows FTP Client application for uploading and download files to most FTP servers. No nag screen, no trial version. But unlike some of the other applications we offer, it is not open source so please do not decompile it.

Download

Online Help

  • The source code is not free or open but you can freely use Starksoft FreeFTP application for business, personal, not-for-profit, government, school, or other use at no cost.
  • Edit files directly on the server. No need to download, edit and then upload the changes.  Make changes to files directly on the server.
  • Upload and download images, documents, entire directory trees.
  • Open multiple FTP connections simultaneously.
  • Transfer files securely with FTPS (Secure Socket Layer) connections.
  • Transfer your files faster with zlib compression.
  • Throttle bandwidth for large data transfers without maxing out your network connection.
  • Verify you have the correct file with automatic file integrity checking (CRC32, MD5, SHA1).
  • Select and browse both local and remote files at the same time.
  • Rename remote and local and remote files and folders.
  • Drag and drop files and folders from Windows Explorer directly onto the remote server file list.
  • Change file (CHMOD) attributes to files and directories.
  • Command window allows user to interact directly with server by issuing raw FTP text commands and immediately receiving response.
  • Manage your own FTP server profiles to make connecting to your favorite FTP servers easy.
  • FXP Server-to-Server transfer support.
  • Resize any of the 6 embedded window panes to customize your view.
  • Resize columns in remote and local file listings.
  • Rearrange columns in remote and local file listings.
  • Sort column in remote and local file listings.
  • Change transfer mode between Ascii and Binary.
  • Change transfer type between create and replace to create or restart (to resume failed partial downloads).
  • Passive and Active transfer mode.
  • Keep alive support.
  • Integrates with the open source GnuPG which allows you to encrypt or decrypt one or more files with the click of a mouse. 
  • Specify an initial local directory for an FTP profile.
  • Specify an initial remote directory for an FTP profile.
  • Proxy support: for SOCKS4, SOCKS4a, SOCKS5, HTTP
  • New version update notification.
  • Can be installed with included Windows installer or by copying the EXE onto any machine that has the .NET 2.0 (or higher) CLR installed.  
  • Uses the Microsoft .NET 2.0 (or higher) Common Language Runtime and requires no other components.
  • 100% CLR compliant written in C#.