sftpgo

command module
v2.6.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2025 License: AGPL-3.0 Imports: 3 Imported by: 0

README

SFTPGo

CI Status Code Coverage Mentioned in Awesome Go

Full-featured and highly configurable event-driven file transfer solution. Server protocols: SFTP, HTTP/S, FTP/S, WebDAV. Storage backends: local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage, other SFTP servers.

With SFTPGo you can leverage local and cloud storage backends for exchanging and storing files internally or with business partners using the same tools and processes you are already familiar with.

The WebAdmin UI allows to easily create and manage your users, folders, groups and other resources.

The WebClient UI allows end users to change their credentials, browse and manage their files in the browser and setup two-factor authentication which works with Microsoft Authenticator, Google Authenticator, Authy and other compatible apps.

Sponsors

We strongly believe in Open Source software model, so we decided to make SFTPGo available to everyone, but maintaining and evolving SFTPGo takes a lot of time and work. To make development and maintenance sustainable you should consider to support the project with a sponsorship.

We love doing the work and we'd like to keep doing it - your support helps make SFTPGo possible.

It is important to understand that you should support SFTPGo and any other Open Source project you rely on for ongoing maintenance, even if you don't have any questions or need new features, to mitigate the business risk of a project you depend on going unmaintained, with its security and development velocity implications.

Thank you to our sponsors
Platinum sponsors

Aledade logo

Jump Trading logo

WP Engine logo

Silver sponsors

IDCS logo

Bronze sponsors

7digital logo

VPS2day logo

Support

You can use SFTPGo for free, respecting the obligations of the Open Source license, but please do not ask or expect free support as well.

Use discussions to ask questions and get support from the community.

We offer commercial support, guarantees, and advice for SFTPGo:

  • With our plans you can safely install and use SFTPGo on-premise in professional environments.
  • With our SaaS offerings you can use SFTPGo hosted in the cloud, fully managed and supported.

Documentation

You can read more about supported features and documentation at docs.sftpgo.com.

Release Cadence

SFTPGo releases are feature-driven, we don't have a fixed time based schedule. As a rough estimate, you can expect 1 or 2 new major releases per year and several bug fix releases.

Acknowledgements

SFTPGo makes use of the third party libraries listed inside go.mod.

We are very grateful to all the people who contributed with ideas and/or pull requests.

Thank you to ysura for granting us stable access to a test AWS S3 account.

Thank you to KeenThemes for granting us a custom license to use their amazing Mega Bundle for SFTPGo UI.

Thank you to Crowdin for granting us an Open Source License.

Thank you to Incode for helping us to improve the UI/UX.

License

SFTPGo source code is licensed under the GNU AGPL-3.0-only with additional terms.

The theme used in WebAdmin and WebClient user interfaces is proprietary, this means:

  • KeenThemes HTML/CSS/JS components are allowed for use only within the SFTPGo product and restricted to be used in a resealable HTML template that can compete with KeenThemes products anyhow.
  • The SFTPGo WebAdmin and WebClient user interfaces (HTML, CSS and JS components) based on this theme are allowed for use only within the SFTPGo product and therefore cannot be used in derivative works/products without an explicit grant from the SFTPGo Team.

More information about compliance.

Copyright (C) 2019 - 2025 Nicola Murino

Documentation

Overview

Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. For more details about features, installation, configuration and usage please refer to the README inside the source tree: https://github.com/drakkan/sftpgo/blob/main/README.md

Directories

Path Synopsis
internal
acme
Package acme provides automatic access to certificates from Let's Encrypt and any other ACME-based CA The code here is largely coiped from https://github.com/go-acme/lego/tree/master/cmd This package is intended to provide basic functionality for obtaining and renewing certificates and implements the "HTTP-01" and "TLSALPN-01" challenge types.
Package acme provides automatic access to certificates from Let's Encrypt and any other ACME-based CA The code here is largely coiped from https://github.com/go-acme/lego/tree/master/cmd This package is intended to provide basic functionality for obtaining and renewing certificates and implements the "HTTP-01" and "TLSALPN-01" challenge types.
cmd
Package cmd provides Command Line Interface support
Package cmd provides Command Line Interface support
command
Package command provides command configuration for SFTPGo hooks
Package command provides command configuration for SFTPGo hooks
common
Package common defines code shared among file transfer packages and protocols
Package common defines code shared among file transfer packages and protocols
config
Package config manages the configuration
Package config manages the configuration
dataprovider
Package dataprovider provides data access.
Package dataprovider provides data access.
ftpd
Package ftpd implements the FTP protocol
Package ftpd implements the FTP protocol
httpclient
Package httpclient provides HTTP client configuration for SFTPGo hooks
Package httpclient provides HTTP client configuration for SFTPGo hooks
httpd
Package httpd implements REST API and Web interface for SFTPGo.
Package httpd implements REST API and Web interface for SFTPGo.
httpdtest
Package httpdtest provides utilities for testing the supported REST API.
Package httpdtest provides utilities for testing the supported REST API.
kms
Package kms provides Key Management Services support
Package kms provides Key Management Services support
logger
Package logger provides logging capabilities.
Package logger provides logging capabilities.
metric
Package metric provides Prometheus metrics support
Package metric provides Prometheus metrics support
mfa
Package mfa provides supports for Multi-Factor authentication modules
Package mfa provides supports for Multi-Factor authentication modules
plugin
Package plugin provides support for the SFTPGo plugin system
Package plugin provides support for the SFTPGo plugin system
service
Package service allows to start and stop the SFTPGo service
Package service allows to start and stop the SFTPGo service
sftpd
Package sftpd implements the SSH File Transfer Protocol as described in https://tools.ietf.org/html/draft-ietf-secsh-filexfer-02.
Package sftpd implements the SSH File Transfer Protocol as described in https://tools.ietf.org/html/draft-ietf-secsh-filexfer-02.
smtp
Package smtp provides supports for sending emails
Package smtp provides supports for sending emails
telemetry
Package telemetry provides telemetry information for SFTPGo, such as:
Package telemetry provides telemetry information for SFTPGo, such as:
util
Package util provides some common utility methods
Package util provides some common utility methods
version
Package version defines SFTPGo version details
Package version defines SFTPGo version details
vfs
Package vfs provides local and remote filesystems support
Package vfs provides local and remote filesystems support
webdavd
Package webdavd implements the WebDAV protocol
Package webdavd implements the WebDAV protocol

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳