Tsacdop è un lettore di podcast sviluppato con Flutter, un'app pulita, semplicemente bella e amichevole, che è anche gratuita e open source. https://funkwhale.it
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
dependabot[bot] 1354201440
Bump jmespath from 1.4.0 to 1.6.1 in /android (#65)
Bumps [jmespath](https://github.com/trevorrowe/jmespath.rb) from 1.4.0 to 1.6.1.
- [Release notes](https://github.com/trevorrowe/jmespath.rb/releases)
- [Changelog](https://github.com/jmespath/jmespath.rb/blob/main/CHANGELOG.md)
- [Commits](https://github.com/trevorrowe/jmespath.rb/compare/v1.4.0...v1.6.1)

- dependency-name: jmespath
  dependency-type: indirect

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
.github Update github action conf. 2 years ago
.vscode Update. 2 years ago
android Bump jmespath from 1.4.0 to 1.6.1 in /android (#65) 10 months ago
assets Turkish lang support, thanks to Murat. 2 years ago
fastlane v0.6.0 Release 2 years ago
ios Update language. 2 years ago
lib null safety & material you (#64) 10 months ago
preview [ImgBot] Optimize images 3 years ago
test Switch to fedora. 3 years ago
tool Minor change. 2 years ago
.gitignore Update ignore file. 2 years ago
.metadata Switch to fedora. 3 years ago
CHANGELOG.md v0.6.0 Release 2 years ago
LICENSE Switch to fedora. 3 years ago
README.md Minor README proof-reading update. 2 years ago
pubspec.yaml null safety & material you (#64) 10 months ago


Tsacdop Banner

github action GitHub Release Github Downloads Localizely style: effective dart License badge fdroid install


Enjoy podcasts with Tsacdop.

Tsacdop is a podcast player developed with Flutter, a clean, simply beautiful, and friendly app, which is also free and open source.

Credit to the Flutter team and all involved plugins, especially webfeed, Just_Audio, and Provider.

The podcast search engine is powered by, ListenNotes & PodcastIndex.


  • Podcast group management
  • Playlists support
  • Sleep timer / speed setting
  • OPML file export and import
  • Auto-syncing in the background
  • Listening and subscription history record
  • Dark mode / accent color
  • Download for offline play
  • Auto-download new episodes / auto-delete outdated downloads
  • Settings backup
  • Skip silence
  • Boost volume

More to come...


Home Page Group Podcast Episode Dark Mode


Please Email me you'd like to contribute to support more languages!

Credit to Localizely for kind support to open source projects.


Chinese Simplified





Tsacdop is licensed under the GPL v3.0 license.


  1. If you don't have Flutter SDK installed; Please visit the official Flutter site.
  2. Fetch the latest source code from the master branch.
git clone https://github.com/stonega/tsacdop.git
  1. Add api search api configure file.

Tsacdop uses the ListenNotes API 1.0 pro to search for podcasts, which is not free, so I can not expose the API key in the repo. If you want to build the app, you need to create a new file named .env.dart in the lib folder. Add the following code to .env.dart. If you don't have a ListenNotes api key, keep the apiKey empty like ''. Then the app will only support the PodcastIndex search. You can get your own ListenNotes API key on ListenNotes. Remember that you need to get a pro plan API because the basic plan doesn't provide an rss link for the search result.

final environment = {"apiKey":""};
  1. Run the app with Android Studio or Visual Studio. Or the command line.
flutter pub get
flutter run


If you have an issue or found a bug, please raise a GitHub issue. Pull requests are also welcome.



  • Local storage
    • sqflite
    • shared_preferences
  • Audio
    • just_audio
    • audio_service
  • State management
    • provider
  • Download
    • flutter_downloader
  • Background task
    • workmanager

Directory Structure

   ├──home.dart [Homepage]
   ├──searc_podcast.dart [Search Page]
   └──playlist.dart [Playlist Page]
   ├──podcast_manage.dart [Group Page]
   └──podcast_detail.dart [Podcast Page]
   └──episode_detail.dart [Episode Page]
   └──setting.dart [Setting Page]

   ├──audio_state.dart [Audio State]
   ├──download_state.dart [Episode Download]
   ├──podcast_group.dart [Podcast Groups]
   ├──refresh_podcast.dart [Episode Refresh]
   └──setting_state.dart [Setting]

   ├──api_service.dart [Podcast Search]
   ├──gpodder_api.dart [Gpodder intergate]
   └──ompl_builde.dart [OMPL export]

Known Issue

  • Playlist is unstable


You can reach out to me directly at tsacdop.app@gmail.com.

Or you can join our Telegram Group.

Getting Started with Flutter

This project is a starting point for a Flutter application.

Here are a few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.