{"id":17147969,"url":"https://github.com/toby/onair","last_synced_at":"2026-02-17T13:04:48.160Z","repository":{"id":136460213,"uuid":"149351046","full_name":"toby/onair","owner":"toby","description":"shariport-sync metadata display and control client/server","archived":false,"fork":false,"pushed_at":"2023-02-25T00:35:41.000Z","size":33,"stargazers_count":18,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-12T07:09:36.429Z","etag":null,"topics":["airport","daap","music","shairport-sync","shairport-sync-metadata-reader"],"latest_commit_sha":null,"homepage":"","language":"Go","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/toby.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-09-18T20:55:22.000Z","updated_at":"2024-09-02T04:27:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"69a35561-2b34-4287-8c7b-46136429281d","html_url":"https://github.com/toby/onair","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/toby/onair","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fonair","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fonair/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fonair/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fonair/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toby","download_url":"https://codeload.github.com/toby/onair/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fonair/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29545295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T13:00:00.370Z","status":"ssl_error","status_checked_at":"2026-02-17T12:57:14.072Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["airport","daap","music","shairport-sync","shairport-sync-metadata-reader"],"created_at":"2024-10-14T21:26:43.799Z","updated_at":"2026-02-17T13:04:48.125Z","avatar_url":"https://github.com/toby.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# On Air\n\n[![GoDoc](https://godoc.org/github.com/toby/onair?status.svg)](http://godoc.org/github.com/toby/onair)\n\n`onair` manages music playback, metadata storage and display. It currently\nsupports shairport-sync as a playback source.\n\n## Requirements\n\n*  [shairport-sync](https://github.com/mikebrady/shairport-sync) (compiled `--with-metadata`)\n*  Go 1.11+\n\n## Installing\n\n```\ngo get github.com/toby/onair/cmd/onair\n```\n\n## Usage\n\nOn Air will run continuously to print out metadata and act as a control for shairport-sync.\n\n```\nonair [flags] [COMMAND]\nFLAGS:\n  -h       Help\n  -m PATH  Path to shairport-sync-metadata file (default \"/tmp/shairport-sync-metadata\")\n  -p       onair control port (default: 22212)\n  -u       shairport-sync metadata receive udp port (default: disabled)\n  -a\t   Display album name\n  -s\t   Print a blank newline when playback stops\n  -v\t   Verbose\nCOMMANDS\n  display                       Display the currently playing track\n  play                          Start playback\n  pause                         Pause playback\n  playpause                     Toggle between play and pause\n  skip, next, nextitem          Play next item in playlist\n  back, previous, previtem      Play previous item in playlist\n  stop                          Stop playback\n  shuffle, shuffle_songs        Shuffle playlist\n  ff, fastforward, beginff      Begin fast forward\n  rew, rewind, beginrew         Begin rewind\n  playresume                    Play after fast forward or rewind\n  up, volup, volumeup           Turn audio volume down\n  down, voldown, volumedown     Turn audio volume up\n  mute, mutetoggle              Toggle mute status\n```\n\n## Server Mode\n\nRunning `onair` with no commands prints each new track to standard out. If the\n`-s` flag is supplied, `onair` will output a blank newline when there is a\nstop in playback. This can be useful if you want to track your listening\nsessions or for updating a UI to clear now playing information.\n\n## Client Mode\n\nWhen run with a command argument, `onair` will connect to an already running\n`onair` server and tell it to issue the given command to the connected playback\ndevice. If no server is running, you'll need to launch one. If the server has\nnot yet seen the required playback ids from the source, you may need to\nreconnect your Airplay device.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoby%2Fonair","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoby%2Fonair","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoby%2Fonair/lists"}