package main import ( "fmt" "net" "os" nfs "git.kmsign.ru/royalcat/tstor/pkg/go-nfs" "git.kmsign.ru/royalcat/tstor/pkg/go-nfs/helpers" nfshelper "git.kmsign.ru/royalcat/tstor/pkg/go-nfs/helpers" osfs "github.com/go-git/go-billy/v5/osfs" ) func main() { port := "" if len(os.Args) < 2 { fmt.Printf("Usage: osnfs [port]\n") return } else if len(os.Args) == 3 { port = os.Args[2] } listener, err := net.Listen("tcp", ":"+port) if err != nil { fmt.Printf("Failed to listen: %v\n", err) return } fmt.Printf("osnfs server running at %s\n", listener.Addr()) bfs := osfs.New(os.Args[1]) bfsPlusChange := helpers.WrapBillyFS(NewChangeOSFS(bfs)) handler := nfshelper.NewNullAuthHandler(bfsPlusChange) cacheHelper := nfshelper.NewCachingHandler(handler, 1024) fmt.Printf("%v", nfs.Serve(listener, cacheHelper)) }