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: Configure IPFS to use the Tor transport
  • Step 2: Start the IPFS daemon
  • Step 3: Request the content you want from your local IPFS node's gateway
  • Explanation
  • Next Steps

Was this helpful?

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

Lesson: Run IPFS over Tor transport (experimental)

PreviousLesson: Access IPFS content through Tor gateways (experimental)NextLesson: Access IPFS content through a browser extension

Last updated 5 years ago

Was this helpful?

IPFS has an experimental feature that allows an IPFS node to interact with other IPFS nodes over the Tor transport protocol. The goal of this feature is to allow IPFS nodes to anonymously communicate with each other. This feature is experimental! Until we have tested this feature and removed the "experimental" designation, you should assume that information about your node might leak.

In the meantime, a more secure way to protect your anonymity would be to .

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 be able to

  • Configure an IPFS node to use the Tor transport

  • Request content through that node

Steps

Step 1: Configure IPFS to use the Tor transport

Work-In-Progress:

Work-In-Progress:

Step 2: Start the IPFS daemon

Start the IPFS daemon

$ ipfs daemon

Step 3: Request the content you want from your local IPFS node's gateway

Explanation

This feature is experimental! Until we have tested this feature and removed the "experimental" designation, you should assume that the explanation here is aspirational and provisional. We are describing what should be true but we have not yet tested and confirmed that the approach works without leaking information.

When you configure an IPFS node to use the Tor transport, the node will pipe all of its peer-to-peer communications through the Tor onion network. This means that when you request content from your local node, whether through its http gateway at localhost:8080 or through the command line, the node will access the IPFS network over the tor transport protocol. When it connects with peer nodes on the IPFS network, the peers will not know which node they are talking to nor where it is.

Next Steps

TODO - This explanation has not been written yet. If you want to help work on it, or if you want to encourage us to give it attention, open an issue at

For more info about this step, read

This step is the same as -- only the address of the gateway is different: If you're using the hash of a specific snapshot of content, use the path http://localhost:8080/ipfs/<your-ipfs-hash>. If you're using an IPNS hash to get the latest version of some content, use the path http://localhost:8080/ipns/<your-ipns-hash>

To view the wikipedia page we're using as an example in all of the lessons in the , use these links:

2017-04-30 snapshot:

latest (IPNS):

latest (DNS):

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.

access data using the tor browser and an IPFS tor gateway
Install and Initialize IPFS
https://github.com/ipfs/notes/issues/37
https://github.com/OpenBazaar/go-onion-transport
https://github.com/ipfs-shipyard/ipfs-primer/issues
Tutorial: Going Online - Joining the Distributed Web
using any other IPFS gateway
Tutorial on The Myriad Ways to Access and Distribute IPFS Content
http://localhost:8080/ipfs/Qme2sLfe9ZMdiuWsEtajWMDzx6B7VbjzpSC2VWhtB6GoB1/wiki/Anasayfa.html
http://localhost:8080/ipns/QmQP99yW82xNKPxXLroxj1rMYMGF6Grwjj2o4svsdmGh7S/wiki/Anasayfa.html
http://localhost:8080/ipns/wikipedia-on-ipfs.io
Tutorial on The Myriad Ways to Access and Distribute IPFS Content