probonopd / zsync-curl

Partial/differential file download client over HTTP(S)
109 stars 23 forks source link

Status of this project? #37

Closed probonopd closed 3 years ago

probonopd commented 3 years ago

Is this code still being used by AppImage tools somewhere? If not, I'd move it back into the probonopd account so that the AppImage GitHub organization is less cluttered with code that is no longer used there. @TheAssassin @antony-jr

antony-jr commented 3 years ago

zsync-curl is not actively used. zsync2 is written in C++ with the legacy code because of time constrains, as to make source of zsync a maintainable code base. But zsync2 does not solve everything. (Multi-threading, Concurrent Networking, Async I/O, etc...)

A while ago I chatted with @TheAssassin in IRC and decided that we should write a clean version of zsync with modern C++ with no legacy code for a much better performance, maintainability of the source and making it future proof. See https://github.com/AppImage/zsync3

The official updater library is not getting much development because of re-inventions like my library and your go implementation of zsync.

So the plan is to make a good AppImageUpdate library and create bindings for other languages which would be hopefully adapted by everyone.

As for my Qt version of the library, Once the new major version of AppImageUpdate is finished, My library will only act as a wrapper so to bring contributions to the official project. But it will have unofficial features to experiment with the community and get feedback like in case with BitTorrent for decentralized updates.

As for the status of Zsync3, The zsync meta file parsing is somewhat done and the internal legacy structures are replaced with C++ standard structures which makes the source even more maintainable and helps bring more contribution instead of patching legacy code which is very hard to understand and has serious security vulnerabilities.

probonopd commented 3 years ago

So I'd say move this project out of the AppImage organization and let's focus on zsync3 then.

antony-jr commented 3 years ago

So I'd say move this project out of the AppImage organization and let's focus on zsync3 then.

Well. Let's wait for @TheAssassin for a response on this subject. For me yes, zsync-curl is not really needed since we have zsync2. And zsync3 is in the making and really need a lot of time to replace a stable code base like zsync2.

probonopd commented 3 years ago

Already did the move. Can move it back if @TheAssassin thinks it's still needed in AppImage.

TheAssassin commented 3 years ago

I'm fine with moving. It's not a dependency of AppImageUpdate. zsync2 and in the future, zsync3, should remain here.

By the way, I just planned to archive this repository.