This repository has been archived by the owner on Apr 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 48
Added in a dist blog post draft #21 #23
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
2ee91a0
Added in a dist blog post draft #21
RichardLitt 5b89ee0
spelling errors
RichardLitt d958082
Moved license to future plans
RichardLitt e4048c3
Update code signing
RichardLitt d56ae64
Removed the whole site section
RichardLitt 801a676
Updated screenshot
RichardLitt d8a0758
Added in a dist blog post draft #21
RichardLitt 6073061
spelling errors
RichardLitt 87cbf72
Moved license to future plans
RichardLitt cb5c051
Update code signing
RichardLitt 7371c64
Removed the whole site section
RichardLitt bd158eb
Updated screenshot
RichardLitt 02e835b
pngcrushed image
RichardLitt 3bc077e
Merge branch 'feature/dist' of github.com:ipfs/blog into feature/dist
RichardLitt 9f0e9f2
New screenshot
RichardLitt 41c4a05
Updates!!!
RichardLitt File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
date: 2016-01-29 | ||
id: 6-distributions | ||
template: tmpl/layouts/post.html | ||
baseurl: .. | ||
breadcrumbs: | ||
- {name: "6-distributions", link: "./" } | ||
tags: dist, distributions | ||
title: IPFS distributions | ||
author: Richard Littauer | ||
collection: posts | ||
--- | ||
|
||
[![](!img/screenshot.png)](https://dist.ipfs.io/) | ||
|
||
[dist.ipfs.io](https://dist.ipfs.io/) is the new distributions page for IPFS. This is the new one-stop-shop for finding and downloading all official binaries that the IPFS Team produces. | ||
|
||
## The IPFS Distributions Website | ||
|
||
The distributions website itself is served by, hosted, and distributed through IPFS. The website assets and all of the binaries form one large IPFS content graph. This means that you can view and use this website through any IPFS node, even your own local ipfs node. All you need to do is to run an IPFS daemon and direct your browser to http://localhost:8080/ipns/dist.ipfs.io. Of course, you'll need to be online and connected to the internet, so you can find other ipfs nodes that have this website. | ||
|
||
### Download Deduplication | ||
|
||
If you download files from dist.ipfs.io using your local IPFS node, future downloads **may be** much faster. When you click to download a file, your browser will ask to download it from your local IPFS node. In turn, your IPFS node will fetch the relevant content from other nodes in the network, and return it to your browser. Your browser will place the file in your Downloads folder, or wherever you directed it to. | ||
|
||
However, once your local IPFS node has fetched the content, it will cache it locally for some time. This makes subsequent downloads of the exact same content instantaneous! Your browser asks the IPFS node for the content; the node already has it and simply returns it, without ever having to connect to other nodes. This also means that if other IPFS nodes in your local area network try to download the file, they may be able to fetch it from your node. Once you have the content locally, this can even work while disconnected from the internet! | ||
|
||
It may also make downloading **new** versions much faster, because different versions of large binary files often have lots of duplicated data. IPFS represents files as a Merkle DAG (a datastructure similar to a [merkle tree](https://en.wikipedia.org/wiki/Merkle_tree)), much like Git or BitTorrent. Unlike them, when IPFS imports files, it chunks them to deduplicate similar data within single files. So when you need to download a new version, you only download the parts that are new or different - this can make your future downloads faster! | ||
|
||
## Project details | ||
|
||
Every distribution has a section, which includes: | ||
|
||
- The distribution name and a short description; | ||
- The current version number and release date; | ||
- The software license (usually MIT); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's actually not the case right now |
||
- A download button that detects your platform and automatically suggests the appropriate distribution for you; | ||
- A grid with download links for all supported platforms (operating system and architectures); | ||
- A `Changelog`, a link to a summary of all version changes; | ||
- An `All Versions`, a link to view and download previous versions. | ||
|
||
The `All Versions` link on each distribution shows directory listings for all the available versions, and a `versions` file ([example](https://dist.ipfs.io/go-ipfs/versions)). This file can be used by tools, such as [ipfs-update](https://dist.ipfs.io/#ipfs-update), to find all the available versions and download the latest. | ||
|
||
The directory listing of each version ([example](https://dist.ipfs.io/go-ipfs/v0.3.11)) has all the platform archives (`.zip` or `.tar.gz`), a `README.md` and a `dist.json` which describe the release for humans and machines. It is meant to be easily consumed and used by tools. | ||
|
||
The site is also used directly by [`ipfs-update`](https://github.com/ipfs/ipfs-update) to update IPFS. | ||
|
||
## Project Prerequisites | ||
|
||
In order to be added to the distributions page, a product must: | ||
|
||
- Originate from the IFPS community; | ||
- Have high-quality UX and documentation; | ||
- Be well maintained and active. | ||
|
||
If you think that a product should be there that isn't, get in touch. | ||
|
||
## Future Plans | ||
|
||
In the future, we hope to: | ||
|
||
- Enable code signing, for progress on this subject you can check this [pull request](https://github.com/ipfs/distributions/pull/51). | ||
- Enable closer integration with package managers. | ||
- Add more products. | ||
- Host more screenshots of the tools directly in the Distributions page. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Screenshots, gifs and asciinemas |
||
- Import binaries more intelligently in order to enhance change of deduplication. | ||
- Add the software license (usually MIT) to each distribution. | ||
|
||
## Contribute | ||
|
||
We welcome any and all sorts of contributions! File issues or send us patches at [ipfs/distributions](https://github.com/ipfs/distributions). | ||
|
||
Last but not least, a huge thank you to [@dignifiedquire](https://github.com/dignifiedquire) for his amazing work with the Dist page. None of this would be possible without him. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is missing a section, before
Project Details
, explaining how this website itself works. The really cool thing about this site is that everything is shipped with ipfs itself, the site uses dnslink, etc. Users can view the site in their local gateways just fine, too:/ipns/dist.ipfs.io
. This means a bunch of things, like: dist.ipfs.io can be replicated and used to distribute ipfs in networks not connected to the internet.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And this will add an exciting! flavor to the post.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also it make the distribution page be under HTTPS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not available under https yet :( // cc @lgierth
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a site section, but removed it because I don't understand how the hashes work over time. See this comment: #23 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you promote it as https://ipfs.io/ipns/dist.ipfs.io then it is under HTTPS.