{"id":23114337,"url":"https://github.com/syxanash/rubomote","last_synced_at":"2026-05-01T09:31:33.241Z","repository":{"id":145096105,"uuid":"86973405","full_name":"syxanash/rubomote","owner":"syxanash","description":"Remotely control iTunes with Ruby + WebSocket app","archived":false,"fork":false,"pushed_at":"2023-04-20T20:45:33.000Z","size":257,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T00:43:38.118Z","etag":null,"topics":["itunes","ruby","sinatra"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syxanash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2017-04-02T08:33:21.000Z","updated_at":"2023-07-11T11:40:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"8fd092b2-cf77-499c-81f2-22b724df8211","html_url":"https://github.com/syxanash/rubomote","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/syxanash/rubomote","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syxanash%2Frubomote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syxanash%2Frubomote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syxanash%2Frubomote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syxanash%2Frubomote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syxanash","download_url":"https://codeload.github.com/syxanash/rubomote/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syxanash%2Frubomote/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32492105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["itunes","ruby","sinatra"],"created_at":"2024-12-17T03:29:31.268Z","updated_at":"2026-05-01T09:31:33.220Z","avatar_url":"https://github.com/syxanash.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rubomote :musical_note:\n\nremotely control iTunes over Wi-Fi using Ruby.\n\n## Demo\n\n[![rubomote](https://thumbs.gfycat.com/FakeDistantBorderterrier-size_restricted.gif)](https://gfycat.com/FakeDistantBorderterrier)\n\nalternatively you can also :boom: **shake** :boom: your smartphone to change song *(just don't do it with your laptop)*\n\n[![rubomote](https://thumbs.gfycat.com/LinearFeistyIndigowingedparrot-size_restricted.gif)](https://gfycat.com/LinearFeistyIndigowingedparrot)\n\n## Getting Started\n### Dependencies\n\nCheck `Gemfile` to see all dependencies required or just run:\n\n```\nbundle install\n```\n\nthis app also requires **cowsay** and **lolcat**:\n\n```\n$ gem install lolcat\n$ brew install cowsay\n```\n\nand you are ready to go.\n\n### Run the app\n\nDownload this repo or clone it. Run the app with the following command:\n\n```\n$ ruby app.rb\n```\n\nnow open the web browser on your device and type the ip address of the server **followed by port** `4567`; you can check your ip address with `ifconfig` command and look for `inet` address on interface `en1`. After that you should see the web app asking for the secret pin generated randomly on the terminal like so:\n\n![secret cow](https://i.imgur.com/zxAXOhP.png)\n\nCopy it into the login page and once you've clicked on **Verify** you should be able to control iTunes with your smartphone.\n\n![web app](https://i.imgur.com/GGJHAGG.png)\n\n[Here](https://asciinema.org/a/120635)'s an example of how to set up rubomote server.\n\n## Lyrics\n\nIf you want to get lyrics when you're listening to a song, simply add your **client access token** from [genius.com](https://genius.com/api-clients) to `rubomote_config.json`. Once the token is stored inside rubomote configuration file you'll be able to get the lyrics of the current song played by clicking the green button under the volume bar, see the picture displayed before.\n\nI've also written a command line tool to download lyrics from genius.com, check [this](https://gist.github.com/syxanash/f9a21f21d2bbad43d7eae0f969efe0b6) out!\n\n## Tested OS\n\n* OS X Mavericks\n* OS X Yosemite\n* OS X El Capitan\n* macOS Sierra\n\nUnfortunately this app currently works only on Macs due to **itunes-client** library which uses AppleScript scripts to control iTunes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyxanash%2Frubomote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyxanash%2Frubomote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyxanash%2Frubomote/lists"}