42 lines
598 B
Go
42 lines
598 B
Go
package smb
|
|
|
|
import (
|
|
"io/fs"
|
|
"net"
|
|
|
|
"management/internal/pkg/config"
|
|
|
|
"github.com/hirochachacha/go-smb2"
|
|
)
|
|
|
|
var FS fs.FS
|
|
|
|
func Init() error {
|
|
conn, err := net.Dial("tcp", config.File.Smb.Host+":445")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer conn.Close()
|
|
|
|
d := &smb2.Dialer{
|
|
Initiator: &smb2.NTLMInitiator{
|
|
User: config.File.Smb.Name,
|
|
Password: config.File.Smb.Pass,
|
|
},
|
|
}
|
|
s, err := d.Dial(conn)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer s.Logoff()
|
|
|
|
fs, err := s.Mount(config.File.Smb.Mount)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer fs.Umount()
|
|
|
|
FS = fs.DirFS(".")
|
|
return nil
|
|
}
|