{"id":15127656,"url":"https://github.com/ifargle/headscale-webui","last_synced_at":"2025-04-12T17:45:22.493Z","repository":{"id":65803666,"uuid":"599354727","full_name":"iFargle/headscale-webui","owner":"iFargle","description":"A simple Headscale web UI for small-scale deployments.","archived":false,"fork":false,"pushed_at":"2024-08-20T10:20:22.000Z","size":2457,"stargazers_count":697,"open_issues_count":47,"forks_count":71,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-03T19:15:42.107Z","etag":null,"topics":["docker","docker-compose","docker-container","dockerfile","flask","headscale","javascript","jquery","python","tailscale","webui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iFargle.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}},"created_at":"2023-02-09T00:46:29.000Z","updated_at":"2025-03-27T07:10:48.000Z","dependencies_parsed_at":"2024-05-29T12:13:34.787Z","dependency_job_id":"d5cc27d9-bfc8-4922-8c0b-a027f52d722d","html_url":"https://github.com/iFargle/headscale-webui","commit_stats":{"total_commits":1056,"total_committers":12,"mean_commits":88.0,"dds":"0.035037878787878785","last_synced_commit":"fac78823a353420f127a357081bc2c62561ac254"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iFargle%2Fheadscale-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iFargle%2Fheadscale-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iFargle%2Fheadscale-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iFargle%2Fheadscale-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iFargle","download_url":"https://codeload.github.com/iFargle/headscale-webui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248609541,"owners_count":21132915,"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":["docker","docker-compose","docker-container","dockerfile","flask","headscale","javascript","jquery","python","tailscale","webui"],"created_at":"2024-09-26T02:05:13.720Z","updated_at":"2025-04-12T17:45:22.473Z","avatar_url":"https://github.com/iFargle.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/juanfont/headscale\"\u003e\n    \u003cimg src=\"static/img/headscale3-dots.png\" width=\"250\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eHeadscale-WebUI\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  A simple Headscale web UI for small-scale deployments.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#Screenshots\"\u003eScreenshots\u003c/a\u003e | \u003ca href=\"SETUP.md\"\u003eInstallation\u003c/a\u003e | \u003ca href=\"https://github.com/iFargle/headscale-webui/issues\"\u003eIssues\u003c/a\u003e\n\u003c/p\u003e\n\n---\n# Features\n1.  Enable/Disable routes and exit nodes\n    * Manage failover routes as well\n2.  Add, move, rename, and remove machines\n3.  Add and remove users/namespaces\n4.  Add and expire PreAuth keys\n5.  Add and remove machine tags\n6.  View machine details\n    * Hostname\n    * User associated with the machine\n    * IP addresses in the Tailnet\n    * Last seen by the control server\n    * Last update with the control server\n    * Creation date\n    * Expiration date (will also display a badge when nearing expiration)\n    * PreAuth key associated with the machine\n    * Enable / disable routes and exit nodes\n    * Add and delete machine tags\n7.  Basic and OIDC Authentication\n    * OIDC Authentication tested with Authelia and Keycloak\n8.  Change your color theme! See MaterializeCSS Documentation for Colors for examples.\n9.  Search your machines and users.\n    * Machines have tags you can use to filter search:\n        * `tag:tagname` Searches only for specific tags\n        * `machine:machine-name` Searches only for specific machines\n        * `user:user-name` Searches only for specific users\n\n\n---\n# Installation\n* See [SETUP.md](SETUP.md) for installation and configuration instructions.\n\n---\n# Screenshots:\n![Overview](screenshots/overview.png)\n![Routes](screenshots/routes.png)\n![Machines](screenshots/machines.png)\n![Users](screenshots/users.png)\n![Settings](screenshots/settings.png)\n\n---\n# Tech used:\n* Python - [Link](https://www.python.org/)\n* Poetry - [Link](https://python-poetry.org/)\n* MaterializeCSS - [Link](https://github.com/Dogfalo/materialize)\n* jQuery - [Link](https://jquery.com/)\n\nFor Python libraries, see [pyproject.toml](pyproject.toml)\n\nIf you use this project, please reach out!  It keeps me motivated!  Thank you!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifargle%2Fheadscale-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifargle%2Fheadscale-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifargle%2Fheadscale-webui/lists"}