What telemetry is Parabolic sending to microsoft (github) every time the application starts? Spyware?
Closed this issue · 4 comments
Since latest versions, every time Parabolic starts, a request to api.github.com is sent.
I have zero interest in giving microsoft data about my usage of any application.
I also do not appreciate new telemetry suddenly being implemented without any information to me as the user.
So, WHAT is being sent to microsoft (github) every time Parabolic starts?
Why is there no opt-in/opt-out choice for telemetry?
Probably just checking for new versions!!
@YarosMallorca is correct.
On Windows, Parabolic sends 2 requests to api.github.com . One to check for Parabolic updates, one to check for yt-dlp updates.
On Linux, Parabolic sends 1 request to api.github.com to check for yt-dlp updates.
You can see the source code for the Updater module here: https://github.com/NickvisionApps/libnick/blob/main/src/update/updater.cpp#L61
This is what I consider "good telemetry". Thank you for clarifying. 👍
(I did search for the url among the code on github but the search function returned nothing for some reason)
Follow up question:
What will be done with this information on a flatpak installation on linux?
Since it's a flatpak, yt-dlp is included in the package. What yt-dlp is it checking for?
And if there is a newer version, what will be done with that information? (flatpaks don't self upgrade afaik?)
My C++ knowledge is extremely limited and I could not find any references to yt-dlp in the code.
I guess I could ask an AI, but the source for the code (the dev) knows way better than any AI ever will. 👍
Edit
Please feel free to convert this to a discussion instead (should probably have been a discussion and not an issue from the start to be honest, my bad. And only repo maintainer(s) can convert issues to discussions)
(I did search for the url among the code on github but the search function returned nothing for some reason)
This is because the Updater module code is stored on libnick . libnick is a Nickvision built library that all of our apps rely on as it provides a cross-platform base for many common desktop app functionality: handling updates, sending notifications, system credential manager access, networking, etc...
What will be done with this information on a flatpak installation on linux?
Since it's a flatpak, yt-dlp is included in the package. What yt-dlp is it checking for?
And if there is a newer version, what will be done with that information? (flatpaks don't self upgrade afaik?)
Great question! So yes, the flatpak is bundled with yt-dlp. But the app checks for a newer version because if one is available, Parabolic will actually display a notification and allow you to download the new yt-dlp executable, yes even on Flatpak, for the app to use.
This is important as most of the times when a new yt-dlp version is released, the old versions stop working.
Therefore, this allows Parabolic to continue functioning right away instead of waiting for me to release a new application update with a new bundled yt-dlp version.
My C++ knowledge is extremely limited and I could not find any references to yt-dlp in the code.
The yt-dlp code is handled in a few places:
- ytdlpmanager.cpp - this handles checking for
yt-dlpupdates, downloading them, and then choosing the correct executable ofyt-dlpto run. - downloadoptions.cpp - this takes all of the options the user has configured in both Preferences and for a specific download and creates the list of arguments to pass to yt-dlp
- downloadmanager.cpp - this is where URL validation happens and where Parabolic determines and parses all information available for a download (although it gets off-loaded to some other classes from this function:
UrlInfo,Media, etc...) - download.cpp - this is where Parabolic starts an individual download with
yt-dlpand where it monitors the download for it's log and status.
but the source for the code (the dev) knows way better than any AI ever will.
Correct! And I always love talking about the architecture of my code and the way it works!