{"id":51176197,"url":"https://github.com/thrzl/dotsong","last_synced_at":"2026-06-27T04:01:27.815Z","repository":{"id":365619160,"uuid":"1272953228","full_name":"thrzl/dotsong","owner":"thrzl","description":"share your music from any music player to discord, last.fm, listenbrainz, and more","archived":false,"fork":false,"pushed_at":"2026-06-27T00:25:21.000Z","size":3734,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T00:32:38.790Z","etag":null,"topics":["discord","discord-presence","discord-rich-presence","discord-rpc","lastfm","linux","listenbrainz","macos","scrobbler","tray","tray-app","tray-application","windows"],"latest_commit_sha":null,"homepage":"","language":"Svelte","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/thrzl.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-18T04:44:32.000Z","updated_at":"2026-06-27T00:11:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thrzl/dotsong","commit_stats":null,"previous_names":["thrzl/dotsong"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thrzl/dotsong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Fdotsong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Fdotsong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Fdotsong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Fdotsong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thrzl","download_url":"https://codeload.github.com/thrzl/dotsong/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thrzl%2Fdotsong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34840899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"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":["discord","discord-presence","discord-rich-presence","discord-rpc","lastfm","linux","listenbrainz","macos","scrobbler","tray","tray-app","tray-application","windows"],"created_at":"2026-06-27T04:01:27.172Z","updated_at":"2026-06-27T04:01:27.807Z","avatar_url":"https://github.com/thrzl.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/thrzl/dotsong\"\u003e\n    \u003cimg src=\"src-tauri/icons/icon.png\" alt=\"dotsong project logo\" width=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003e\u003cb\u003edotsong\u003c/b\u003e\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    show off your music, freely\n    \u003cbr /\u003e\n    \u003c!-- until i get the wiki together\n        \u003ca href=\"#\"\u003e\u003cstrong\u003eexplore the docs »\u003c/strong\u003e\u003c/a\u003e \n    \u003cbr /\u003e\n    --\u003e\n    \u003c!-- \u003cbr /\u003e --\u003e\n    \u003c!-- until i get a demo together too (i guess)\n    \u003ca href=\"https://github.com/thrzl/dotsong\"\u003eview demo\u003c/a\u003e\n    ·--\u003e\n    \u003ca href=\"https://github.com/thrzl/dotsong/issues\"\u003ereport bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/thrzl/dotsong/issues\"\u003erequest feature\u003c/a\u003e\n\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\ndotsong is a simple cross-platform tray app that allows users to scrobble now playing tracks from anywhere to last.fm, listenbrainz, and libre.fm\n\nit also allows you to display your current song as your discord presence\n\ndotsong is currently alpha or something like that. should be stable and everything, it's just that it's very incomplete. see the todo list for more info on that\n\n## installation note for macOS users:\n\ni dont have a code signing license or whatever, so macOS will tell you that the app is damaged. you need to run the following in Terminal after you've installed:\n\n```bash\nxattr -c /Applications/dotsong.app\n```\n\n## why\n\nnobody else does this for free, for some reason\n\n### feats\n\n- almost 0% CPU (the app spends most of its time waiting for updates)\n- 30-40 MB memory (when the settings menu is closed)\n- support for any listenbrainz/last.fm compatible scrobbling server\n- completely free\n\n## todo list\n\n- [x] working settings menu\n- [x] discord rich presence\n- [x] listenbrainz scrobbling\n- [x] last.fm scrobbling\n- [x] libre.fm scrobbling (just last.fm to a diff url)\n- [x] check for updates\n- [ ] cover art uploading\n\n## goals\n\n- be lightweight (at least lighter than music presence)\n- be perfectable. this app should be written so that if i stopped updating it, 5 years later it'd still work great\n\n## what's a dotsong\n\na reference to a [song](https://listenbrainz.org/track/361a0065-9eed-4ba2-be02-f87db26dadfc)\n\n## how does it work\n\ndotsong uses the media center on all platforms to access the currently playing song. on macOS, this is done via the private `MediaRemote` framework (which falls back to AppleScript, but that only really supports Apple Music and Spotify)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrzl%2Fdotsong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthrzl%2Fdotsong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthrzl%2Fdotsong/lists"}