{"id":20037647,"url":"https://github.com/cosmic-utils/gui-scale-applet","last_synced_at":"2026-05-04T08:05:30.781Z","repository":{"id":258163718,"uuid":"867180749","full_name":"cosmic-utils/gui-scale-applet","owner":"cosmic-utils","description":"COSMIC applet for Tailscale","archived":false,"fork":false,"pushed_at":"2026-05-01T21:38:58.000Z","size":21555,"stargazers_count":60,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-01T23:27:21.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cosmic-utils.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["bhh32"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"bhh32","thanks_dev":null,"custom":null}},"created_at":"2024-10-03T15:34:08.000Z","updated_at":"2026-04-29T18:27:02.000Z","dependencies_parsed_at":"2024-11-13T10:23:00.508Z","dependency_job_id":"54af128f-a5f6-459a-a7d6-30b477f4dc81","html_url":"https://github.com/cosmic-utils/gui-scale-applet","commit_stats":null,"previous_names":["cosmic-utils/gui-scale-applet"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/cosmic-utils/gui-scale-applet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmic-utils%2Fgui-scale-applet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmic-utils%2Fgui-scale-applet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmic-utils%2Fgui-scale-applet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmic-utils%2Fgui-scale-applet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cosmic-utils","download_url":"https://codeload.github.com/cosmic-utils/gui-scale-applet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmic-utils%2Fgui-scale-applet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32599417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"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-13T10:20:48.321Z","updated_at":"2026-05-04T08:05:30.776Z","avatar_url":"https://github.com/cosmic-utils.png","language":"Rust","funding_links":["https://github.com/sponsors/bhh32","https://buymeacoffee.com/bhh32"],"categories":[],"sub_categories":[],"readme":"# GUI Scale COSMIC Desktop Applet\n\n## About\n\nA secure, memory-safe implementation of a Tailscale GUI management applet for the System76 COSMIC desktop environment. This project demonstrates secure systems programming practices while providing essential functionality for Tailscale network (tailnet) management.\n\n### Project Overview\n\nThe GUI Scale applet provides a user-friendly interface for managing Tailscale configurations within the COSMIC desktop environment. It showcases secure systems programming practices while maintaining high usability standards.\n\n### Key Features\n\n- Secure Tailscale network (tailnet) management\n- Memory-safe implementation in Rust\n    - Utilizes Rust's ownership system for memory-safety operations\n    - No unsafe code blocks used\n    - All external data properly validated\n    - Buffer overflow protection through Rust's bounds checking\n- Comprehensive error handling\n- Integration with system security policies\n    - Proper permission handling for system operations\n        - Does not run while the Tailscale operator configuration is set to root.\n    - Minimal system privilege requirements\n        - Does not run as root\n\n### Security Architecture\n\nThe applet implements a layered security approach:\n\n1. Privilege Management\n    - Minimal required permissions\n    - Proper capabilitiy isolation\n2. Error Handling\n    - Uses Rust's built-in error types (Result and Option), as well as return other types, such as String and bool, to test for and handle any errors that occurred during runtime\n    - No information leakage\n\n## Dependencies\n\nYou must first have Tailscale installed and then run:\n\n```bash\nsudo tailscale set --operator=$USER\n```\n\nThis makes it where the applet doesn't need sudo (root) to do its job.\n\n## Screenshots\n\n![connections tab](/screenshots/connections_tab.png)\n![taildrop tab](/screenshots/taildrop_tab.png)\n![devices tab](/screenshots/devices_tab.png)\n![settings_tab](/screenshots/settings_tab.png)\n\n## Installation\n\n### From GitHub Release\n\n1. Download the `gui-scale-applet.flatpak` bundle from the [Releases](https://github.com/cosmic-utils/gui-scale-applet/releases) page.\n\n2. Install the required runtime dependency:\n\n```bash\nflatpak install --user flathub org.freedesktop.Platform//24.08\n```\n\n3. Install the flatpak bundle:\n\n```bash\nflatpak install --user gui-scale-applet.flatpak\n```\n\n### Build from Source\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/cosmic-utils/gui-scale-applet.git\ncd gui-scale-applet\ngit checkout flatpak\n```\n\n2. Build and install:\n\n```bash\njust install-local\n```\n\nOr to create a distributable bundle:\n\n```bash\njust bundle\n```\n\n## Uninstall\n\n```bash\nflatpak uninstall --user com.bhh32.gui-scale-applet\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmic-utils%2Fgui-scale-applet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmic-utils%2Fgui-scale-applet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmic-utils%2Fgui-scale-applet/lists"}