{"id":19189331,"url":"https://github.com/asmuth/integritycheck","last_synced_at":"2025-05-08T03:08:52.268Z","repository":{"id":144909579,"uuid":"127772677","full_name":"asmuth/integritycheck","owner":"asmuth","description":"Yet another file integrity monitoring tool","archived":false,"fork":false,"pushed_at":"2024-04-01T11:03:22.000Z","size":164,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-08T03:08:46.190Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://fhistory.org","language":"Rust","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/asmuth.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":"2018-04-02T15:10:17.000Z","updated_at":"2025-04-24T08:38:13.000Z","dependencies_parsed_at":"2024-11-09T11:39:26.194Z","dependency_job_id":null,"html_url":"https://github.com/asmuth/integritycheck","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/asmuth%2Fintegritycheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuth%2Fintegritycheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuth%2Fintegritycheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmuth%2Fintegritycheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asmuth","download_url":"https://codeload.github.com/asmuth/integritycheck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252989951,"owners_count":21836667,"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":"2024-11-09T11:29:03.384Z","updated_at":"2025-05-08T03:08:52.239Z","avatar_url":"https://github.com/asmuth.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"integritycheck\n==============\n\nThis is a little utility program I use to check the integrity of my important\ndata. The binary is called `ic` because I invoke it frequently and it is much\neasier to type than 'integritycheck'.\n\nThe user interface of `ic` is somewhat similar to version control systems\nlike `git` or `svn`. Like most version control systems, ic works on a \"repository\".\nIn ic's case, the repository is just any directory on your disk that contains the data\nyou want to monitor. Note that ic will never touch any of the files in the\nrepository - it is a read-only tool with regards to your data directory.\n\nThe command line interface should also be intuitive to use if you have used a\nversion control system before: There is a `status` command that displays any\nunacknowledged modifications to the repository, an `ack` command that you can use\nto acknowledge changes in the repository (this is the equivalent to svn or git's\n`commit`) and a `log` command that displays the history of changes to the\nrepository.\n\nHowever, unlike a version control system, ic does not actually store any copies\nof your data! It merely stores an index containing the checksums of all files\nas well as some other metadata. This means that it can only check the integrity\nof your data and tell you if any of the files are corrupted or missing. Now, in\ncase there *are* corrupted or missing files, ic is *not* able to restore them on\nits own; you have to retrieve them from your backup manually.\n\nThe upside of this approach is that it allows you to use ic in addition to your\nexisting backup or version control system. It also allows ic to handle very large\nrepositories, such as a photo collection or a library of gamedev assets.\n\n\nBuild \u0026 Installation\n--------------------\n\nBefore you can compile `ic`, you have to install the rust compiler and the\ncargo package manager.\n\nTo build `ic`, check out this repo and run:\n\n    $ make\n\nTo install the `ic` binary into your system, execute this command:\n\n    $ make install\n\nIf you have modified the source code, run the test suite:\n\n    $ make test\n\n\nUsage\n-----\n\n    usage: ic \u003ccommand\u003e [options]\n    Yet another file integrity monitoring tool.\n\n    global options:\n      -d,--data_dir=PATH     Set the path of the repository/data directory\n                             default: '.'\n      -x,--index_dir=PATH    Set the path of the index directory. Note that this\n                             path is relative to the data directory. Absolute\n                             paths are allowed. default: '.fh'\n      --progress=[on/off]    Turn progress reporting on stderr on or off\n      --colours=[on/off]     Turn coloured terminal output on or off. default: on\n      -v,--verbose           Enable verbose output,\n      -h,--help              Print this help message and exit\n\n    commands:\n      init      Create a new index file.\n      status    Compare the current state of the repository to the latest snapshot\n      ack       Acknowledge changes to files in the repository and create a new snapshot\n      log       Display a historical log of snapshots and changes to the repository\n      verify    Perform a full check of the repository's integrity\n      version   Print the version of this program and exit\n      help      Print the help message for one of the commands and exit\n\n\nLicense\n-------\n\n    Copyright 2018 Paul Asmuth \u003cpaul@asmuth.com\u003e\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmuth%2Fintegritycheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasmuth%2Fintegritycheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmuth%2Fintegritycheck/lists"}