{"id":19029844,"url":"https://github.com/proftpd/mod_auth_web","last_synced_at":"2025-08-19T08:34:24.154Z","repository":{"id":50044558,"uuid":"1707729","full_name":"proftpd/mod_auth_web","owner":"proftpd","description":"ProFTPD module that authenticates against a remote HTTP server","archived":false,"fork":false,"pushed_at":"2021-06-05T16:01:50.000Z","size":15,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T20:14:48.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://horde.net/~jwm/software/mod_auth_web/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proftpd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-05-05T18:25:36.000Z","updated_at":"2024-03-06T15:23:25.000Z","dependencies_parsed_at":"2022-08-31T11:52:16.017Z","dependency_job_id":null,"html_url":"https://github.com/proftpd/mod_auth_web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/proftpd/mod_auth_web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fmod_auth_web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fmod_auth_web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fmod_auth_web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fmod_auth_web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proftpd","download_url":"https://codeload.github.com/proftpd/mod_auth_web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proftpd%2Fmod_auth_web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271121982,"owners_count":24702915,"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","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-08T21:15:33.148Z","updated_at":"2025-08-19T08:34:24.132Z","avatar_url":"https://github.com/proftpd.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"proftpd-mod_auth_web\n====================\n\nStatus\n------\n[![GitHub Actions CI Status](https://github.com/proftpd/mod_auth_web/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/proftpd/mod_auth_web/actions/workflows/ci.yml)\n\n`mod_auth_web` is a ProFTPD module that authenticates users against a web URL,\nsuch as the login form for a remote web site. It is useful for\nauthenticating users against a service that provides web access, but no\nprogrammatic means (such as an API) for authentication.\n\n`mod_auth_web` is no longer actively maintained. It works with the most recent\nProFTPD release, but is not guaranteed to continue working with new ProFTPD\nreleases.\n\n\nInstallation\n============\n\nYou can add `mod_auth_web` to an existing ProFTPD installation by building it\nas a DSO: http://www.proftpd.org/docs/howto/DSO.html\n\n\nSample Configuration\n====================\n\nThis sample configuration illustrates authentication against Yahoo!. Users\nmust log in via FTP as `yahoousername@yahoo.com` and will have the UID, GID,\nand home directory of the user named `example`.\n```\n\tAuthWebUserRegex @yahoo.com$\n\tAuthWebURL https://login.yahoo.com/config/login?\n\tAuthWebUsernameParamName login\n\tAuthWebPasswordParamName passwd\n\tAuthWebLocalUser example\n\tAuthWebLoginFailedString \"Invalid ID or password.\"\n\tAuthWebRequireHeader \"HTTP/1.1 302 Found\"\n\tAuthWebRequireHeader \"Location: https://login.yahoo.com/config/verify?.done=http%3a//www.yahoo.com\"\n```\n\nDirectives\n==========\n\nAuthWebUserRegex\n----------------\n* Syntax: AuthWebUserRegex _regex_\n* Default: `.*`\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nConfigures which usernames should be processed by mod_auth_web. The\n_regex_ parameter is a standard (not extended) regular expression. If\na username matches this regular expression, it will be processed; otherwise,\nthe login request will be ignored by mod_auth_web and other ProFTPD modules\nwill be allowed to process it.\n\n\nAuthWebURL\n----------\n* Syntax: AuthWebURL _url_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures the URL to `POST` to when\nauthenticating users. `AuthWebURL` can be configured on a per-\n`\u003cVirtualHost\u003e` basis, so that virtual FTP servers can use\ndifferent URLs to authenticate against different services or to pass URL\nparameters identifying the `\u003cVirtualHost\u003e`.\n\n\nAuthWebUsernameParamName\n------------------------\n* Syntax: AuthWebUsernameParamName _queryparam_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures the parameter name to use for the username when\nsubmitting `POST` requests to `AuthWebURL`.\n\nSee also: `AuthWebPasswordParamName`\n\n\nAuthWebPasswordParamName\n------------------------\n* Syntax: AuthWebPasswordParamName _path_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures the parameter name to use for the password when\nsubmitting `POST` requests to `AuthWebURL`.\n\nSee also: `AuthWebUsernameParamName`\n\n\nAuthWebLocalUser\n----------------\n* Syntax: AuthWebLocalUser _username_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures the local username to use for all users\nauthenticated by mod_auth_web. All users must have certain\ninformation, such as user ID (UID), group ID, and home directory, in order\nto log in. Since web-based authentication provides no way to retrieve this\ninformation, users authenticated by mod_auth_web are given the\nuser information for _username_. The username will remain the same as\nthe user entered it when logging in, but all other account information (UID,\nGID, home directory, etc.) will be based on this local user. \n\n\nAuthWebLoginFailedString\n------------------------\n* Syntax: AuthWebLoginFailedString _string_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures a string that the remote web server sends to\nindicate authentication failure. If the remote web server's response body\ncontains _string_, authentication will be rejected. Only one\n`AuthWebLoginFailedString` may be configured.\n\nSee also: `AuthWebRequireHeader`\n\n\nAuthWebRequireHeader\n--------------------\n* Syntax: AuthWebRequireHeader _header_\n* Default: None\n* Context: server config, `\u003cVirtualHost\u003e`, `\u003cGlobal\u003e`\n\nThis directive configures a HTTP header that must be present for\nauthentication to succeed. Multiple `AuthWebRequireHeader`\ndirectives may be used, and all configured headers must be present in the\nweb server's response for authentication to succeed.\n\nSee also: `AuthWebLoginFailedString`\n\n\nHistory\n=======\n\n* v1.1.2 (26 Apr 2014)\n * Emit a useful error message on curl failure.\n * Use proftpd's regex type and supporting functions.\n\n* v1.1.1 (17 Mar 2011)\n * Sync with ProFTPD pr_regexp_alloc() API change after Bug #3609\n   (will likely be in ProFTPD 1.3.4 release candidates and later).\n\n* v1.1 (9 June 2007)\n * URL-encode usernames and passwords when submitting them to the remote\n   web server, removing the character restrictions previously in place.\n\n* v1.0 (17 Feb 2007)\n * Initial release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproftpd%2Fmod_auth_web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproftpd%2Fmod_auth_web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproftpd%2Fmod_auth_web/lists"}