 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
IPFS is a global, versioned, peer-to-peer filesystem
There are sub-packages within the ipfs package for various low-level utilities, which are in turn assembled into:
core/...:
The low-level API that gives consumers all the knobs they need, which we try hard to keep stable.
shell/...:
The high-level API that gives consumers easy access to common operations (e.g. create a file node from a reader without wrapping with metadata). We work really hard to keep this stable.
Then on top of the core/... and shell/... Go APIs, we have:
cmd/...:
Command-line executables
test/...:
Integration tests, etc.
To avoid cyclic imports, imports should never pull in higher-level APIs into a lower-level package. For example, you could import all of core and shell from cmd/... or test/..., but you couldn't import any of shell from core/....
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Godeps
       | |
| 
          
            _workspace/src/bazil.org/fuse
            
            
          
           Package fuse enables writing FUSE file systems on Linux, OS X, and FreeBSD. | Package fuse enables writing FUSE file systems on Linux, OS X, and FreeBSD. | 
| 
          
            _workspace/src/bazil.org/fuse/fs/bench
            
            
          
           Package bench contains benchmarks. | Package bench contains benchmarks. | 
| 
          
            _workspace/src/bazil.org/fuse/hellofs
            
            command
          
           Hellofs implements a simple "hello world" file system. | Hellofs implements a simple "hello world" file system. | 
| 
          
            _workspace/src/bazil.org/fuse/syscallx
            
            
          
           Package syscallx provides wrappers that make syscalls on various platforms more interoperable. | Package syscallx provides wrappers that make syscalls on various platforms more interoperable. | 
| 
          
            _workspace/src/bitbucket.org/ww/goautoneg
            
            
          
           HTTP Content-Type Autonegotiation. | HTTP Content-Type Autonegotiation. | 
| 
          
            _workspace/src/github.com/alecthomas/kingpin
            
            
          
           Package kingpin provides command line interfaces like this: $ chat usage: chat [<flags>] <command> [<flags>] [<args> ...] Flags: --debug enable debug mode --help Show help. | Package kingpin provides command line interfaces like this: $ chat usage: chat [<flags>] <command> [<flags>] [<args> ...] Flags: --debug enable debug mode --help Show help. | 
| 
          
            _workspace/src/github.com/alecthomas/kingpin/examples/curl
            
            command
          
           A curl-like HTTP command-line client. | A curl-like HTTP command-line client. | 
| 
          
            _workspace/src/github.com/alecthomas/template
            
            
          
           Package template implements data-driven templates for generating textual output. | Package template implements data-driven templates for generating textual output. | 
| 
          
            _workspace/src/github.com/alecthomas/template/parse
            
            
          
           Package parse builds parse trees for templates as defined by text/template and html/template. | Package parse builds parse trees for templates as defined by text/template and html/template. | 
| 
          
            _workspace/src/github.com/alecthomas/units
            
            
          
           Package units provides helpful unit multipliers and functions for Go. | Package units provides helpful unit multipliers and functions for Go. | 
| 
          
            _workspace/src/github.com/anacrolix/missinggo
            
            
          
           Package missinggo contains miscellaneous helpers used in many of anacrolix' projects. | Package missinggo contains miscellaneous helpers used in many of anacrolix' projects. | 
| 
          
            _workspace/src/github.com/anacrolix/utp
            
            
          
           Package utp implements uTP, the micro transport protocol as used with Bittorrent. | Package utp implements uTP, the micro transport protocol as used with Bittorrent. | 
| 
          
            _workspace/src/github.com/beorn7/perks/quantile
            
            
          
           Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds. | Package quantile computes approximate quantiles over an unbounded data stream within low memory and CPU bounds. | 
| 
          
            _workspace/src/github.com/bradfitz/iter
            
            
          
           Package iter provides a syntantically different way to iterate over integers. | Package iter provides a syntantically different way to iterate over integers. | 
| 
          
            _workspace/src/github.com/briantigerchow/pubsub
            
            
          
           Package pubsub implements a simple multi-topic pub-sub library. | Package pubsub implements a simple multi-topic pub-sub library. | 
| 
          
            _workspace/src/github.com/cenkalti/backoff
            
            
          
           Package backoff implements backoff algorithms for retrying operations. | Package backoff implements backoff algorithms for retrying operations. | 
| 
          
            _workspace/src/github.com/codahale/hdrhistogram
            
            
          
           Package hdrhistogram provides an implementation of Gil Tene's HDR Histogram data structure. | Package hdrhistogram provides an implementation of Gil Tene's HDR Histogram data structure. | 
| 
          
            _workspace/src/github.com/codahale/metrics
            
            
          
           Package metrics provides minimalist instrumentation for your applications in the form of counters and gauges. | Package metrics provides minimalist instrumentation for your applications in the form of counters and gauges. | 
| 
          
            _workspace/src/github.com/codahale/metrics/runtime
            
            
          
           Package runtime registers gauges and counters for various operationally important aspects of the Go runtime. | Package runtime registers gauges and counters for various operationally important aspects of the Go runtime. | 
| 
          
            _workspace/src/github.com/crowdmob/goamz/aws
            
            
          
           goamz - Go packages to interact with the Amazon Web Services. | goamz - Go packages to interact with the Amazon Web Services. | 
| 
          
            _workspace/src/github.com/dustin/go-humanize
            
            
          
           Package humanize converts boring ugly numbers to human-friendly strings and back. | Package humanize converts boring ugly numbers to human-friendly strings and back. | 
| 
          
            _workspace/src/github.com/facebookgo/atomicfile
            
            
          
           Package atomicfile provides the ability to write a file with an eventual rename on Close. | Package atomicfile provides the ability to write a file with an eventual rename on Close. | 
| 
          
            _workspace/src/github.com/fd/go-nat
            
            
          
           Package nat implements NAT handling facilities | Package nat implements NAT handling facilities | 
| 
          
            _workspace/src/github.com/gogo/protobuf/proto
            
            
          
           Package proto converts data structures to and from the wire format of protocol buffers. | Package proto converts data structures to and from the wire format of protocol buffers. | 
| 
          
            _workspace/src/github.com/golang/protobuf/proto
            
            
          
           Package proto converts data structures to and from the wire format of protocol buffers. | Package proto converts data structures to and from the wire format of protocol buffers. | 
| 
          
            _workspace/src/github.com/golang/protobuf/proto/proto3_proto
            
            
          
           Package proto3_proto is a generated protocol buffer package. | Package proto3_proto is a generated protocol buffer package. | 
| 
          
            _workspace/src/github.com/hashicorp/golang-lru
            
            
          
           This package provides a simple LRU cache. | This package provides a simple LRU cache. | 
| 
          
            _workspace/src/github.com/huin/goupnp
            
            
          
           goupnp is an implementation of a client for various UPnP services. | goupnp is an implementation of a client for various UPnP services. | 
| 
          
            _workspace/src/github.com/huin/goupnp/dcps/internetgateway1
            
            
          
           Client for UPnP Device Control Protocol Internet Gateway Device v1. | Client for UPnP Device Control Protocol Internet Gateway Device v1. | 
| 
          
            _workspace/src/github.com/huin/goupnp/dcps/internetgateway2
            
            
          
           Client for UPnP Device Control Protocol Internet Gateway Device v2. | Client for UPnP Device Control Protocol Internet Gateway Device v2. | 
| 
          
            _workspace/src/github.com/huin/goupnp/example
            
            
          
           Serves as examples of using the goupnp library. | Serves as examples of using the goupnp library. | 
| 
          
            _workspace/src/github.com/inconshreveable/go-update
            
            
          
           go-update allows a program to update itself by replacing its executable file with a new version. | go-update allows a program to update itself by replacing its executable file with a new version. | 
| 
          
            _workspace/src/github.com/jbenet/go-base58
            
            
          
           Package base58 provides base58-check encoding. | Package base58 provides base58-check encoding. | 
| 
          
            _workspace/src/github.com/jbenet/go-context/frac
            
            
          
           Package ctxext provides multiple useful context constructors. | Package ctxext provides multiple useful context constructors. | 
| 
          
            _workspace/src/github.com/jbenet/go-context/io
            
            
          
           Package ctxio provides io.Reader and io.Writer wrappers that respect context.Contexts. | Package ctxio provides io.Reader and io.Writer wrappers that respect context.Contexts. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/flatfs
            
            
          
           Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys. | Package flatfs is a Datastore implementation that stores all objects in a two-level directory structure in the local file system, regardless of the hierarchy of the keys. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/fs
            
            
          
           Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key. | Package fs is a simple Datastore implementation that stores keys are directories and files, mirroring the key. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/keytransform
            
            
          
           Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child. | Package keytransform introduces a Datastore Shim that transforms keys before passing them to its child. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/measure
            
            
          
           Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics. | Package measure provides a Datastore wrapper that records metrics using github.com/codahale/metrics. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/mount
            
            
          
           Package mount provides a Datastore that has other Datastores mounted at various key prefixes. | Package mount provides a Datastore that has other Datastores mounted at various key prefixes. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/namespace
            
            
          
           Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix. | Package namespace introduces a namespace Datastore Shim, which basically mounts the entire child datastore under a prefix. | 
| 
          
            _workspace/src/github.com/jbenet/go-datastore/syncmount
            
            
          
           Package mount provides a Datastore that has other Datastores mounted at various key prefixes and is threadsafe | Package mount provides a Datastore that has other Datastores mounted at various key prefixes and is threadsafe | 
| 
          
            _workspace/src/github.com/jbenet/go-fuse-version
            
            
          
           package fuseversion simply exposes the version of FUSE installed in the user's machine. | package fuseversion simply exposes the version of FUSE installed in the user's machine. | 
| 
          
            _workspace/src/github.com/jbenet/go-is-domain
            
            
          
           Package isdomain package allows users to check whether strings represent domain names. | Package isdomain package allows users to check whether strings represent domain names. | 
| 
          
            _workspace/src/github.com/jbenet/go-msgio/mpool
            
            
          
           Package mpool provides a sync.Pool equivalent that buckets incoming requests to one of 32 sub-pools, one for each power of 2, 0-32. | Package mpool provides a sync.Pool equivalent that buckets incoming requests to one of 32 sub-pools, one for each power of 2, 0-32. | 
| 
          
            _workspace/src/github.com/jbenet/go-multiaddr
            
            
          
           Package multiaddr provides an implementation of the Multiaddr network address format. | Package multiaddr provides an implementation of the Multiaddr network address format. | 
| 
          
            _workspace/src/github.com/jbenet/go-multiaddr-net
            
            
          
           Package manet provides Multiaddr specific versions of common functions in stdlib's net package. | Package manet provides Multiaddr specific versions of common functions in stdlib's net package. | 
| 
          
            _workspace/src/github.com/jbenet/go-multihash/opts
            
            
          
           Package opts helps to write commands which may take multihash options. | Package opts helps to write commands which may take multihash options. | 
| 
          
            _workspace/src/github.com/jbenet/go-peerstream
            
            
          
           Package peerstream is a peer-to-peer networking library that multiplexes connections to many hosts. | Package peerstream is a peer-to-peer networking library that multiplexes connections to many hosts. | 
| 
          
            _workspace/src/github.com/jbenet/go-reuseport
            
            
          
           Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports. | Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports. | 
| 
          
            _workspace/src/github.com/jbenet/go-sockaddr/net
            
            
          
           package sockaddrnet provides conversions between net.Addr and syscall.Sockaddr | package sockaddrnet provides conversions between net.Addr and syscall.Sockaddr | 
| 
          
            _workspace/src/github.com/jbenet/go-stream-muxer/multistream
            
            
          
           package multistream implements a peerstream transport using go-multistream to select the underlying stream muxer | package multistream implements a peerstream transport using go-multistream to select the underlying stream muxer | 
| 
          
            _workspace/src/github.com/jbenet/go-temp-err-catcher
            
            
          
           Package temperrcatcher provides a TempErrCatcher object, which implements simple error-retrying functionality. | Package temperrcatcher provides a TempErrCatcher object, which implements simple error-retrying functionality. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess
            
            
          
           Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work. | Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess/periodic
            
            
          
           Package periodic is part of github.com/jbenet/goprocess. | Package periodic is part of github.com/jbenet/goprocess. | 
| 
          
            _workspace/src/github.com/jbenet/goprocess/ratelimit
            
            
          
           Package ratelimit is part of github.com/jbenet/goprocess. | Package ratelimit is part of github.com/jbenet/goprocess. | 
| 
          
            _workspace/src/github.com/kardianos/osext
            
            
          
           Extensions to the standard "os" package. | Extensions to the standard "os" package. | 
| 
          
            _workspace/src/github.com/kr/binarydist
            
            
          
           Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/. | Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/. | 
| 
          
            _workspace/src/github.com/matttproud/golang_protobuf_extensions/pbutil
            
            
          
           Package pbutil provides record length-delimited Protocol Buffer streaming. | Package pbutil provides record length-delimited Protocol Buffer streaming. | 
| 
          
            _workspace/src/github.com/miekg/dns
            
            
          
           Package dns implements a full featured interface to the Domain Name System. | Package dns implements a full featured interface to the Domain Name System. | 
| 
          
            _workspace/src/github.com/miekg/dns/idn
            
            
          
           Package idn implements encoding from and to punycode as speficied by RFC 3492. | Package idn implements encoding from and to punycode as speficied by RFC 3492. | 
| 
          
            _workspace/src/github.com/olekukonko/ts
            
            
          
           This module is a Terminal API for the Go Programming Language. | This module is a Terminal API for the Go Programming Language. | 
| 
          
            _workspace/src/github.com/prometheus/client_golang/model
            
            
          
           Package model contains core representation of Prometheus client primitives. | Package model contains core representation of Prometheus client primitives. | 
| 
          
            _workspace/src/github.com/prometheus/client_golang/prometheus
            
            
          
           Package prometheus provides embeddable metric primitives for servers and standardized exposition of telemetry through a web services interface. | Package prometheus provides embeddable metric primitives for servers and standardized exposition of telemetry through a web services interface. | 
| 
          
            _workspace/src/github.com/prometheus/client_golang/text
            
            
          
           Package text contains helper functions to parse and create text-based exchange formats. | Package text contains helper functions to parse and create text-based exchange formats. | 
| 
          
            _workspace/src/github.com/prometheus/client_model/go
            
            
          
           Package io_prometheus_client is a generated protocol buffer package. | Package io_prometheus_client is a generated protocol buffer package. | 
| 
          
            _workspace/src/github.com/prometheus/procfs
            
            
          
           Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc. | Package procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc. | 
| 
          
            _workspace/src/github.com/rs/cors
            
            
          
           Package cors is net/http handler to handle CORS related requests as defined by http://www.w3.org/TR/cors/ You can configure it by passing an option struct to cors.New: c := cors.New(cors.Options{ AllowedOrigins: []string{"foo.com"}, AllowedMethods: []string{"GET", "POST", "DELETE"}, AllowCredentials: true, }) Then insert the handler in the chain: handler = c.Handler(handler) See Options documentation for more options. | Package cors is net/http handler to handle CORS related requests as defined by http://www.w3.org/TR/cors/ You can configure it by passing an option struct to cors.New: c := cors.New(cors.Options{ AllowedOrigins: []string{"foo.com"}, AllowedMethods: []string{"GET", "POST", "DELETE"}, AllowCredentials: true, }) Then insert the handler in the chain: handler = c.Handler(handler) See Options documentation for more options. | 
| 
          
            _workspace/src/github.com/satori/go.uuid
            
            
          
           Package uuid provides implementation of Universally Unique Identifier (UUID). | Package uuid provides implementation of Universally Unique Identifier (UUID). | 
| 
          
            _workspace/src/github.com/shirou/gopsutil/common
            
            
          
           gopsutil is a port of psutil(http://pythonhosted.org/psutil/). | gopsutil is a port of psutil(http://pythonhosted.org/psutil/). | 
| 
          
            _workspace/src/github.com/shirou/gopsutil/disk
            
            
          
           Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints. | Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints. | 
| 
          
            _workspace/src/github.com/steakknife/hamming
            
            
          
           hamming distance calculations in Go https://github.com/steakknife/hamming Copyright © 2014, 2015 Barry Allard MIT license Usage The functions are named (CountBits)?(Byte|Uint64)s?. | hamming distance calculations in Go https://github.com/steakknife/hamming Copyright © 2014, 2015 Barry Allard MIT license Usage The functions are named (CountBits)?(Byte|Uint64)s?. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb
            
            
          
           Package leveldb provides implementation of LevelDB key/value database. | Package leveldb provides implementation of LevelDB key/value database. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/cache
            
            
          
           Package cache provides interface and implementation of a cache algorithms. | Package cache provides interface and implementation of a cache algorithms. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/comparer
            
            
          
           Package comparer provides interface and implementation for ordering sets of data. | Package comparer provides interface and implementation for ordering sets of data. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/errors
            
            
          
           Package errors provides common error types used throughout leveldb. | Package errors provides common error types used throughout leveldb. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/filter
            
            
          
           Package filter provides interface and implementation of probabilistic data structure. | Package filter provides interface and implementation of probabilistic data structure. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/iterator
            
            
          
           Package iterator provides interface and implementation to traverse over contents of a database. | Package iterator provides interface and implementation to traverse over contents of a database. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/journal
            
            
          
           Package journal reads and writes sequences of journals. | Package journal reads and writes sequences of journals. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/memdb
            
            
          
           Package memdb provides in-memory key/value database implementation. | Package memdb provides in-memory key/value database implementation. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/opt
            
            
          
           Package opt provides sets of options used by LevelDB. | Package opt provides sets of options used by LevelDB. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/storage
            
            
          
           Package storage provides storage abstraction for LevelDB. | Package storage provides storage abstraction for LevelDB. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/table
            
            
          
           Package table allows read and write sorted key/value. | Package table allows read and write sorted key/value. | 
| 
          
            _workspace/src/github.com/syndtr/goleveldb/leveldb/util
            
            
          
           Package util provides utilities used throughout leveldb. | Package util provides utilities used throughout leveldb. | 
| 
          
            _workspace/src/github.com/syndtr/gosnappy/snappy
            
            
          
           Package snappy implements the snappy block-based compression format. | Package snappy implements the snappy block-based compression format. | 
| 
          
            _workspace/src/github.com/whyrusleeping/chunker
            
            
          
           Package chunker implements Content Defined Chunking (CDC) based on a rolling Rabin Checksum. | Package chunker implements Content Defined Chunking (CDC) based on a rolling Rabin Checksum. | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-logging
            
            
          
           Package logging implements a logging infrastructure for Go. | Package logging implements a logging infrastructure for Go. | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-metrics
            
            
          
           Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics> | Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics> | 
| 
          
            _workspace/src/github.com/whyrusleeping/go-metrics/stathat
            
            
          
           Metrics output to StatHat. | Metrics output to StatHat. | 
| 
          
            _workspace/src/golang.org/x/crypto/blowfish
            
            
          
           Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. | Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. | 
| 
          
            _workspace/src/golang.org/x/crypto/sha3
            
            
          
           Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. | Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. | 
| 
          
            _workspace/src/golang.org/x/net/context
            
            
          
           Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. | Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. | 
| 
          
            _workspace/src/golang.org/x/net/internal/iana
            
            
          
           Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA). | Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA). | 
| 
          
            _workspace/src/golang.org/x/net/ipv4
            
            
          
           Package ipv4 implements IP-level socket options for the Internet Protocol version 4. | Package ipv4 implements IP-level socket options for the Internet Protocol version 4. | 
| 
          
            _workspace/src/golang.org/x/net/ipv6
            
            
          
           Package ipv6 implements IP-level socket options for the Internet Protocol version 6. | Package ipv6 implements IP-level socket options for the Internet Protocol version 6. | 
| 
          
            _workspace/src/gopkg.in/fsnotify.v1
            
            
          
           Package fsnotify provides a platform-independent interface for file system notifications. | Package fsnotify provides a platform-independent interface for file system notifications. | 
| package blocks contains the lowest level of ipfs data structures, the raw block with a checksum. | package blocks contains the lowest level of ipfs data structures, the raw block with a checksum. | 
| 
          
            blockstore
            
            
          
           package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects. | package blockstore implements a thin wrapper over a datastore, giving a clean interface for Getting and Putting block objects. | 
| 
          
            bloom
            
            
          
           package bloom implements a simple bloom filter. | package bloom implements a simple bloom filter. | 
| 
          
            set
            
            
          
           package set contains various different types of 'BlockSet's | package set contains various different types of 'BlockSet's | 
| package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange. | package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange. | 
| cmd
       | |
| 
          
            ipfs
            
            command
          
           cmd/ipfs implements the primary CLI binary for ipfs | cmd/ipfs implements the primary CLI binary for ipfs | 
| 
          
            ipfswatch
            
            command
          
          
         | |
| 
          
            seccat
            
            command
          
           package main provides an implementation of netcat using the secio package. | package main provides an implementation of netcat using the secio package. | 
| Package core implements the IpfsNode object and related methods. | Package core implements the IpfsNode object and related methods. | 
| 
          
            commands
            
            
          
           Package commands implements the IPFS command interface Using github.com/ipfs/go-ipfs/commands to define the command line and HTTP APIs. | Package commands implements the IPFS command interface Using github.com/ipfs/go-ipfs/commands to define the command line and HTTP APIs. | 
| 
          
            commands/incfusever
            
            
          
           Package incfusever is only here to prevent go src tools (like godep) from thinking fuseversion is not a required package. | Package incfusever is only here to prevent go src tools (like godep) from thinking fuseversion is not a required package. | 
| 
          
            corehttp
            
            
          
           Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS. | Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS. | 
| 
          
            corerepo
            
            
          
           Package corerepo provides pinning and garbage collection for local IPFS block services. | Package corerepo provides pinning and garbage collection for local IPFS block services. | 
| package diagnostics implements a network diagnostics service that allows a request to traverse the network and gather information on every node connected to it. | package diagnostics implements a network diagnostics service that allows a request to traverse the network and gather information on every node connected to it. | 
| 
          
            pb
            
            
          
           Package diagnostics_pb is a generated protocol buffer package. | Package diagnostics_pb is a generated protocol buffer package. | 
| package exchange defines the IPFS Exchange interface | package exchange defines the IPFS Exchange interface | 
| 
          
            bitswap
            
            
          
           package bitswap implements the IPFS Exchange interface with the BitSwap bilateral exchange protocol. | package bitswap implements the IPFS Exchange interface with the BitSwap bilateral exchange protocol. | 
| 
          
            bitswap/decision
            
            
          
           package decision implements the decision engine for the bitswap service. | package decision implements the decision engine for the bitswap service. | 
| 
          
            bitswap/message/pb
            
            
          
           Package bitswap_message_pb is a generated protocol buffer package. | Package bitswap_message_pb is a generated protocol buffer package. | 
| 
          
            bitswap/wantlist
            
            
          
           package wantlist implements an object for bitswap that contains the keys that a given peer wants. | package wantlist implements an object for bitswap that contains the keys that a given peer wants. | 
| 
          
            offline
            
            
          
           package offline implements an object that implements the exchange interface but returns nil values to every request. | package offline implements an object that implements the exchange interface but returns nil values to every request. | 
| fuse
       | |
| 
          
            ipns
            
            
          
           package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs. | package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs. | 
| 
          
            mount
            
            
          
           package mount provides a simple abstraction around a mount point | package mount provides a simple abstraction around a mount point | 
| 
          
            readonly
            
            
          
           package fuse/readonly implements a fuse filesystem to access files stored inside of ipfs. | package fuse/readonly implements a fuse filesystem to access files stored inside of ipfs. | 
| package importer implements utilities used to create ipfs DAGs from files and readers | package importer implements utilities used to create ipfs DAGs from files and readers | 
| 
          
            chunk
            
            
          
           package chunk implements streaming block splitters | package chunk implements streaming block splitters | 
| package ipnsfs implements an in memory model of a mutable ipns filesystem, to be used by the fuse filesystem. | package ipnsfs implements an in memory model of a mutable ipns filesystem, to be used by the fuse filesystem. | 
| package merkledag implements the ipfs Merkle DAG datastructures. | package merkledag implements the ipfs Merkle DAG datastructures. | 
| 
          
            pb
            
            
          
           Package merkledag_pb is a generated protocol buffer package. | Package merkledag_pb is a generated protocol buffer package. | 
| 
          
            traverse
            
            
          
           Package traverse provides merkledag traversal functions | Package traverse provides merkledag traversal functions | 
| Package namesys implements resolvers and publishers for the IPFS naming system (IPNS). | Package namesys implements resolvers and publishers for the IPFS naming system (IPNS). | 
| 
          
            pb
            
            
          
           Package namesys_pb is a generated protocol buffer package. | Package namesys_pb is a generated protocol buffer package. | 
| p2p
       | |
| 
          
            crypto
            
            
          
           package crypto implements various cryptographic utilities used by ipfs. | package crypto implements various cryptographic utilities used by ipfs. | 
| 
          
            crypto/pb
            
            
          
           Package crypto_pb is a generated protocol buffer package. | Package crypto_pb is a generated protocol buffer package. | 
| 
          
            crypto/secio
            
            
          
           package secio handles establishing secure communication between two peers. | package secio handles establishing secure communication between two peers. | 
| 
          
            crypto/secio/pb
            
            
          
           Package spipe_pb is a generated protocol buffer package. | Package spipe_pb is a generated protocol buffer package. | 
| 
          
            net/mock
            
            
          
           Package mocknet provides a mock net.Network to test with. | Package mocknet provides a mock net.Network to test with. | 
| 
          
            net/swarm
            
            
          
           package swarm implements a connection muxer with a pair of channels to synchronize all network communication. | package swarm implements a connection muxer with a pair of channels to synchronize all network communication. | 
| 
          
            peer
            
            
          
           package peer implements an object used to represent peers in the ipfs network. | package peer implements an object used to represent peers in the ipfs network. | 
| 
          
            peer/addr
            
            
          
           Package addr provides utility functions to handle peer addresses. | Package addr provides utility functions to handle peer addresses. | 
| 
          
            protocol/identify/pb
            
            
          
           Package identify_pb is a generated protocol buffer package. | Package identify_pb is a generated protocol buffer package. | 
| 
          
            test/reconnects
            
            
          
           Package reconnect tests connect -> disconnect -> reconnect works | Package reconnect tests connect -> disconnect -> reconnect works | 
| Package path implements utilities for resolving paths within ipfs. | Package path implements utilities for resolving paths within ipfs. | 
| package pin implemnts structures and methods to keep track of which objects a user wants to keep stored locally. | package pin implemnts structures and methods to keep track of which objects a user wants to keep stored locally. | 
| 
          
            config
            
            
          
           package config implements the ipfs config file datastructures and utilities. | package config implements the ipfs config file datastructures and utilities. | 
| 
          
            fsrepo
            
            
          
           package fsrepo TODO explain the package roadmap... | package fsrepo TODO explain the package roadmap... | 
| package routing defines the interface for a routing system used by ipfs. | package routing defines the interface for a routing system used by ipfs. | 
| 
          
            dht
            
            
          
           Package dht implements a distributed hash table that satisfies the ipfs routing interface. | Package dht implements a distributed hash table that satisfies the ipfs routing interface. | 
| 
          
            dht/pb
            
            
          
           Package dht_pb is a generated protocol buffer package. | Package dht_pb is a generated protocol buffer package. | 
| 
          
            kbucket
            
            
          
           package kbucket implements a kademlia 'k-bucket' routing table. | package kbucket implements a kademlia 'k-bucket' routing table. | 
| 
          
            mock
            
            
          
           Package mock provides a virtual routing server. | Package mock provides a virtual routing server. | 
| test
       | |
| 
          
            api-startup
            
            command
          
          
         | |
| 
          
            bench/bench_cli_ipfs_add
            
            command
          
          
         | |
| 
          
            bench/offline_add
            
            command
          
          
         | |
| 
          
            dependencies/go-sleep
            
            command
          
          
         | |
| 
          
            dependencies/iptb
            
            command
          
          
         | |
| 
          
            sharness/lib
            
            
          
           package randomdep is here to introduce a dependency in random for godep to function properly. | package randomdep is here to introduce a dependency in random for godep to function properly. | 
| 
          
            supernode_client
            
            command
          
          
         | |
| thirdparty
       | |
| 
          
            notifier
            
            
          
           Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications. | Package notifier provides a simple notification dispatcher meant to be embedded in larger structres who wish to allow clients to sign up for event notifications. | 
| 
          
            pollEndpoint
            
            command
          
           pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK | pollEndpoint is a helper utility that waits for a http endpoint to be reachable and return with http.StatusOK | 
| Package format implements a data format for files in the ipfs filesystem It is not the only format in ipfs, but it is the one that the filesystem assumes | Package format implements a data format for files in the ipfs filesystem It is not the only format in ipfs, but it is the one that the filesystem assumes | 
| 
          
            io
            
            
          
           package unixfs/io implements convenience objects for working with the ipfs unixfs data format. | package unixfs/io implements convenience objects for working with the ipfs unixfs data format. | 
| 
          
            pb
            
            
          
           Package unixfs_pb is a generated protocol buffer package. | Package unixfs_pb is a generated protocol buffer package. | 
| Package util implements various utility functions used within ipfs that do not currently have a better place to live. | Package util implements various utility functions used within ipfs that do not currently have a better place to live. | 
| 
          
            eventlog/loggables
            
            
          
           Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects. | Package loggables includes a bunch of transaltor functions for commonplace/stdlib objects. | 
| 
          
            testutil/ci
            
            
          
           Package ci implements some helper functions to use during tests. | Package ci implements some helper functions to use during tests. | 
| 
          
            testutil/ci/jenkins
            
            
          
           Package jenkins implements some helper functions to use during tests. | Package jenkins implements some helper functions to use during tests. | 
| 
          
            testutil/ci/travis
            
            
          
           Package travis implements some helper functions to use during tests. | Package travis implements some helper functions to use during tests. | 
 Click to show internal directories. 
   Click to hide internal directories.