{"id":18391421,"url":"https://github.com/anoadragon453/qubes-file-trust","last_synced_at":"2025-04-07T03:33:34.283Z","repository":{"id":69543467,"uuid":"93442709","full_name":"anoadragon453/qubes-file-trust","owner":"anoadragon453","description":"Service files and daemon for file-based trust levels on QubesOS ","archived":false,"fork":false,"pushed_at":"2017-10-19T07:20:45.000Z","size":244,"stargazers_count":3,"open_issues_count":8,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T23:05:00.699Z","etag":null,"topics":["cpp","gsoc","python","qubes-os","trust-level"],"latest_commit_sha":null,"homepage":"","language":"Python","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/anoadragon453.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-05T20:14:25.000Z","updated_at":"2017-08-28T01:29:30.000Z","dependencies_parsed_at":"2023-06-15T09:15:26.039Z","dependency_job_id":null,"html_url":"https://github.com/anoadragon453/qubes-file-trust","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fqubes-file-trust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fqubes-file-trust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fqubes-file-trust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anoadragon453%2Fqubes-file-trust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anoadragon453","download_url":"https://codeload.github.com/anoadragon453/qubes-file-trust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247589154,"owners_count":20963018,"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":["cpp","gsoc","python","qubes-os","trust-level"],"created_at":"2024-11-06T01:51:47.707Z","updated_at":"2025-04-07T03:33:34.276Z","avatar_url":"https://github.com/anoadragon453.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/anoadragon453/qubes-file-trust.svg?branch=master)](https://travis-ci.org/anoadragon453/qubes-file-trust)\n[![Coverage Status](https://coveralls.io/repos/github/anoadragon453/qubes-file-trust/badge.svg?branch=master)](https://coveralls.io/github/anoadragon453/qubes-file-trust?branch=master)\n\n# Qubes File Trust\n\nAdds ability to set trust level for files and folders. Untrusted files will be automatically opened in a disposableVM. \n\nGSoC 2017 project for https://qubes-os.org\n\nFollow the progress [here](https://blog.amorgan.xyz/tag_gsoc-2017.html)!\n\n## Related repositories\n\n[anoadragon453/qubes-dolphin-trust-activities](https://github.com/anoadragon453/qubes-dolphin-trust-activities)\n\n[anoadragon453/qubes-nautilus-trust-extension](https://github.com/anoadragon453/qubes-nautilus-trust-extension)\n\n[anoadragon453/nautilus](https://github.com/anoadragon453/nautilus)\n\n[anoadragon453/nautilus-python](https://github.com/anoadragon453/nautilus-python)\n\n---\n\n# Documentation\n\n## Requirements\n\nDebian:\n```\n# apt install python3-pyxattr python3-setuptools gvfs-bin libffi-dev g++ pandoc\n```\n\nFedora:\n```\n# dnf install python3-pyxattr python3-setuptools gvfs libffi-devel gcc-c++ pandoc\n```\n\n`python3-pyxattr` is required for manipulating extended attribute values\n\n`python3-setuptools` is required for installing qubes-file-trust\n\n`gvfs-bin` is required for custom emblem support in Nautilus\n\n`libffi-dev` for setuptools related install functions(?)\n\n`g++` for compilation of qubes-trust-daemon\n\n`pandoc` for building the documentation\n\n## Install\n\nGrab the requirements listed above then:\n\n```\nmake build\nsudo make install\n```\n\n## Unit tests\n\nUnit tests are included in the tests folder.\n\nRun them with:\n\n```\nmake tests\n```\n\nGUI-based tests are done with the\n[Dogtail](https://gitlab.com/dogtail/dogtail) library.\n\n## File Manager Context Menus\n\nThe context menus are defined as a python script for Nautilus (stored in\n`/usr/share/nautilus-python/extensions`) and a service file for Dolphin\n(`/usr/share/kde4/services/`). Both call\n`/usr/lib/qubes/qvm-set-trust.{gnome,kde}` which actually creates the dialog\nasking the user which file trust settings should be set, as well as setting any\nemblems on the file in question.\n\nThe icons for the context menus (png files) are stored in `/usr/share/pixmaps`.\n\nEmblem support should work out of the box on Fedora VMs, and needs the\n`gvfs-bin` package installed on Debian VMs.\n\n## File Manager Patches\n\nA patch is needed for each file manager in order to allow extension execution\nupon opening of a file. The extension should be able to determine whether or not\nthe file should be opened.\n\n## File-watcher Daemon\n\nA C daemon will be run in each AppVM that watches and enforces file trust\nsettings on any files created inside of folders marked with a specific trust\nlevel. For example, if I mark a folder as `untrusted`, the daemon should\nautomatically mark all new and existing files and folders within as `untrusted`\nas well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanoadragon453%2Fqubes-file-trust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanoadragon453%2Fqubes-file-trust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanoadragon453%2Fqubes-file-trust/lists"}