{"id":15013184,"url":"https://github.com/cardo-podcast/cardo","last_synced_at":"2025-04-04T16:12:07.033Z","repository":{"id":254817657,"uuid":"836618369","full_name":"cardo-podcast/cardo","owner":"cardo-podcast","description":"Podcast client","archived":false,"fork":false,"pushed_at":"2025-02-27T19:31:46.000Z","size":3595,"stargazers_count":176,"open_issues_count":23,"forks_count":17,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T15:11:12.070Z","etag":null,"topics":["client","feeds","podcast","podcasts","react","rust","tauri","tauri-app","typescript"],"latest_commit_sha":null,"homepage":"https://cardo-podcast.github.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cardo-podcast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"cardo-podcast","buy_me_a_coffee":"n0vella","custom":["https://www.paypal.me/n0velladev"]}},"created_at":"2024-08-01T08:13:53.000Z","updated_at":"2025-03-24T10:27:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"f28894c6-3102-4e14-b392-908baaf01feb","html_url":"https://github.com/cardo-podcast/cardo","commit_stats":{"total_commits":162,"total_committers":2,"mean_commits":81.0,"dds":0.01851851851851849,"last_synced_commit":"c188bc29b30ebca2ee0c9efcf959ce471e2fa9ae"},"previous_names":["n0vella/cardo","cardo-podcast/cardo"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardo-podcast%2Fcardo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardo-podcast%2Fcardo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardo-podcast%2Fcardo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cardo-podcast%2Fcardo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cardo-podcast","download_url":"https://codeload.github.com/cardo-podcast/cardo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208142,"owners_count":20901570,"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":["client","feeds","podcast","podcasts","react","rust","tauri","tauri-app","typescript"],"created_at":"2024-09-24T19:43:52.272Z","updated_at":"2025-04-04T16:12:07.027Z","avatar_url":"https://github.com/cardo-podcast.png","language":"TypeScript","funding_links":["https://github.com/sponsors/cardo-podcast","https://buymeacoffee.com/n0vella","https://www.paypal.me/n0velladev","https://www.buymeacoffee.com/n0vella","https://www.paypal.com/paypalme/adriannovella"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eCARDO - PODCAST CLIENT\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://cardo-podcast.github.io\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/cardo-podcast/cardo/master/src-tauri/icons/icon.png\" alt=\"logo\" width=\"256\" height=\"256\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\nCardo is a podcast client for desktop, inspired on Android's [Antennapod](https://antennapod.org/). Cardo could be synchonized with Antennapod and other apps using [Nextcloud Gppoder](https://github.com/thrillfall/nextcloud-gpodder/) and [Gpodder/Opodsync](https://github.com/kd2org/opodsync).\n\n![1](assets/readme/1.png)\n\n![2](assets/readme/2.png)\n\n![3](assets/readme/3.png)\n\n![4](assets/readme/4.png)\n\n![5](assets/readme/5.png)\n\n### Features\n\n- [x] Search podcasts online\n- [x] Manage your subscriptions\n- [x] Look at new episodes of your subscriptions with a glance\n- [x] Synchronizing episodes state and subscriptions using Nexcloud Gpodder\n- [x] Lightweight app (thanks to Tauri)\n- [x] Customizable themes\n- [x] Download episodes to listen them offline\n- [x] Add podcast from feed url\n- [x] Synchronization using [Opodsync](https://github.com/kd2org/opodsync)\n- [ ] Keep your favorite episodes\n- [ ] Audio manipulation, speed, silenze skip \u0026 normalization\n- [ ] Add podcasts from sources other than i-tunes\n- [ ] Windows taskbar play/pause button\n\n### Compatible clients (from nextcloud-gpodder)\n\n| client                                                                                                  | support status                                                                                                                                                                        |\n| :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| [AntennaPod](https://antennapod.org)                                                                    | Initial purpose for this project, as a synchronization endpoint for this client.\u003cbr\u003e Support is available [as of version 2.5.1](https://github.com/AntennaPod/AntennaPod/pull/5243/). |\n| [KDE Kasts](https://apps.kde.org/de/kasts/)                                                             | Supported since version 21.12                                                                                                                                                         |\n| [Podcast Merlin](https://github.com/yoyoooooooooo/Podcast-Merlin--Nextcloud-Gpodder-Client-For-Windows) | Full sync support podcast client for Windows                                                                                                                                          |\n| [RePod](https://apps.nextcloud.com/apps/repod)                                                          | Nextcloud app for playing and managing podcasts with sync support                                                                                                                     |\n\n## Contributing\n\n### Helping with donations\n\nIf you like this app you can contribute buying me a cofee or whatever you want, that would be really great :)\n\n\u003cdiv style=\"display: inline-flex; gap: 10px; align-items: center\"\u003e\n    \u003ca href=\"https://www.buymeacoffee.com/n0vella\" target=\"_blank\" rel=\"noopener\"\u003e\n        \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\"\n        \u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.paypal.com/paypalme/adriannovella\" target=\"_blank\" rel=\"noopener\"\u003e\n        \u003cimg src=\"https://www.paypalobjects.com/webstatic/icon/pp196.png\" alt=\"Paypal\" width=\"60\" height=\"60\" style=\"border-radius: 10px\" /\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n### If you are a developer\n\nIt's also nice if you want to improve the app. The stack is Tauri v1 + React + Typescript + Tailwind.\n\nTo install dependencies `pnpm i` command should be enough. To setup a Tauri development environment check their [docs](https://tauri.app/v1/guides/getting-started/prerequisites), are pretty good.\nIn [tauri-conf.json](/src-tauri/tauri.conf.json) you should remove the updater configuration and windows certificate settings, or you will experiment errors of missing private key / certificate.\n\nBe free of summiting a PR if you get something good!\n\n### Translations\n\n#### Current status\n\n\u003c!-- TRANSLATION-TABLE-START --\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eLanguage\u003c/th\u003e\n      \u003cth\u003eStatus\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n     \u003ctr\u003e\n      \u003ctd\u003efr\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e100%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003ees\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e100%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003etr\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e100%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003een\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e100%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003ecn\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e95%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003ede\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e95%\u003c/td\u003e\n    \u003c/tr\u003e\n     \u003ctr\u003e\n      \u003ctd\u003ept\u003c/td\u003e\n      \u003ctd style=\"color: green;\"\u003e94%\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- TRANSLATION-TABLE-END --\u003e\n\n#### Contributing\n\nYou can contribute with translations if you speak some other languages.\nIt's only needed to replicate json's files in [folder](resources/translations). There is a tool on scripts to auto translate it using Google Translate, but I didn't want to leave a bad translations, even english could be badly translated as it isn't my mother language.\n\n## Troubleshooting\n\nOn windows you may experience a Windows shield alert, that's because app is signed with a self-signed certificate, not a paid one. Maybe alerts stop appearing if the app earns some reputation. Of course you don't have to believe me, inspecting the code and building it by yourself is always the safer option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcardo-podcast%2Fcardo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcardo-podcast%2Fcardo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcardo-podcast%2Fcardo/lists"}