package icon

BendyStraw

An app for managing NewPipe databases
# BendyStraw

An app for managing NewPipe databases.

BendyStraw imports [ NewPipeData-*.zip ] files and lets you:


  • Open multiple [ zip ]s at the same time, so you can combine data
    from several devices

  • [ Delete ] [ Copy ] [ Move ] [ Rename ] your custom playlists

  • [ Delete ] [ Copy ] [ Move ] streams from one playlist to another

  • [ Delete ] [ Copy ] [ Move ] channel subscriptions between databases

  • [ Delete ] [ Copy ] [ Move ] remote (bookmarked) playlists

  • Re-order playlists, sorting the streams by [ Title ], [ Channel ] or [
    Length ] (just tap the column headings in the tables)

  • Shuffle or reverse playlists

  • Streams (audio/video) can be opened directly from
    BendyStraw, as the URLs are clickable

    • If you set video links (in your Android settings) to open in
      NewPipe you can make a split-screen view and jump
      around your playlists



  • Export playlist as raw text, for example to be used with yt-dlp

  • New! Import playlists from JSON (the button to do this is
    hidden by default, go to the settings menu to show it)

  • Dark/light themes



After editing simply export a new [ zip ] file, then import it back into NewPipe.



## Note about Permissions

On Android 13+, BendyStraw asks for the manage external storage permission, here's why:



  • A typical use-case for this app is to open several [ zip ] files,
    concurrently, from multiple locations including
    [ Download ] directories (these files would be, for example,
    multiple NewPipe exports from multiple devices, which you
    want to combine).


  • Each [ zip ] is extracted so that its contained
    [ newpipe.db ] SQLite database can be read/written while you are
    editing.


  • After editing, the extracted files are written back to a new
    [ zip ], and/or overwrite the original [ zip ]s.




I aim to minimise the permissions I request in everything I build. Android 13 introduced changes to make doing what I decribed above
difficult. I explored alternative methods requiring fewer permissions and felt
that it compromised the user experience for my (as the app's first user)
typical usage, making it more complicated and annoying.


I treat users as responsible human beings, so give you this info to allow you
to make an informed choice. If you are not happy with this, you can:


  • Choose not to grant the permission, and uninstall the app.


  • Check the source code to see that I'm not doing anything nefarious, or ask
    somebody to check it for you (at time of writing, everything related to
    reading/writing files is in [ /lib/file_manager_widget.dart ]).


  • Build the app yourself from the source using Flutter.


Donate

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.2.0 (33) suggested Added on Oct 07, 2024

    arm64-v8a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.4 MiB PGP Signature | Build Log

  • Version 1.2.0 (32) - Added on Oct 07, 2024

    armeabi-v7a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.0 MiB PGP Signature | Build Log

  • Version 1.2.0 (31) - Added on Oct 07, 2024

    x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.6 MiB PGP Signature | Build Log

  • Version 1.1.0 (23) - Added on Feb 11, 2024

    arm64-v8a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8 MiB PGP Signature | Build Log

  • Version 1.1.0 (22) - Added on Feb 11, 2024

    armeabi-v7a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 7.7 MiB PGP Signature | Build Log

  • Version 1.1.0 (21) - Added on Feb 11, 2024

    x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.2 MiB PGP Signature | Build Log

  • Version 1.0.0 (13) - Added on Dec 08, 2023

    arm64-v8a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8 MiB PGP Signature | Build Log

  • Version 1.0.0 (12) - Added on Dec 08, 2023

    armeabi-v7a

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 7.6 MiB PGP Signature | Build Log

  • Version 1.0.0 (11) - Added on Dec 08, 2023

    x86_64

    This version requires Android 5.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
      (10)
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
      (10)
    • rocks.mm_dev.BendyStraw.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.2 MiB PGP Signature | Build Log