Packages / proftpd

APT repository · deb.freshdeb.com/proftpd

proftpd

ProFTPD, the configurable FTP server, with FTPS, SFTP and SCP, virtual hosts, and SQL, LDAP and RADIUS authentication. Its own modules and the third-party ones the distributions ship are all built here, against the same release. One release line for Debian 12 and 13, Ubuntu 22.04, 24.04 and 26.04 on amd64 and arm64.

Componentmain

follows every upstream release, minors and majors included. Currently 1.3.9e.

Release line
Deliver to
proftpd-core 1.3.9e-1+freshdeb~deb13

1Trust the signing key (once per machine)

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.freshdeb.com/freshdeb-archive-keyring.gpg \
  | sudo tee /etc/apt/keyrings/freshdeb-archive-keyring.gpg >/dev/null

Fingerprint 3BBD F03A 9C0B F890 F8CA 9510 7595 CC55 468F 3161. How to verify.

2Add the source

sudo tee /etc/apt/sources.list.d/freshdeb-proftpd.sources >/dev/null <<EOF
Types: deb
URIs: https://deb.freshdeb.com/proftpd
Suites: $(. /etc/os-release && echo $VERSION_CODENAME)
Components: main
Signed-By: /etc/apt/keyrings/freshdeb-archive-keyring.gpg
EOF

With auto, the shell reads the codename from /etc/os-release on the machine you paste this into.

3Install

sudo apt update && sudo apt install proftpd-core
apt policy proftpd-core   # expect 1.3.9e-1+freshdeb~…

Before you upgrade from the distribution's proftpd

The freshdeb version sorts higher, so apt upgrade moves you over in place. Most configurations keep working; the distributions ship 1.3.7c and 1.3.8. TLSOptions NoCertRequest is now an error, so remove it. mod_tls no longer renegotiates by default, mod_sftp uses strict KEX against Terrapin (SFTPOptions NoStrictKex for clients that can't), FSCachePolicy is off, and clients that don't fit the scoreboard are disconnected. Keep the LoadModule mod_ls.c and mod_xfer.c lines in modules.conf. The package's NEWS entry lists every change.

proftpd-core 1.3.9e-1+freshdeb~deb13

Compared with Debian's package

Debian's packaging decides where things go: package names, paths, users, services and how upgrades behave. The build follows upstream's own release builds wherever Debian's differs.

Build
Debian's packaging and patches, from upstream's release tag. Debian repacks the tarball without the RFCs in doc/rfc. Upstream's fix for FTPS over TLS 1.3 with OpenSSL older than 3.5 is added; 1.3.9e broke it.
Modules
The 16 third-party modules the distributions ship (mod_vroot, mod_proxy, mod_clamav, mod_tar and the rest) are rebuilt with every release, each from its upstream tag with Debian's packaging. Debian's modules require the exact proftpd they were built for, so without them apt would hold proftpd back.
Layout
Debian's: /etc/proftpd/proftpd.conf and modules.conf, the proftpd and ftp users, /srv/ftp, the systemd unit, and the modules as proftpd-mod-* packages.
modules.conf
mod_ls and mod_xfer are loadable modules since 1.3.9. The upgrade adds their LoadModule lines to modules.conf even if you changed the file, since proftpd won't start without them. Debian's only adds them to an unchanged one.

Packing list

Every release line of proftpd and the distributions it's built for. Each line is its own APT component and only gets the releases it follows (main: every upstream release, minors and majors included). After upstream end of life it stops building but stays installable. Hatched cells have no build: usually that distribution already ships the same or a newer version itself.

LineComponentCurrentbookwormDebian 12trixieDebian 13jammyUbuntu 22.04nobleUbuntu 24.04resoluteUbuntu 26.04Support
main main 1.3.9e built: 1.3.9e-1built: 1.3.9e-1built: 1.3.9e-1built: 1.3.9e-1built: 1.3.9e-1 –

Versions follow <upstream>-<revision>+freshdeb~<distro>, distro being deb12, deb13, ubuntu22.04, ubuntu24.04 or ubuntu26.04, for amd64 and arm64. Published versions are never rebuilt or replaced.

Contents

proftpd-core
The server, with its built-in modules and ftpasswd, ftpwho and ftptop.
proftpd-dev
Headers and tools for building modules.
proftpd-doc
The documentation.
proftpd-mod-mysql
MySQL and MariaDB for mod_sql.
proftpd-mod-pgsql
PostgreSQL for mod_sql.
proftpd-mod-ldap
LDAP authentication.
proftpd-mod-odbc
ODBC for mod_sql.
proftpd-mod-sqlite
SQLite for mod_sql.
proftpd-mod-geoip
GeoIP lookups (legacy databases).
proftpd-mod-snmp
SNMP agent.
proftpd-mod-crypto
FTPS (mod_tls), SFTP and SCP (mod_sftp) and the other modules that need OpenSSL.
proftpd-mod-wrap
TCP wrappers access control.

Third-party modulesrebuilt against this proftpd

proftpd-mod-autohost
Virtual hosts configured on demand from per-host files.0.6 · github.com/Castaglia/proftpd-mod_autohost
proftpd-mod-case
Case-insensitive file names.0.9.1 · github.com/Castaglia/proftpd-mod_case
proftpd-mod-clamav
Scans uploads with ClamAV.0.14rc2 · github.com/jbenden/mod_clamav
proftpd-mod-counter
Limits concurrent readers and writers per file.0.6.2 · github.com/Castaglia/proftpd-mod_counter
proftpd-mod-fsync
Flushes uploads to disk every so many bytes, so they don't crowd out the read cache.0.3 · github.com/Castaglia/proftpd-mod_fsync
proftpd-mod-geoip2
GeoIP2 lookups with MaxMind's current databases.0.1.1 · github.com/Castaglia/proftpd-mod_geoip2
proftpd-mod-kafka
Sends log messages to Kafka.0.1 · github.com/Castaglia/proftpd-mod_kafka
proftpd-mod-msg
Messages to connected clients from ftpdctl.0.5.1 · github.com/Castaglia/proftpd-mod_msg
proftpd-mod-prometheus
Prometheus metrics.0.2 · github.com/Castaglia/proftpd-mod_prometheus
proftpd-mod-procfs
Controls what FTP sessions can see and use of /proc.0.3 · github.com/Castaglia/proftpd-mod_procfs
proftpd-mod-proxy
FTP reverse and forward proxy.0.9.7 · github.com/Castaglia/proftpd-mod_proxy
proftpd-mod-proxy-protocol
The PROXY protocol from load balancers.0.6 · github.com/Castaglia/proftpd-mod_proxy_protocol
proftpd-mod-sftp-ldap
SFTP public keys from LDAP.0.2 · github.com/Castaglia/proftpd-mod_sftp_ldap
proftpd-mod-statsd
Sends metrics to statsd.0.1 · github.com/Castaglia/proftpd-mod_statsd
proftpd-mod-tar
Downloads directories as tar or zip archives.0.4 · github.com/Castaglia/proftpd-mod_tar
proftpd-mod-vroot
Virtual chroot, with aliases outside it.0.9.12 · github.com/Castaglia/proftpd-mod_vroot

Origin

Upstream
github.com/proftpd/proftpdrelease tags pinned to commit hashes
Debian packaging
salsa.debian.org/debian-proftpd-team/proftpdimported unmodified at 8c50bee (1.3.9e~dfsg-1, unstable)
Modules
16 third-party modules, each from its upstream release tag with Debian's packaging, built against this proftpdcompanions in package.yaml
Our changes
Per-line quilt patches under patches/, plus overlays under overlays/ for bookworm, trixie, jammy, noble, resolute.
Built for
bookworm, trixie, jammy, noble, resoluteamd64, arm64, built natively
Files
package.yaml · debian/ · report an issuepackage.yaml explains every change

Maintained by Blendbyte

Blendbyte builds cloud infrastructure, web apps, and developer tools. We've been shipping software to production for 20+ years.

These packages run in our own stack, which is why we keep them maintained. Issues and PRs get read. Good ones get merged.

Also from Blendbytenginx-modules.com: pre-built nginx dynamic modules (Brotli, GeoIP2, ModSecurity and more) for nginx.org's nginx, on the same Debian and Ubuntu releases.

Tindra: self-hosted error tracking and monitoring that works with Sentry SDKs. Packaged here, like everything else.