{"id":13815398,"url":"https://github.com/russss/Herd","last_synced_at":"2025-05-15T09:31:44.417Z","repository":{"id":1422714,"uuid":"1546219","full_name":"russss/Herd","owner":"russss","description":"A single-command bittorrent distribution system, based on Twitter's Murder","archived":true,"fork":false,"pushed_at":"2016-10-21T06:16:30.000Z","size":472,"stargazers_count":414,"open_issues_count":6,"forks_count":67,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-01-25T07:33:23.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/russss.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}},"created_at":"2011-03-30T13:37:03.000Z","updated_at":"2023-12-22T01:52:51.000Z","dependencies_parsed_at":"2022-07-29T13:18:55.650Z","dependency_job_id":null,"html_url":"https://github.com/russss/Herd","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/russss%2FHerd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russss%2FHerd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russss%2FHerd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russss%2FHerd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/russss","download_url":"https://codeload.github.com/russss/Herd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254313749,"owners_count":22050092,"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-08-04T04:03:26.200Z","updated_at":"2025-05-15T09:31:44.098Z","avatar_url":"https://github.com/russss.png","language":"Python","readme":"**DEPRECATED PROJECT**: I (@russss) am no longer maintaining this code - in fact I've never actually deployed it in production myself, although others have. I won't be accepting any more pull requests for this project. If you're maintaining a fork, let me know and I'll link to it.\n\n## About\n\nHerd is a torrent-based file distribution system based on [Murder](https://github.com/lg/murder).\nIt allows for quick and easy transfer of small and large files. You can probably use\nit for other things too.\n\nHerd requires no extra Python modules and includes everything needed for destinations including\nits own (lightly modified) copy of BitTornado.\n\nHerd has been updated from its fork [Horde](https://github.com/naterh/Horde) which removed limitations\naround large file transfers, peer seeding, and python integration.  Herd now has the same capabilities\nas Horde in that regard.\n\n## Differences from Murder\n\n[Murder](https://github.com/lg/murder) was Twitter's original BitTorrent-based file\ndistribution system. It's pretty dependent on Capistrano and requires that a separate\ntracker process is started before you run the deploy task.\n\nHerd spawns its own tracker in the background which makes it really trivial to integrate into whatever\ndeployment system you like.\n\n## Requirements\n\nHerd needs Python \u003e 2.5 and argparse.  If you're using python 2.7+ nothing else is needed as argparse\nwas added to the standard library.\n\nArgparse, if needed, can be installed with `easy_install` or `pip`:\n\n    pip install argparse\n    easy_install argparse\n\nHerd also requires that key based passwordless authentication is enabled on all of your target\ndestinations.\n\n## Install\n\n    git clone https://github.com/russss/Herd\n    cd Herd \u0026\u0026 sudo python setup.py install\n\nHerd also supports `pypi_server` hosting.\n\n## Usage\n\nWith a hosts file that includes a list of the hosts you want to copy to:\n\n    herd myfile.tar.gz /path/to/destination.tar.gz hosts_file\n\nUsing a hosts list that is a single string comma separated:\n\n    herd myfile.tar.gz /path/to/destination.tar.gz --hostlist \"host1,host2,host3\"\n\nReading the host list from stdin.\n\n    cat /tmp/hosts_file | herd myfile.tar.gz /path/to/destination.tar.gz hosts_file\n\nMore options:\n\n    herd --help\n\n## Python Integration\n\nHerd can also be imported as a python module.  This makes integration into existing projects\neasy.  One would simply need to:\n\n    import herd.herd as herd\n    herd.run_with_opts('localfile', 'remotefile', hostlist='server1,server2')\n\n## Credits\n\n* [Russ Garrett](https://github.com/russss)\n* [Laurie Denness](https://github.com/lozzd)\n* [Nate House](https://github.com/naterh)\n* [Sam Gleske](https://github.com/samrocketman)\n* [Paul Sims](https://github.com/chalupaul)\n* [Nandor Sivok](https://github.com/dominis)\n* [Mikael Fridh](https://github.com/frimik)\n* [Sebastian Borza](https://github.com/sebito91)\n* [Patrick Ancillotti](https://github.com/neogenix)\n","funding_links":[],"categories":["Delivery","Python","Distributed computing projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frussss%2FHerd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frussss%2FHerd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frussss%2FHerd/lists"}