Documentation
¶
Index ¶
- Variables
- func SetDefaults(c *Config)
- type Auth
- type Config
- func (c *Config) Init() *Config
- func (c *Config) SetAuth(auth ftpserver.Auth) *Config
- func (c *Config) SetDriver(driver ftpserver.Driver) *Config
- func (c *Config) SetPerm(perm ftpserver.Perm, owner string, group string) *Config
- func (c *Config) SetPort(port int) *Config
- func (c *Config) SetStoreByType(storeType string) *Config
- func (c *Config) Start() error
- func (c *Config) Stop() error
- type FileDriver
- func (f *FileDriver) ChangeDir(ftpCtx *ftpserver.Context, path string) error
- func (f *FileDriver) DeleteDir(ftpCtx *ftpserver.Context, path string) error
- func (f *FileDriver) DeleteFile(ftpCtx *ftpserver.Context, path string) error
- func (f *FileDriver) GetFile(ftpCtx *ftpserver.Context, path string, offset int64) (int64, io.ReadCloser, error)
- func (f *FileDriver) ListDir(ftpCtx *ftpserver.Context, path string, callback func(os.FileInfo) error) error
- func (f *FileDriver) MakeDir(ftpCtx *ftpserver.Context, path string) error
- func (f *FileDriver) PutFile(ftpCtx *ftpserver.Context, destPath string, data io.Reader, offset int64) (int64, error)
- func (f *FileDriver) Rename(ftpCtx *ftpserver.Context, fromPath string, toPath string) error
- func (f *FileDriver) Stat(ftpCtx *ftpserver.Context, path string) (os.FileInfo, error)
- type Operate
- type PathType
- type Perm
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotDirectory = errors.New("Not a directory") ErrNotFile = errors.New("Not a file") ErrDirectoryAlreadyExists = errors.New("A dir has the same name") ErrPutFile = errors.New("Put File error") )
View Source
var ( DefaultConfig = &Config{ PidFile: `ftp.pid`, StoreType: `file`, Name: `TinyFTP`, PassivePorts: `6001-7000`, Port: 25, PublicIP: `127.0.0.1`, WelcomeMessage: `Welcome to the TinyFTP`, } DefaultPidFile = `ftp.pid` )
Functions ¶
func SetDefaults ¶
func SetDefaults(c *Config)
Types ¶
type Config ¶
type Config struct {
PidFile string `json:"-"`
StoreType string `json:"storeType"`
// Server Name, Default is Go Ftp Server
Name string `json:"name"`
// The hostname that the FTP server should listen on. Optional, defaults to
// "::", which means all hostnames on ipv4 and ipv6.
Hostname string `json:"hostName"`
// Public IP of the server
PublicIP string `json:"publicIP"`
// Passive ports
PassivePorts string `json:"passivePorts"`
// The port that the FTP should listen on. Optional, defaults to 3000. In
// a production environment you will probably want to change this to 21.
Port int `json:"port"`
// use tls, default is false
TLS bool `json:"tls"`
// if tls used, cert file is required
CertFile string `json:"certFile"`
// if tls used, key file is required
KeyFile string `json:"keyFile"`
// If ture TLS is used in RFC4217 mode
ExplicitFTPS bool `json:"explicitFTPS"`
// If true, client must upgrade to TLS before sending any other command
ForceTLS bool `json:"forceTLS"`
WelcomeMessage string `json:"welcomeMessage"`
// Rate Limit per connection bytes per second, 0 means no limit
RateLimit int64 `json:"rateLimit"`
// contains filtered or unexported fields
}
func (*Config) SetStoreByType ¶
type FileDriver ¶
func (*FileDriver) ChangeDir ¶
func (f *FileDriver) ChangeDir(ftpCtx *ftpserver.Context, path string) error
func (*FileDriver) DeleteDir ¶
func (f *FileDriver) DeleteDir(ftpCtx *ftpserver.Context, path string) error
func (*FileDriver) DeleteFile ¶
func (f *FileDriver) DeleteFile(ftpCtx *ftpserver.Context, path string) error
func (*FileDriver) GetFile ¶
func (f *FileDriver) GetFile(ftpCtx *ftpserver.Context, path string, offset int64) (int64, io.ReadCloser, error)
func (*FileDriver) MakeDir ¶
func (f *FileDriver) MakeDir(ftpCtx *ftpserver.Context, path string) error
Click to show internal directories.
Click to hide internal directories.