• @kaotic
    link
    262 years ago

    Check out croc, a slick little tool to allow you to send files from one computer to another. No port forwarding, encryption built in.

    • @[email protected]
      link
      fedilink
      82 years ago

      That’s a really interesting project.

      As I paged through the documents, I couldn’t find how long nor where files are stored during transfer. It kinda seems like they get stored (in encrypted form) in the guy’s closet server.

      Don’t suppose you can speak to this?

      • @[email protected]
        link
        fedilink
        72 years ago

        Reading through the code, you can start your own relay server. The relay server code should be part of the repo then.

        If the files are E2E encrypted, I assume they are useless to the person that is hosting the server.

      • @denast
        link
        52 years ago

        (Disclaimer, I’ve not reviewed the code, don’t quote)

        Files can be transferred via P2P connection without them being uploaded first to a third location. I assume though that some sort of server serves as a matchmaker allowing two computers find each other when the connection is established

        • @kaotic
          link
          12 years ago

          That’s exactly what the relay server is, it just relays communication details. And you can run your own relay server if you don’t want to use his public relay server.

      • @kaotic
        link
        12 years ago

        There’s a lot more info on the project’s homepage.

        A common way to transfer a file is to first upload data to a server, and then, once uploaded, the link is shared with someone who goes to download it. This method is easy, but slow – the transfer rate of the file is half the harmonic mean of the upload and download speeds which makes it slower than either just uploading or downloading. There are better ways than sequentially uploading and downloading. instead, you can use a relay server to create a full-duplex real-time communication layer between the two computers so that “uploading” and “downloading” occur simultaneously between the two computers. this effectively increases the transfer rate because its not sequential and only limited by the slower of the two transfer modes (uploading or downloading).