(https://github.githubassets.com) (https://avatars.githubusercontent.com) (https://github-cloud.s3.amazonaws.com) (https://user-images.githubusercontent.com/) (https://github.githubassets.com) (https://avatars.githubusercontent.com) (https://github.githubassets.com/assets/light-3e154969b9f9.css) (https://github.githubassets.com/assets/dark-9c5b7a476542.css) (https://github.githubassets.com/assets/primer-primitives-fd4f6f126b06.css) (https://github.githubassets.com/assets/primer-3f55af1462e6.css) (https://github.githubassets.com/assets/global-561250c1bd8a.css) (https://github.githubassets.com/assets/github-e4eed26e112b.css) (https://github.githubassets.com/assets/repository-0f7cf89e325a.css) (https://github.githubassets.com/assets/wiki-0f9a446f06a3.css) (https://github.githubassets.com/assets/primer-react-css.8570b2718b0a9c0c8387.module.css) (https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css) Setting up Authentication · ArchiveBox/ArchiveBox Wiki · GitHub (repo_wiki) (https://github.githubassets.com/) (/opensearch.xml) (GitHub) (https://github.com/fluidicon.png) (GitHub) (https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg) (https://github.githubassets.com/favicons/favicon.png) (https://github.githubassets.com/favicons/favicon.svg) (/manifest.json) Skip to content (https://github.githubassets.com/assets/primer-react-css.8570b2718b0a9c0c8387.module.css) Navigation Menu Toggle navigation (/) (/login?return_to=https%3A%2F%2Fgithub.com%2FArchiveBox%2FArchiveBox%2Fwiki%2FSetting-up-Authentication) Sign in Product (https://github.com/features/actions) Actions Automate any workflow (https://github.com/features/packages) Packages Host and manage packages (https://github.com/features/security) Security Find and fix vulnerabilities (https://github.com/features/codespaces) Codespaces Instant dev environments (https://github.com/features/copilot) GitHub Copilot Write better code with AI (https://github.com/features/code-review) Code review Manage code changes (https://github.com/features/issues) Issues Plan and track work (https://github.com/features/discussions) Discussions Collaborate outside of code Explore (https://github.com/features) All features (https://docs.github.com) Documentation (https://skills.github.com) GitHub Skills (https://github.blog) Blog Solutions By size (https://github.com/enterprise) Enterprise (https://github.com/team) Teams (https://github.com/enterprise/startups) Startups By industry (https://github.com/solutions/industries/healthcare) Healthcare (https://github.com/solutions/industries/financial-services) Financial services (https://github.com/solutions/industries/manufacturing) Manufacturing By use case (https://github.com/solutions/ci-cd) CI/CD & Automation (https://github.com/solutions/devops) DevOps (https://github.com/solutions/devsecops) DevSecOps Resources Topics (/resources/articles/ai) AI (/resources/articles/devops) DevOps (/resources/articles/security) Security (/resources/articles/software-development) Software Development (/resources/articles) View all Explore (https://resources.github.com/learn/pathways) Learning Pathways (https://resources.github.com) White papers, Ebooks, Webinars (https://github.com/customer-stories) Customer Stories (https://partner.github.com) Partners Open Source (/sponsors) GitHub Sponsors Fund open source developers (https://github.com/readme) The ReadME Project GitHub community articles Repositories (https://github.com/topics) Topics (https://github.com/trending) Trending (https://github.com/collections) Collections Enterprise (/enterprise) Enterprise platform AI-powered developer platform Available add-ons (https://github.com/enterprise/advanced-security) Advanced Security Enterprise-grade security features (/features/copilot#enterprise) GitHub Copilot Enterprise-grade AI features (/premium-support) Premium Support Enterprise-grade 24/7 support (https://github.com/pricing) Pricing (Search or jump to...) Search or jump to... Search code, repositories, users, issues, pull requests... Search () Clear (https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax) Search syntax tips Provide feedback (L8eDGB+aaU4TJyHTMoeo241Iz8mdtbLS3BiymFOrNHFC9dic8LtqSre/DgK/ZuMxHgkJ11gsG71vPl/vpTewTg==) We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly (CEQo35xt3OQP4yAOrKihCd/Xudq65JVzgf5DN6l1ugZ/8LMgGmlu+/mEt5MG6oEbCge0of8tF0ez1LMMtt3v1Q==) Name (github-ruby) (zMpYPc3t8heiDE68LwbbsaaZzb33A/aGMh7llkR2Q7SAkui9YDWqqfQgSuJGnjb6lcHvpktnQj8kYOmreXqTUA==) Query ((repo:mona/a OR repo:mona/b) AND lang:python) To see all available qualifiers, see our (https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax) documentation . Cancel Create saved search (/login?return_to=https%3A%2F%2Fgithub.com%2FArchiveBox%2FArchiveBox%2Fwiki%2FSetting-up-Authentication) Sign in (/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fwiki%2Fshow&source=header-repo&source_repo=ArchiveBox%2FArchiveBox) Sign up Reseting focus You signed in with another tab or window. () Reload to refresh your session. You signed out in another tab or window. () Reload to refresh your session. You switched accounts on another tab or window. () Reload to refresh your session. Dismiss alert (/ArchiveBox) ArchiveBox / (/ArchiveBox/ArchiveBox) ArchiveBox Public Sponsor Sponsor ArchiveBox/ArchiveBox GitHub Sponsors (/sponsors) Learn more about Sponsors (/ArchiveBox) (@ArchiveBox) (/ArchiveBox) ArchiveBox (/ArchiveBox) ArchiveBox (/sponsors/ArchiveBox) Sponsor (/pirate) (@pirate) (/pirate) pirate (/pirate) pirate (/sponsors/pirate) Sponsor External links (custom) (https://donate.archivebox.io) https://donate.archivebox.io (custom) (https://paypal.me/NicholasSweeting) https://paypal.me/NicholasSweeting (https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository) Learn more about funding links in repositories . (/contact/report-abuse?report=ArchiveBox%2FArchiveBox+%28Repository+Funding+Links%29) Report abuse (/login?return_to=%2FArchiveBox%2FArchiveBox) Notifications You must be signed in to change notification settings (/login?return_to=%2FArchiveBox%2FArchiveBox) Fork (1,113) 1.1k (/login?return_to=%2FArchiveBox%2FArchiveBox) Star (20,696) 20.7k (/ArchiveBox/ArchiveBox) Code (Not available) (/ArchiveBox/ArchiveBox/issues) Issues (162) 162 (/ArchiveBox/ArchiveBox/pulls) Pull requests (3) 3 (/ArchiveBox/ArchiveBox/discussions) Discussions (Not available) (/ArchiveBox/ArchiveBox/actions) Actions (Not available) (/ArchiveBox/ArchiveBox/projects) Projects (1) 1 (/ArchiveBox/ArchiveBox/wiki) Wiki (Not available) (/ArchiveBox/ArchiveBox/security) Security (1) 1 (/ArchiveBox/ArchiveBox/pulse) Insights (Not available) Additional navigation options (/ArchiveBox/ArchiveBox) Code (/ArchiveBox/ArchiveBox/issues) Issues (/ArchiveBox/ArchiveBox/pulls) Pull requests (/ArchiveBox/ArchiveBox/discussions) Discussions (/ArchiveBox/ArchiveBox/actions) Actions (/ArchiveBox/ArchiveBox/projects) Projects (/ArchiveBox/ArchiveBox/wiki) Wiki (/ArchiveBox/ArchiveBox/security) Security (/ArchiveBox/ArchiveBox/pulse) Insights Setting up Authentication Jump to bottom Nick Sweeting edited this page (Jul 11, 2024, 9:00 PM UTC) Jul 11, 2024 · (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication/_history) 120 revisions 💬 We offer (https://docs.monadical.com/s/archivebox-consulting-services) consulting services to set up, integrate, and maintain ArchiveBox with your org's auth & hosting.If you need support, advanced development to capture difficult sites, audit logging, and more, we can provide it! We use this revenue (from corporate clients who can afford to pay) to support open source development and keep ArchiveBox free. ArchiveBox supports several types of authentication for users logging in via the Admin Web UI or REST API. Set Up Admin Web UI Permissions (Non-admin user permissions are only available to paying ArchiveBox clients) Use these three options to set up your desired permissions for non-admin guest users: (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#public_index--public_snapshots--public_add_view) PUBLIC_INDEX=True : Default allows non-logged-in users to see Snapshot list (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#public_index--public_snapshots--public_add_view) PUBLIC_SNAPSHOTS=True : Default allows non-logged-in users to see Snapshot content (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#public_index--public_snapshots--public_add_view) PUBLIC_ADD_VIEW=False : Default doesn't allow non-logged-in users to submit new URLs Note Open source ArchiveBox does not support setting up non-admin users & groups with custom permissions. We do offer this feature, audit logging, and more to (https://docs.monadical.com/s/archivebox-consulting-services) paying clients . () Wiki: Configuration (PUBLIC_ADD_VIEW , PUBLIC_SNAPSHOTS , PUBLIC_INDEX ) (https://github.com/ArchiveBox/ArchiveBox/wiki/Security-Overview) Wiki: Security Overview Admin Web UI Authentication Methods Username & Password (the default) You need a user account to access the Admin UI, you can run the commands below to create/edit a user from the CLI: archivebox manage createsuperuser archivebox manage changepassword < username> # equivalent: docker compose run archivebox manage [...] # equivalent: docker run -v $PWD:/data archivebox/archivebox manage [...] (archivebox manage createsuperuser archivebox manage changepassword # equivalent: docker compose run archivebox manage [...] # equivalent: docker run -v $PWD:/data archivebox/archivebox manage [...]) Tip If using Docker, you can set (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#admin_username--admin_password) ADMIN_USERNAME & ADMIN_PASSWORD to auto-create an admin account on first run. Existing users can be managed from the Admin UI here: (http://127.0.0.1:8000/admin/auth/user/) /admin/auth/user/ ,and you can change your password in the UI here: (http://127.0.0.1:8000/admin/password_change/) /admin/password_change/ . Reverse Proxy Authentication Can be used with a reverse proxy auth provider like (https://github.com/oauth2-proxy/oauth2-proxy) oauth2-proxy , (https://developers.cloudflare.com/cloudflare-one/tutorials/access-workers/#create-a-worker-with-custom-headers) Cloudflare Zero Trust , (https://docs.goauthentik.io/docs/providers/proxy/) Authentik , and others. Set these ArchiveBox configuration values based on your reverse proxy setup and needs: # REQUIRED: the header where your upstream reverse proxy will place the authenticated user's username/email # EXAMPLE: Cf-Access-Authenticated-User-Email (if using Cloudflare Access / Zero Trust) REVERSE_PROXY_USER_HEADER=X-Remote-User # REQUIRED: the IP/CIDR of your upstream reverse proxy server # WARNING: make sure this range contains ONLY your reverse proxy server! # ArchiveBox will completely trust any IP in this range for authentication REVERSE_PROXY_WHITELIST=192.0.2.3/32 # OPTIONAL: redirect users to an external URL after they log out LOGOUT_REDIRECT_URL=https://auth.yourcompany.example.com/after/logout (# REQUIRED: the header where your upstream reverse proxy will place the authenticated user's username/email # EXAMPLE: Cf-Access-Authenticated-User-Email (if using Cloudflare Access / Zero Trust) REVERSE_PROXY_USER_HEADER=X-Remote-User # REQUIRED: the IP/CIDR of your upstream reverse proxy server # WARNING: make sure this range contains ONLY your reverse proxy server! # ArchiveBox will completely trust any IP in this range for authentication REVERSE_PROXY_WHITELIST=192.0.2.3/32 # OPTIONAL: redirect users to an external URL after they log out LOGOUT_REDIRECT_URL=https://auth.yourcompany.example.com/after/logout) (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#reverse_proxy_user_header) https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#reverse_proxy_user_header (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#reverse_proxy_whitelist) https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#reverse_proxy_whitelist (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#logout_redirect_url) https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#logout_redirect_url (https://github.com/ArchiveBox/ArchiveBox/pull/866) https://github.com/ArchiveBox/ArchiveBox/pull/866 LDAP Authentication Can be used with an SSO provider like (https://github.com/goauthentik/authentik) Authentik , (https://github.com/authelia/authelia) Authelia , (https://www.okta.com/) Okta / Auth0 , (https://www.keycloak.org/) Keycloak , and others. First, pip -install the ldap add-on to use this feature (not needed for Docker Archivebox). pip install archivebox[ldap] (pip install archivebox[ldap]) Then set these configuration values to finish configuring LDAP: LDAP=True LDAP_SERVER_URI=" ldap://ldap.example.com:3389" LDAP_BIND_DN=" ou=archivebox,ou=services,dc=ldap.example.com" LDAP_BIND_PASSWORD=" secret-bind-user-password" LDAP_USER_BASE=" ou=users,ou=archivebox,ou=services,dc=ldap.example.com" LDAP_USER_FILTER=" (objectClass=user)" LDAP_USERNAME_ATTR=" uid" LDAP_FIRSTNAME_ATTR=" givenName" LDAP_LASTNAME_ATTR=" sn" LDAP_EMAIL_ATTR=" mail" (LDAP=True LDAP_SERVER_URI="ldap://ldap.example.com:3389" LDAP_BIND_DN="ou=archivebox,ou=services,dc=ldap.example.com" LDAP_BIND_PASSWORD="secret-bind-user-password" LDAP_USER_BASE="ou=users,ou=archivebox,ou=services,dc=ldap.example.com" LDAP_USER_FILTER="(objectClass=user)" LDAP_USERNAME_ATTR="uid" LDAP_FIRSTNAME_ATTR="givenName" LDAP_LASTNAME_ATTR="sn" LDAP_EMAIL_ATTR="mail") (https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#ldap) https://github.com/ArchiveBox/ArchiveBox/wiki/Configuration#ldap (https://github.com/ArchiveBox/ArchiveBox/pull/1214) https://github.com/ArchiveBox/ArchiveBox/pull/1214 (https://github.com/django-auth-ldap/django-auth-ldap#example-configuration) https://github.com/django-auth-ldap/django-auth-ldap#example-configuration (https://jumpcloud.com/blog/what-is-ldap-authentication) https://jumpcloud.com/blog/what-is-ldap-authentication Not Yet Supported: SAML / OAuth2 / OpenID Authentication We'd welcome PRs to add support for these using django-allauth ! These methods are not natively supported by ArchiveBox at the moment. However it is still possible to use them with ArchiveBox by running your own (https://www.cloudflare.com/learning/access-management/what-is-an-identity-provider/) IdP (Identity Provider) server to act as a bridge (e.g. (https://docs.goauthentik.io/docs/providers/saml/) Authentik , (https://www.authelia.com/configuration/identity-providers/introduction/#openid-connect-10) Authelia , (https://github.com/oauth2-proxy/oauth2-proxy) oauth2-proxy ). The IdP server can act as a middleman gateway to authenticate users using an external SAML/OAuth/OpenID/etc. provider (e.g. Google, Microsoft, Github, Facebook, etc.), and then pass on the authenticated user's session info to ArchiveBox using LDAP or reverse proxy headers (as described above). (https://www.cloudflare.com/learning/access-management/what-is-saml/) https://www.cloudflare.com/learning/access-management/what-is-saml/ (https://docs.goauthentik.io/docs/providers/saml/) https://docs.goauthentik.io/docs/providers/saml/ (https://docs.goauthentik.io/docs/providers/oauth2/) https://docs.goauthentik.io/docs/providers/oauth2/ (https://www.authelia.com/configuration/identity-providers/introduction/#openid-connect-10) https://www.authelia.com/configuration/identity-providers/introduction/#openid-connect-10 (https://github.com/oauth2-proxy/oauth2-proxy) https://github.com/oauth2-proxy/oauth2-proxy (https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview) https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview REST API The REST API (available starting in v0.8.0) supports several methods of authentication for convenience. To see API docs, try endpoints interactively, and see how auth works, visit this URL on your ArchiveBox server:(http://127.0.0.1:8000/api/v1/docs) http://127.0.0.1:8000/api/v1/docs (Screenshot of django-ninja Swagger API docs page) To get started using the REST API, you can generate an API key for your user in the Admin Web UI:(http://127.0.0.1:8000/admin/api/apitoken/add/) http://127.0.0.1:8000/admin/api/apitoken/add/ or by calling the http://127.0.0.1:8000/api/v1/auth/get_api_token endpoint with a username & password: curl -X ' POST' \ ' http://127.0.0.1:8000/api/v1/auth/get_api_token' \ -H ' Content-Type: application/json' -d ' {"username": "YOURUSERNAMEHERE", "password": "YOURPASSWORDHERE"}' (curl -X 'POST' \ 'http://127.0.0.1:8000/api/v1/auth/get_api_token' \ -H 'Content-Type: application/json' -d '{"username": "YOURUSERNAMEHERE", "password": "YOURPASSWORDHERE"}') Tip Bearer Tokens are the recommended method for the best balance of security and convenience. API Bearer Token Authentication Pass Authorization=Bearer YOURAPITOKENHERE as a request header. curl -X ' GET' \ ' http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H ' accept: application/json' \ -H ' Authorization: Bearer YOURAPITOKENHERE' (curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H 'accept: application/json' \ -H 'Authorization: Bearer YOURAPITOKENHERE') API Request Header Authentication This method is provided in case you have a reverse proxy in front of ArchiveBox that consumes the bearer header. Pass X-ArchiveBox-API-Key=YOURAPITOKENHERE as a request header. curl -X ' GET' \ ' http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H ' accept: application/json' \ -H ' X-ArchiveBox-API-Key: YOURAPITOKENHERE' (curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H 'accept: application/json' \ -H 'X-ArchiveBox-API-Key: YOURAPITOKENHERE') API Query Parameter Authentication Warning This method is sometimes known as (https://w3ctag.github.io/capability-urls/) "Capability URLs" because anyone in possession of the URL can perform API actions. It comes with (https://security.stackexchange.com/questions/118975/is-it-safe-to-include-an-api-key-in-a-requests-url) important security caveats and is not recommended unless you fully understand the risks. Pass api_key=YOURAPITOKENHERE as a GET/POST query parameter. curl -X ' GET' \ ' http://127.0.0.1:8000/api/v1/core/snapshots?limit=10&api_key=YOURAPITOKENHERE' \ -H ' accept: application/json' (curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/core/snapshots?limit=10&api_key=YOURAPITOKENHERE' \ -H 'accept: application/json') API Session Cookie Authentication Caution We recommend sticking to header-based authentication and not using this method unless you deeply understand the CSRF/CORS security risks. This method is mostly useful when accessing the API from external apps where CSRF/CORS is not a concern (e.g. curl , mobile apps, other servers, etc.). Browsers enforce that requests made to the ArchiveBox API from other origins will not include any session cookies by default. This is is a (https://docs.djangoproject.com/en/5.0/ref/csrf/) foundational security principle of the web that protects you from API requests being initiated by JS on websites you don't control (aka CSRF/CORS attacks). To allow incoming POST/PUT/DELETE requests from other domains that you trust , you must add them to (https://docs.djangoproject.com/en/5.0/ref/settings/#csrf-trusted-origins) CSRF_TRUSTED_ORIGINS in the archivebox/core/settings.py source code on your machine ((https://github.com/ArchiveBox/ArchiveBox/issues/new/choose) open an issue and explain your use-case for help). Log in via the Admin Web UI: /admin/login/ , you can then re-use your login session id (stored in the sessionid cookie) for REST API requests. By default, this only allows you to make requests from the same domain ArchiveBox is being served on (e.g. from browser devtools open on an ArchiveBox page or CLI tools). curl -X ' GET' \ ' http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H ' accept: application/json' \ -H ' Cookie: sessionid=YOURSESSIONIDVALUEHERE' (curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -H 'accept: application/json' \ -H 'Cookie: sessionid=YOURSESSIONIDVALUEHERE') API HTTP Basic Authentication Caution This method is fairly uncommon and is only useful in a few niche situations where the other methods are not available.We will likely remove this method in a future ArchiveBox release if nobody uses it. If you rely on this method and want us to keep it, please (https://github.com/ArchiveBox/ArchiveBox/issues/new/choose) open an issue and explain your use-case! Pass your ArchiveBox admin username & password via HTTP Basic Authentication. curl -X ' GET' \ ' http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -u ' YOURUSERNAMEHERE:YOURPASSWORDHERE' -H ' accept: application/json' (curl -X 'GET' \ 'http://127.0.0.1:8000/api/v1/core/snapshots?limit=10' \ -u 'YOURUSERNAMEHERE:YOURPASSWORDHERE' -H 'accept: application/json') Further Reading The ArchiveBox API auth implementation: (https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/api/auth.py#:~:text=API_AUTH_METHODS) archivebox/api/auth.py + (https://github.com/ArchiveBox/ArchiveBox/blob/dev/archivebox/api/v1_auth.py) archivebox/api/v1_auth.py The (https://django-ninja.dev/guides/authentication/) django-ninja auth documentation (which powers our API) The (https://swagger.io/docs/specification/authentication/) Swagger auth documentation for the interactive API Docs UI (https://github.com/ArchiveBox/ArchiveBox/issues/new?assignees=&labels=&template=documentation_change.md&title=) ✏️ Help improve our documentation... () Toggle table of contents Pages (37) 37 (Find a page…) Loading (/ArchiveBox/ArchiveBox/wiki) Home Loading (/ArchiveBox/ArchiveBox/wiki/archivebox) archivebox Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.cli) archivebox.cli Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.config) archivebox.config Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.core) archivebox.core Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.core.migrations) archivebox.core.migrations Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.core.templatetags) archivebox.core.templatetags Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.extractors) archivebox.extractors Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.index) archivebox.index Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.parsers) archivebox.parsers Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.search) archivebox.search Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.search.backends) archivebox.search.backends Loading (/ArchiveBox/ArchiveBox/wiki/archivebox.vendor) archivebox.vendor Loading (/ArchiveBox/ArchiveBox/wiki/Changelog) Changelog Loading (/ArchiveBox/ArchiveBox/wiki/Chromium-Install) Chromium Install Loading (/ArchiveBox/ArchiveBox/wiki/Configuration) Configuration Loading (/ArchiveBox/ArchiveBox/wiki/Contents) Contents Loading (/ArchiveBox/ArchiveBox/wiki/Docker) Docker Loading (/ArchiveBox/ArchiveBox/wiki/Donations) Donations Loading (/ArchiveBox/ArchiveBox/wiki/index) index Loading (/ArchiveBox/ArchiveBox/wiki/Install) Install Loading (/ArchiveBox/ArchiveBox/wiki/Merging-Collections) Merging Collections Loading (/ArchiveBox/ArchiveBox/wiki/modules) modules Loading (/ArchiveBox/ArchiveBox/wiki/Publishing-Your-Archive) Publishing Your Archive Loading (/ArchiveBox/ArchiveBox/wiki/Quickstart) Quickstart Loading (/ArchiveBox/ArchiveBox/wiki/README) README Loading (/ArchiveBox/ArchiveBox/wiki/Roadmap) Roadmap Loading (/ArchiveBox/ArchiveBox/wiki/Scheduled-Archiving) Scheduled Archiving Loading (/ArchiveBox/ArchiveBox/wiki/Security-Overview) Security Overview Loading (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication) Setting up Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#set-up-admin-web-ui-permissions) Set Up Admin Web UI Permissions (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#admin-web-ui-authentication-methods) Admin Web UI Authentication Methods (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#username--password-the-default) Username & Password (the default) (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#reverse-proxy-authentication) Reverse Proxy Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#ldap-authentication) LDAP Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#not-yet-supported-saml--oauth2--openid-authentication) Not Yet Supported: SAML / OAuth2 / OpenID Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#rest-api) REST API (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#api-bearer-token-authentication) API Bearer Token Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#api-request-header-authentication) API Request Header Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#api-query-parameter-authentication) API Query Parameter Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#api-session-cookie-authentication) API Session Cookie Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#api-http-basic-authentication) API HTTP Basic Authentication (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication#further-reading) Further Reading Loading (/ArchiveBox/ArchiveBox/wiki/Setting-up-Search) Setting up Search Loading (/ArchiveBox/ArchiveBox/wiki/Setting-Up-Storage) Setting Up Storage Loading (/ArchiveBox/ArchiveBox/wiki/Troubleshooting) Troubleshooting Loading (/ArchiveBox/ArchiveBox/wiki/Upgrading) Upgrading Loading (/ArchiveBox/ArchiveBox/wiki/Upgrading-or-Merging-Archives) Upgrading or Merging Archives Loading (/ArchiveBox/ArchiveBox/wiki/Usage) Usage Loading (/ArchiveBox/ArchiveBox/wiki/Web-Archiving-Community) Web Archiving Community Show 22 more pages… (Home) () (Quickstart) Getting Started 🔢 (/ArchiveBox/ArchiveBox/wiki/Quickstart) Quickstart 🖥️ (/ArchiveBox/ArchiveBox/wiki/Install) Install 🐳 (/ArchiveBox/ArchiveBox/wiki/Docker) Docker ➡️ (https://github.com/ArchiveBox/ArchiveBox/wiki/Quickstart#2-get-your-list-of-urls-to-archive) Supported Sources ⬅️ (https://github.com/ArchiveBox/ArchiveBox#output-formats) Supported Outputs (/ArchiveBox/ArchiveBox/wiki/Usage) Usage ﹩(Usage#cli-usage) Command Line 🌐 (Usage#ui-usage) Web UI 🧩 (Usage#browser-extension-usage) Browser Extension 👾 (https://github.com/ArchiveBox/ArchiveBox/issues/496#issuecomment-2080174235) REST API / (https://github.com/ArchiveBox/ArchiveBox/pull/1418) Webhooks 📜 (https://docs.archivebox.io/en/latest/modules.html) Python API / (Usage#python-shell-usage) REPL / (Usage#sql-shell-usage) SQL API Reference ⚙️ (/ArchiveBox/ArchiveBox/wiki/Configuration) Configuration 📦 (https://github.com/ArchiveBox/ArchiveBox#dependencies) Dependencies 💿 (https://github.com/ArchiveBox/ArchiveBox#archive-layout) Disk Layout 🔒 (/ArchiveBox/ArchiveBox/wiki/Security-Overview) Security Overview 📝 (https://github.com/ArchiveBox/ArchiveBox#archivebox-development) Developer Documentation Guides (/ArchiveBox/ArchiveBox/wiki/Upgrading) Upgrading (/ArchiveBox/ArchiveBox/wiki/Setting-Up-Storage) Setting up Storage (NFS/SMB/S3/etc) (/ArchiveBox/ArchiveBox/wiki/Setting-up-Authentication) Setting up Authentication (SSO/LDAP/etc) (/ArchiveBox/ArchiveBox/wiki/Setting-up-Search) Setting up Search (rg/sonic/etc) (/ArchiveBox/ArchiveBox/wiki/Scheduled-Archiving) Scheduled Archiving (/ArchiveBox/ArchiveBox/wiki/Publishing-Your-Archive) Publishing Your Archive (/ArchiveBox/ArchiveBox/wiki/Chromium-Install) Chromium Install (https://github.com/ArchiveBox/ArchiveBox/wiki/Chromium-Install#setting-up-a-chromium-user-profile) Cookies & Sessions Setup (/ArchiveBox/ArchiveBox/wiki/Merging-Collections) Merging Collections (/ArchiveBox/ArchiveBox/wiki/Troubleshooting) Troubleshooting More Info ⭐️ (/ArchiveBox/ArchiveBox/wiki/Web-Archiving-Community) Web Archiving Community (https://github.com/ArchiveBox/ArchiveBox#background--motivation) Background & Motivation (https://github.com/ArchiveBox/ArchiveBox#comparison-to-other-projects) Comparison to Other Tools (https://github.com/ArchiveBox/ArchiveBox/releases) Changelog & (/ArchiveBox/ArchiveBox/wiki/Roadmap) Roadmap (https://archivebox.io) (https://github.com/ArchiveBox/ArchiveBox) (https://hcb.hackclub.com/donations/start/archivebox) (https://github.com/sponsors/pirate) (https://www.patreon.com/theSquashSH) (https://zulip.archivebox.io) Clone this wiki locally (https://github.com/ArchiveBox/ArchiveBox.wiki.git) Footer (GitHub) (https://github.com) © 2024 GitHub, Inc. Footer navigation (https://docs.github.com/site-policy/github-terms/github-terms-of-service) Terms (https://docs.github.com/site-policy/privacy-policies/github-privacy-statement) Privacy (https://github.com/security) Security (https://www.githubstatus.com/) Status (https://docs.github.com/) Docs (https://support.github.com?tags=dotcom-footer) Contact Manage cookies Do not share my personal information You can’t perform that action at this time.