{"id":29008472,"url":"https://github.com/bboymega/secureupdatedynamichash","last_synced_at":"2025-06-25T14:05:59.656Z","repository":{"id":300640686,"uuid":"1006698256","full_name":"bboymega/SecureUpdateDynamicHash","owner":"bboymega","description":"Secure Hotfix System with Dynamic Hash-Based Verification","archived":false,"fork":false,"pushed_at":"2025-06-22T21:03:20.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-22T21:26:54.640Z","etag":null,"topics":["cityhash","cybersecurity","file-integrity","hashing","integrity","security","security-tools","spookyhash","xxhash"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bboymega.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,"zenodo":null}},"created_at":"2025-06-22T20:21:38.000Z","updated_at":"2025-06-22T21:12:45.000Z","dependencies_parsed_at":"2025-06-22T21:27:10.103Z","dependency_job_id":"161274e6-8b62-40f4-990f-56cd9f4e6ac5","html_url":"https://github.com/bboymega/SecureUpdateDynamicHash","commit_stats":null,"previous_names":["bboymega/secureupdatedynamichash"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bboymega/SecureUpdateDynamicHash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bboymega%2FSecureUpdateDynamicHash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bboymega%2FSecureUpdateDynamicHash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bboymega%2FSecureUpdateDynamicHash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bboymega%2FSecureUpdateDynamicHash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bboymega","download_url":"https://codeload.github.com/bboymega/SecureUpdateDynamicHash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bboymega%2FSecureUpdateDynamicHash/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261888112,"owners_count":23225143,"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":["cityhash","cybersecurity","file-integrity","hashing","integrity","security","security-tools","spookyhash","xxhash"],"created_at":"2025-06-25T14:05:53.681Z","updated_at":"2025-06-25T14:05:59.645Z","avatar_url":"https://github.com/bboymega.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SecureUpdateDynamicHash\nThis system utilises a high-performance, security-aware dynamic hashing mechanism to facilitate the reliable distribution of updates and hotfixes to designated client endpoints.\n\nUpdate payloads are partitioned at randomized offsets, with each segment individually hashed using CityHash64, XXH64, and SpookyHash64.\n\nA final integrity check is performed by computing a SHA-256 hash over the concatenated sequence of all segment hashes.\n\n# Server\n```\nusage: server.py [-h] [-c CONFIG_FILE] [-g PATH_TO_NEW_CONFIG_FILE]\n\nSecure Update Server with Dynamic Hash Verification\n\noptions:\n  -h, --help            show this help message and exit\n  -c, --config CONFIG_FILE\n                        Path to the configuration file\n  -g, --generate PATH_TO_NEW_CONFIG_FILE\n                        Generate a new configuration file, for example, config.json\n```\nServer Configuration :\n| KEY | VALUE |\n| ------------- | ------------- | \n| allowed  | List of allowed client UUIDs    |\n| version  | Version of the target program/files served by the update server |\n| listen  | Listening address |\n| port | Listening port |\n| update_file | Update file served by the update server |\n| client_install_path | Path on the client where the update will be installed |\n| client_install_script | Install script on the server that will be executed by the client during update installation |\n\n# Client\n```\nusage: client.py [-h] [-c CONFIG_FILE] [-g PATH_TO_NEW_CONFIG_FILE]\n\nSecure Update Client with Dynamic Hash Verification\n\noptions:\n  -h, --help            show this help message and exit\n  -c, --config CONFIG_FILE\n                        Path to the configuration file\n  -g, --generate PATH_TO_NEW_CONFIG_FILE\n                        Generate a new configuration file, for example, config.json\n```\nClient Configuration :\n| KEY | VALUE |\n| ------------- | ------------- | \n| UUID  | Client UUID |\n| version  | Currently installed version of the target program/files on the client |\n| server | Update server address |\n| port | Update server port |\n\n# Installation\n| DEPENDENCIES |\n| ------------ |\n| xxhash |\n| cityhash |\n| spookyhash |\n\nPlease install the dependencies listed above using either `pip install` or `python3 -m pip install`, depending on your environment configuration.\n\nDuring installation, ensure that `server.py` and `client.py` reside in the same directory as `partialhash.py`, as it contains the partial hashing module and is a required dependency.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbboymega%2Fsecureupdatedynamichash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbboymega%2Fsecureupdatedynamichash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbboymega%2Fsecureupdatedynamichash/lists"}