{"id":13439462,"url":"https://github.com/proftpd/proftpd","last_synced_at":"2025-05-14T18:05:39.531Z","repository":{"id":17097656,"uuid":"19863023","full_name":"proftpd/proftpd","owner":"proftpd","description":"ProFTPD source code","archived":false,"fork":false,"pushed_at":"2025-05-14T16:17:44.000Z","size":76176,"stargazers_count":544,"open_issues_count":146,"forks_count":214,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-05-14T17:28:01.523Z","etag":null,"topics":["c","ftp","ftp-server","ftpd","ftps","ldap","posix","proftpd","scp","sftp","sftp-server","sql","tls","unix"],"latest_commit_sha":null,"homepage":"http://www.proftpd.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proftpd.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":".github/CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-05-16T16:22:01.000Z","updated_at":"2025-05-14T16:17:43.000Z","dependencies_parsed_at":"2024-01-11T01:44:18.524Z","dependency_job_id":"ef16bfd1-9245-4a20-93d3-8838384b658a","html_url":"https://github.com/proftpd/proftpd","commit_stats":{"total_commits":11535,"total_committers":61,"mean_commits":189.0983606557377,"dds":0.364109232769831,"last_synced_commit":"f001c03489f596d774c6b243545889d4cfe8f370"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fproftpd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fproftpd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fproftpd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fproftpd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proftpd","download_url":"https://codeload.github.com/proftpd/proftpd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198514,"owners_count":22030965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","ftp","ftp-server","ftpd","ftps","ldap","posix","proftpd","scp","sftp","sftp-server","sql","tls","unix"],"created_at":"2024-07-31T03:01:14.095Z","updated_at":"2025-05-14T18:05:34.523Z","avatar_url":"https://github.com/proftpd.png","language":"C","readme":"# ProFTPD 1.3.x README\n\n## Status\n\n[![GitHub Actions CI Status](https://github.com/proftpd/proftpd/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/proftpd/proftpd/actions/workflows/ci.yml)\n[![CirrusCI Build Status](https://api.cirrus-ci.com/github/proftpd/proftpd.svg?branch=master)](https://cirrus-ci.com/github/proftpd/proftpd)\n[![Coverage Status](https://coveralls.io/repos/github/proftpd/proftpd/badge.svg?branch=master)](https://coveralls.io/github/proftpd/proftpd?branch=master)\n[![CodeQL Analysis](https://github.com/proftpd/proftpd/actions/workflows/codeql.yml/badge.svg)](https://github.com/proftpd/proftpd/actions/workflows/codeql.yml)\n[![Coverity Scan Status](https://scan.coverity.com/projects/198/badge.svg)](https://scan.coverity.com/projects/198)\n[![Release](https://img.shields.io/badge/release-1.3.10rc1-brightgreen)](https://github.com/proftpd/proftpd/releases/latest)\n[![License](https://img.shields.io/badge/license-GPL-brightgreen.svg)](https://img.shields.io/badge/license-GPL-brightgreen.svg)\n\n## Introduction\n\nProFTPD is a highly configurable FTP daemon for Unix and Unix-like\noperating systems.  See the _**README.ports**_ file for more details about\nthe platforms on which ProFTPD in known or thought to build and run.\n\nProFTPD grew from a desire for a secure and configurable FTP server.\nIt was inspired by a significant admiration of the Apache web server.\nUnlike most other Unix FTP servers, it has not been derived from the old\nBSD `ftpd` code base, but is a completely new design and implementation.\n\nProFTPD's extensive configurability provides systems administrators great\nflexibility in user authentication and access controls, including virtual\nusers and easy `chroot()` FTP sessions for individual users.\n\nProFTPD is popular with many service providers for delivering update\naccess to user web pages, without resorting to Unix shell accounts.\n\n## Latest Release\n\n- [ftp://ftp.proftpd.org/distrib/source/](ftp://ftp.proftpd.org/distrib/source/)\n- [http://www.proftpd.org/](http://www.proftpd.org/)\n\n\u003e see _**RELEASE_NOTES**_ for an overview of the changes in this release.\n\n## Major Features\n\n- A single main configuration file, with directives and directive groups patterned after those of the Apache web server.\n- Per directory \".ftpaccess\" configuration similar to Apache's \".htaccess\".\n- Designed to run either as a stand-alone server or from `inetd`/`xinetd`.\n- Multiple virtual FTP servers and anonymous FTP services.\n- Multiple password files.\n- Shadow password support, including support for expired accounts.\n- Multiple authentication methods, including PAM, LDAP, SQL, and RADIUS.\n- Virtual users.\n- ProFTPD never executes any external program at any time. There is no `SITE EXEC` command, and all file and directory listings are generated internally, without using an external ls command.\n- Anonymous FTP and other chroot directories do not require any specific directory structure, executable programs or other system files.\n- Modular architecture with an API that facilitates well structured extensions to meet user needs.\n- Visibility of directories or files controlled based on Unix style permissions or user/group ownership.\n- Logging and `utmp`/`wtmp` support.  Extensible, customizable logging is available.\n- If supported by the capabilities the host system, it can run as a non-privileged user in stand-alone mode, thwarting attacks aimed at exploiting \"root\" privileges.\n- GPLv2 source license.  The source code is available to audit.\n\n## Documentation\n\n- The [doc/](doc/) directory\n- [http://www.proftpd.org/docs/](http://www.proftpd.org/docs/)\n\n## Installation Overview\n\nFor detailed installation instructions, see the _**INSTALL**_ file in the root\ndirectory of the source distribution.\n\nThe ProFTPD source distribution is designed to be configured using the GNU\nautotools, so compiling and installing follows the familiar command sequence of\n```bash\n./configure\nmake\nmake install\n```\n\nHowever, a significant portion of ProFTPD's configurability is done at compile\ntime, so it is highly recommended that you read _**INSTALL**_ and all of the\n_**README.***_ files that pertain to your platform and desired features before\nbuilding the sources.\n\nProFTPD uses a single configuration file.  A few examples are included in the\n[sample-configurations/](sample-configurations/) subdirectory of the source\ndistribution.\n\nOn most systems, the `inetd` or `xinetd` configuration must be changed, either\nto remove the current ftpd entry to run ProFTPD standalone, or to change the\ncurrent ftpd entry to use the proftpd daemon.\n\n## Questions\n\nIf you have questions, please ask them on the appropriate [mailing lists](http://www.proftpd.org/lists.html).\n\nIf you don't understand the documentation, please tell us, so we can explain it\nbetter.  The general idea is: if you need to ask for help, then something needs\nto be fixed so you (and others) don't need to ask for help.  Asking questions\nhelps us to know what needs to be documented, described, and/or fixed.\n","funding_links":[],"categories":["C","c"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproftpd%2Fproftpd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproftpd%2Fproftpd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproftpd%2Fproftpd/lists"}