{"id":24443615,"url":"https://github.com/endlessm/eos-payg","last_synced_at":"2025-10-10T09:52:31.311Z","repository":{"id":31415109,"uuid":"125542637","full_name":"endlessm/eos-payg","owner":"endlessm","description":"Daemon component of the pay-as-you-go financing option","archived":false,"fork":false,"pushed_at":"2025-01-09T19:33:39.000Z","size":1417,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-26T15:42:52.723Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"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/endlessm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.LGPL-2.1+","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":"2018-03-16T16:31:46.000Z","updated_at":"2024-08-19T10:47:24.000Z","dependencies_parsed_at":"2024-03-13T00:30:26.256Z","dependency_job_id":"4a0ffca5-f695-490b-b5bd-29f9a8eef52d","html_url":"https://github.com/endlessm/eos-payg","commit_stats":null,"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-payg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-payg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-payg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endlessm%2Feos-payg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/endlessm","download_url":"https://codeload.github.com/endlessm/eos-payg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248633560,"owners_count":21136890,"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":[],"created_at":"2025-01-20T22:16:53.620Z","updated_at":"2025-10-10T09:52:26.259Z","avatar_url":"https://github.com/endlessm.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"eos-payg\n========\n\neos-payg implements pay-as-you-go support for EOS, providing a way to verify\ntop-up codes and monitor the amount of time the computer has remaining before\nthe user next needs to top up its lease.\n\nIt provides a daemon to monitor the expiry time for the current code and to\nverify new codes, a command line utility for generating new codes, and various\nhelper libraries. It also supports loading out-of-tree plugins, which implement\nalternative code management backends.\n\nAll the library APIs are currently unstable and are likely to change wildly.\n\n**NOTE**: eos-paygd has two modes it can run in: (1) when run from the\ninitramfs, it uses Phase 4+ PAYG security features, and assumes that it's\nrunning from a payg image, and (2) when run from the primary root filesystem,\nit does not use the advanced security features and assumes it's running on a\nPhase 2 PAYG system or a non-PAYG system.\n\nWhen running from the initramfs, eos-paygd is unkillable. systemd will leave\nit running during the root pivot and shutdown. The reason this is safe, and\nthat a system shutdown while it's writing to non-volatile storage isn't\nconsidered a risk is that all the non-volatile storage backends in use are\nrobust against a shutdown during write. This is done either through the\nability to rollback an interrupted write, or writes that are fully atomic.\n\nSince it would be very difficult to enter a timecode at the same time as\na system shutdown (because the UI would not be accessible during shutdown),\nthe most likely interrupted operation would be time expiry. On the following\nboot the time would still be past expiration time, and the system would lock\nagain.\n\nDependencies\n============\n\n * glib-2.0\n * gobject-2.0\n * gio-2.0\n * peas\n * (lib)systemd\n * dracut\n\nLicensing\n=========\n\nWith a couple of exceptions, all code in this project is dual-licensed under\nMPL-2.0 and LGPL-2.1+. See debian/copyright and COPYING.* for more details.\n\nBugs\n====\n\nBug reports and patches should be filed in GitHub.\n\nContact\n=======\n\nhttps://github.com/endlessm/eos-payg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendlessm%2Feos-payg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fendlessm%2Feos-payg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendlessm%2Feos-payg/lists"}