{"id":18305092,"url":"https://github.com/2factorauth/2fa.directory","last_synced_at":"2025-04-05T16:32:28.739Z","repository":{"id":64935236,"uuid":"564990700","full_name":"2factorauth/2fa.directory","owner":"2factorauth","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-24T09:28:22.000Z","size":2969,"stargazers_count":11,"open_issues_count":9,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-24T17:55:41.620Z","etag":null,"topics":["hugo","ruby","website-template"],"latest_commit_sha":null,"homepage":"https://2fa.directory","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2factorauth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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},"funding":{"github":"2factorauth"}},"created_at":"2022-11-12T02:06:30.000Z","updated_at":"2024-10-23T17:22:41.000Z","dependencies_parsed_at":"2024-09-01T02:47:53.733Z","dependency_job_id":"befaa54e-dfed-4af3-a405-5aa312b503ef","html_url":"https://github.com/2factorauth/2fa.directory","commit_stats":{"total_commits":194,"total_committers":7,"mean_commits":"27.714285714285715","dds":0.2010309278350515,"last_synced_commit":"81db3c838683b7dc8fa2723219feb8eb7c405319"},"previous_names":["2factorauth/2fa.directory","2factorauth/frontend"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2factorauth%2F2fa.directory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2factorauth%2F2fa.directory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2factorauth%2F2fa.directory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2factorauth%2F2fa.directory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2factorauth","download_url":"https://codeload.github.com/2factorauth/2fa.directory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247366741,"owners_count":20927573,"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":["hugo","ruby","website-template"],"created_at":"2024-11-05T15:32:39.407Z","updated_at":"2025-04-05T16:32:28.119Z","avatar_url":"https://github.com/2factorauth.png","language":"HTML","readme":"\u003ch1 align=\"center\"\u003e2FA Directory - Frontend\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://twitter.com/2faorg/\"\u003e\u003cimg src=\"https://img.shields.io/badge/X/Twitter-@2faorg-1DA1F2.svg?style=for-the-badge\u0026logo=x\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://infosec.exchange/@2factorauth\"\u003e\u003cimg src=\"https://img.shields.io/badge/Mastodon-@2factorauth-6364FF?style=for-the-badge\u0026logo=mastodon\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/sponsors/2factorauth/\"\u003e\u003cimg src=\"https://img.shields.io/github/sponsors/2factorauth?color=db61a2\u0026logo=GitHub\u0026style=for-the-badge\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cstrong\u003e[2FA Directory][website] is an open-source project that aims to improve online security by providing a directory of websites and services that support two-factor authentication (2FA). Our community-driven platform allows anyone to contribute to the list, making it the most comprehensive directory of its kind.\u003c/strong\u003e\n\nThis repository contains the HTML, JavaScript and CSS for [2fa.directory][website].  \nAll data used to populate the categories is sourced from [2factorauth/twofactorauth][data_repo].\n\n![][screenshot]\n\n## Tech Stack\n\n- **Frontend:** HTML, JavaScript, CSS\n- **Frameworks \u0026 Libraries:** Preact, HTM, Vite\n- **Hosting:** Cloudflare Pages\n\n## Local Installation\n\nTo run the site locally, follow these steps:\n\n1. **Ensure you have Node.js installed** (Recommended version: 20.x or higher).\n2. **Clone the repository:**\n   ```bash\n   git clone https://github.com/2factorauth/2fa.directory.git\n   cd frontend\n   ```\n3. **Install NPM packages:**\n   ```bash\n   npm install\n   ```\n4. **Run the site locally:**\n   ```bash\n   npm run dev\n   ```\n   After running this command, the site will be accessible at [http://localhost:5173][localhost] (or another port if 5173 is taken).\n\n\u003e [!NOTE]\n\u003e The [region-redirection][functions] script does not run locally. You will therefore always be directed to\n\u003e the international page when using `npm run dev`.\n\n## Publishing forks\n\nIf you’d like to deploy your own version of this site, you can use Cloudflare Pages to host it. Here’s how you can publish a fork of this repository:\n\n1. **Log in to your Cloudflare [Dashboard][cf_dash]** and select \"Pages.\"\n2. **Create a new project** and select your fork as the source.\n3. **Configure the build settings:**\n   * **Framework preset:** `None`\n   * **Build command:** `npm run build`\n   * **Build output directory:** `dist`\n4. **Deploy your project.** Once completed, your site will be live on Cloudflare Pages.\n\n\u003e [!TIP]\n\u003e Be sure to update the fork with any new changes from the main repository to keep your version up-to-date.\n\n## Contributing\n\nWhen contributing changes to this repository, please make sure your IDE follows\nour [editorconfig][editorconfig].\n\nThe general file structure is as follows:\n\n|       Type        | Path                  |\n|:-----------------:|-----------------------|\n|    JavaScript     | `src`                 |\n|        CSS        | `assets/css`          |\n| Layout components | `src/components`      |\n|   Translations    | `data/languages.json` |\n\n## License\n\nThis project is licensed under the GPLv3. See [LICENSE][license] for the full text.\n\nBefore you make changes to the code, please keep the following in mind:\n\n* **Data License:** The data is [licensed separately][data_license].\n* **Attribution:** If you use this project as a template for your own website, attribution is required.\n* **License Modifications:** The original contents of [LICENSE][license] must be retained in distributions and forks, but you are allowed (and encouraged) to prepend your own copyright and GPLv3-compatible license for any changes you make.\n\nFor more details on what is and isn't allowed under a GPLv3 license, see this [guide][gplv3_guide].\n\n[cf_dash]: https://dash.cloudflare.com/?to=/:account/workers-and-pages/create/pages\n[data_repo]: https://github.com/2factorauth/twofactorauth.git\n[data_license]: https://github.com/2factorauth/twofactorauth/blob/master/LICENSE.md\n[license]: /LICENSE\n[localhost]: http://localhost:5173\n[editorconfig]: https://editorconfig.org/\n[gplv3_guide]: https://www.gnu.org/licenses/quick-guide-gplv3.html\n[website]: https://2fa.directory/\n[screenshot]: https://i.imgur.com/4WvIsg0.png\n[functions]: /functions/redirect.js\n","funding_links":["https://github.com/sponsors/2factorauth","https://github.com/sponsors/2factorauth/"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2factorauth%2F2fa.directory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2factorauth%2F2fa.directory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2factorauth%2F2fa.directory/lists"}