← archive

Introducing ephemeral P2P screenshot sharing

April 25, 2016
p2p

TL;DR A couple of months ago we released Seedshot, a tool for peer to peer screenshot sharing.


The cool thing with Dropbox is that once I take the screenshot, it’s immediately available in my Dropbox folder and the link is ready for sharing with my friends.

The not so cool thing about this is that Dropbox is a centralized service and hosting pictures comes with a cost. Ideally the things could be shared P2P and ephemerally, so we don’t have to worry about storage. With this we save on server bandwidth and storage costs, but still keep the functionality of frictionless screenshot sharing.

Solution? The server is used only to store the image on the initial request, before seeding begins. Upon loading the image in the browser for the first time, it is removed from the server and it’s being seeded directly from the browser. The request comes, the server gives back the URL for sharing and then you can use that URL for sharing files. Server is not involved in the download or upload traffic of that file.

The process is:

  1. Give a file to a server which is then converted to a torrent given back to you
  2. You also get a URL with the location of that torrent and your browser opens
  3. Once you give that URL to someone, the seeding process starts, you are the seeder (you seed it from the browser with Webtorrent)
  4. You can delete the file as a seeder by simply closing a browser

Ideal scenario for screenshots:

  1. Take the screenshot
  2. The URL opens in your browser with the image you want to seed
  3. Once the peers connect the seeding starts and info with the number of peers is shown
  4. Once you close the browser the seeding stops

Introducing Seedshot, a tool for P2P screenshot sharing

A couple of months ago we released Seedshot, a tool for peer to peer screenshot sharing. You can install it by typing

npm install -g seedshot-cli

and then capture the screenshot with

seedshot

The process looks like this

This tool is open sourced and available on Github at https://github.com/twobucks/seedshot and command line utility is at https://github.com/twobucks/seedshot-cli.

We currently support the following platforms:

  • OS X
  • Linux

Enjoy! ❤

Want to talk more about this or any other topic? Email me. I welcome every email.