• Aceticon@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    12 hours ago

    I don’t think your explanation of why it seems to work is correct.

    I seems to work (works in a limited way, even), because any remote machines that your bittorrent client connected to during downloading are temporarilly recorded on the Mullvad router on the other side of your VPN doing NAT translation as associated with your machine, so when those remote machines connect to that router to reach your machine, it knows from that recorded association that those connections should be forwarded to your machine.

    This is quite independent of people on the other side using port-forwarding or not.

    Port-forwarding on the other hand is a static association between a port in that router and your machine, so that anything hitting that specific port of the router gets forwarded the port in your machine you specified (hence the name “port” “forwarding”). With port-forwarding there is no need for there having been an earlier connection from your machine to that remote machine to allow “call back”.

    This is why at the end of downloading a torrent behind a Mullvad VPN will keep on uploading but if one restarts a torrent which was stopped hours or days ago (i.e. purelly seeds), it never uploads anything to anybody - in the first case that NAT translation router associated all machines your client connected to during download to your machine, so when they connect back to download stuff from you it correctly forwards those connections to your machine, but in the second case it’s just getting connections from unknown remote machines hitting one of its ports and in the absence of a “port-forwarding” static rule or a record of your machine having connected to those remote machines, it doesn’t know which of the machines behind it is the one that should receive those connection so nothing gets forwarded.

    So it’s perfectly possible to share back when behind a Mullvad VPN but you have to leave the torrent client keep on seeding immediatly after downloading and it will only ever upload to machines which were in the swarm when the client was downloading (they need not have been clients it downloaded from, merelly clients it connected to, for example to check their availability of blocks to download, which give how bittorrent works normally means pretty much the whole swarm)

    It is however not at all possible to just start seeding a torrent previously downloaded unless the download wasn’t that long ago (how long is “too long” depends on how long the NAT Translation Router of Mullvad keeps those recorded associations I mentioned above, since those things are temporary and get automatically cleaned if not used),

    • peoplebeproblems@midwest.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      Ok so now I’m confused entirely. Does that mean leeching I don’t need to do a port forward, but seeding I do?

      Which means if I want to leech to get the file then seed when I’m not heavily using my network I’m sort of out of luck?

      • Aceticon@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        9 hours ago

        If you’re purelly seeding (as in starting to seed a torrent from scratch never having downloaded it from the bittorrent client you’re using or having done it a long time ago - days, weeks or longer), without port-forwarding it will simply not work and nobody can connect to your machine and downloade anything for that torrent because all those remote machines that are trying to connect to your client have no association with your machine on the Mullvad Router doing NAT translation.

        If you’re downloading a torrent and then leave it seeding for a while after the download phase is over, then it will usually work fine because the Mullvad Router doing NAT Translation still remembers the various remote machines that your machine connected to in the swarm for that torrent during the download stage, hence when those remote machines connect back trying to themselves download stuff from yours, it will know that’s related your machine and thus accept those remote connection and forward them to your machine.

        In practice this means that it if you leave your torrents seeding AFTER DOWNLOADING is over, usually (but not always as for torrents with very few peers the swarm is either too small or changes too fast) you can upload more than you downloaded, hence you’re not leeching.

        So if you use Mullvad and don’t want to be a leecher, always leave your torrents active and uploading after you’ve downloaded them.

        Personally I have mine set to 1.5 upload to download ratio and only seldom does it fail to reach it.