Free, Open Source, User-Mode SMB 1.0/CIFS, SMB 2.0, SMB 2.1 and SMB 3.0 server and client library
Find a file
2026-04-20 23:45:49 +03:00
SMBLibrary SMB2Client: Moved CIFS SPN creation to a separate method 2026-04-20 23:45:49 +03:00
SMBLibrary.Adapters SMBLibrary 1.5.7 2026-04-17 06:41:57 +03:00
SMBLibrary.Tests RC4: Added Encrypt/Decrypt overload accepting RC4KeyState to allow encrypting streams 2026-03-24 13:06:43 +02:00
SMBLibrary.Win32 SMBLibrary 1.5.7 2026-04-17 06:41:57 +03:00
SMBServer SMBLibrary 1.5.7 2026-04-17 06:41:57 +03:00
Utilities Utilities: BlockingQueue.TryDequeue: Change behavior to return all items enqueued before Stop was invoked 2025-05-01 21:37:48 +03:00
.gitattributes Added .gitattributes and .gitignore 2016-12-22 20:44:21 +02:00
.gitignore Added .gitattributes and .gitignore 2016-12-22 20:44:21 +02:00
ClientExamples.md ClientExamples: Add Kerberos authentication example 2026-02-26 21:32:31 +02:00
License.txt Added License.txt 2019-01-19 09:08:29 +02:00
Readme.md Updated documentation 2026-04-17 17:49:13 +03:00
ServerNotes.md Updated documentation 2026-04-17 17:49:13 +03:00
SMBServer.sln Replace DiskAccessLibrary.FileSystems.Abstractions with NuGet package reference 2024-02-17 14:28:19 +02:00

About SMBLibrary:

SMBLibrary is an open-source C# SMB 1.0/CIFS, SMB 2.0, SMB 2.1 and SMB 3.0 server and client implementation.
SMBLibrary gives .NET developers an easy way to share a directory / file system / virtual file system or to connect to an existing share, with any operating system that supports the SMB protocol.
SMBLibrary is modular, you can take advantage of Integrated Windows Authentication and the Windows storage subsystem on a Windows host or use independent implementations that allow for cross-platform compatibility.
SMBLibrary can communicate with any Windows version since Windows NT 4.0.

Supported SMB / CIFS transport methods:

• NetBIOS over TCP (port 139)
• Direct TCP hosting (port 445)

'NetBIOS over TCP' and 'Direct TCP hosting' are almost identical, the only differences:
  • A 'session request' packet is initiating the NBT connection.
  • A 'keep alive' packet is sent from time to time over NBT connections.
  • SMB2: Direct TCP hosting supports large MTUs.

Using SMBLibrary:

Server notes can be found here.

Client code examples can be found here.

NuGet Packages:

SMBLibrary - Cross-platform server and client implementation.
SMBLibrary.Win32 - Allows utilizing Integrated Windows Authentication and/or the Windows storage subsystem on a Windows host.
SMBLibrary.Adapters - IFileSystem to INTFileStore adapter for SMBLibrary.

Licensing:

A commercial license of SMBLibrary is available for a fee.
This is intended for companies who are unable to use the LGPL version.
Please contact me for additional details.

Contributions:

If you choose to make a contribution to this project, you must agree to irrevocably assign to SMBLibrary and/or Tal Aloni all worldwide copyright and intellectual property rights in and to your contribution, effective upon submission.

Contact:

If you have any question, feel free to contact me.
Tal Aloni tal.aloni.il@gmail.com