IPFS Primer
ipfs.ioIPFS Docs
  • Introduction
  • Tutorial: Install and Initialize IPFS
    • Lesson: Download and Install IPFS
    • Lesson: Initialize your IPFS Repository
  • Tutorial: Files on IPFS
    • Lesson: Add Content to IPFS and Retrieve It
    • Lesson: Wrap Filenames and Directory Info around Content
    • Lesson: Pinning - Tell IPFS to Keep a File
  • Tutorial: Going Online - Joining the Distributed Web
    • Lesson: Connect your node to the IPFS network
    • Lesson: Find Peers on the Network
    • Lesson: Retrieve content from a Peer
  • Tutorial: Interacting with the Classical (HTTP) Web
    • Lesson: Use an HTTP browser to retrieve files from local IPFS gateway
    • Lesson: Get content through the public ipfs.io gateway
    • Lesson: Access IPFS content through any IPFS gateway
  • Tutorial: The Myriad ways to Access and Distribute IPFS Content
    • The Power of Content-addressing
    • Retrieving content from a peer
    • Review these lessons from the Tutorial on Interacting with the Classical (HTTP) Web
      • Review: Using an HTTP browser to retrieve files from local IPFS gateway
      • Review: Using the public IPFS gateways at ipfs.io
      • Review: Access IPFS content through any IPFS gateway
    • Lesson: Access IPFS content through Tor gateways (experimental)
    • Lesson: Run IPFS over Tor transport (experimental)
    • Lesson: Access IPFS content through a browser extension
    • Lesson: Sneakernets - moving the data on USB Drives and other Hardware
  • Tutorial: Making Changes on the Permanent Web
    • Lesson: Create a Simple Webpage and Add It to IPFS
    • Lesson: View Your Webpage with IPFS and Publish to IPNS
    • Lesson: Modify Your Webpage and Republish to IPNS
    • Lesson: Generate and Use a New IPNS Name Keypair
  • Tutorial: Merkle Trees and the IPFS DAG
    • Lesson: Turn a File into a Tree of Hashes
    • Lesson: The Cryptographic Hash
    • Lesson: Build a Tree of Data in IPFS Using Cryptographic Hashes to Link the Pieces (a Merkle DAG)
    • Lesson: Explore the types of software that use hash trees to track data (to come)
  • Tutorial: Dynamic Content on IPFS
    • Disclaimer: Dynamic content on IPFS is a Work in Progress (to come)
    • Lesson: Add data to the DAG (locally) (to come)
    • Lesson: Tell peers about your Changes (to come)
    • Lesson: Use hashes to get someone's changes from IPFS (to come)
    • Lesson: Use a pub/sub strategy to pass around messages about changes (to come)
    • Lesson: Resolve conflicts with a merge strategy (CRDTs) (to come)
  • Privacy and Access Controls on the Distributed Web (to come)
    • Reader Privacy & Writer Privacy (to come)
    • Private Networks (to come)
    • Encrypting Content (to come)
    • More dynamic encryption: capabilities-based encryption (to come)
    • Comparing with the classic HTTP web (feudal security, etc) (to come)
  • Keeping Data Alive: Durable Data on the Permanent Web (to come)
    • IPFS Cluster (to come)
    • Filecoin (to come)
  • Distributed Computation (to come)
Powered by GitBook
On this page
  • Prerequisites
  • Goals
  • Steps
  • Step 1: Download the content you want to move, plus a copy of IPFS
  • Step 2: Copy the files to your external drive
  • Step 3: Move to the next computer
  • Step 4: Install IPFS on the next computer and load the content
  • Step 5: Confirm that the content is now available on the new computer
  • Explanation
  • Next Steps

Was this helpful?

Export as PDF
  1. Tutorial: The Myriad ways to Access and Distribute IPFS Content

Lesson: Sneakernets - moving the data on USB Drives and other Hardware

PreviousLesson: Access IPFS content through a browser extensionNextTutorial: Making Changes on the Permanent Web

Last updated 5 years ago

Was this helpful?

We're not kidding. If you'd like to move IPFS content between networks via , IPFS is just fine with that. This lesson covers how to load IPFS content onto storage devices like USB drives so that you can physically move the content to new networks and then re-publish it. Without ever relying on a direct connection between the networks, this will make the IPFS links for your content valid on both sides of the air gap.

Examples of how this is useful:

  • Make internet content available in places that don't have direct connections to the internet backbone (remote locations with limited connectivity, space stations)

  • Circumvent censorship by governments, corporations and overbearing parents.

For this example we will pretend you're using an external drive to move a snapshot of wikipedia from IPFS to a new network where wikipedia isn't available.

Prerequisites

To do the steps in this lesson you must:

  • Be familiar with using the command line

  • on your local machine

Goals

After doing this Lesson you will know how to physically move IPFS content across an airgap, making it available over IPFS and HTTP on the other side.

Steps

Step 1: Download the content you want to move, plus a copy of IPFS

Use ipfs get command to download the content you want to move across networks. In this example, we download a complete snapshot of Wikipedia archive to disk, saving it as a folder called WikipediaSnapshot (Warning: this snapshot is 15 GB. You might want to use something smaller):

$ ipfs get Qme2sLfe9ZMdiuWsEtajWMDzx6B7VbjzpSC2VWhtB6GoB1/wiki/Anasayfa.html -o WikipediaSnapshot
$ ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.8 -o go-ipfs-v0.4.8

Step 2: Copy the files to your external drive

  • Copy the snapshot (ie. the folder "WikipediaSnapshot") to your external drive

  • Copy the IPFS binaries you downloaded (ie. the folder "go-ipfs-v0.4.8") into your external drive

Step 3: Move to the next computer

  • Eject your external drive

  • Physically carry your external drive to the next computer you want to use the information from.

Step 4: Install IPFS on the next computer and load the content

Then import the data into ipfs (in this case, the folder called WikipediaSnapshot)

$ ipfs add -r WikipediaSnapshot

Step 5: Confirm that the content is now available on the new computer

Start the ipfs daemon:

ipfs daemon

Explanation

This approach allows you to physically move IPFS content into networks where it was previously unavailable.

Because IPFS uses content-addressing, as long as the content you added to the second network is identical to the original content you originally exported from IPFS, the IPFS identifier for your content will be identical in both networks.

Next Steps

Download the latest IPFS binaries into your drive too. You will need this in order to publish the content on the other side. Make sure to download the appropriate go-ipfs binary for the computer you will be moving the data to. Note: there might be a newer version of ipfs available when you read this. Find out the most current version number at

First Install and initialize the IPFS binary on the new computer. The instructions in might help.

The snapshot link should now work:

Return to the to learn about the many other ways you can use IPFS to access the same content using the same content-addressed link.

Next, proceed to the tutorial.

sneakernet
Install and Initialize IPFS
https://dist.ipfs.io/#go-ipfs
the installation tutorial
http://localhost:8080/ipfs/Qme2sLfe9ZMdiuWsEtajWMDzx6B7VbjzpSC2VWhtB6GoB1/wiki/Anasayfa.html
Tutorial on The Myriad Ways to Access and Distribute IPFS Content
Making Changes on the Permanent Web