{"id":22542092,"url":"https://github.com/littlebutt/tiny-libtorrent","last_synced_at":"2025-04-09T22:43:09.707Z","repository":{"id":258230447,"uuid":"860152254","full_name":"littlebutt/tiny-libtorrent","owner":"littlebutt","description":"The simplest bittorrent client/library in C","archived":false,"fork":false,"pushed_at":"2024-12-04T11:31:06.000Z","size":120,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T00:41:23.046Z","etag":null,"topics":["bittorrent","c","p2p","torrent"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/littlebutt.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":"2024-09-19T23:18:50.000Z","updated_at":"2024-12-04T11:31:10.000Z","dependencies_parsed_at":"2024-10-25T02:59:32.310Z","dependency_job_id":"845abbf2-932e-4e73-8cb8-fb469b07d3c9","html_url":"https://github.com/littlebutt/tiny-libtorrent","commit_stats":null,"previous_names":["littlebutt/tiny-libtorrent"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Ftiny-libtorrent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Ftiny-libtorrent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Ftiny-libtorrent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Ftiny-libtorrent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/littlebutt","download_url":"https://codeload.github.com/littlebutt/tiny-libtorrent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125100,"owners_count":21051759,"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","c","p2p","torrent"],"created_at":"2024-12-07T13:08:29.496Z","updated_at":"2025-04-09T22:43:09.684Z","avatar_url":"https://github.com/littlebutt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tiny-Libtorrent: The Simplest Bittorrent Client/Library in C\n\nTiny-Libtorrent is a project for studying [Bittorrent Protocol](https://wiki.theory.org/BitTorrentSpecification).\nIt implements the most part of Bittorrent Protocol in C and can be used in limited environment like embeded systems.\n\n\n## Prerequisite\n\nGenerally, the project can be run in all C environments but the recommended ways are different. If you are a Linux/BSD\nuser, compiling with the GCC toolchain is a better choice. If you are a Windows user, you can use Visual Studio 2022 to\ncompile the project.\n\n\n## Compiling\n\nIf you are using GCC, run `mkdir build \u0026\u0026 make` in the root directory. If you are a Windows user, double click `.sln` file to open the\nproject and run it in `x64` mode.\n\n\n## Usage\n\nIn Linux or BSD, you can simply run the following command in shell then it will download the content in `torrent_filename`.\n\n```Shell\ntiny-libtorrent torrent_filename\n```\n\nOtherwise in Windows, you can run this command.\n\n```Shell\ntiny-libtorrent.exe torrent_filename\n```\n\nThe torrent_filename must be a `.torrent` file.\n\n\n## Limitation\n\nThe project does not support the following features:\n\n1. Multi-files torrent\n2. Magnet link\n3. Uploading (Seeding)\n4. Resume from breakpoint\n5. Coroutine (In progress)\n6. NAT traversal\n7. SSL/TLS protocol\n\n\n## References:\n\n1. [The Bittorrent Protocol implementation in GO](https://blog.jse.li/posts/torrent/)\n2. [The Bittorrent Protocol Specification](https://wiki.theory.org/BitTorrentSpecification)\n3. [The Libtorrent Project](https://www.libtorrent.org/)\n4. ChatGPT (the most gratefull)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flittlebutt%2Ftiny-libtorrent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flittlebutt%2Ftiny-libtorrent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flittlebutt%2Ftiny-libtorrent/lists"}