{"id":15113283,"url":"https://github.com/gitgnu/gnu_libchop","last_synced_at":"2026-01-19T03:01:42.572Z","repository":{"id":84520700,"uuid":"90387282","full_name":"gitGNU/gnu_libchop","owner":"gitGNU","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-05T14:57:36.000Z","size":1181,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T01:14:16.823Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitGNU.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-05T14:57:31.000Z","updated_at":"2024-04-24T03:39:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"eee43b5f-aa34-4bb4-899e-1c4ef0df276c","html_url":"https://github.com/gitGNU/gnu_libchop","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_libchop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_libchop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_libchop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitGNU%2Fgnu_libchop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitGNU","download_url":"https://codeload.github.com/gitGNU/gnu_libchop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247103307,"owners_count":20884023,"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-09-26T01:04:09.099Z","updated_at":"2026-01-19T03:01:42.565Z","avatar_url":"https://github.com/gitGNU.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"libchop\n=======\n\nLibchop is a file hashing, ciphering, and indexing library.  In a\nnutshell, libchop provides mechanisms to:\n\n  1. cut a file into pieces, store each of these blocks into a block\n     store, and return an \"abstract index\" containing all the\n     information necessary to retrieve the file;\n\n  2. restore (rebuild) a file based on an abstract index, reading\n     blocks from one (or several) block stores and decoding them\n     according to the methods specified by the abstract index.\n\nIt is particularly suitable for content-based indexing (as used by\nmany peer-to-peer file sharing systems, as well as several revision\ncontrol systems such as Monotone and Torvalds' GIT), and content-hash\nciphering (as used by anonymous file sharing systems such as GNUnet and\nFreeNet).\n\nlibchop contains several implementations of the various operations\nlisted above (several block stores, several file cutting algorithm,\netc.).  It is meant to be as flexible as possible while still retaining\nperformance.\n\nThe best way to experiment with libchop is to try out the\n`chop-archiver' sample utility program available in the `utils'\ndirectory.\n\n\nRequirements\n------------\n\nLibchop primarily targets the GNU system (i.e. GNU C compiler and GNU C\nlibrary), although porting it to other systems shouldn't be too hard\n(especially with the help of Gnulib).\n\nMandatory dependencies:\n\n  GNU gperf\n  GNU libgcrypt 1.2\n  Sun/ONC RPC framework\n    either from the GNU C Library \u003c= 2.13\n    or TI-RPC\n\nOptional dependencies:\n\n  GNU GDBM\n  libtdb\n  SleepyCat's Berkeley DB (BDB) 4.x (x \u003e= 3)\n  zlib\n  libbz2\n  LZO \u003e= 2.06\n\n  GnuTLS 1.4.1 (or compatible --- recommended)\n  Avahi 0.6 or later\n\nIf you want to build the Guile bindings of libchop, which are needed\nfor the `chop-backup' tool, you'll need the following:\n\n  GNU Guile 2.0.x (with x \u003e 3)\n\nIf building from a fresh checkout:\n\n  GNU Autoconf 2.59\n  GNU Automake 1.11\n  GNU Libtool\n  GNU Gnulib\n\nAnd that's it.\n\n\n\f\nCopyright (C) 2010, 2011, 2012  Ludovic Courtès \u003cludo@gnu.org\u003e\nCopyright (C) 2005, 2006, 2007  Centre National de la Recherche Scientifique (LAAS-CNRS)\n\n  Copying and distribution of this file, with or without modification,\n  are permitted in any medium without royalty provided the copyright\n  notice and this notice are preserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_libchop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitgnu%2Fgnu_libchop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitgnu%2Fgnu_libchop/lists"}