Allow automatic creation of v2 torrent file upon completion of v1 torrent. #12574

Open
opened 2026-02-21 22:54:12 -05:00 by deekerman · 9 comments
Owner

Originally created by @bmfrosty on GitHub (Nov 11, 2021).

Suggestion

When a v1 torrent completes, allow automatic creation of a v2 (and/or hybrid) torrent that could be seeded or be distributed via the BEP9 extension.

Use case

Multiple.

  1. After v2 torrent creation, individual files could be automatically seeded to the v2 swarm.
  2. On private trackers, a tracker could theoretically request (prob requires new BEP) v2 torrents from clients that match seeded torrents. The private tracker could then wait for some threshold consensus to update it's torrents to the new hybrid or v2.

Extra info/examples/attachments

No response

Originally created by @bmfrosty on GitHub (Nov 11, 2021). ### Suggestion When a v1 torrent completes, allow automatic creation of a v2 (and/or hybrid) torrent that could be seeded or be distributed via the BEP9 extension. ### Use case Multiple. 1. After v2 torrent creation, individual files could be automatically seeded to the v2 swarm. 2. On private trackers, a tracker could theoretically request (prob requires new BEP) v2 torrents from clients that match seeded torrents. The private tracker could then wait for some threshold consensus to update it's torrents to the new hybrid or v2. ### Extra info/examples/attachments _No response_
Author
Owner

@glassez commented on GitHub (Nov 12, 2021):

I think we can provide the option like "Turn v1 torrents into hybrid once downloaded". @Chocobo1, what do you think?

@glassez commented on GitHub (Nov 12, 2021): I think we can provide the option like "Turn v1 torrents into hybrid once downloaded". @Chocobo1, what do you think?
Author
Owner

@Chocobo1 commented on GitHub (Nov 12, 2021):

I think we can provide the option like "Turn v1 torrents into hybrid once downloaded". @Chocobo1, what do you think?

Some questions to find out if it is feasible:
What about the piece size of v2 format? Follow the size from v1 format?
Also IIRC extending the old torrent isn't possible so we need to create a new torrent right? If so, it would require hashing the contents.

@Chocobo1 commented on GitHub (Nov 12, 2021): >I think we can provide the option like "Turn v1 torrents into hybrid once downloaded". @Chocobo1, what do you think? Some questions to find out if it is feasible: What about the piece size of v2 format? Follow the size from v1 format? Also IIRC extending the old torrent isn't possible so we need to create a new torrent right? If so, it would require hashing the contents.
Author
Owner

@bmfrosty commented on GitHub (Nov 13, 2021):

Right.

  1. I would think carry over the piece size, unless it's not a power of 2,
    then either move up or move down. Preferably down.
  2. It would require a rehash as the hashing is different.

Given the CPU and disk activity, I'm guessing that it should be behind a
toggle of some sort.

On Fri, Nov 12, 2021 at 8:02 PM Chocobo1 @.***> wrote:

I think we can provide the option like "Turn v1 torrents into hybrid once
downloaded". @Chocobo1 https://github.com/Chocobo1, what do you think?

Some questions to find out if it is feasible:
What about the piece size of v2 format? Follow the size from v1 format?
Also IIRC extending the old torrent isn't possible so we need to create a
new torrent right? If so, it would require hashing the contents.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/qbittorrent/qBittorrent/issues/15730#issuecomment-967775257,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAHYDUMOUADNQEGPBX5JELULXPM5ANCNFSM5H33HEYA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@bmfrosty commented on GitHub (Nov 13, 2021): Right. 1. I would think carry over the piece size, unless it's not a power of 2, then either move up or move down. Preferably down. 2. It would require a rehash as the hashing is different. Given the CPU and disk activity, I'm guessing that it should be behind a toggle of some sort. On Fri, Nov 12, 2021 at 8:02 PM Chocobo1 ***@***.***> wrote: > I think we can provide the option like "Turn v1 torrents into hybrid once > downloaded". @Chocobo1 <https://github.com/Chocobo1>, what do you think? > > Some questions to find out if it is feasible: > What about the piece size of v2 format? Follow the size from v1 format? > Also IIRC extending the old torrent isn't possible so we need to create a > new torrent right? If so, it would require hashing the contents. > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > <https://github.com/qbittorrent/qBittorrent/issues/15730#issuecomment-967775257>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAAHYDUMOUADNQEGPBX5JELULXPM5ANCNFSM5H33HEYA> > . > Triage notifications on the go with GitHub Mobile for iOS > <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> > or Android > <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. > >
Author
Owner

@Chocobo1 commented on GitHub (Nov 14, 2021):

Seems this idea is doable... Also what is the motive for having this option? I can only think of promoting v2 torrent fomat, is it any useful?

@Chocobo1 commented on GitHub (Nov 14, 2021): Seems this idea is doable... Also what is the motive for having this option? I can only think of promoting v2 torrent fomat, is it any useful?
Author
Owner

@bmfrosty commented on GitHub (Nov 14, 2021):

It would be for users who want to help get the v2 swarm better
established. I think that's important now that the SHA1 has has a been
compromised - regardless of difficulty of an attack on it - it will
certainly get easier over time, and I believe that we will over time see
more and more poisoned torrents - possibly automatically. Especially if
someone is targeting first and last blocks of files.

On Sun, Nov 14, 2021 at 1:34 AM Chocobo1 @.***> wrote:

Seems this idea is doable... Also what is the motive for having this
option? I can only think of promoting v2 torrent fomat, is it any useful?


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/qbittorrent/qBittorrent/issues/15730#issuecomment-968256206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAHYDVYFJDKO6IXYNFB2WDUL57DJANCNFSM5H33HEYA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@bmfrosty commented on GitHub (Nov 14, 2021): It would be for users who want to help get the v2 swarm better established. I think that's important now that the SHA1 has has a been compromised - regardless of difficulty of an attack on it - it will certainly get easier over time, and I believe that we will over time see more and more poisoned torrents - possibly automatically. Especially if someone is targeting first and last blocks of files. On Sun, Nov 14, 2021 at 1:34 AM Chocobo1 ***@***.***> wrote: > Seems this idea is doable... Also what is the motive for having this > option? I can only think of promoting v2 torrent fomat, is it any useful? > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > <https://github.com/qbittorrent/qBittorrent/issues/15730#issuecomment-968256206>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AAAHYDVYFJDKO6IXYNFB2WDUL57DJANCNFSM5H33HEYA> > . > Triage notifications on the go with GitHub Mobile for iOS > <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> > or Android > <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. > >
Author
Owner

@ventilaar commented on GitHub (Jul 30, 2022):

I have a feeling that this will be really hard to implement. Especially if you want to follow the hybrid format standard. This is because v1 torrents are not padded to make up a full block size. v2 Torrents require the files to be padded. When creating official hybrid torrents the files in the v1 infohash are padded along with the v2 infohash. Thus creating a different v1 infohash.

So creating a hybrid torrent from a v1-only torrent will not follow the hybrid torrent standard since the pieces are not padded. You can however create a v2-only torrent in the background which you would link together in qbittorrent itself, this however will not be a official hybrid torrent but a v1 format + a newly created v2 torrent.

@ventilaar commented on GitHub (Jul 30, 2022): I have a feeling that this will be really hard to implement. Especially if you want to follow the hybrid format standard. This is because v1 torrents are *not* padded to make up a full block size. v2 Torrents *require* the files to be padded. When creating official hybrid torrents the files in the v1 infohash are padded along with the v2 infohash. Thus creating a different v1 infohash. So creating a hybrid torrent from a v1-only torrent will not follow the hybrid torrent standard since the pieces are not padded. You can however create a v2-only torrent in the background which you would link together in qbittorrent itself, this however will not be a official hybrid torrent but a v1 format + a newly created v2 torrent.
Author
Owner

@xavier2k6 commented on GitHub (May 24, 2025):

ANNOUNCEMENT!

For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:

  1. Please select/click the 👍 &/orreactions in the original/opening post of this ticket.

  2. Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
    (new/existing contributors/developers are always welcome)


DO:

  • Provide constructive feedback.
  • Display how other projects implemented same/similar etc.

DO NOT:

  • Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s).
    (These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)
@xavier2k6 commented on GitHub (May 24, 2025): ## ANNOUNCEMENT! For anybody coming across this **_"Feature Request"_** & would like/love to see a potential implementation in the future! **Here are some options available to you:** 1. Please select/click the 👍 **&/or** ❤ `reactions` in the original/opening post of this ticket. 2. Please feel free _(If you have the "skillset")_ to create a **_"Pull Request"_** implementing what's being requested in this ticket. **_(new/existing contributors/developers are always welcome)_** ____ **DO:** * Provide constructive feedback. * Display how other projects implemented same/similar etc. **DO NOT:** * Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s). **(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)**
Author
Owner

@teaalltr commented on GitHub (Jun 9, 2025):

Hey, I've seen my issue has been marked duplicate of this one. It this one considered for implementation?

@teaalltr commented on GitHub (Jun 9, 2025): Hey, I've seen my issue has been marked duplicate of this one. It this one considered for implementation?
Author
Owner

@arvidn commented on GitHub (Jun 29, 2025):

So creating a hybrid torrent from a v1-only torrent will not follow the hybrid torrent standard since the pieces are not padded. You can however create a v2-only torrent in the background which you would link together in qbittorrent itself, this however will not be a official hybrid torrent but a v1 format + a newly created v2 torrent.

Just like you can create a v2 torrent, you can also create a hybrid one. All three torrents (v1, hybrid & v2) would be different (i.e. have different info-hashes), but the files would be identical, and you would still only need a single copy of the the files to see all 3 torrents.

@arvidn commented on GitHub (Jun 29, 2025): > So creating a hybrid torrent from a v1-only torrent will not follow the hybrid torrent standard since the pieces are not padded. You can however create a v2-only torrent in the background which you would link together in qbittorrent itself, this however will not be a official hybrid torrent but a v1 format + a newly created v2 torrent. Just like you can create a v2 torrent, you can also create a hybrid one. All three torrents (v1, hybrid & v2) would be different (i.e. have different info-hashes), but the files would be identical, and you would still only need a single copy of the the files to see all 3 torrents.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#12574
No description provided.