NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

[Feature Request] save your playlists, subscriptions and settings in the cloud

Open ghost opened this issue 6 years ago • 46 comments

  • [x] I carefully read the contribution guidelines and agree to them.
  • [x] I checked if the issue/feature exists in the latest version.

I'm not sure if this goes a bit against the policy of Newpipe, but I think it would be a very good idea to make a server in the style "firefox-sync" in which you can register and store your data there to be able to synchronize them more easily in other phones, tablets and AmazonTvs. maybe even this idea works also for when Newpipe is ported to computers

ghost avatar Mar 05 '18 06:03 ghost

Well im currently working with ownCloud on their android app, lets se what the future will bring ;D

theScrabi avatar Mar 06 '18 20:03 theScrabi

great, I'll wait for news :grimacing:

ghost avatar Mar 07 '18 13:03 ghost

My suggestion is to integrate Google Drive and OneDrive so that NewPipe syncs subscriptions, history in an encrypted file so that we can access it anywhere. Right now I use OneDrive but I have download it and upload once a week. It's kinda boring

gabriellluz avatar May 29 '18 11:05 gabriellluz

Well an idea would be some sort of intent interface for the owncloud app, so newpipe could trigger it to sync its database. I'm just not sure if ownCloud would like that 😅

theScrabi avatar May 31 '18 09:05 theScrabi

It'd be like an OwnCloud app or extension? something like that? it would be cool BUT I don't use Owncloud anymore because they collect your data. So your best best is to create an encrypted file (end to end). Otherwise, OwnCloud exposes our data so that NSA can create a simple tunnel/scraper in order to grab our data. They do it currently with GMail, Outlook, GDrive and so many other providers according to Edward Snowden. There's a book I read about it.

gabriellluz avatar Jun 08 '18 19:06 gabriellluz

serveimage

@gabriellluz I am not going to discuss anything regarding ownCloud here at the NewPipe project. But if you have doubts or questions feel free to ask over at owncloud central or write me a mail.

theScrabi avatar Jun 14 '18 20:06 theScrabi

I would love this feature since I would not have to worry about losing data if my phone is stolen, lost or stops working since it will constantly sync itself to a cloud and everytime I add a subscription, a bookmark or create a playlists it will be backed up.

Same goes for my Tablet. I would like to have my bookmarks and subscriptions synced between them for easy use instead of having to export and import the data all the time.

The only issue with cloud syncing is there are so many providers and I find that not many are using WebDav and others like myself have their own trusted cloud providers since many cloud providers are not privacy friendly like Google Drive, OneDrive, etc.

Some people host their own NAS and use ownCloud or NextCloud but not everyone has this nor wants this setup for privacy. I personally like using MEGA and Sync.com. But to ensure privacy and to also ensure everyone gets to choose their favorite cloud with ease I think the following needs to be done especially for cloud storage providers that do not support webdav.

-File Files are the easiest way to contain data and have then sync to various clouds. Every cloud storage system supports files and many cloud storage apps support syncing files from a directory on a device to the cloud. And even if your cloud storage provider does not do this there are apps that do just this. Maybe users want to use Syncthing and this will make things easy. But for the file to work the user must choose where on the device the file is stored and the name of the file

-Files Same as the suggestion above except you do not sync the entire file between the cloud and devices since a file can get large overtime take longer and longer to sync. Instead you sync files with updates that say (Unsubscribe from PewDiePie 20181020-204455) or (Subscribed to Halo 20181020-204500) and when another device recieves the file it will do as it says and keep the file for sometime.

-Encryption This can be optional but the file can have a password set to it so to access it in NewPipe you must enter the password to read/write to the file. This is needed for those who use non-private cloud storage systems so the cloud storage provider cannot read the NewPipe data nor can any eavesdroppers see what the data is when being send to/from the cloud.

Personally I would prefer to use MEGA with an encrypted file since MEGA is pretty good on privacy but if someone does get my NewPipe file they cannot see my bookmarks and my subscriptions.

The reason to keep NewPipe data private and secure is because YouTube and your bookmarks, subscriptions could tell a lot about you just like a years worth of search results. NewPipe is designed with privacy in mind since it does not use a Google Account but NewPipe.

That is my opinion on syncing data to a cloud or between devices. This method above I have explained can allow NewPipe to support many cloud storage provides webdav or not webdav, self hosting, payed cloud storage, syncthing, etc. There are so many cloud storage providers and ways people like to manage their data and it will be a daunting tasks to add support to every cloud storage provider and every self hosting method.

trymeouteh avatar Oct 20 '18 19:10 trymeouteh

here's an idea: newpipe automatically makes a local history/subscription backup in a certain directory, you install the nextcloud app and select this dir. for autouploading. This keeps the 2 apps separated. You could a description of the process in the settings menu under something like "cloud backup"

kroeliebuschie avatar Jan 19 '19 16:01 kroeliebuschie

here's an idea: newpipe automatically makes a local history/subscription backup in a certain directory, you install the nextcloud app and select this dir. for autouploading. This keeps the 2 apps separated. You could a description of the process in the settings menu under something like "cloud backup"

I second this simple solution! Pair that with an auto-import setting and make them mutually exclusive to avoid conflicts.

steveej avatar Jan 19 '19 21:01 steveej

Any news or progress on this? Cloud sync (NextCloud would be my preference) is the major reason why I don't use NewPipe atm.

Richard-Payne avatar Aug 11 '19 09:08 Richard-Payne

  1. Not yet, but if so we would need to find a way to sync with any cloud system. Maybe this was possible with SAF, but for that we first need to switch to SAF with saving/restoring the database.
  2. Since this discussion was started before Invidio.us came on the plan. Now maybe we should build a backend to invidio.us instead. This would even be better as syncing events like "watched this video" is better than scncing the whole db, because what would you do if you produced a colission? @omarroth is there a REST API for invidio.us to which we could connect to and sync account data with?

theScrabi avatar Aug 11 '19 10:08 theScrabi

  1. Since this discussion was started before Invidio.us came on the plan. Now maybe we should build a backend to invidio.us instead. This would even be better as syncing events like "watched this video" is better than scncing the whole db, because what would you do if you produced a colission? @omarroth is there a REST API for invidio.us to which we could connect to and sync account data with?

I'm not familiar with invidio.us but it appears to be a competing video site. I'm not sure how supporting that is relevant to syncing youtube data.

Richard-Payne avatar Aug 12 '19 09:08 Richard-Payne

Its selfhosted free and we work with @omarroth.

theScrabi avatar Aug 13 '19 00:08 theScrabi

I expect @PrestonN and @cloudrac3r will also be interested and have some thoughts on this.

is there a REST API for invidio.us to which we could connect to and sync account data with?

Yes, see omarroth/invidious#473. It's currently not very well documented unfortunately, but it is absolutely possible to sync subscriptions and user preferences. Watch history will likely be available in the API once omarroth/invidious#673 is merged. Are there any other endpoints that would need to be added?

omarroth avatar Aug 13 '19 20:08 omarroth

@Richard-Payne Invido.us is a bit like a self hosted mirror of youtube, not a YouTube competitor exactly. You can watch any YouTube video on it by switching invidio.us for youtube.com

It's a project trying to FOSS YouTube as much as possible like NewPipe, except on the web.

That being said, if I could host my own invidious instance that feeds all my devices with their subscriptions and watch history, that would be extremely nice. Even better if we could use the Invidious instance for browsing instead of YouTube.

Gymcap avatar Aug 13 '19 20:08 Gymcap

Obviously at the end of the day it's your decision on what you end up doing, but I'd like to throw WebDAV in here as an option since it would allow synchronization with Nextcloud, Owncloud, and any other services that support the protocol (There are even plugins to make it work with larger services like DropBox). I will personally be attempting to support this in some future update of FreeTube though it might be a little ways from now before I get there.

Also this is just a bit of bias, but it'd be pretty neat to be able to sync up subscriptions, history, and such between NewPipe and FreeTube. This would require more communication of course but I may as well throw in the idea. I'd expect that there would have to be changes outside of just cloud sync on both sides in order to make that happen but that's discussion for a different day I suppose.

PrestonN avatar Aug 13 '19 21:08 PrestonN

+1 for WebDAV

Gymcap avatar Aug 14 '19 04:08 Gymcap

With so many different alternative YouTube apps and websites I think it's important to create a solution that all of these apps and websites will be able to implement if they want to.

While websites can obviously provide an sync API to POST and GET from, apps can't. This would mean data would have to be sent to some sort of intermediary service by the first app, and fetched from that same service by the second app.

I don't know enough about WebDAV to complete this thought, but I do agree that being able to use a regular file cloud as a synchronisation store sounds like a good idea.

cloudrac3r avatar Aug 14 '19 08:08 cloudrac3r

The other main option would be to create a brand new selfhostable service for storing sync data. It could have an API that all apps and websites can POST data to and GET data from.

Designing a brand new service would allow for API endpoints like "what has changed I last asked", which would be more convenient than a flat file stored in the cloud. On the other hand, requiring a custom service like this one rather than a file cloud would make it a little more inconvenient for users who want to selfhost.

I think that this service should be separate from Invidious, because having to run a full Invidious node just to synchronise data between NewPipe and FreeTube would be silly.

cloudrac3r avatar Aug 14 '19 08:08 cloudrac3r

Well if someone writes this service it would be ok, but since invidio.us is already written I'd focuse on that.

theScrabi avatar Aug 14 '19 13:08 theScrabi

I think being able to login with your invidio.us account to sync would be great!

poperigby avatar Aug 31 '19 17:08 poperigby

Related PR - https://github.com/TeamNewPipe/NewPipe/pull/2668

yausername avatar Sep 28 '19 10:09 yausername

With great interest I have been following the discussion lately. What is the current status on deciding/implementing WebDAV as a sync option? I agree with @PrestonN this has a wide range of applications.

Mind my enthousiasm. It would be fantastic to be able to sync invidio.us with freetube, newpipe, etc. all with WebDAV. The end user is in control of its own history subscriptions, etc. so the legal aspect isn't a big thing to worry about. Because people host their own data.

The difficulty to implement & maintain it this way is also relatively easy I suppose, WebDAV is known for some time.

ushername avatar Nov 04 '19 08:11 ushername

Hello, invidious user here.

Right now, invidious allows to import data from NewPipe (both zip and json), so it will be very good to use it as "synchronization backend"

rakshazi avatar Nov 06 '19 10:11 rakshazi

It would also be good an option to sync with Syncthing.

smnthermes avatar Nov 08 '19 23:11 smnthermes

Are there any updates on this? I think the best solution would be to build a syncing api for invidio.us. Theyre floss, free, already can do import and export with newpipe and can be self hosted. its a win win!

BeatLink avatar Mar 20 '20 06:03 BeatLink

I'd really like to have syncing between NewPipe and FreeTube. I personally vote for WebDAV because it would allow to sync arbitrary settings or databases, not just subscriptions, playlists and watch history...

I wrote a proof-of-concept for WebDAV synchronization for FreeTube earlier today and it was really trivial. https://github.com/FreeTubeApp/FreeTube-Vue/issues/44 I don't know much about Java, but I'd imagine it to be equally trivial to implement in Java.

Maybe we could agree to save the subscriptions, playlists, watch history and whatever else FreeTube and NewPipe have in common in a specific format that everyone has to support.

If you really prefer invidious over WebDAV I'd be okay with ditching my WebDAV poc and writing a new one for the invidious API if I can find documentation for it.

T-vK avatar Jun 30 '20 20:06 T-vK

Yes please! webdav FTW

cocoonkid avatar Jul 13 '20 10:07 cocoonkid

Very unfortunate that the devs aren't replying.

T-vK avatar Jul 13 '20 10:07 T-vK

hello all! Thumbs up for webdav sync! Also a solution like this like Antennapod does might be possible https://gpodder.net

Rik44444 avatar Oct 21 '20 09:10 Rik44444