Documentation
¶
Index ¶
- func ClientBeforePasv(handler func(string) bool)
- func ClientBeforePort(handler func(string) bool)
- func FileAfterDelete(handler func(string, string))
- func FileAfterGet(handler func(string, string))
- func FileAfterPut(handler func(string, string))
- func FileAfterRename(handler func(string, string, string))
- func FileBeforeDelete(handler func(string, string) bool)
- func FileBeforeGet(handler func(string, string) bool)
- func FileBeforePut(handler func(string, string) bool)
- func FileBeforeRename(handler func(string, string, string) bool)
- func FtpdServe(config *FtpdConfig) error
- func SetDriverFactory(customDriverFactory DriverFactory)
- func UserAfterLogin(handler func(string))
- func UserBeforeLogin(handler func(string, string) bool)
- type Driver
- type DriverFactory
- type FileDriver
- func (driver *FileDriver) Chtimes(path string, atime time.Time, mtime time.Time) error
- func (driver *FileDriver) DeleteDir(path string) error
- func (driver *FileDriver) DeleteFile(path string) error
- func (driver *FileDriver) GetFile(path string, offset int64) (int64, io.ReadCloser, error)
- func (driver *FileDriver) ListDir(path string, callback func(FileInfo) error) error
- func (driver *FileDriver) MakeDir(path string) error
- func (driver *FileDriver) PutFile(path string, offset int64, reader io.Reader) (int64, error)
- func (driver *FileDriver) Rename(from string, to string) error
- func (driver *FileDriver) Stat(path string) (FileInfo, error)
- type FileDriverFactory
- type FileInfo
- type FtpCmd
- type FtpConn
- func (fc *FtpConn) Close()
- func (fc *FtpConn) CloseFileTransfer()
- func (fc *FtpConn) GetFileTransfer() io.Reader
- func (fc *FtpConn) OpenFileTransfer(conn net.Conn)
- func (fc *FtpConn) PutFileTransfer(reader io.Reader) error
- func (fc *FtpConn) Send(code int, msg string)
- func (fc *FtpConn) SendMulti(code int, header, body, footer string)
- func (fc *FtpConn) Serve()
- func (fc *FtpConn) WriteFileTransfer(msg []byte)
- type FtpdConfig
- type FtpdHandler
- type MinioDriver
- func (driver *MinioDriver) Chtimes(path string, atime time.Time, mtime time.Time) error
- func (driver *MinioDriver) DeleteDir(path string) error
- func (driver *MinioDriver) DeleteFile(path string) error
- func (driver *MinioDriver) GetFile(path string, offset int64) (int64, io.ReadCloser, error)
- func (driver *MinioDriver) ListDir(path string, callback func(FileInfo) error) error
- func (driver *MinioDriver) MakeDir(path string) error
- func (driver *MinioDriver) PutFile(path string, offset int64, reader io.Reader) (int64, error)
- func (driver *MinioDriver) Rename(from string, to string) error
- func (driver *MinioDriver) Stat(path string) (FileInfo, error)
- type MinioDriverFactory
- type MinioFileInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClientBeforePasv ¶ added in v1.4.1
ClientBeforePasv register
func ClientBeforePort ¶ added in v1.4.1
ClientBeforePort register
func FileAfterDelete ¶ added in v0.8.0
FileAfterDelete register
func FileAfterGet ¶ added in v0.8.0
FileAfterGet register
func FileAfterPut ¶ added in v0.8.0
FileAfterPut register
func FileAfterRename ¶ added in v0.8.0
FileAfterRename register
func FileBeforeDelete ¶ added in v0.8.0
FileBeforeDelete register
func FileBeforeGet ¶ added in v0.8.0
FileBeforeGet register
func FileBeforePut ¶ added in v0.8.0
FileBeforePut register
func FileBeforeRename ¶ added in v0.8.0
FileBeforeRename register
func FtpdServe ¶ added in v0.0.3
func FtpdServe(config *FtpdConfig) error
FtpdServe start the ftp server
func SetDriverFactory ¶ added in v1.0.0
func SetDriverFactory(customDriverFactory DriverFactory)
SetDriverFactory set a custom ftp driver factory
func UserAfterLogin ¶ added in v0.8.0
func UserAfterLogin(handler func(string))
UserAfterLogin register
func UserBeforeLogin ¶ added in v0.8.0
UserBeforeLogin register
Types ¶
type Driver ¶
type Driver interface { Stat(string) (FileInfo, error) Chtimes(string, time.Time, time.Time) error DeleteDir(string) error DeleteFile(string) error Rename(string, string) error MakeDir(string) error ListDir(string, func(FileInfo) error) error GetFile(string, int64) (int64, io.ReadCloser, error) PutFile(string, int64, io.Reader) (int64, error) }
Driver - file driver interface
type DriverFactory ¶
DriverFactory - new a driver
func NewFileDriverFactory ¶
func NewFileDriverFactory(root string) DriverFactory
NewFileDriverFactory return a file based driver factory
func NewMinioDriverFactory ¶
func NewMinioDriverFactory(endpoint, accessKeyID, secretAccessKey, bucket string, useSSL bool) DriverFactory
NewMinioDriverFactory return a minio driver factory
type FileDriver ¶
type FileDriver struct {
// contains filtered or unexported fields
}
FileDriver - file based driver
func (*FileDriver) DeleteDir ¶
func (driver *FileDriver) DeleteDir(path string) error
DeleteDir delete a dir
func (*FileDriver) DeleteFile ¶
func (driver *FileDriver) DeleteFile(path string) error
DeleteFile delete a file
func (*FileDriver) GetFile ¶
func (driver *FileDriver) GetFile(path string, offset int64) (int64, io.ReadCloser, error)
GetFile return file size, file reader
func (*FileDriver) ListDir ¶
func (driver *FileDriver) ListDir(path string, callback func(FileInfo) error) error
ListDir return file list in dir
func (*FileDriver) MakeDir ¶
func (driver *FileDriver) MakeDir(path string) error
MakeDir make a dir
type FileDriverFactory ¶
type FileDriverFactory struct {
// contains filtered or unexported fields
}
FileDriverFactory - file based driver factory
type FtpConn ¶
type FtpConn struct {
// contains filtered or unexported fields
}
FtpConn - ftp session
func NewFtpConn ¶
func NewFtpConn(cid int, conn net.Conn, config *FtpdConfig, tlsConfig *tls.Config, factory DriverFactory) *FtpConn
NewFtpConn return a new ftp session
func (*FtpConn) CloseFileTransfer ¶
func (fc *FtpConn) CloseFileTransfer()
CloseFileTransfer close a ftp file transfer
func (*FtpConn) GetFileTransfer ¶
GetFileTransfer return a client file reader transfer
func (*FtpConn) OpenFileTransfer ¶
OpenFileTransfer open a ftp file transfer
func (*FtpConn) PutFileTransfer ¶
PutFileTransfer transfer a ftp file to client
func (*FtpConn) WriteFileTransfer ¶
WriteFileTransfer write data to file transfer
type FtpdConfig ¶
type FtpdConfig struct { Bind string `yaml:"Bind,omitempty"` Driver string `yaml:"Driver,omitempty"` HomeDir bool `yaml:"HomeDir,omitempty"` Debug bool `yaml:"Debug,omitempty"` Pasv struct { Enable bool `yaml:"Enable,omitempty"` IP string `yaml:"IP,omitempty"` PortStart int `yaml:"PortStart,omitempty"` PortEnd int `yaml:"PortEnd,omitempty"` ListenTimeout int `yaml:"ListenTimeout,omitempty"` } `yaml:"Pasv,omitempty"` Port struct { Enable bool `yaml:"Enable,omitempty"` ConnectTimeout int `yaml:"ConnectTimeout,omitempty"` } `yaml:"Port,omitempty"` FileDriver struct { BaseDir string `yaml:"BaseDir,omitempty"` } `yaml:"FileDriver,omitempty"` MinioDriver struct { Endpoint string `yaml:"Endpoint,omitempty"` AccessKeyID string `yaml:"AccessKeyID,omitempty"` SecretAccessKey string `yaml:"SecretAccessKey,omitempty"` UseSSL bool `yaml:"UseSSL,omitempty"` Bucket string `yaml:"Bucket,omitempty"` } `yaml:"MinioDriver,omitempty"` AuthTLS struct { Enable bool `yaml:"Enable,omitempty"` CertFile string `yaml:"CertFile,omitempty"` KeyFile string `yaml:"KeyFile,omitempty"` } `yaml:"AuthTLS,omitempty"` Users map[string]string `yaml:"Users,omitempty"` }
FtpdConfig - ftpd configure
func LoadFtpdConfig ¶ added in v0.4.0
func LoadFtpdConfig(configFile string) (*FtpdConfig, error)
LoadFtpdConfig return a ftd config loaded from config file
type FtpdHandler ¶ added in v0.8.0
type FtpdHandler struct { UserBeforeLogin func(string, string) bool UserAfterLogin func(string) ClientBeforePasv func(string) bool ClientBeforePort func(string) bool FileBeforePut func(string, string) bool FileAfterPut func(string, string) FileBeforeGet func(string, string) bool FileAfterGet func(string, string) FileBeforeDelete func(string, string) bool FileAfterDelete func(string, string) FileBeforeRename func(string, string, string) bool FileAfterRename func(string, string, string) }
FtpdHandler - ftpd handler
type MinioDriver ¶
type MinioDriver struct {
// contains filtered or unexported fields
}
MinioDriver - minio driver
func (*MinioDriver) DeleteDir ¶
func (driver *MinioDriver) DeleteDir(path string) error
DeleteDir delete dir in minio
func (*MinioDriver) DeleteFile ¶
func (driver *MinioDriver) DeleteFile(path string) error
DeleteFile delete file in minio
func (*MinioDriver) GetFile ¶
func (driver *MinioDriver) GetFile(path string, offset int64) (int64, io.ReadCloser, error)
GetFile return file size, file reader in minio
func (*MinioDriver) ListDir ¶
func (driver *MinioDriver) ListDir(path string, callback func(FileInfo) error) error
ListDir return file list from dir in minio
func (*MinioDriver) MakeDir ¶
func (driver *MinioDriver) MakeDir(path string) error
MakeDir make dir in minio
type MinioDriverFactory ¶
type MinioDriverFactory struct {
// contains filtered or unexported fields
}
MinioDriverFactory - minio driver factory
type MinioFileInfo ¶
type MinioFileInfo struct {
// contains filtered or unexported fields
}
MinioFileInfo - minio file information
func (*MinioFileInfo) ModTime ¶
func (m *MinioFileInfo) ModTime() time.Time
ModTime return minio file modify time
func (*MinioFileInfo) Sys ¶
func (m *MinioFileInfo) Sys() interface{}
Sys return minio file system information, not implemented.