{"id":20768491,"url":"https://github.com/papierkorb/torrent","last_synced_at":"2025-05-11T09:32:02.859Z","repository":{"id":77922569,"uuid":"72675079","full_name":"Papierkorb/torrent","owner":"Papierkorb","description":"A BitTorrent library in pure Crystal","archived":false,"fork":false,"pushed_at":"2017-10-23T17:11:13.000Z","size":169,"stargazers_count":40,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-30T12:15:15.958Z","etag":null,"topics":["bittorrent","crystal","dht","torrent"],"latest_commit_sha":null,"homepage":"","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Papierkorb.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}},"created_at":"2016-11-02T19:41:46.000Z","updated_at":"2025-01-11T18:48:52.000Z","dependencies_parsed_at":"2023-02-27T22:00:22.793Z","dependency_job_id":null,"html_url":"https://github.com/Papierkorb/torrent","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/Papierkorb%2Ftorrent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Papierkorb%2Ftorrent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Papierkorb%2Ftorrent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Papierkorb%2Ftorrent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Papierkorb","download_url":"https://codeload.github.com/Papierkorb/torrent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253544980,"owners_count":21925315,"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":["bittorrent","crystal","dht","torrent"],"created_at":"2024-11-17T11:39:10.981Z","updated_at":"2025-05-11T09:32:02.366Z","avatar_url":"https://github.com/Papierkorb.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# torrent.cr [![Build Status](https://travis-ci.org/Papierkorb/torrent.svg?branch=master)](https://travis-ci.org/Papierkorb/torrent)\n\nA BitTorrent client library written in pure Crystal.\n\nDo note that this shard is currently in **BETA**.\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n  torrent:\n    github: Papierkorb/torrent\n```\n\n## Usage\n\nPlease see `bin/` for example applications.\n\n## What's missing?\n\n* Improve architecture\n* Improve performance (Seeding is fine, leeching is expensive)\n* Smarter leech and seed strategies\n* Tons of other things\n* The planned BEPs\n* More tests (Figure out how to best test networking code)\n\n## Implemented BEPs\n\nThe index of all BEPs can be found at http://www.bittorrent.org/beps/bep_0000.html\n\n* BEP-0003: The BitTorrent Protocol Specification\n* BEP-0005: DHT Protocol (*Experimental*)\n* BEP-0006: Fast Extension\n* BEP-0010: Extension Protocol\n* BEP-0011: Peer Exchange (PEX)\n* BEP-0015: UDP Tracker Protocol for BitTorrent (*Except for scraping*)\n* BEP-0020: Peer ID Conventions\n* BEP-0023: Tracker Returns Compact Peer Lists\n* BEP-0027: Private Torrents\n* BEP-0041: UDP Tracker Protocol Extensions\n* BEP-0048: Tracker Protocol Extension: Scrape\n\n### Planned\n\n* BEP-0009: Extension for Peers to Send Metadata Files\n* BEP-0040: Canonical Peer Priority\n\n*All entries are in ascending order of their BEP number*\n\n## Contributing\n\n1. Fork it ( https://github.com/Papierkorb/torrent.cr/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Write tests\n4. Commit your changes (git commit -am 'Add some feature')\n5. Push to the branch (git push origin my-new-feature)\n6. Create a new Pull Request\n\n## Contributors\n\n- [Papierkorb](https://github.com/Papierkorb) Stefan Merettig - creator, maintainer\n\n## Disclaimer\n\nThe authors of this library are in no way responsible for any copyright\ninfiringements caused by using this library or software using this library.\nThere are many legitimate use-cases for torrents outside of piracy. This library\nwas written with the intention to be used for such legal purposes.\n\n## License\n\nThis library is licensed under the Mozilla Public License 2.0 (\"MPL-2\").\n\nFor a copy of the full license text see the included `LICENSE` file.\n\nFor a legally non-binding explanation visit:\n[tl;drLegal](https://tldrlegal.com/license/mozilla-public-license-2.0-%28mpl-2%29)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapierkorb%2Ftorrent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpapierkorb%2Ftorrent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapierkorb%2Ftorrent/lists"}