A pure go ftp server with web management UI
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Lunny Xiao 3255cab36a
Fix vet
7 months ago
modules Fix vet 7 months ago
public use tango instead of xweb for web interface 6 years ago
templates bug fixed & permission management in progress 6 years ago
vendor Use goftp.io/server/v2 instead of goftp.io/server 11 months ago
web Use goftp.io/server/v2 instead of goftp.io/server 11 months ago
.dockerignore Add taskfile and dockerfile (#19) 2 years ago
.drone.yml improve drone (#20) 2 years ago
.gitignore Fix minio bug (#24) 2 years ago
Dockerfile Add taskfile and dockerfile (#19) 2 years ago
LICENSE add license and fix #4 (#11) 2 years ago
README.md Support running ftpd from envs 8 months ago
README_CN.md Support running ftpd from envs 8 months ago
Taskfile.yml Add taskfile and dockerfile (#19) 2 years ago
cert.pem init 6 years ago
config.sample.ini Rename config.ini to config.sample.ini because it's not a dependency file (#23) 2 years ago
go.mod Use goftp.io/server/v2 instead of goftp.io/server 11 months ago
go.sum Use goftp.io/server/v2 instead of goftp.io/server 11 months ago
key.pem init 6 years ago
main.go Support running ftpd from envs 8 months ago
setting.go Support running ftpd from envs 8 months ago

README.md

ftpd

中文

A FTP server based on gitea.com/goftp/server.

Full documentation for the package is available on godoc

Features

  • Support file system as storage
  • Support minio as storage
  • Support qiniu as storage
  • Support web management UI

Installation

From binary releases

Download the binaries from https://gitea.com/goftp/ftpd/releases.

You can also build the binary yourself. After you clone the repository,

go generate ./...
go build -tags=bindata -mod=vendor

From Source

go get goftp.io/ftpd

Then run it:

$GOPATH/bin/ftpd

And finally, connect to the server with any FTP client and the following details:

host: 127.0.0.1
port: 2121
username: admin
password: 123456

More features, you can copy config.ini to the ftpd directory and modify it.

And one more, you can ignore the config.ini file and use envs. The env name will be ToUpper(<section_name>_<item_name>), i.e.

SERVER_PORT=2222 ./ftpd

Will run a ftpd with ftp port 2222 whatever config.ini has or not.