{"id":21201701,"url":"https://github.com/oleander/ucallback","last_synced_at":"2025-10-13T00:50:53.711Z","repository":{"id":66260612,"uuid":"1345042","full_name":"oleander/uCallback","owner":"oleander","description":"The missing link between µTorrent and the console in OS X","archived":false,"fork":false,"pushed_at":"2011-02-09T04:36:10.000Z","size":100,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T22:29:22.713Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/oleander/uCallback","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oleander.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-02-09T04:34:16.000Z","updated_at":"2014-02-28T04:03:52.000Z","dependencies_parsed_at":"2023-02-20T01:00:46.423Z","dependency_job_id":null,"html_url":"https://github.com/oleander/uCallback","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oleander/uCallback","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleander%2FuCallback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleander%2FuCallback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleander%2FuCallback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleander%2FuCallback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oleander","download_url":"https://codeload.github.com/oleander/uCallback/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleander%2FuCallback/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013644,"owners_count":26085298,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-20T20:10:35.506Z","updated_at":"2025-10-13T00:50:53.663Z","avatar_url":"https://github.com/oleander.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# µCallback\n\n## What is µCallback?\n\nµCallback makes it possible to call a script or application when a BitTorrent download finishes.\n\nIt has support both [Transmission](http://www.transmissionbt.com/) and [µTorrent](http://user.utorrent.com/), even though Transmission already supports it.\n\n## How to use\n\n### Installation\n\n      [sudo] gem install ucallback  \n      \n### An example - The *synchronous* version\n\nThis example listen for µTorrent downloads. When a download finishes, the block is being called with the name of the downloaded item.\n\nSo if you downloaded *House.S07E11.HDTV.XviD-LOL.avi* the `item` variable would be set to just that value.\n      \n      #!/usr/bin/env ruby\n\n      require 'rubygems'\n      require 'ucallback'\n\n      Ucallback.listen('uTorrent') do |item|\n        # Do something with the information\n      end\n\n### A background example - The *asynchronous* version \n\nThe previous example runs as an synchronous script, but what if you what to run it in the background?\n\nThe [daemonize](http://daemons.rubyforge.org/) gem fixes this for us. It daemonizes the current thread so we can run it in the background.\n\nDon't forget to install `daemonize` using `[sudo] gem install daemons` \n      \n      #!/usr/bin/env ruby\n\n      require 'rubygems'\n      require 'ucallback'\n      require 'daemons'   \n      \n      Daemons.daemonize\n      \n      Ucallback.listen('Transmission') do |item|\n        # Do something with the information\n      end    \n\nSave the code above to a file, run `chmod +x the_file_you_just_created` on it and you should be able to start it using `the_file_you_just_created`.\n\n## How to help\n\n- Start by copying the project or make your own branch.\n- Navigate to the root path of the project and run `bundle`.\n- Start by running all tests using rspec, `rspec spec/ucallback_spec.rb`.\n- Implement your own code, write some tests, commit and do a pull request.\n\n## Requirements\n\nµCallback is tested on OS X 10.6.6 using Ruby 1.8.7.\nWith µTorrent [beta 1.1](http://user.utorrent.com/downloads/mac).\n\n**µCallback only works with µTorrent versions that supports [Growl](http://growl.info/) messages.**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleander%2Fucallback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foleander%2Fucallback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleander%2Fucallback/lists"}