A pure go ftp server with web management UI
Go to file
Lunny Xiao caa6053d75
All checks were successful
checks / check and test (push) Successful in 31s
remove space
2023-05-09 14:36:10 +08:00
.gitea/workflows remove space 2023-05-09 14:36:10 +08:00
modules Remove vendor 2023-05-09 14:15:09 +08:00
public use tango instead of xweb for web interface 2015-10-30 17:56:39 +08:00
templates bug fixed & permission management in progress 2015-11-04 15:29:25 +08:00
web Use goftp.io/server/v2 instead of goftp.io/server 2020-12-06 21:42:50 +08:00
.dockerignore Add taskfile and dockerfile (#19) 2020-02-04 09:46:01 +00:00
.gitignore Fix minio bug (#24) 2020-04-28 02:56:48 +00:00
cert.pem init 2015-10-29 14:24:02 +08:00
config.sample.ini Rename config.ini to config.sample.ini because it's not a dependency file (#23) 2020-02-07 03:35:02 +00:00
Dockerfile Remove vendor 2023-05-09 14:15:09 +08:00
go.mod Remove vendor 2023-05-09 14:15:09 +08:00
go.sum Remove vendor 2023-05-09 14:15:09 +08:00
key.pem init 2015-10-29 14:24:02 +08:00
LICENSE add license and fix #4 (#11) 2019-07-12 05:21:29 +00:00
main.go Support running ftpd from envs 2021-03-14 19:46:19 +08:00
README_CN.md Support running ftpd from envs 2021-03-14 19:46:19 +08:00
README.md Fix README 2023-05-09 14:06:04 +08:00
setting.go Support running ftpd from envs 2021-03-14 19:46:19 +08:00
Taskfile.yml Remove vendor 2023-05-09 14:15:09 +08:00

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.