On occasion I find myself needing to send a file at least a few gigabytes in size to a friend across our slow ISPs but haven’t found a satisfying solution. I usually end up creating a private torrent with the announce address of my own IP. Even though it’s slow - it basically never reaches my max upload speed for some reason, it is at least resilient if there are ever any network glitches.

Does anyone else face this same challenge?

EDIT: Thank you for the awesome suggestions! I have some homework to do on these

  • NaibofTabr@infosec.pub
    link
    fedilink
    English
    arrow-up
    3
    ·
    23 hours ago

    Er, wait, are you using Syncthing for its intended purpose of syncing files across devices on your local network? And then exposing that infrastructure to the internet? Or are you isolating Syncthing instances?

    • Mio@feddit.nu
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      The user can choose. Please note you first much accept another client by its fingerprint.

    • iii@mander.xyz
      link
      fedilink
      English
      arrow-up
      26
      ·
      23 hours ago

      Syncthing is not limited to local network. It’s hole punching is one of the major features

      • oppy1984@lemm.ee
        link
        fedilink
        English
        arrow-up
        6
        ·
        11 hours ago

        Yep, I’ve got a buddy in another country that I needed to share a group of files with, it was several gigs and we were both editing things.

        We setup a syncthing connection and once we were synced it just worked. I also use it on my LAN to sync personal files, but to share with him we both just set up a folder and I just shared that one folder with him while the rest of my shares stayed private on the LAN.

        Syncthing is amazing.

      • kratoz29@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        20 hours ago

        The fact that Syncthing seems to solve CGNAT on its own has me wondering why there are not more solutions for the server/home side.

        Why does Wireguard or any other VPN not work like Tailscale or Zerotier?

        Why don’t torrent clients can’t work with IPv6 to seed more?

        Why doesn’t Plex adopt a similar mechanic like Syncthing to expose the media over the Internet instead of being a prisoner of CGNAT?

        I know I am just throwing different options with my personal frustrations lol, but I hope you get what I am trying to mean, Plex, torrent and home VPN users shouldn’t become masters at networking, especially when the documentation for the tools IS NOT ENOUGH.

        • WhyJiffie@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          10
          ·
          20 hours ago

          Why does Wireguard or any other VPN not work like Tailscale or Zerotier?

          tailscale and zerotier are wireguard, but with a public server that helps with NAT. Syncthing uses a public server for that too.

          wireguard was specifically made to be as simple and minimalistic as possible.

          Why don’t torrent clients can’t work with IPv6 to seed more?

          is there such a problem? honest question. But I think that might be a different issue

          Why doesn’t Plex adopt a similar mechanic like Syncthing to expose the media over the Internet instead of being a prisoner of CGNAT?

          maybe they just don’t see working on it profitable enough

          • kratoz29@lemm.ee
            link
            fedilink
            English
            arrow-up
            4
            ·
            18 hours ago

            tailscale and zerotier are wireguard, but with a public server that helps with NAT. Syncthing uses a public server for that too.

            wireguard was specifically made to be as simple and minimalistic as possible.

            Zerotier wasn’t always Tailscale was it?

            is there such a problem? honest question. But I think that might be a different issue

            You need to be connectable to download from all the peers, likewise non connectable users can’t download from you, and how do you become connectable? By opening your ports, something that might seem archaic from somebody who has totally embraced IPv6.

            maybe they just don’t see working on it profitable enough

            Yeah maybe.

            Just to clarify, I have several workarounds for the 3 issues that have involved spending more money or not to get rid of CGNAT.

            • For the 1st one… Well I already mentioned it, I am a ZT and Tailscale user, I did try Wireguard from a VPS once though, but I didn’t like that I was entirely dependant of my upload speed, maybe I had my Iptables wrongly configured but I usually got faster speeds just using ZT or Tailscale (I didn’t need to relay in the US VPS server).

            • For Torrenting… I actually haven’t found a solution to use IPv6… I did use a container client to use my VPS at that time though, it being Digital Ocean and thus getting a DMCA letter for downloading TWD me being a LATAM user was… A kinda funny experience, with that said I stopped that project immediately, it was fun to give back to the community with my 24/7 NAS always seeding though.

            • For the last point… Well, I do use ZT and Tailscale to access the server myself, but when I want to expose it, I usually do it with a reverse proxy pointing out to my IPv6 address, and more recently using a Tailscale funnel, I haven’t tried it thoroughly, but at least it seems to connect without using Plex’s relays.

            As you can see, one needs to be well prepared with workarounds to deal with CGNAT.

            • WhyJiffie@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              edit-2
              5 hours ago

              Zerotier wasn’t always Tailscale was it?

              it is not tailscale. but also it seems I was wrong and its not wireguard either

              You need to be connectable to download from all the peers, likewise non connectable users can’t download from you, and how do you become connectable? By opening your ports, something that might seem archaic from somebody who has totally embraced IPv6.

              I know what opening ports is, I only have v4. But I thought you have difficulties with bittorrent over v6. or is it that you still need to open ports for v6, in the firewall or something?

              • kratoz29@lemm.ee
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 hours ago

                it is not tailscale. but also it seems I was wrong and its not wireguard either

                Yeah, I totally meant Wireguard there, my bad.

                I know what opening ports is, I only have v4. But I thought you have difficulties with bittorrent over v6. or is it that you still need to open ports for v6, in the firewall or something?

                I don’t have difficulties to download, I have difficulties to seed because I am CGNATED and it seems Qbittorrent or any Torrent client really can’t use IPv6 to be more connectable thus seed more.

                I want to seed more without having to pay for it or do convoluted workarounds.

          • Andres Salomon@social.ridetrans.it
            link
            fedilink
            arrow-up
            1
            ·
            19 hours ago

            @WhyJiffie @kratoz29

            > is there such a problem? honest question. But I think that might be a different issue

            Yes, that is a problem. We’re still in a world where you need to manually enable port forwarding in order to get better seeding for bittorrent clients, and if you have CGNAT you’re SOL (short of using a VPN or something to bounce through an external host).

            It’s likely because torrent software is older (& in crappier languages), and came about before CGNAT was a thing.

            • WhyJiffie@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 hours ago

              > is there such a problem? honest question. But I think that might be a different issue

              Yes, that is a problem. We’re still in a world where you need to manually enable port forwarding in order to get better seeding for bittorrent clients, and if you have CGNAT you’re SOL (short of using a VPN or something to bounce through an external host).

              I don’t understand, sorry. they were saying that something doesn’t work as expected IPv6. but CGNAT is not used for IPv6, is it? and you don’t really forward ports either, maybe you allow them through in the routercs firewall but notnsure because I don’t have v6

              We’re still in a world where you need to manually enable port forwarding

              well, you don’t need to, often you can also enable the upnp function in the router so that any software can open all the ports it wants, which is a terrible idea security-wise

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

      Syncthing has public releays enabling it to work (dunno if one or none need to be public) without both parties being exposed.

    • Swarfega@lemm.ee
      link
      fedilink
      English
      arrow-up
      4
      ·
      20 hours ago

      It’s very much a WAN solution too. I use it to push my files to a Pi Zero W that’s 200 miles from my house. I use it as an off site store of my files. The Pi is connected as an untrusted device in Syncthing so that all files sit encrypted at rest.

    • Brickfrog@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      23 hours ago

      Syncthing is not just for LAN use. Even their homepage mentions transmitting data over the internet

      https://syncthing.net/

      I’ve been using it to sync devices over the internet for years. It’s also how people use it to sync from say their desktop to their phones, remote server, etc.

      If you watch your network firewall Syncthing does reach out to servers on the internet to help it find other devices so e.g. if you enter the other device’s ID (example ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG) it can reach out over the internet to find that specific ID to pair with. I think Syncthing uses a sort of DHT resolver to find other devices, I know on my firewall I had to whitelist Syncthing’s servers to make it work.

      I was going to try to link you some references but their forums seem to have connection issues at the moment, you may want to search around later if you’re interested how Syncthing works over the internet.

    • MangoPenguin@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      4
      ·
      21 hours ago

      Syncthing is designed to be used over the internet, it’s why it supports NAT hole punching, relay servers, and discovery servers.