This web content presents an introduction to the Lightweight SMB2/3 server project, which was created to enable Time Machine backups over the network for Mac users. The main goal was to ensure compatibility with macOS clients, so the author has incorporated many macOS-specific features like extended attribute support, unix file modes, bonjour advertisement, and other proprietary Apple extensions. However, this focus on macOS means that other operating systems may not fully work or require additional features. The project can be used as a library for implementing custom file systems and can substitute libfuse or be integrated into larger projects. The file system interface is located in vfs/vfs.go. The author provides an example of a passthrough file system implementation, but points out that certain features like parallel connection support, file locking, user authentication, and impersonation are either in early stages or not yet implemented due to limited focus. The project is dual licensed under AGPL or a proprietary commercial license. For inquiries about a proprietary license or support, the author can be contacted at [email protected]. The content also includes instructions for building and running the server.
https://github.com/macos-fuse-t/go-smb2