Merge branch 'main' into orbit-chat

This commit is contained in:
Shane Duffy 2023-09-27 07:09:16 -07:00
commit bdad08ee81
117 changed files with 110 additions and 2374 deletions

View File

@ -13,7 +13,7 @@ Hello! To ensure this issue is correctly addressed as soon as possible by the IP
- A clear description is provided. It should includes as much relevant information as possible and clear scope for the issue to be actionable. - A clear description is provided. It should includes as much relevant information as possible and clear scope for the issue to be actionable.
FOR GENERAL DISCUSSION, HELP OR QUESTIONS, please see the options at https://ipfs.io/help or head directly to https://discuss.ipfs.io. FOR GENERAL DISCUSSION, HELP OR QUESTIONS, please see the options at https://ipfs.tech/help or head directly to https://discuss.ipfs.tech.
(you can delete this section after reading) (you can delete this section after reading)
--> -->

2
.github/config.yml vendored
View File

@ -20,7 +20,7 @@ newIssueWelcomeComment: >
- "Status" labels will show if this is ready to be worked on, blocked, or in progress. - "Status" labels will show if this is ready to be worked on, blocked, or in progress.
- "Need" labels will indicate if additional input or analysis is required. - "Need" labels will indicate if additional input or analysis is required.
Finally, remember to use https://discuss.ipfs.io if you just need general Finally, remember to use https://discuss.ipfs.tech if you just need general
support. support.
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome

View File

@ -1,88 +0,0 @@
name: Open a PR to remove broken links on a schedule
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
permissions:
issues: write
pull-requests: write
jobs:
check-for-broken-links:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.REMOVE_BROKEN_LINKS_GH_TOKEN }}
- uses: actions/setup-node@v3
with:
node-version: 13
- uses: ipfs/aegir/actions/cache-node-modules@master
with:
directories: |
README.md
build: |
npm run build:readme
cache_name: readme
- name: Set up Ruby 3.1.2
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.2
# Cache the files created by awesome_bot
- name: Cache awesome_bot files
uses: actions/cache@v3
id: awesome_bot_cache
with:
path: |
ab-results-README.md-filtered.json
ab-results-README.md-markdown-table.json
ab-results-README.md.json
key: ${{ runner.os }}-awesome_bot-${{ hashFiles('README.md') }}
- name: Install and run awesome_bot
if: steps.awesome_bot_cache.outputs.cache-hit != 'true'
run: |
gem install awesome_bot
awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || echo
- name: Remove broken links
id: remove-broken-links
run: |
node scripts/remove-broken-links.js
echo "Changed files:"
git ls-files -m
changed_data_files_count=$(git ls-files -m data | wc -l | tr -d ' ')
echo "changed_data_files_count='$changed_data_files_count'"
echo "changed_data_files_count=$changed_data_files_count" >> $GITHUB_OUTPUT
- uses: EndBug/add-and-commit@d4d066316a2a85974a05efb42be78f897793c6d9 # v9.1.0 - https://github.com/EndBug/add-and-commit/commit/d4d066316a2a85974a05efb42be78f897793c6d9
if: steps.remove-broken-links.outputs.changed_data_files_count != 0
with:
add: 'data'
new_branch: remove-broken-links
message: 'chore: Remove broken links'
push: 'origin remove-broken-links --set-upstream --force'
author_name: 'ipfs-gui-bot'
author_email: '108953096+ipfs-gui-bot@users.noreply.github.com'
- name: pull-request
if: steps.remove-broken-links.outputs.changed_data_files_count != 0
uses: repo-sync/pull-request@65785d95a5a466e46a9d0708933a3bd51bbf9dde
with:
source_branch: "remove-broken-links"
destination_branch: "master"
pr_title: "chore: Remove broken links"
pr_body: "Automated PR created by .github/workflows/broken_link_cron.yml"
pr_label: "kind/maintenance"
pr_draft: false
pr_allow_empty: false
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,33 +0,0 @@
name: auto build data
on:
push:
branches:
- master
paths:
- data/**
jobs:
build:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]') && github.repository == 'ipfs/awesome-ipfs'"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 13
- name: build
run: |
npm --version
node --version
npm ci
npm run lint
npm run build
- name: Commit files
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -m "Rebuild" -a
- name: Push changes
if: success()
run: git push

View File

@ -7,27 +7,8 @@ on:
branches: [ master, main ] branches: [ master, main ]
jobs: jobs:
# Run linting and tests run-awesome-bot:
build-and-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v1
with:
node-version: 13
- uses: ipfs/aegir/actions/cache-node-modules@master
with:
directories: |
README.md
build: |
npm run build:readme
cache_name: readme
# aegir/actions/cache-node-modules runs build. We don't need to run it again.
- run: npm run lint
run-danger:
runs-on: ubuntu-latest
needs: build-and-lint
if: "!contains(github.event.head_commit.message, '[skip ci]')" if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps: steps:
- name: Checkout - name: Checkout
@ -40,13 +21,6 @@ jobs:
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: 3.1.2 ruby-version: 3.1.2
- uses: ipfs/aegir/actions/cache-node-modules@master
with:
directories: |
README.md
build: |
npm run build:readme
cache_name: readme
- name: Install and run awesome_bot - name: Install and run awesome_bot
# It's okay for awesome_bot to fail (for maintainers only). Danger will post a comment on the PR (for maintainers only) if it fails. # It's okay for awesome_bot to fail (for maintainers only). Danger will post a comment on the PR (for maintainers only) if it fails.
run: | run: |

1
CNAME Normal file
View File

@ -0,0 +1 @@
awesome.ipfs.tech

View File

@ -1,26 +1,35 @@
# Contribution Guidelines # Contribution Guidelines
Thanks for submitting your entry to Awesome IPFS!
Please ensure your pull request adheres to the following guidelines: Please ensure your pull request adheres to the following guidelines:
## Content Policy
Entries are accepted if they meet the following criteria:
- Entries must use _IPFS_
- Entries in the **apps** & **tools** categories must be **open-source** and contain a link to their source code.
- Entries in the services & platforms category must contain a clear description of how they relate to IPFS and avoid marketing buzzwords.
- Entries must be immediately usable (eg. nothing that is paywall-only, even a free trial would be ok).
- Entries must have a clear license and/or privacy policy where applicable.
- Entries must respect the [IPFS Community Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md).
### 1. Before submitting ### 1. Before submitting
- Search previous suggestions before making a new one, as yours may be a duplicate. - Search previous suggestions before making a new one, as yours may be a duplicate.
- If you just created something, wait at least a couple of weeks before submitting. - If you just created something, wait at least a couple of weeks before submitting.
- Review the [content policy](POLICY.md) to ensure your submission meets the requirements. - Review the [content policy](#content-policy) to ensure your submission meets the requirements.
### 2. Creating a submission ### 2. Creating a submission
Make an individual pull request for each suggestion: Make an **individual pull request for each suggestion**:
- **Do not edit README directly!**
- Add the idea to the corresponding file in [`data`](./data) and make sure it matches the format.
Style tips: Style tips:
- New categories, or improvements to the existing categorization are welcome.
- Keep descriptions short and simple, but descriptive. - Keep descriptions short and simple, but descriptive.
- Don't mention `IPFS` in the description as it's implied. - Don't mention `IPFS` in the description as it's implied.
- Start the description with a capital and end with a full stop/period. - Start the description with a capital and end with a full stop/period.
- Check your spelling and grammar. - Check your spelling and grammar.
- You can add a picture to describe your idea in [`./src/static/images`](./src/static/images).
### 3. Submitting it through a PR ### 3. Submitting it through a PR
@ -29,6 +38,4 @@ Style tips:
Thank you for your suggestions! Thank you for your suggestions!
----- ---
**NOTE**: If you want to edit the README file directly (not the items/links) you need to modify the [`scripts/readme-template.md`](https://github.com/ipfs/awesome-ipfs/blob/master/scripts/readme-template.md) instead. Thank you!

View File

@ -1,6 +0,0 @@
build:
npm --version
node --version
npm ci
npm run lint
npm run build

View File

@ -1,15 +0,0 @@
# Awesome IPFS Content Policy
Thanks for submitting your entry to Awesome IPFS!
Entries are accepted if they meet the following criteria:
* Entries must respect the [IPFS Community Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md)
* Entries must use *IPFS* (libp2p, ipld, multiformats is not enough)
* Entries must be immediately usable (eg. nothing that is paywall-only, even a free trial would be ok)
* Entries must have a clear license and/or privacy policy where applicable
This policy is evaluated by the site admins upon submission, per the process defined in the [contribution guide](CONTRIBUTING.md).
This policy was developed [here](https://github.com/ipfs/awesome-ipfs/issues/150) - please add questions, comments and suggestions there.

278
README.md
View File

@ -1,266 +1,120 @@
# Awesome IPFS [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) # Awesome IPFS [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
> Useful resources for using [IPFS](https://ipfs.tech) and building things on top of it This is a community list of awesome projects, apps, tools, and services related to IPFS.
_This list is for projects, tools, or pretty much any things related to IPFS that are totally_ **awesome**_. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in [our IPFS Discuss Forums](https://discuss.ipfs.io)._ If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in the [IPFS Forums](https://discuss.ipfs.tech).
## Table of Contents ## Table of Contents
- [Contribute](#contribute-to-this-list)
- [Collab-Cluster](#collab-cluster)
- [Apps](#apps) - [Apps](#apps)
- [Articles](#articles)
- [Datasets](#datasets)
- [Services](#services)
- [Tools](#tools) - [Tools](#tools)
- [Videos](#videos) - [Services & Platforms](#services--platforms)
- [Discussions](#discussions) - [Pinning Services](#pinning-services)
- [Want to hack on IPFS?](#want-to-hack-on-ipfs) - [Stale Projects](#stale-projects)
- [Contribute](#contribute)
- [License](#license) - [License](#license)
## Contribute to this list!
Everyone is welcome to submit their new awesome-ipfs item, but it will be accepted only if it meets our [content policy](https://github.com/ipfs/awesome-ipfs/blob/master/POLICY.md).
Readme and the website are automatically generated. In order to add an element to this list, you need to modify the files in `/data` and then run `make build` before publishing your pull request. Read [contributing guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md) to learn how to do so.
## Collab-Cluster
[Collaborative clusters](https://collab.ipfscluster.io/) are public IPFS Clusters that anyone can join to help replicating and re-distributing content on the IPFS network. Instead of datasets cluster content is usually updated.
## Apps ## Apps
- [2read](https://2read.net/) - Convert article in current tab to readable form and upload it to writable node(s). [Source](https://github.com/meehow/2read)
- [3Box](https://3box.io) - Create and manage your Ethereum Profile, and your personal data. Use the 3box-js library to integrate profiles into your dapp. [Source](https://github.com/uport-project/3box)
- [a js video player](https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/play) - [Demo](https://ipfs.io/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXs)
- [a markdown renderer](https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/markdown-viewer) - [Demo](https://ipfs.io/ipfs/QmSrCRJmzE4zE1nAfWPbzVfanKQNBhp7ZWmMnEdbiLvYNh/mdown#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u)
- [a qr-code renderer](https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/qr-render) - [Demo](https://ipfs.io/ipfs/QmccqhJg5wm5kNjAP4k4HrYxoqaXUGNuotDUqfvYBx8jrR/qr#enter%20text%20here)
- [Agregore](https://github.com/AgregoreWeb/agregore-browser) - A minimal web browser for the distributed web. Supports downloading/uploading data from IPFS using the browser's `fetch()` API - [Agregore](https://github.com/AgregoreWeb/agregore-browser) - A minimal web browser for the distributed web. Supports downloading/uploading data from IPFS using the browser's `fetch()` API
- [AirSecure](https://github.com/airsecure/airsecure) - Decentralized two factor authentication app built on Textile & IPFS. - [archiveweb.page](https://github.com/webrecorder/archiveweb.page) - A High-Fidelity Web Archiving Extension for Chrome and Chromium based browsers with support for IPFS.
- [akasha](http://akasha.world/) - A Next-Generation Social Media Network, powered by Ethereum and embedded into IPFS.
- [Alexandria](http://www.alexandria.io/) - Decentralized content publishing / monetization platform.
- [Arbore](http://arbo.re) - A friend-to-friend file-sharing app build on top of IPFS.
- [Autonomica "IPFS Social Proof"](https://github.com/IBM/ipfs-social-proof) - Autonomica is a Keybase-like Dapp for creating an identity and proving this identity via published social media and web proofs. - [Autonomica "IPFS Social Proof"](https://github.com/IBM/ipfs-social-proof) - Autonomica is a Keybase-like Dapp for creating an identity and proving this identity via published social media and web proofs.
- [beets](https://github.com/beetbox/beets) - Beets has a plugin which allows for easy sharing of music libraries using IPFS - [brig](https://github.com/sahib/brig) - File synchronization with git like interface and FUSE filesystem.
- [Blokaly](https://github.com/blokaly) - A badge issuing, sharing and display platform based on IPFS. - [Diffuse](https://github.com/icidasset/diffuse) - Play music from your IPFS node, or any other cloud/distributed storage service you use.
- [Boards](https://ipfs.io/ipns/boards.ydns.eu) - Distributed social platform that runs in the browser. [Source](https://github.com/fazo96/ipfs-boards) - [Durin](https://durin.site/) - Mobile app for accessing and uploading content on the IPFS network.
- [brig](https://brig.readthedocs.io/en/latest) - File synchronization with git like interface and FUSE filesystem. [Source](https://github.com/sahib/brig)
- [Cohort](https://github.com/zignig/cohort) - A golang app to preset a threejs interface and get all of its assets out of IPFS.
- [CoTNetwork](http://www.cotnetwork.com) - A distributed computing network base on ipfs
- [dapple](https://github.com/nexusdev/dapple) - Dapple is a Solidity developer multitool designed to manage the growing complexity of interconnected smart contract systems.
- [DeCommerce](https://www.ivyca.com/decommerce/) - Decentralized ecommerce for Web3. Allows people to transact business without middlemen. No Middleman, no Bank, no Big Tech, no Government.
- [Diffuse](https://diffuse.sh) - Play music from your IPFS node, or any other cloud/distributed storage service you use.
- [Discussify](https://github.com/ipfs-shipyard/discussify-browser-extension) - Discussify provides a real-time, peer to peer, and permanent discussion platform for anyone to join and participate.
- [DtinyUrl](https://github.com/facert/dtinyurl) - Decentralized URL shortening service based on IPFS.
- [dtube](https://d.tube) - Distributed video sharing with steem.it integrations, using ipfs for backend storage.
- [edChain](https://www.edchain.io/) - EdChain is a global network for education and careers. It uses blockchain and distributed web technologies to deliver educational content, even to those without broadband internet. [Source](https://github.com/edchainio/edchain-client-gui)
- [enzypt.io](https://enzypt.io/) - A website to buy and sell files through Ethereum and IPFS. [Source](https://github.com/flex-dapps/enzypt)
- [Ethlance](http://ethlance.com) - First completely decentralised job market platform built on Ethereum and IPFS. [Source](https://github.com/madvas/ethlance)
- [Everforo](https://www.everforo.com) - Everforo is the next generation of online community groups build on top of IPFS.
- [git-ipfs-rehost](https://github.com/whyrusleeping/git-ipfs-rehost) - A script to rehost your git repos in ipfs.
- [Global Upload](https://globalupload.io/) - File transportation service for IPFS, upload files to the future of distributed web.
- [Gorilla REPL viewer](https://github.com/keorn/ipfs-gorilla-repl) - Gorilla is a rich REPL for Clojure in the notebook style.
- [Hardbin](https://github.com/jes/hardbin) - Hardbin is an encrypted pastebin, with the decryption key passed in the URL fragment - [Hardbin](https://github.com/jes/hardbin) - Hardbin is an encrypted pastebin, with the decryption key passed in the URL fragment
- [HydrusNetwork](https://github.com/hydrusnetwork/hydrus) - A booru-style media tagging application with a multitude of features, recently added basic ipfs support.
- [InfiniteBooru](https://infinitebooru.com) - A booru-style media tagging application and content aggregator with all media backed by IPFS.
- [InfinitumX](https://infinitumx.io) - A decentralized "Reddit Place" like board with Harberger's tax as an economical concept & censorship resistance built in.
- [infura.io](https://infura.io) - An Infrastructure: use API and developer tools provide secure, reliable, and scalable access to Ethereum and IPFS to help build decentralized application easier.
- [InterPlanetary Wayback](https://github.com/oduwsdl/ipwb) - Web Archive (WARC) indexing and replay using IPFS. - [InterPlanetary Wayback](https://github.com/oduwsdl/ipwb) - Web Archive (WARC) indexing and replay using IPFS.
- [Interplanetary Wiki](https://github.com/jamescarlyle/ipfs-wiki) - Wiki built on top of IPFS - [Interplanetary Wiki](https://github.com/jamescarlyle/ipfs-wiki) - Wiki built on top of IPFS
- [ipcoronafs](https://github.com/RTradeLtd/ipcoronafs) - A realtime service to scrape COVID-19 and SARS-CoV-2, storing on IPFS, DNSLink, and streaming over LibP2P pubsub
- [IPFessay](https://gitlab.com/stavros/IPFessay) - A simple way to publish uncensorable essays on IPFS. - [IPFessay](https://gitlab.com/stavros/IPFessay) - A simple way to publish uncensorable essays on IPFS.
- [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) - Run your IPFS node on your machine without having to bother with command line tools. Manage your node, add your files, easily change the settings... everything from just one interface. - [IPFS Desktop](https://github.com/ipfs-shipyard/ipfs-desktop) - IPFS Desktop gives you all the power of IPFS in a convenient desktop app: a complete IPFS node, plus handy OS menubar/taskbar shortcuts and an all-in-one file manager, peer map, and content explorer.
- [IPFS Drive](https://github.com/fazo96/ipfs-drive) - In browser file manager for IPFS.
- [IPFS Event Drop](https://github.com/travisperson/ipfs-event-drops) - An app that allows for improved visualization of ipfs events.
- [IPFS ID and Public Key QR Codes Demo](https://ipfs.io/ipfs/zdj7Whr8X3zah99TSuyPjENaERcBW9C7B36EaCb1DEZ5pbbL9/) - A demo app that uses windows.ipfs to show you a QR Code of your IPNS Link and of your Public Key. [Source](https://github.com/ipfs-shipyard/demo-ipfs-id-qr-codes)
- [IPFS Image Uploader](https://ipfs.talaikis.com/) - IPFS image uploader and viewer. Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine. [Source](https://github.com/TalaikisInc/ipfs-uploader)
- [IPFS with TiddlyWiki](https://github.com/xmaysonnave/tiddlywiki-ipfs) - IPFS with TiddyWiki is a TiddlyWiki plugin who aims to help developers, editors or users to save their wikis and attachments over IPFS.
- [ipfs-chat](https://github.com/SomajitDey/ipfs-chat) - Terminal-based, encrypted chatrooms. Allows private messaging & secure in-chat file/directory sharing. Server/broker-less (no signaling/rendezvous server needed). Works over LAN/internet(w/ NAT-traversal). - [ipfs-chat](https://github.com/SomajitDey/ipfs-chat) - Terminal-based, encrypted chatrooms. Allows private messaging & secure in-chat file/directory sharing. Server/broker-less (no signaling/rendezvous server needed). Works over LAN/internet(w/ NAT-traversal).
- [IPFS-forum](https://github.com/ReForum-ipfs/ReForum#readme) - A web3 forum.You can get new ideas,reports,dicussions from this forum ,though you maybe are in a network-restricted area,all the contents will be updated qucikly by ipfs. [Source](https://github.com/ReForum-ipfs/ReForum) - [IPFS-FPS](https://github.com/underscoredLabs/webgl-ipfs-fps) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata.
- [IPFS-FPS](https://ipfs-fps-website.on.fleek.co/) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata.
- [ipfs-md-wiki](https://github.com/daijiale/ipfs-md-wiki) - Build your wiki system base on ipfs and markdown.
- [ipfs-search](https://ipfs-search.com) - Searching the universe since 2016.
Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available. [Source](https://github.com/ipfs-search/ipfs-search)
- [ipfs-share](https://github.com/rameshvarun/ipfs-share) - Pastebin/Image host/File sharing application
- [ipfs.ink](https://github.com/kpcyrd/ipfs.ink) - Publish and render markdown essays to and from ipfs.
- [ipfs.pics](https://github.com/ipfspics/ipfspics-server) - Upload and share pics.
- [IPFSBin](https://github.com/victorbjelkholm/ipfsbin) - Pastebin clone build.
- [IPGit](https://github.com/meyer1994/ipgit) - Remote Git repository that mirrors your code to IPFS - [IPGit](https://github.com/meyer1994/ipgit) - Remote Git repository that mirrors your code to IPFS
- [IpJot](https://ipjot.herokuapp.com/) - Creates short notes, stories, books, poems, conversations on IPFS. - [killcord](https://github.com/nomasters/killcord) - A censorship resistant deadman's switch
- [IPSE](https://www.ipse.io/) - A search engine for the IPFS network. - [Peer Web Site](https://github.com/Weedshaker/PeerWebSite) - Peer to Peer Web Site hosting at your fingertips! Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc.
- [Kauri](https://kauri.io) - A community-based knowledge platform for web3 technologies built on top of IPFS and Ethereum. Learn, share and curate on up-to-date and high-quality technical articles and series. - [Peergos](https://github.com/Peergos/Peergos) - End-to-end encrypted, peer-to-peer file storage and sharing.
- [KDE-DolphinServiceMenu-IPFS](https://github.com/amar-laksh/KDE-DolphinServiceMenu-IPFS) - Service Menu for Dolphin File Manager to upload files to IPFS The open network for transaction requests.
- [killcord](https://killcord.io/) - A censorship resistant deadman's switch [Source](https://github.com/nomasters/killcord)
- [La Marque](https://marque.la/) - Generate & pin content from your phone. Validate "La Marque" assets by verifying received images from others.
- [markup.rocks](https://ipfs.io/ipfs/QmWPgJnUGLB1LPh9KMG9LEN4LVu5e17TwkEtcmTWdNn9V6/#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u) - Pandoc-based markup editor/previewer/converter, ported to IPFS. [Source](https://github.com/davidar/markup.rocks)
- [Minerva](https://github.com/bdchain/Minerva) - Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine.
- [Music For Programming](https://ipfs.io/ipns/mfp.jillejr.tech) - Unofficial port of musicforprogramming.net. [Source](https://github.com/jilleJr/musicforprogramming.ipfs)
- [OpenBazaar](https://github.com/OpenBazaar) - OpenBazaar was an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace.
- [Orbit](https://orbit.chat) - Distributed, peer-to-peer chat application on IPFS. [Source](https://github.com/haadcode/orbit)
- [Origin Protocol](https://demo.originprotocol.com/) - Distributed sharing economy marketplace with images, metadata, and ERC 725 data stored on IPFS. [Source](https://github.com/OriginProtocol/demo-dapp)
- [P2Pdoc](https://p2pdoc.glitch.me/) - P2Pdoc allows you to create a document and then upload it to the distributed web. [Source](https://github.com/aboutDavid/p2pdoc)
- [Partyshare](https://busterlabs.github.io/Partyshare) - A simple file sharing desktop app. [Source](https://github.com/BusterLabs/Partyshare)
- [Pathephone](https://pathephone.github.io) - Distributed music streaming app.
- [Peer Bandwidth Demo](https://ipfs.io/ipfs/QmVaVXbLdw4R5NqAiiQoTWtitxo5g7FS31PQmCLbH9p8Fu/) - An demo app that uses window.ipfs, provided by the IPFS Companion web extension to get and graph bandwidth info for your IPFS node [Source](https://github.com/tableflip/ipfs-peer-bw-example)
- [Peer Map Demo](https://ipfs.io/ipfs/QmRPGCmLKH2dQmNiPRsiuYS9EhhJL1Gmkz5F75gKY1K4Bm/) - A map of IPv4 IPFS peers that uses window.ipfs [Source](https://github.com/tableflip/ipfs-peer-map-example)
- [Peer Web Site](https://peerweb.site/) - Peer to Peer Web Site hosting at your fingertips! Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc. [Source](https://github.com/Weedshaker/PeerWebSite)
- [Peergos](https://peergos.org) - End-to-end encrypted, peer-to-peer file storage and sharing. [Source](https://github.com/Peergos/Peergos)
- [Playback](https://mafintosh.github.io/playback/) - IPFS playback support. This allows casting a video in IPFS to a Chromecast.
- [PubSub Chat Demo](https://ipfs.io/ipfs/QmWZ3u5S7RjFXKfW6dSZhj7CozcvpqJxm48RYMmKkWcmNQ/) - A ~76KB demo chat app that uses window.ipfs, provided by the IPFS Companion web extension [Source](https://github.com/tableflip/ipfs-pubsub-chat-example)
- [Pugdit](https://github.com/zbyte64/pugdit) - A bulletin board service that discovers and distributes over IPFS
- [PushToTalk](http://timothy.hobbs.cz/push-to-talk/index.html) - Push to Talk lets you edit audio essays and publish them with IPFS. - [PushToTalk](http://timothy.hobbs.cz/push-to-talk/index.html) - Push to Talk lets you edit audio essays and publish them with IPFS.
- [qri](https://qri.io) - Dataset version control, discovery and collaboration tools (free, open-source). [Project is winding down] [Source](https://github.com/qri-io/qri) - [Skiff](https://github.com/skiff-org/skiff-mail) - Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage.
- [QuestNetwork Messenger](https://github.com/QuestNetwork/quest-messenger-js) - Multi-Platform End-To-End Encrypted Messenger on IPFS PubSub. Emulates Servers/Community with folders that can be shared using invitation codes. It's free and open source. On track to become the most comprehensive and user-friendly messenger on IPFS.
- [Request](https://request.network/) - Decentralized network for financial transactions. [Source](https://github.com/RequestNetwork/requestNetwork)
- [SimpleAsWater Bot](https://github.com/simpleaswater/twitter-pinbot) - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster.
- [Skiff](https://www.skiff.com) - Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage. [Source](https://github.com/skiff-org/skiff-mail)
- [Skyhook](https://github.com/deedeecx330/skyhook) - Send and receive files securely
- [TallyLab](https://tallylab.com/) - Local-first, end-to-end encrypted data diary app for capturing, analyzing, and sharing data about any and everything.
- [Temporal](https://github.com/RTradeLtd/Temporal) - Temporal is an easy to use API and platform for integrating IPFS and other distributed/decentralized storage technologies into enterprise applications
- [Terrive](https://ipfs.io/ipns/terrive.one) - A Photo and Video Sharing Platform that uses the HIVE blockchain as a database and Immutable Image/Video Hosting. [Source](https://github.com/appukuttan66/terrive)
- [Textile Photos](https://www.textile.photos) - Textile Photos is a secure, mobile digital wallet for your photos. [Source](https://github.com/textileio/textile-mobile)
- [ToDo List Demo](https://ipfs.io/ipfs/QmSGQrmvHe6fFiWdV2H8YnhLaoX4qe5nYEmJfUFx6LdUYa/) - A ToDo List demo app that uses windows.ipfs. [Source](https://github.com/ipfs-shipyard/demo-ipfs-todo)
- [ujo](http://ujomusic.com/) - A blockchain marketplace for musicians.
- [Uniswap](https://uniswap.org/) - Decentralized Trading Protocol built on Ethereum. [Source](https://github.com/Uniswap)
- [uport](https://www.uport.me) - Uport is a mobile, self-sovereign identity and key management system, built on the Ethereum blockchain.
- [Valist](https://valist.io) - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps. [Source](https://github.com/valist-io/valist)
- [Watchit](https://github.com/ZorrillosDev/watchit-desktop) - A movie platform with a decentralized network approach.
- [Wistful Books](https://wistfulbooks.com/) - Single page offline application for enjoying librivox.org audio books. [Source](https://github.com/smwa/wistfulbooks)
- [xfce-screenshooter-ipfs-support](https://github.com/amar-laksh/xfce-screenshooter-ipfs-support) - A fork of xfce-screenshooter with IPFS support!
- [youtube2ipfs](https://pypi.org/project/youtube2ipfs/) - Download videos from YouTube (and similar video platforms) and add them to IPFS. [Source](https://github.com/dokterbob/youtube2ipfs)
## Articles ## Browsers
A list of web browsers with IPFS integrations
- 2020-08-03: [How to Create a Unity Game on IPFS using Pinata](https://medium.com/pinata/how-to-create-a-unity-game-on-ipfs-using-pinata-d0af18a5bd44) - [Agregore](https://github.com/AgregoreWeb/agregore-browser) - A minimal web browser for the distributed web. Supports downloading/uploading data from IPFS using the browser's `fetch()` API
- 2019-08-14: [Managing storage in a Java application with IPFS](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926) - [Brave](https://brave.com/ipfs-support/) - A privacy-focused browser with many future forward features.
- 2019-07-22: [10+ Resources Every IPFS Developer Should Know About](https://medium.com/@vaibhavsaini_67863/10-resources-to-get-started-with-ipfs-5f429dc8a841) - [galacteek](https://github.com/pinnaculum/galacteek) - A multi-platform Qt5-based browser for the distributed web.
- 2019-05-12: [The Complete Beginner's Guide to Deploying Your First Static Website to IPFS](https://dev.to/agentofuser/the-complete-beginner-s-guide-to-deploying-your-first-static-website-to-ipfs-33po)
- 2019-03-10: [The Case for a Decentralized Social Network](https://medium.com/npfoss/the-case-for-a-decentralized-social-network-2683b727abf5)
- 2019-01-30: [Ultimate Guide to Filecoin Breaking Down Filecoin Whitepaper & Economics](https://medium.com/swlh/ultimate-guide-to-filecoin-breaking-down-filecoin-whitepaper-economics-9212541a5895)
- 2018-08-06: [Content Identifiers in IPFS](https://pascalprecht.github.io/posts/content-identifiers-in-ipfs/)
- 2018-07-11: [On future-proof cryptographic hashes](https://pascalprecht.github.io/posts/future-proofed-hashes-with-multihash/)
- 2017-08-21: [Understanding the IPFS White Paper part 2](https://decentralized.blog/understanding-the-ipfs-white-paper-part-2.html)
- 2017-08-10: [Understanding the IPFS White Paper part 1](https://decentralized.blog/understanding-the-ipfs-white-paper-part-1.html)
- 2017-05-05: [Decentralized indexes for public genomic data](https://github.com/luizirber/2017-recomb)
- 2017-03-31: [Using IPFS for IoT Communications](https://medium.com/@chrismatthieu/using-ipfs-for-iot-communications-b49c2139783a)
- 2016-09-12: [IPFS: The Internet Democratised](https://medium.com/@tonywillenberg/web-3-0-a-truly-democratised-internet-f4b06cb4077b)
- 2016-05-20: [Changelog Podcast](https://changelog.com/podcast/204/)
- 2015-09-18: [The InterPlanetary File System Wants to Create a Permanent Web](http://motherboard.vice.com/read/the-interplanetary-file-system-wants-to-create-a-permanent-web)
- 2015-09-13: [Introduction to IPFS](http://whatdoesthequantsay.com/2015/09/13/ipfs-introduction-by-example)
- 2015-09-08: [HTTP is obsolete. It's time for the distributed, permanent web](https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html)
- [Downloading nodejs versions with nvm/n over IPFS](https://ipfs.io/ipfs/QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/example#/ipfs/QmUx363UFtgiQqkHHsPK3TSDmwoALDo2hrbMWbcxjH2vFc)
## Datasets
- [7-piece Syzygy tablebases](https://syzygy-tables.info/) - Solutions for all chess endgames with up to 7 pieces. [Source](https://github.com/syzygy1/tb)
- [alpine-linux 3.4 packages](https://ipfs.io/ipfs/QmRsvEpJggeu4HhoafzRFobV4sbwVVTXMrdb2p8XWv7bCS) [Source](https://github.com/ipfs/archives/issues/83)
- [arXiv](https://ipfs.io/ipfs/QmfXH9XtP7xmoTH8WAp4HNSduqWMwLTH8B8TvbTkdgzNAa) [Source](https://github.com/ipfs/archives/issues/2)
- [Brainwash Dataset](https://purl.stanford.edu/sx925dc9385) - Stewart, Russell. (2015). Brainwash dataset.
- [cdn.media.ccc.de](https://ipfs.io/ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb) [Source](https://github.com/ipfs/archives/issues/52)
- [cdnjs](https://ipfs.io/ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX) [Source](https://github.com/ipfs/archives/issues/35)
- [Cooking Recipes](https://ipfs.io/ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB) - Around 50GB of formatted and unformatted cooking recipes. [Source](https://old.reddit.com/r/opendirectories/comments/dsznin/50_gb_directory_of_cooking_recipes/)
- [CrowdHuman Dataset](http://www.crowdhuman.org/) - CrowdHuman dataset. A Benchmark for Detecting Human in a Crowd [Source](http://www.crowdhuman.org/download.html)
- [Geocities by Archive Team](https://ipfs.io/ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox) [Source](https://github.com/ipfs/archives/issues/182)
- [haveibeenpwnd.com passwords](https://ipfs.io/ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv) [Source](https://github.com/ipfs/archives/issues/157)
- [IETF RFC Archive](https://ipfs.io/ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM) [Source](https://github.com/ipfs/archives/issues/18)
- [KinoKabaret Caen, 2018 - Shortfilms](https://ipfs.io/ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39) [Source](https://github.com/ipfs/archives/issues/172)
- [MDSConnect](https://ipfs.io/ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5) [Source](https://github.com/ipfs/archives/issues/152)
- [No-Intro Collection](https://ipfs.io/ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy) [Source](https://github.com/ipfs/archives/issues/163)
- [Old Internet Files](https://ipfs.io/ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp) [Source](https://github.com/ipfs/archives/issues/176)
- [Presidential Daily Briefs](https://ipfs.io/ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89) [Source](https://github.com/ipfs/archives/issues/23)
- [Project Apollo Archives](https://ipfs.io/ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D) [Source](https://github.com/ipfs/archives/issues/143)
- [textfiles.com](https://ipfs.io/ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU) [Source](https://github.com/ipfs/archives/issues/155)
- [WistfulBooks: LibriVox Audiobook Archive](https://wistfulbooks.com) - Free public domain audiobooks from LibriVox.org packaged into a single page that lets you listen to audiobooks in your browser. [Source](https://github.com/smwa/wistfulbooks)
- [World Wide Web History Project](https://ipfs.io/ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ) [Source](https://github.com/ipfs/archives/issues/159)
- [xkcd](https://ipfs.io/ipns/xkcd.hacdias.com) [Source](https://github.com/ipfs/archives/issues/21)
- [yarchive.net](https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK) [Source](https://github.com/ipfs/archives/issues/76)
## Services
- [Boom.FYI](https://www.boom.fyi) - An IPFS link shortening and access control service.
- [Crust Network](https://crust.network) - Decentralized pinning and gateway service for IPFS.
- [Eternum](https://www.eternum.io/) - Paid pinning service with an easy-to-use API.
- [Fission](https://fission.codes) - App and website hosting powered by IPFS, including DNS automation, identity, and end-to-end encryption.
- [Fleek](http://fleek.co/) - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer. [Source](https://github.com/FleekHQ)
- [IPFSBay](https://www.ipfsbay.com) - Unstoppable marketplace in the IPFS network.
- [Monaparty](https://www.monaparty.me/) - Token assets platform based on Monacoin and Counterparty. Contents bound to user assets are hosted by IPFS.
- [Peergos](https://peergos.org) - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends. [Source](https://github.com/Peergos/Peergos)
- [Pinata](https://pinata.cloud) - Build and manage your dapp through Pinatas REST API and IPFS toolkit.
- [Robonomics Network](https://robonomics.network/) - Ethereum network infrastructure for cyber-physical systems' integration into Smart Cities and Industry 4.0
- [Temporal](https://temporal.cloud) - Scalable IPFS Infrastructure with free starter package featuring turnkey APIs, toolkits and storage.
- [Unstoppable Domains](https://unstoppabledomains.com) - Domains on blockchains
## Tools ## Tools
- [Almonit Browser Extension](https://almonit.com/#/extension/) - Resolves ENS domains, this let users access .eth websites while offering maximum decentralization. [Source](https://github.com/almonit/almonit-plugin) - [bifrost-gateway](https://github.com/ipfs/bifrost-gateway) - [EXPERIMENTAL] A lightweight IPFS Gateway daemon backed by a remote data store.
- [Blockwatch](https://ipfs.io/ipfs/QmdikpwcyeBuGaVzWzSzPuqvBfTGD8jPAVydcCjYHsBUxo/index.html) - Monitor the current block number of the Ethereum blockchain, and set alerts (stored locally using PouchDB in your browser) for when certain block heights are passed. [Source](https://github.com/MidnightLightning/ethereum-blockwatch)
- [Bubble IPFS From URL Plugin](https://bubble.io/plugin/ipfs-add-from-uri-1616424944051x638386852081172500) - Bubble (no code platform) plugin for IPFS From URL integration
- [cachewarmer](https://github.com/BrendanBenshoof/cachewarmer) - Donate ipfs gateways to cache other people's content
- [create-ipfs-app](https://github.com/alexbakers/create-ipfs-app) - Set up a decentralized web3 app by running one command. - [create-ipfs-app](https://github.com/alexbakers/create-ipfs-app) - Set up a decentralized web3 app by running one command.
- [galacteek](https://galacteek.github.io) - A multi-platform Qt5-based browser for the distributed web [Source](https://github.com/pinnaculum/galacteek) - [dScan](https://github.com/p2plabsxyz/dscan) - A browser extension that uploads the content to Web3.Storage and generates QR codes for CIDs.
- [gatsby-plugin-ipfs](https://github.com/moxystudio/gatsby-plugin-ipfs) - Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative. - [gatsby-plugin-ipfs](https://github.com/moxystudio/gatsby-plugin-ipfs) - Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative.
- [git-remote-ipfs](https://github.com/cryptix/git-remote-ipfs) - push/pull repositories from/to IPFS - [git-ipfs-rehost](https://github.com/whyrusleeping/git-ipfs-rehost) - A script to rehost your git repos in ipfs.
- [git-remote-ipfs](https://github.com/cryptix/git-remote-ipfs) - push/pull repositories from/to IPFS.
- [Git IPFS Remote Bridge](https://github.com/ElettraSciComp/Git-IPFS-Remote-Bridge) - set of programs written in Python 3 which allow Git user to clone, push, fetch, self-host or release Git repositories over IPFS decentralized data storage system.
- [go-orbit-db](https://github.com/berty/go-orbit-db) - This is a Golang port of OrbitDB that intends to be fully compatible with the original JavaScript version. OrbitDB is a serverless, distributed, peer-to-peer database. - [go-orbit-db](https://github.com/berty/go-orbit-db) - This is a Golang port of OrbitDB that intends to be fully compatible with the original JavaScript version. OrbitDB is a serverless, distributed, peer-to-peer database.
- [go-stellar-ipfs](https://github.com/aanupam23/go-stellar-ipfs) - go-stellar-ipfs is a library that is a bridge between Stellar and IPFS. - [gomobile-ipfs](https://github.com/ipfs-shipyard/gomobile-ipfs) - IPFS and libp2p on Mobile, with Gomobile.
- [gomobile-ipfs](https://github.com/ipfs-shipyard/gomobile-ipfs) - IPFS and libp2p on Mobile, with Gomobile
- [http2ipfs](https://github.com/jbenet/http2ipfs-web) - This is a simple webtool to add URLs to an IPFS node. - [http2ipfs](https://github.com/jbenet/http2ipfs-web) - This is a simple webtool to add URLs to an IPFS node.
- [ipcat](https://github.com/noffle/ipcat) - :cat2: Retrieve IPFS object data and send it to stdout. - [IPDR](https://github.com/miguelmota/ipdr) - IPFS-backed Docker Registry.
- [IPDR](https://github.com/miguelmota/ipdr) - IPFS-backed Docker Registry - [IPFS Setup Action](https://github.com/ibnesayeed/setup-ipfs) - A GitHub Action to install and initialize go-ipfs to provision a cross-platform test environment on GitHub's CI platform.
- [IPFS Setup Action](https://github.com/marketplace/actions/ipfs-setup-action) - A GitHub Action to install and initialize go-ipfs to provision a cross-platform test environment on GitHub's CI platform. [Source](https://github.com/ibnesayeed/setup-ipfs)
- [ipfs-action](https://github.com/aquiladev/ipfs-action) - GitHub Action for delivery of static websites. - [ipfs-action](https://github.com/aquiladev/ipfs-action) - GitHub Action for delivery of static websites.
- [ipfs-add-from-encrypted](https://github.com/TroyWilson1/ipfs-add-from-encrypted) - Encrypt a file or directory with AES256 then add to IPFS - [ipfs-add-from-encrypted](https://github.com/TroyWilson1/ipfs-add-from-encrypted) - Encrypt a file or directory with AES256 then add to IPFS.
- [ipfs-add-from-url](https://github.com/maxlath/ipfs-add-from-url) - Add a file to IPFS from a URL instead of a file path
- [ipfs-chrome-extension](https://github.com/dylanPowers/ipfs-chrome-extension) - Chrome extension to redirect ipfs.io traffic to local gateway
- [ipfs-chrome-station](https://github.com/fbaiodias/ipfs-chrome-station) - Chrome extension to redirect ipfs.io traffic to local gateway
- [ipfs-common](https://github.com/arsyun) - Some common tools, 1.CID to human readable cid, 2.cid and block name convert, 3. read the leveldb tools. [Source](https://github.com/arsyun/ipfs-common)
- [ipfs-companion](https://github.com/ipfs/ipfs-companion) - Browser extension that simplifies access to IPFS resources. - [ipfs-companion](https://github.com/ipfs/ipfs-companion) - Browser extension that simplifies access to IPFS resources.
- [ipfs-deploy](https://github.com/agentofuser/ipfs-deploy) - Zero-config CLI to deploy static websites: cd my-static-website && npx @agentofuser/ipfs-deploy - [ipfs-deploy](https://github.com/agentofuser/ipfs-deploy) - Zero-config CLI to deploy static websites: cd my-static-website && npx @agentofuser/ipfs-deploy
- [ipfs-encrypted-share](https://github.com/whs/ipfs-encrypted-share) - Easy to use encrypted file uploader. - [ipfs-encrypted-share](https://github.com/whs/ipfs-encrypted-share) - Easy to use encrypted file uploader.
- [ipfs-gui](https://github.com/marcin212/ipfs-gui) - Windows UI integration and IPFS installer - [ipfs-mount](https://github.com/richardschneider/net-ipfs-mount) - Mount IPFS as a mapped drive on Windows.
- [ipfs-linux-service](https://github.com/dylanPowers/ipfs-linux-service) - IPFS Linux Init Daemon - [ipfs-paste](https://github.com/jbenet/ipfs-paste) - Paste stdin and clipboard to IPFS.
- [ipfs-mount](https://github.com/richardschneider/net-ipfs-mount) - Mount IPFS as a mapped drive on Windows
- [ipfs-paste](https://github.com/jbenet/ipfs-paste) - Paste stdin and clipboard to IPFS
- [ipfs-pinner](https://github.com/wabarc/ipfs-pinner) - A toolkit help upload files to IPFS pinning services. - [ipfs-pinner](https://github.com/wabarc/ipfs-pinner) - A toolkit help upload files to IPFS pinning services.
- [ipfs-publish](https://ipfs-publish.uhlir.dev) - Continuous Delivery tool for delivery of static websites from Git providers to IPFS. [Source](https://github.com/AuHau/ipfs-publish) - [ipfs-publish](https://github.com/auhau/ipfs-publish/) - Continuous Delivery tool for delivery of static websites from Git providers to IPFS.
- [ipfs-screencap](https://github.com/jbenet/ipfs-screencap) - Capture screenshots, publish them to IPFS, and copy the link to the clipboard. - [ipfs-screencap](https://github.com/jbenet/ipfs-screencap) - Capture screenshots, publish them to IPFS, and copy the link to the clipboard.
- [ipfs-video-gateway](https://ipfs.video) - Cloud-init your own IPFS gateway on a cloud provider and easily pin content through a simple web interface. [Source](https://github.com/bneijt/ipfs-video-gateway) - [ipfs-video-gateway](https://github.com/bneijt/ipfs-video-gateway) - Cloud-init your own IPFS gateway on a cloud provider and easily pin content through a simple web interface.
- [ipfscrape](https://github.com/victorbjelkholm/ipfscrape) - Scrape a webpage with all assets and put it in IPFS - [ipfsecret](https://github.com/shlemph/ipfsecret) - Encrypt and decrypt IPFS files with a secret passphrase.
- [ipfsecret](https://github.com/shlemph/ipfsecret) - Encrypt and decrypt IPFS files with a secret passphrase
- [ipget](https://github.com/ipfs/ipget) - :satellite: wget for IPFS: retrieve files over IPFS and save them locally. - [ipget](https://github.com/ipfs/ipget) - :satellite: wget for IPFS: retrieve files over IPFS and save them locally.
- [IPLD Explorer](https://explore.ipld.io) - Explore the Merkle Forest from the comfort of your browser [Source](https://github.com/ipfs-shipyard/ipld-explorer) - [IPLD Explorer](https://github.com/ipfs-shipyard/ipld-explorer) - Explore the Merkle Forest from the comfort of your browser.
- [ipns-pin](https://github.com/justicenode/node-ipns-pin) - A command-line tool to pin stuff via ipns. - [ipns-pin](https://github.com/justicenode/node-ipns-pin) - A command-line tool to pin stuff via ipns.
- [IPRedirect](https://github.com/JayBrown/IPRedirect) - Browser userscript for redirecting IPFS/IPNS addresses to your local gateway. This should work on any browser that hasn't had an extension written for it yet and has support for userscripts. - [IPRedirect](https://github.com/JayBrown/IPRedirect) - Browser userscript for redirecting IPFS/IPNS addresses to your local gateway. This should work on any browser that hasn't had an extension written for it yet and has support for userscripts.
- [iprfc](https://github.com/RTradeLtd/iprfc) - IETF RFC downloader which stores RFCs on IPFS and indexes them with RTradeLtd/Lens. - [iprfc](https://github.com/RTradeLtd/iprfc) - IETF RFC downloader which stores RFCs on IPFS and indexes them with RTradeLtd/Lens.
- [ipscend](https://github.com/diasdavid/ipscend) - Tool for hosting web apps and static websites in IPFS
- [mahuta](https://github.com/ConsenSys/Mahuta) - Mahuta is a plug and play service for your micro-service architecture allowing to collect, store and index data on IPFS and offering search functionalities (full text, query). - [mahuta](https://github.com/ConsenSys/Mahuta) - Mahuta is a plug and play service for your micro-service architecture allowing to collect, store and index data on IPFS and offering search functionalities (full text, query).
- [Multiverse](https://github.com/multiverse-vcs/go-multiverse) - Multiverse is a decentralized version control system that enables peer-to-peer software development. - [Multiverse](https://github.com/multiverse-vcs/go-multiverse) - Multiverse is a decentralized version control system that enables peer-to-peer software development.
- [orbit-db](https://github.com/orbitdb/orbit-db) - OrbitDB is a serverless, distributed, peer-to-peer database that uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers. - [orbit-db](https://github.com/orbitdb/orbit-db) - OrbitDB is a serverless, distributed, peer-to-peer database that uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers.
- [pinbot](https://github.com/whyrusleeping/pinbot) - Pin content via IRC - [Pin Tweet to IPFS](https://github.com/meandavejustice/pin-tweet-to-ipfs) - Web Extension which creates a WebArchiveZip of a tweet and adds to IPFS network.
- [Public gateway status checker](https://ipfs.fooock.com/) - Web app to check public states of IPFS gateways, including latency and gateway writable state. [Source](https://github.com/fooock/ipfs-gateway-checker) - [Public Gateway Checker](https://github.com/ipfs/public-gateway-checker) - Checks which public gateways are online or not.
- [rivet](https://github.com/wabarc/rivet) - A toolkit makes it easier to archive webpages to IPFS. - [rivet](https://github.com/wabarc/rivet) - A toolkit makes it easier to archive webpages to IPFS.
- [ShareX integration](https://github.com/ShareX/CustomUploaders/blob/master/ipfs.io.sxcu) - ShareX is a file upload and manipulation tool that has a custom integration with IPFS - [SimpleAsWater Bot](https://github.com/simpleaswater/twitter-pinbot) - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster.
- [Siderus Orion](https://orion.siderus.io) - Easy to use IPFS desktop client for macOS, Windows and Linux [Source](https://github.com/Siderus/Orion)
- [solid-ipfs](https://github.com/Eximua/solid-ipfs) - Using Solid to store IPFS Hash privately or publicly. - [solid-ipfs](https://github.com/Eximua/solid-ipfs) - Using Solid to store IPFS Hash privately or publicly.
- [Sweet IPFS](https://github.com/RHazDev/Sweet-IPFS) - Full node for Android - [Tellit](https://gitlab.com/terceranexus6/tellit) - Encrypt files before uploading them using a keypair or a passphrase.
- [Tellit](https://gitlab.com/terceranexus6/tellit) - Encrypt files before uploading them using a keypair or a passphrase - [VIPFS](https://github.com/Ideea-inc/vipfs) - Publish your Vue apps easily to IPFS.
- [VIPFS](https://github.com/Ideea-inc/vipfs) - Publish your Vue apps easily to IPFS
- [wbipfs](https://github.com/wabarc/wbipfs) - A command-line tool and Go package interface for wayback webpage to IPFS. - [wbipfs](https://github.com/wabarc/wbipfs) - A command-line tool and Go package interface for wayback webpage to IPFS.
- [youtube2ipfs](https://github.com/dokterbob/youtube2ipfs) - Download videos from YouTube (and similar video platforms) and add them to IPFS.
## Videos ## Services & Platforms
- [Distributed Apps with IPFS - Juan Benet at Fullstack Fest 2016](https://www.youtube.com/watch?v=jONZtXMu03w) - This talk breaks down how to build a dynamic app on top of IPFS with CRDTs, pub/sub, and slick UIs. It also delves into new models for distributed computation, and the ethical importance of distributing the web. - [Ceramic](https://ceramic.network/) - Ceramic combines IPFS content addressing with advanced cryptography and blockchain timestamps to guarantee security and verifiability of data.
- [IPFS Alpha - Why we must redistribute the web](https://www.youtube.com/watch?v=skMTdSEaCtA) - [dAppling](https://www.dappling.network/) - Hosting platform with automated deployments from GitHub to IPFS
- [IPFS Simply Explained](https://www.youtube.com/watch?v=5Uj6uR3fp-U) - Let's take a look at how IPFS works, how it can solve issue's like censorship and if it would really work across multiple planets! - [Fleek](http://fleek.co/) - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer.
- [Juan Benet at Stanford 2015](https://www.youtube.com/watch?v=HUVmypx9HGI) - The talk includes a broad look at The IPFS Project, and a discussion on evolving the network stack through open source protocols R & D. - [Fission](https://fission.codes) - Fission builds open source protocols and managed solutions that empower developers to construct scalable and secure software applications.
- [Textile Build Series - A Free Online Workshop](https://www.youtube.com/playlist?list=PLC8CEtJ9shDznO1tpvGe--BVEWmCKY9_Z) - A full Training Program to teach devs on how to build for the Decentralized Web. The series covers a ton of content, touch multiple parts of the IPFS stack and guides devs through building a simple DApp. - [Peergos](https://peergos.org) - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends.
- [Valist](https://www.valist.io/) - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps.
## Discussions ## Pinning services
- [4EVERLAND](https://www.4everland.org/) - 4EVERLAND is a pinning service that provides IPFS infrastructure and tooling making it easier and faster to host frontends, store data/NFT/file and fetch data with IPFS.
- [Filebase](https://filebase.com/) - Pinning data to IPFS can be hard. Filebase removes that complexity.
- [NFT.Storage](https://nft.storage/) - Free decentralized storage and bandwidth for NFTs on IPFS & Filecoin.
- [Pinata](https://pinata.cloud) - Build and manage your dapp through Pinatas REST API and IPFS toolkit.
- [Infura](https://infura.io) - Scalable and distributed storage infrastructure for your application.
- [Kriptonio](https://kriptonio.com/) - Pinning service & Web3 Platform for building Web3 apps.
- [Spheron](https://spheron.network) - Spheron offers IPFS pinning service and dedicated gateways.
- [Web3.storage](https://web3.storage/) - Simple file storage with IPFS & Filecoin.
* [CRDTs discussion](https://github.com/ipfs/notes/issues/23) ## Stale Projects
We maintain a list of no longer maintained projects for reference. If you see something on this list that's no longer maintained, please submit a pr and we'll get it into the right place.
## Want to hack on IPFS? [View the list here](./stale.md)
[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) ## Contribute
Contributions are welcome!
See the [**Contribution Guidelines**](./CONTRIBUTING.md).
## License ## License

View File

@ -2,34 +2,13 @@ const { danger, markdown, fail, warn, message } = require('danger')
const awesomeBotResults = require('./ab-results-README.md-markdown-table.json') const awesomeBotResults = require('./ab-results-README.md-markdown-table.json')
const githubMetadata = danger.git.fileMatch('.github/**') const githubMetadata = danger.git.fileMatch('.github/**')
const yamlData = danger.git.fileMatch('data/**')
const scripts = danger.git.fileMatch('scripts/**')
const src = danger.git.fileMatch('src/**')
const readme = danger.git.fileMatch('README.md') const readme = danger.git.fileMatch('README.md')
if (readme.edited) { if (readme.edited && awesomeBotResults.error) {
fail('Please do not edit the README directly. It is generated from the data in the data/ directory.') fail(awesomeBotResults.title)
markdown(awesomeBotResults.message)
} }
if (githubMetadata.edited) { if (githubMetadata.edited) {
message('Changes were made within the .github folder.') message('Changes were made within the .github folder.')
} }
if (yamlData.edited) {
message('YAML data files were edited.')
/**
* Only display awesomeBot results if the data yaml used to generate the readme have been modified.
*/
if (awesomeBotResults.error) {
fail(awesomeBotResults.title)
markdown(awesomeBotResults.message)
}
}
if (scripts.edited) {
warn('Changes were made to the scripts folder.')
}
if (src.edited) {
warn('Changes were made to the src folder.')
}

View File

@ -1,498 +0,0 @@
title: Apps
color: aqua
icon: stroke_marketing
description: Applications built with IPFS or with functionality that uses IPFS.
content:
- title: Agregore
website: https://github.com/AgregoreWeb/agregore-browser
source: https://github.com/AgregoreWeb/agregore-browser
picture: /images/agregore.svg
description: >
A minimal web browser for the distributed web.
Supports downloading/uploading data from IPFS using the browser's `fetch()` API
- title: IPFS-FPS
website: https://ipfs-fps-website.on.fleek.co/
picture: /images/ipfs-fps.png
description: >
A completely decentralized first person shooter.
Built with Unity, Fleek, Unstoppable Domans and Pinata.
- title: Peer Web Site
website: https://peerweb.site/
source: https://github.com/Weedshaker/PeerWebSite
picture: /images/peerWebSite.png
description: >
Peer to Peer Web Site hosting at your fingertips!
Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc.
- title: SimpleAsWater Bot
website: https://github.com/simpleaswater/twitter-pinbot
source: https://github.com/simpleaswater/twitter-pinbot
picture: /images/twitter-bot.png
description: >
A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster.
- title: 2read
website: https://2read.net/
source: https://github.com/meehow/2read
picture: /images/2read.svg
description: >
Convert article in current tab to readable form and upload it
to writable node(s).
- title: killcord
website: https://killcord.io/
source: https://github.com/nomasters/killcord
picture: /images/killcord.svg
description: >
A censorship resistant deadman's switch
- title: akasha
website: http://akasha.world/
description: >
A Next-Generation Social Media Network, powered by Ethereum and embedded
into IPFS.
- title: Alexandria
website: http://www.alexandria.io/
description: >
Decentralized content publishing / monetization platform.
- title: Arbore
website: http://arbo.re
description: >
A friend-to-friend file-sharing app build on top of IPFS.
- title: beets
source: https://github.com/beetbox/beets
description: >
Beets has a plugin which allows for easy sharing of music libraries
using IPFS
- title: Blokaly
source: https://github.com/blokaly
description: >
A badge issuing, sharing and display platform based on IPFS.
- title: Boards
website: https://ipfs.io/ipns/boards.ydns.eu
source: https://github.com/fazo96/ipfs-boards
description: >
Distributed social platform that runs in the browser.
- title: brig
website: https://brig.readthedocs.io/en/latest
source: https://github.com/sahib/brig
description: >
File synchronization with git like interface and FUSE filesystem.
- title: Cohort
source: https://github.com/zignig/cohort
description: >
A golang app to preset a threejs interface and get all of its assets
out of IPFS.
- title: dapple
source: https://github.com/nexusdev/dapple
description: >
Dapple is a Solidity developer multitool designed to manage the growing
complexity of interconnected smart contract systems.
- title: DeCommerce
website: https://www.ivyca.com/decommerce/
picture: /images/decommerce.jpg
description: >
Decentralized ecommerce for Web3. Allows people to transact business without middlemen.
No Middleman, no Bank, no Big Tech, no Government.
- title: Diffuse
source: https://diffuse.sh
description: >
Play music from your IPFS node, or any other cloud/distributed storage service you use.
- title: dtube
website: https://d.tube
picture: /images/dtube.png
description: >
Distributed video sharing with steem.it integrations, using ipfs for
backend storage.
- title: edChain
website: https://www.edchain.io/
source: https://github.com/edchainio/edchain-client-gui
picture: /images/edchain.png
description: >
EdChain is a global network for education and careers. It uses blockchain
and distributed web technologies to deliver educational content, even to those without broadband internet.
- title: Ethlance
website: http://ethlance.com
source: https://github.com/madvas/ethlance
description: >
First completely decentralised job market platform built on Ethereum
and IPFS.
- title: enzypt.io
website: https://enzypt.io/
source: https://github.com/flex-dapps/enzypt
picture: /images/enzypt.png
description: >
A website to buy and sell files through Ethereum and IPFS.
- title: git-ipfs-rehost
source: https://github.com/whyrusleeping/git-ipfs-rehost
description: >
A script to rehost your git repos in ipfs.
- title: Global Upload
website: https://globalupload.io/
description: >
File transportation service for IPFS, upload files to the future of
distributed web.
- title: HydrusNetwork
source: https://github.com/hydrusnetwork/hydrus
description: >
A booru-style media tagging application with a multitude of features,
recently added basic ipfs support.
- title: InterPlanetary Wayback
source: https://github.com/oduwsdl/ipwb
picture: /images/interplanetarywayback.png
description: >
Web Archive (WARC) indexing and replay using IPFS.
- title: Interplanetary Wiki
source: https://github.com/jamescarlyle/ipfs-wiki
description: >
Wiki built on top of IPFS
- title: ipcoronafs
source: https://github.com/RTradeLtd/ipcoronafs
description: >
A realtime service to scrape COVID-19 and SARS-CoV-2, storing on IPFS, DNSLink, and streaming over LibP2P pubsub
- title: IPFS Event Drop
source: https://github.com/travisperson/ipfs-event-drops
description: >
An app that allows for improved visualization of ipfs events.
- title: IPFS Drive
source: https://github.com/fazo96/ipfs-drive
description: >
In browser file manager for IPFS.
- title: ipfs.ink
source: https://github.com/kpcyrd/ipfs.ink
description: >
Publish and render markdown essays to and from ipfs.
- title: ipfs-chat
source: https://github.com/SomajitDey/ipfs-chat
description: >
Terminal-based, encrypted chatrooms. Allows private messaging & secure in-chat file/directory sharing.
Server/broker-less (no signaling/rendezvous server needed). Works over LAN/internet(w/ NAT-traversal).
- title: ipfs-search
website: https://ipfs-search.com
source: https://github.com/ipfs-search/ipfs-search
description: >
Searching the universe since 2016.
Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available.
- title: ipfs-share
source: https://github.com/rameshvarun/ipfs-share
description: >
Pastebin/Image host/File sharing application
- title: ipfs.pics
source: https://github.com/ipfspics/ipfspics-server
description: >
Upload and share pics.
- title: IPFSBin
source: https://github.com/victorbjelkholm/ipfsbin
description: >
Pastebin clone build.
- title: IPGit
source: https://github.com/meyer1994/ipgit
description: >
Remote Git repository that mirrors your code to IPFS
- title: IpJot
website: https://ipjot.herokuapp.com/
description: >
Creates short notes, stories, books, poems, conversations on IPFS.
- title: IPSE
website: https://www.ipse.io/
description: >
A search engine for the IPFS network.
- title: markup.rocks
website: https://ipfs.io/ipfs/QmWPgJnUGLB1LPh9KMG9LEN4LVu5e17TwkEtcmTWdNn9V6/#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u
source: https://github.com/davidar/markup.rocks
description: >
Pandoc-based markup editor/previewer/converter, ported to IPFS.
- title: Orbit
website: https://orbit.chat
source: https://github.com/haadcode/orbit
picture: /images/orbit.png
description: >
Distributed, peer-to-peer chat application on IPFS.
- title: Partyshare
website: https://busterlabs.github.io/Partyshare
source: https://github.com/BusterLabs/Partyshare
picture: /images/Partyshare_Logo.png
description: >
A simple file sharing desktop app.
- title: Playback
source: https://mafintosh.github.io/playback/
description: >
IPFS playback support. This allows casting a video in IPFS to a Chromecast.
- title: PushToTalk
website: http://timothy.hobbs.cz/push-to-talk/index.html
description: >
Push to Talk lets you edit audio essays and publish them with IPFS.
- title: qri
website: https://qri.io
source: https://github.com/qri-io/qri
description: >
Dataset version control, discovery and collaboration tools (free, open-source). [Project is winding down]
- title: QuestNetwork Messenger
website: https://github.com/QuestNetwork/quest-messenger-js
source: https://github.com/QuestNetwork/quest-messenger-js
description: >
Multi-Platform End-To-End Encrypted Messenger on IPFS PubSub. Emulates Servers/Community with folders that can be shared using invitation codes. It's free and open source. On track to become the most comprehensive and user-friendly messenger on IPFS.
- title: ujo
website: http://ujomusic.com/
description: >
A blockchain marketplace for musicians.
- title: uport
website: https://www.uport.me
description: >
Uport is a mobile, self-sovereign identity and key management system,
built on the Ethereum blockchain.
- title: IPFessay
website: https://gitlab.com/stavros/IPFessay
description: >
A simple way to publish uncensorable essays on IPFS.
- title: Hardbin
source: https://github.com/jes/hardbin
description: >
Hardbin is an encrypted pastebin, with the decryption key passed in
the URL fragment
- title: Gorilla REPL viewer
source: https://github.com/keorn/ipfs-gorilla-repl
description: >
Gorilla is a rich REPL for Clojure in the notebook style.
- title: a markdown renderer
source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/markdown-viewer
demo: https://ipfs.io/ipfs/QmSrCRJmzE4zE1nAfWPbzVfanKQNBhp7ZWmMnEdbiLvYNh/mdown#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u
- title: a js video player
source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/play
demo: https://ipfs.io/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXs
- title: a qr-code renderer
source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/qr-render
demo: https://ipfs.io/ipfs/QmccqhJg5wm5kNjAP4k4HrYxoqaXUGNuotDUqfvYBx8jrR/qr#enter%20text%20here
- title: TallyLab
website: https://tallylab.com/
picture: /images/tallylab.jpg
description: >
Local-first, end-to-end encrypted data diary app for capturing, analyzing, and sharing data about any and everything.
- title: Temporal
source: https://github.com/RTradeLtd/Temporal
description: >
Temporal is an easy to use API and platform for integrating IPFS and other
distributed/decentralized storage technologies into enterprise applications
- title: Textile Photos
website: https://www.textile.photos
source: https://github.com/textileio/textile-mobile
picture: /images/textilephotos.png
description: >
Textile Photos is a secure, mobile digital wallet for your photos.
- title: Pathephone
website: https://pathephone.github.io
description: Distributed music streaming app.
- title: Origin Protocol
website: https://demo.originprotocol.com/
source: https://github.com/OriginProtocol/demo-dapp
description: >
Distributed sharing economy marketplace with images, metadata, and ERC 725 data stored on IPFS.
- title: ipfs-md-wiki
source: https://github.com/daijiale/ipfs-md-wiki
description: Build your wiki system base on ipfs and markdown.
- title: infura.io
website: https://infura.io
picture: /images/infura.png
description: >
An Infrastructure: use API and developer tools provide secure, reliable, and
scalable access to Ethereum and IPFS to help build decentralized application easier.
- title: OpenBazaar
website: https://github.com/OpenBazaar
source: https://github.com/OpenBazaar
description: >
OpenBazaar was an open source project developing a protocol for
e-commerce transactions in a fully decentralized marketplace.
- title: Peer Bandwidth Demo
website: https://ipfs.io/ipfs/QmVaVXbLdw4R5NqAiiQoTWtitxo5g7FS31PQmCLbH9p8Fu/
source: https://github.com/tableflip/ipfs-peer-bw-example
picture: /images/peer-bandwidth-demo.jpg
description: >
An demo app that uses window.ipfs, provided by the IPFS Companion web extension to get and graph bandwidth info for your IPFS node
- title: PubSub Chat Demo
website: https://ipfs.io/ipfs/QmWZ3u5S7RjFXKfW6dSZhj7CozcvpqJxm48RYMmKkWcmNQ/
source: https://github.com/tableflip/ipfs-pubsub-chat-example
picture: /images/pubsub-chat-demo.png
description: >
A ~76KB demo chat app that uses window.ipfs, provided by the IPFS Companion web extension
- title: Pugdit
website: https://github.com/zbyte64/pugdit
source: https://github.com/zbyte64/pugdit
description: >
A bulletin board service that discovers and distributes over IPFS
- title: Peer Map Demo
website: https://ipfs.io/ipfs/QmRPGCmLKH2dQmNiPRsiuYS9EhhJL1Gmkz5F75gKY1K4Bm/
source: https://github.com/tableflip/ipfs-peer-map-example
picture: /images/peer-map-demo.jpg
description: >
A map of IPv4 IPFS peers that uses window.ipfs
- title: IPFS ID and Public Key QR Codes Demo
website: https://ipfs.io/ipfs/zdj7Whr8X3zah99TSuyPjENaERcBW9C7B36EaCb1DEZ5pbbL9/
source: https://github.com/ipfs-shipyard/demo-ipfs-id-qr-codes
picture: /images/id-qr-code.png
description: >
A demo app that uses windows.ipfs to show you a QR Code of your IPNS Link and of your Public Key.
- title: ToDo List Demo
website: https://ipfs.io/ipfs/QmSGQrmvHe6fFiWdV2H8YnhLaoX4qe5nYEmJfUFx6LdUYa/
source: https://github.com/ipfs-shipyard/demo-ipfs-todo
picture: /images/todo-demo.png
description: >
A ToDo List demo app that uses windows.ipfs.
- title: IPFS Desktop
source: https://github.com/ipfs-shipyard/ipfs-desktop
picture: /images/ipfs-desktop.png
description: >
Run your IPFS node on your machine without having to bother with command line tools.
Manage your node, add your files, easily change the settings... everything from
just one interface.
- title: 3Box
website: https://3box.io
source: https://github.com/uport-project/3box
picture: /images/3box.png
description: >
Create and manage your Ethereum Profile, and your personal data. Use the 3box-js
library to integrate profiles into your dapp.
- title: Autonomica "IPFS Social Proof"
source: https://github.com/IBM/ipfs-social-proof
description: >
Autonomica is a Keybase-like Dapp for creating an identity and proving this identity via published social media and web proofs.
- title: xfce-screenshooter-ipfs-support
source: https://github.com/amar-laksh/xfce-screenshooter-ipfs-support
description: >
A fork of xfce-screenshooter with IPFS support!
- title: Request
website: https://request.network/
source: https://github.com/RequestNetwork/requestNetwork
picture: /images/request.svg
description: >
Decentralized network for financial transactions.
- title: KDE-DolphinServiceMenu-IPFS
source: https://github.com/amar-laksh/KDE-DolphinServiceMenu-IPFS
description: >
Service Menu for Dolphin File Manager to upload files to IPFS
The open network for transaction requests.
- title: Discussify
source: https://github.com/ipfs-shipyard/discussify-browser-extension
description: >
Discussify provides a real-time, peer to peer, and permanent discussion platform
for anyone to join and participate.
- title: AirSecure
source: https://github.com/airsecure/airsecure
description: >
Decentralized two factor authentication app built on Textile & IPFS.
- title: DtinyUrl
source: https://github.com/facert/dtinyurl
description: >
Decentralized URL shortening service based on IPFS.
- title: Wistful Books
website: https://wistfulbooks.com/
source: https://github.com/smwa/wistfulbooks
description: >
Single page offline application for enjoying librivox.org audio books.
- title: Peergos
website: https://peergos.org
source: https://github.com/Peergos/Peergos
picture: /images/peergos.png
description: >
End-to-end encrypted, peer-to-peer file storage and sharing.
- title: Minerva
source: https://github.com/bdchain/Minerva
description: >
Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine.
- title: IPFS Image Uploader
website: https://ipfs.talaikis.com/
source: https://github.com/TalaikisInc/ipfs-uploader
description: >
IPFS image uploader and viewer.
Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine.
- title: IPFS with TiddlyWiki
source: https://github.com/xmaysonnave/tiddlywiki-ipfs
description: >
IPFS with TiddyWiki is a TiddlyWiki plugin who aims to help developers, editors or users to save their wikis and attachments over IPFS.
- title: Kauri
source: https://kauri.io
picture: /images/kauri_io.png
description: >
A community-based knowledge platform for web3 technologies built on top of IPFS and Ethereum. Learn, share and curate on up-to-date and high-quality technical articles and series.
- title: Skyhook
source: https://github.com/deedeecx330/skyhook
description: >
Send and receive files securely
- title: Everforo
website: https://www.everforo.com
description: >
Everforo is the next generation of online community groups build on top of IPFS.
- title: IPFS-forum
website: https://github.com/ReForum-ipfs/ReForum#readme
source: https://github.com/ReForum-ipfs/ReForum
description: >
A web3 forum.You can get new ideas,reports,dicussions from this forum ,though you maybe are in a network-restricted area,all the contents will be updated qucikly by ipfs.
- title: Watchit
website: https://github.com/ZorrillosDev/watchit-desktop
source: https://github.com/ZorrillosDev/watchit-desktop
picture: /images/watchit.png
description: >
A movie platform with a decentralized network approach.
- title: La Marque
website: https://marque.la/
picture: /images/lamarque.png
description: >
Generate & pin content from your phone. Validate "La Marque" assets by verifying received images from others.
- title: Uniswap
website: https://uniswap.org/
source: https://github.com/Uniswap
picture: /images/UniswapCard.png
description: >
Decentralized Trading Protocol built on Ethereum.
- title: youtube2ipfs
website: https://pypi.org/project/youtube2ipfs/
source: https://github.com/dokterbob/youtube2ipfs
description: >
Download videos from YouTube (and similar video platforms) and add them to IPFS.
- title: P2Pdoc
website: https://p2pdoc.glitch.me/
source: https://github.com/aboutDavid/p2pdoc
picture: /images/p2pdoc.png
description: >
P2Pdoc allows you to create a document and then upload it to the distributed web.
- title: Valist
website: https://valist.io
source: https://github.com/valist-io/valist
picture: /images/valist.png
description: >
A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps.
- title: Terrive
website: https://ipfs.io/ipns/terrive.one
source: https://github.com/appukuttan66/terrive
picture: /images/terrive.png
description: >
A Photo and Video Sharing Platform that uses the HIVE blockchain as a database and Immutable Image/Video Hosting.
- title: Skiff
website: https://www.skiff.com
source: https://github.com/skiff-org/skiff-mail
picture: /images/skiff.png
description: >
Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage.
- title: CoTNetwork
website: http://www.cotnetwork.com
picture: /images/cotnetwork.png
description: >
A distributed computing network base on ipfs
- title: Music For Programming
website: https://ipfs.io/ipns/mfp.jillejr.tech
source: https://github.com/jilleJr/musicforprogramming.ipfs
picture: /images/musicforprogramming.jpg
description: >
Unofficial port of musicforprogramming.net.
- title: InfiniteBooru
source: https://infinitebooru.com
picture: /images/infinitebooru.png
description: >
A booru-style media tagging application and content aggregator
with all media backed by IPFS.
- title: InfinitumX
source: https://infinitumx.io
picture: /images/infinitumx.png
description: >
A decentralized "Reddit Place" like board with Harberger's tax as an economical concept & censorship resistance built in.
- title: OrbitChat
source: https://orbitchat.dev
picture: /images/orbitchat-dev.webp
description: >
Decentralized message client demo with OrbitDB and IPFS running on an Angular web app.

View File

@ -1,60 +0,0 @@
title: Articles
color: navy
icon: stroke_pencil
description: Articles about the decentralized web and IPFS.
content:
- title: "How to Create a Unity Game on IPFS using Pinata"
date: "2020-08-03"
website: https://medium.com/pinata/how-to-create-a-unity-game-on-ipfs-using-pinata-d0af18a5bd44
picture: /images/unity-game-pinata.png
- title: 10+ Resources Every IPFS Developer Should Know About
date: "2019-07-22"
website: https://medium.com/@vaibhavsaini_67863/10-resources-to-get-started-with-ipfs-5f429dc8a841
- title: Ultimate Guide to Filecoin Breaking Down Filecoin Whitepaper & Economics
date: "2019-01-30"
website: https://medium.com/swlh/ultimate-guide-to-filecoin-breaking-down-filecoin-whitepaper-economics-9212541a5895
- title: Using IPFS for IoT Communications
date: "2017-03-31"
website: https://medium.com/@chrismatthieu/using-ipfs-for-iot-communications-b49c2139783a
- title: "IPFS: The Internet Democratised"
date: "2016-09-12"
website: https://medium.com/@tonywillenberg/web-3-0-a-truly-democratised-internet-f4b06cb4077b
- title: Changelog Podcast
date: "2016-05-20"
website: https://changelog.com/podcast/204/
- title: Introduction to IPFS
date: "2015-09-13"
website: http://whatdoesthequantsay.com/2015/09/13/ipfs-introduction-by-example
- title: The InterPlanetary File System Wants to Create a Permanent Web
date: "2015-09-18"
website: http://motherboard.vice.com/read/the-interplanetary-file-system-wants-to-create-a-permanent-web
- title: HTTP is obsolete. It's time for the distributed, permanent web
date: "2015-09-08"
website: https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html
- title: Downloading nodejs versions with nvm/n over IPFS
website: https://ipfs.io/ipfs/QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/example#/ipfs/QmUx363UFtgiQqkHHsPK3TSDmwoALDo2hrbMWbcxjH2vFc
- title: On future-proof cryptographic hashes
date: "2018-07-11"
website: https://pascalprecht.github.io/posts/future-proofed-hashes-with-multihash/
- title: Content Identifiers in IPFS
date: "2018-08-06"
website: https://pascalprecht.github.io/posts/content-identifiers-in-ipfs/
- title: Decentralized indexes for public genomic data
date: "2017-05-05"
website: https://github.com/luizirber/2017-recomb
- title: Understanding the IPFS White Paper part 1
date: "2017-08-10"
website: https://decentralized.blog/understanding-the-ipfs-white-paper-part-1.html
- title: Understanding the IPFS White Paper part 2
date: "2017-08-21"
website: https://decentralized.blog/understanding-the-ipfs-white-paper-part-2.html
- title: "The Complete Beginner's Guide to Deploying Your First Static Website to IPFS"
date: "2019-05-12"
website: https://dev.to/agentofuser/the-complete-beginner-s-guide-to-deploying-your-first-static-website-to-ipfs-33po
picture: /images/tutorial-ipfs-deploy.jpeg
- title: "Managing storage in a Java application with IPFS"
date: "2019-08-14"
website: https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926
- title: The Case for a Decentralized Social Network
date: "2019-03-10"
website: https://medium.com/npfoss/the-case-for-a-decentralized-social-network-2683b727abf5

View File

@ -1,139 +0,0 @@
title: Datasets
color: teal
icon: stroke_copy
description: Datasets who live or are replicated to IPFS.
content:
- title: IETF RFC Archive
hash: /ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM
website: https://ipfs.io/ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM
source: https://github.com/ipfs/archives/issues/18
size: 500MB
- title: xkcd
hash: /ipns/xkcd.hacdias.com
snapshot:
hash: /ipfs/QmP7UYTMQFhsiRHfbgPgEngALzXWroSRVkEyWSbJTd23yf
date: 15/07/2019
website: https://ipfs.io/ipns/xkcd.hacdias.com
source: https://github.com/ipfs/archives/issues/21
description:
size: 242MB
- title: Old Internet Files
hash: /ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp
website: https://ipfs.io/ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp
source: https://github.com/ipfs/archives/issues/176
description:
size: 207MB
- title: yarchive.net
hash: /ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK
website: https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK
source: https://github.com/ipfs/archives/issues/76
description:
size: 196MB
- title: World Wide Web History Project
hash: /ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ
website: https://ipfs.io/ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ
source: https://github.com/ipfs/archives/issues/159
description:
size: 92MB
- title: haveibeenpwnd.com passwords
hash: /ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv
website: https://ipfs.io/ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv
source: https://github.com/ipfs/archives/issues/157
description:
size: 43.5GB
- title: MDSConnect
hash: /ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5
website: https://ipfs.io/ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5
source: https://github.com/ipfs/archives/issues/152
description:
size: 18.4GB
- title: arXiv
hash: /ipfs/QmfXH9XtP7xmoTH8WAp4HNSduqWMwLTH8B8TvbTkdgzNAa
website: https://ipfs.io/ipfs/QmfXH9XtP7xmoTH8WAp4HNSduqWMwLTH8B8TvbTkdgzNAa
source: https://github.com/ipfs/archives/issues/2
description:
size: 25GB
- title: Presidential Daily Briefs
hash: /ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89
website: https://ipfs.io/ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89
source: https://github.com/ipfs/archives/issues/23
description:
size: 480MB
- title: No-Intro Collection
hash: /ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy
website: https://ipfs.io/ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy
source: https://github.com/ipfs/archives/issues/163
description:
size: 39.15 GB
- title: cdnjs
hash: /ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX
website: https://ipfs.io/ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX
source: https://github.com/ipfs/archives/issues/35
description:
size: 17GB
- title: alpine-linux 3.4 packages
hash: /ipfs/QmRsvEpJggeu4HhoafzRFobV4sbwVVTXMrdb2p8XWv7bCS
website: https://ipfs.io/ipfs/QmRsvEpJggeu4HhoafzRFobV4sbwVVTXMrdb2p8XWv7bCS
source: https://github.com/ipfs/archives/issues/83
description:
size: 29GB
- title: Project Apollo Archives
hash: /ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D
website: https://ipfs.io/ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D
source: https://github.com/ipfs/archives/issues/143
description:
size: 61GB
- title: textfiles.com
hash: /ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU
website: https://ipfs.io/ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU
source: https://github.com/ipfs/archives/issues/155
description:
size: 1.6GB
- title: cdn.media.ccc.de
hash: /ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb
website: https://ipfs.io/ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb
source: https://github.com/ipfs/archives/issues/52
description:
size: 5.4TiB
- title: Geocities by Archive Team
hash: /ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox
website: https://ipfs.io/ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox
source: https://github.com/ipfs/archives/issues/182
description:
size: 641GiB
- title: KinoKabaret Caen, 2018 - Shortfilms
hash: /ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39
website: https://ipfs.io/ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39
source: https://github.com/ipfs/archives/issues/172
description:
size: 30GB
- title: Brainwash Dataset
hash: /ipfs/QmZ8BpYCtcPeA5g6uXciNXN395WeqZYNVNvz4xvBxsfxqy
website: https://purl.stanford.edu/sx925dc9385
source: https://purl.stanford.edu/sx925dc9385
description: Stewart, Russell. (2015). Brainwash dataset.
size: 4GB
- title: 'WistfulBooks: LibriVox Audiobook Archive'
hash: /ipfs/QmXyNMhV8bQFp6wzoVpkz3NqDi7Fj72Deg7KphAuew3RYU
website: https://wistfulbooks.com
source: https://github.com/smwa/wistfulbooks
description: Free public domain audiobooks from LibriVox.org packaged into a single page that lets you listen to audiobooks in your browser.
size: 2.0 TiB
- title: 'Cooking Recipes'
hash: /ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB
website: https://ipfs.io/ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB
source: https://old.reddit.com/r/opendirectories/comments/dsznin/50_gb_directory_of_cooking_recipes/
description: Around 50GB of formatted and unformatted cooking recipes.
size: 52GB
- title: '7-piece Syzygy tablebases'
hash: /ipfs/QmVgcSADsoW5w19MkL2RNKNPGtaz7UhGhU62XRm6pQmzct
website: https://syzygy-tables.info/
source: https://github.com/syzygy1/tb
description: Solutions for all chess endgames with up to 7 pieces.
size: 16.9 TiB
- title: CrowdHuman Dataset
hash: /ipfs/QmTgBpFRM1K4gGyLKSv7tJnEkZZcEQcswnGDdBYkCRu6Vw
website: http://www.crowdhuman.org/
source: http://www.crowdhuman.org/download.html
description: CrowdHuman dataset. A Benchmark for Detecting Human in a Crowd
size: 13GB

View File

@ -1,64 +0,0 @@
title: Services
color: green
icon: stroke_decentralization
description: Services that make use of IPFS technologies.
content:
- title: Peergos
website: https://peergos.org
source: https://github.com/Peergos/Peergos
picture: /images/peergos.png
description: >
Your private, but social, space online. Store and edit documents and media. Share files or folders with friends.
- title: Pinata
website: https://pinata.cloud
picture: /images/pinata.png
description: >
Build and manage your dapp through Pinatas REST API and IPFS toolkit.
- title: Eternum
website: https://www.eternum.io/
picture: /images/eternum.png
description: >
Paid pinning service with an easy-to-use API.
- title: Robonomics Network
website: https://robonomics.network/
picture: /images/1_Robonomics_logo_color.png
description: Ethereum network infrastructure for cyber-physical systems' integration into Smart Cities and Industry 4.0
- title: Boom.FYI
website: https://www.boom.fyi
picture: /images/boom-fyi.svg
description: An IPFS link shortening and access control service.
- title: Temporal
website: https://temporal.cloud
picture: /images/temporal.png
description: Scalable IPFS Infrastructure with free starter package featuring turnkey APIs, toolkits and storage.
- title: Unstoppable Domains
website: https://unstoppabledomains.com
picture: /images/unstoppable-domains-app.png
description: >
Domains on blockchains
- title: Fission
website: https://fission.codes
picture: /images/fission500px.png
description: >
App and website hosting powered by IPFS, including DNS automation, identity, and end-to-end encryption.
- title: Monaparty
website: https://www.monaparty.me/
picture: /images/monaparty.png
description: >
Token assets platform based on Monacoin and Counterparty. Contents bound to user assets are hosted by IPFS.
- title: Fleek
website: http://fleek.co/
source: https://github.com/FleekHQ
picture: /images/darkfleek.png
description: >
Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer.
- title: IPFSBay
website: https://www.ipfsbay.com
picture: /images/ipfsbay.png
description: >
Unstoppable marketplace in the IPFS network.
- title: Crust Network
website: https://crust.network
picture: /images/crustnetwork.png
description: >
Decentralized pinning and gateway service for IPFS.

View File

@ -1,199 +0,0 @@
title: Tools
color: yellow
icon: stroke_code
description: Tools built on the top of IPFS.
content:
- title: Almonit Browser Extension
website: https://almonit.com/#/extension/
source: https://github.com/almonit/almonit-plugin
picture: /images/almonit.jpg
description: Resolves ENS domains, this let users access .eth websites while offering maximum decentralization.
- title: Tellit
source: https://gitlab.com/terceranexus6/tellit
description: Encrypt files before uploading them using a keypair or a passphrase
- title: VIPFS
source: https://github.com/Ideea-inc/vipfs
description: Publish your Vue apps easily to IPFS
- title: Sweet IPFS
source: https://github.com/RHazDev/Sweet-IPFS
description: Full node for Android
- title: go-stellar-ipfs
source: https://github.com/aanupam23/go-stellar-ipfs
description: go-stellar-ipfs is a library that is a bridge between Stellar and IPFS.
- title: cachewarmer
source: https://github.com/BrendanBenshoof/cachewarmer
description: Donate ipfs gateways to cache other people's content
- title: create-ipfs-app
source: https://github.com/alexbakers/create-ipfs-app
description: Set up a decentralized web3 app by running one command.
- title: gatsby-plugin-ipfs
source: https://github.com/moxystudio/gatsby-plugin-ipfs
description: Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative.
- title: galacteek
website: https://galacteek.github.io
source: https://github.com/pinnaculum/galacteek
description: A multi-platform Qt5-based browser for the distributed web
- title: git-remote-ipfs
source: https://github.com/cryptix/git-remote-ipfs
description: push/pull repositories from/to IPFS
- title: http2ipfs
source: https://github.com/jbenet/http2ipfs-web
description: This is a simple webtool to add URLs to an IPFS node.
- title: IPLD Explorer
website: https://explore.ipld.io
source: https://github.com/ipfs-shipyard/ipld-explorer
picture: /images/ipld-explorer.png
description: >
Explore the Merkle Forest from the comfort of your browser
- title: ipcat
source: https://github.com/noffle/ipcat
description: ":cat2: Retrieve IPFS object data and send it to stdout."
- title: ipfs-chrome-station
source: https://github.com/fbaiodias/ipfs-chrome-station
description: Chrome extension to redirect ipfs.io traffic to local gateway
- title: ipfs-chrome-extension
source: https://github.com/dylanPowers/ipfs-chrome-extension
description: Chrome extension to redirect ipfs.io traffic to local gateway
- title: ipfs-companion
source: https://github.com/ipfs/ipfs-companion
picture: /images/companion.png
description: Browser extension that simplifies access to IPFS resources.
- title: ipfs-gui
source: https://github.com/marcin212/ipfs-gui
description: Windows UI integration and IPFS installer
- title: ipfs-paste
source: https://github.com/jbenet/ipfs-paste
description: Paste stdin and clipboard to IPFS
- title: ipfs-screencap
source: https://github.com/jbenet/ipfs-screencap
description: Capture screenshots, publish them to IPFS, and copy the link to the
clipboard.
- title: ipfscrape
source: https://github.com/victorbjelkholm/ipfscrape
description: Scrape a webpage with all assets and put it in IPFS
- title: ipget
source: https://github.com/ipfs/ipget
description: ":satellite: wget for IPFS: retrieve files over IPFS and save them
locally."
- title: IPRedirect
source: https://github.com/JayBrown/IPRedirect
description: Browser userscript for redirecting IPFS/IPNS addresses to your local
gateway. This should work on any browser that hasn't had an extension written
for it yet and has support for userscripts.
- title: iprfc
source: https://github.com/RTradeLtd/iprfc
description: IETF RFC downloader which stores RFCs on IPFS and indexes
them with RTradeLtd/Lens.
- title: ipscend
source: https://github.com/diasdavid/ipscend
description: Tool for hosting web apps and static websites in IPFS
- title: pinbot
source: https://github.com/whyrusleeping/pinbot
description: Pin content via IRC
- title: ipfs-mount
source: https://github.com/richardschneider/net-ipfs-mount
description: Mount IPFS as a mapped drive on Windows
- title: ipfs-add-from-url
source: https://github.com/maxlath/ipfs-add-from-url
description: Add a file to IPFS from a URL instead of a file path
- title: ipfs-linux-service
source: https://github.com/dylanPowers/ipfs-linux-service
description: IPFS Linux Init Daemon
- title: Siderus Orion
picture: /images/orion.png
website: https://orion.siderus.io
source: https://github.com/Siderus/Orion
description: Easy to use IPFS desktop client for macOS, Windows and Linux
- title: ipfsecret
source: https://github.com/shlemph/ipfsecret
description: Encrypt and decrypt IPFS files with a secret passphrase
- title: ipfs-add-from-encrypted
source: https://github.com/TroyWilson1/ipfs-add-from-encrypted
description: Encrypt a file or directory with AES256 then add to IPFS
- title: Blockwatch
website: https://ipfs.io/ipfs/QmdikpwcyeBuGaVzWzSzPuqvBfTGD8jPAVydcCjYHsBUxo/index.html
source: https://github.com/MidnightLightning/ethereum-blockwatch
description: >
Monitor the current block number of the Ethereum blockchain, and set alerts (stored locally using
PouchDB in your browser) for when certain block heights are passed.
- title: ipfs-common
website: https://github.com/arsyun
source: https://github.com/arsyun/ipfs-common
description: >
Some common tools, 1.CID to human readable cid, 2.cid and block name convert, 3. read the leveldb tools.
- title: ipfs-publish
picture: /images/ipfs-publish.png
website: https://ipfs-publish.uhlir.dev
source: https://github.com/AuHau/ipfs-publish
description: Continuous Delivery tool for delivery of static websites from Git providers to IPFS.
- title: mahuta
website: https://github.com/ConsenSys/Mahuta
source: https://github.com/ConsenSys/Mahuta
description: >
Mahuta is a plug and play service for your micro-service architecture allowing to collect, store and index data on IPFS and offering search functionalities (full text, query).
- title: Public gateway status checker
website: https://ipfs.fooock.com/
source: https://github.com/fooock/ipfs-gateway-checker
description: Web app to check public states of IPFS gateways, including latency and gateway writable state.
- title: IPDR
website: https://github.com/miguelmota/ipdr
description: IPFS-backed Docker Registry
- title: 'ipfs-deploy'
website: https://github.com/agentofuser/ipfs-deploy
source: https://github.com/agentofuser/ipfs-deploy
description: 'Zero-config CLI to deploy static websites: cd my-static-website && npx @agentofuser/ipfs-deploy'
picture: /images/ipfs-deploy.png
- title: ipfs-video-gateway
website: https://ipfs.video
source: https://github.com/bneijt/ipfs-video-gateway
description: Cloud-init your own IPFS gateway on a cloud provider and easily pin content through a simple web interface.
- title: orbit-db
website: https://github.com/orbitdb/orbit-db
source: https://github.com/orbitdb/orbit-db
description: OrbitDB is a serverless, distributed, peer-to-peer database that uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers.
picture: /images/orbit-db.png
- title: go-orbit-db
website: https://github.com/berty/go-orbit-db
source: https://github.com/berty/go-orbit-db
description: This is a Golang port of OrbitDB that intends to be fully compatible with the original JavaScript version. OrbitDB is a serverless, distributed, peer-to-peer database.
- title: ipfs-action
picture: /images/ipfs-action.png
source: https://github.com/aquiladev/ipfs-action
description: GitHub Action for delivery of static websites.
- title: IPFS Setup Action
website: https://github.com/marketplace/actions/ipfs-setup-action
source: https://github.com/ibnesayeed/setup-ipfs
description: A GitHub Action to install and initialize go-ipfs to provision a cross-platform test environment on GitHub's CI platform.
- title: ShareX integration
website: https://github.com/ShareX/CustomUploaders/blob/master/ipfs.io.sxcu
source: https://github.com/ShareX/CustomUploaders/blob/master/ipfs.io.sxcu
description: ShareX is a file upload and manipulation tool that has a custom integration with IPFS
- title: gomobile-ipfs
website: https://github.com/ipfs-shipyard/gomobile-ipfs
source: https://github.com/ipfs-shipyard/gomobile-ipfs
description: IPFS and libp2p on Mobile, with Gomobile
- title: Multiverse
source: https://github.com/multiverse-vcs/go-multiverse
description: Multiverse is a decentralized version control system that enables peer-to-peer software development.
- title: ipfs-pinner
source: https://github.com/wabarc/ipfs-pinner
description: A toolkit help upload files to IPFS pinning services.
- title: wbipfs
source: https://github.com/wabarc/wbipfs
description: A command-line tool and Go package interface for wayback webpage to IPFS.
- title: Bubble IPFS From URL Plugin
source: https://bubble.io/plugin/ipfs-add-from-uri-1616424944051x638386852081172500
description: Bubble (no code platform) plugin for IPFS From URL integration
- title: ipns-pin
source: https://github.com/justicenode/node-ipns-pin
description: A command-line tool to pin stuff via ipns.
- title: ipfs-encrypted-share
picture: /images/ipfs-encrypted-share.png
source: https://github.com/whs/ipfs-encrypted-share
description: Easy to use encrypted file uploader.
- title: solid-ipfs
source: https://github.com/Eximua/solid-ipfs
description: Using Solid to store IPFS Hash privately or publicly.
- title: rivet
source: https://github.com/wabarc/rivet
description: A toolkit makes it easier to archive webpages to IPFS.

View File

@ -1,34 +0,0 @@
title: Videos
color: red
description: Videos about IPFS.
icon: stroke_speaker
content:
- title: IPFS Alpha - Why we must redistribute the web
website: https://www.youtube.com/watch?v=skMTdSEaCtA
picture: /images/ipfs-alpha.jpg
- title: IPFS Simply Explained
website: https://www.youtube.com/watch?v=5Uj6uR3fp-U
picture: /images/ipfs_simply_explained_video.jpg
description: >
Let's take a look at how IPFS works, how it can solve issue's like
censorship and if it would really work across multiple planets!
- title: Juan Benet at Stanford 2015
website: https://www.youtube.com/watch?v=HUVmypx9HGI
picture: /images/stanford-2015.jpg
description: >
The talk includes a broad look at The IPFS Project, and a discussion on evolving the network stack through open source protocols R & D.
- title: Distributed Apps with IPFS - Juan Benet at Fullstack Fest 2016
website: https://www.youtube.com/watch?v=jONZtXMu03w
picture: /images/fullstack-fest-2016.jpg
description: >
This talk breaks down how to build a dynamic app on top of IPFS with
CRDTs, pub/sub, and slick UIs. It also delves into new models for
distributed computation, and the ethical importance of distributing the
web.
- title: Textile Build Series - A Free Online Workshop
website: https://www.youtube.com/playlist?list=PLC8CEtJ9shDznO1tpvGe--BVEWmCKY9_Z
picture: /images/textile-build-series.jpg
description: >
A full Training Program to teach devs on how to build for the
Decentralized Web. The series covers a ton of content, touch multiple
parts of the IPFS stack and guides devs through building a simple DApp.

View File

@ -2,45 +2,12 @@
"name": "awesome-ipfs", "name": "awesome-ipfs",
"version": "1.0.0", "version": "1.0.0",
"private": true, "private": true,
"dependencies": { "dependencies": {},
"ipfs-css": "^0.12.0",
"lunr": "^2.3.6",
"tachyons": "^4.11.1"
},
"scripts": { "scripts": {
"start": "node ./scripts/dev.js",
"lint": "standard",
"deploy": "npm run build && ipfs add -r -Q ./public",
"build": "run-s build:*",
"build:readme": "node ./scripts/make-readme.js",
"build:fonts": "shx mkdir -p src/static/fonts && shx cp node_modules/ipfs-css/fonts/* src/static/fonts",
"build:icons": "shx cp node_modules/ipfs-css/icons/* src/layouts/partials/icons",
"build:css": "postcss --no-map --use postcss-import cssnano -o src/static/app.css src/css/*.css",
"build:js": "browserify -g uglifyify src/js/app.js -o src/static/app.js",
"build:data": "node ./scripts/make-data.js",
"build:hugo": "hugo -s src -d ../public --cleanDestinationDir --minify --gc",
"ci:danger": "danger ci" "ci:danger": "danger ci"
}, },
"devDependencies": { "devDependencies": {
"babel-eslint": "^10.0.2", "danger": "^11.1.2"
"browserify": "^16.3.0",
"chokidar": "^3.0.2",
"cssnano": "^4.1.10",
"danger": "^11.1.2",
"ecstatic": "^4.1.2",
"fs-extra": "^8.1.0",
"hugo-bin": "^0.43.6",
"node-yaml": "^4.0.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^6.1.3",
"postcss-import": "^12.0.1",
"shx": "^0.3.2",
"standard": "^13.0.2",
"uglifyify": "^5.0.1",
"watch": "^1.0.2"
},
"standard": {
"parser": "babel-eslint"
}, },
"author": "Protocol Labs, Inc.", "author": "Protocol Labs, Inc.",
"license": "MIT", "license": "MIT",

View File

@ -1,51 +1,5 @@
## What kind of PR is this?
**Select only one** *to speed up review/approval; i.e., don't lump an addition and a removal into a single PR.*
- [ ] **Adding** something new to awesome-ipfs
- [ ] **Editing** something already listed on awesome-ipfs
- [ ] **Removing** something from awesome-ipfs
- [ ] **Something else** *(if so, please explain in the "Additional details" section below)*
<!-- If your change is not listed above, please remove the checklist bellow. -->
## Pre-submit checklist ## Pre-submit checklist
**Please confirm ALL of the following** before submitting your PR.
- [ ] This PR includes only one addition, removal, or edit. - [ ] This PR includes only one addition, removal, or edit.
- [ ] I edited the `/data` directory instead of the [README.md](https://github.com/ipfs/awesome-ipfs/blob/master/README.md). - [ ] I have followed the [Contribution Guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md).
- [ ] I reviewed the [content policy](https://github.com/ipfs/awesome-ipfs/blob/master/POLICY.md) and the and the [IPFS Community Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) to ensure my submission meets the requirements. - [ ] I reviewed the [IPFS Community Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) to ensure my submission meets the requirements.
- [ ] I have followed the [CONTRIBUTING.md guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md).
## Additional details
### Is there anything else we should know about this PR?
<!-- If you've checked "Something else" above, or just want to provide additional info or clarification, please do so here. -->
### For new additions: What is your project's *current* size/reach?
<!--This could be number of users, number of integrations, frequency of use, or any other key metrics. If your PR isn't for a new addition to awesome-ipfs, or you don't know these numbers, you can leave this out.-->
### For new additions: What is your project's *potential* size/reach?
<!--This could be number of users, number of integrations, frequency of use, or any other key metrics. If your PR isn't for a new addition to awesome-ipfs, or you don't know these numbers, you can leave this out.-->
### For new additions: How critical is IPFS to your project?
<!--Choose one. If your PR isn't for a new addition to awesome-ipfs, you can leave this out.-->
- [ ] Essential
- [ ] Somewhat critical
- [ ] Useful, but not critical
### For new additions: What core goal(s) does your project address?
<!--Choose as many as apply. If your PR isn't for a new addition to awesome-ipfs, you can leave this out.-->
- [ ] Big-data solutions
- [ ] Freedom from corporate/government interference
- [ ] Data integrity
- [ ] Dev tools or other ways to enable developers
- [ ] Disaster resilience/recovery
- [ ] File storage/retrieval
- [ ] File streaming
- [ ] Permanent archiving
- [ ] Self-sovereign identity
- [ ] Platforms that utilize consensus, reputation, or incentivization
- [ ] Other *(please list)*
### Is anything about IPFS blocking your project?
<!--If aspects of IPFS are hindering your project's progress, please elaborate here.-->

View File

@ -1,34 +0,0 @@
const fs = require('fs')
const { join } = require('path')
const yaml = require('node-yaml')
const { sortAbc, sortInv, slugify } = require('./utils')
const dir = join(__dirname, '../data')
const trimIfExists = (str) => str ? str.trim() : undefined
module.exports = fs.readdirSync(dir)
.map(file => join(dir, file))
.map(file => yaml.readSync(file))
.map(file => {
file.slug = slugify(file.title)
file.type = 'category'
file.content = file.content.map(({ title, description, ...meta }, i) => ({
...meta,
title: trimIfExists(title),
description: trimIfExists(description),
category: file.slug,
color: file.color,
index: i
}))
let sort = (a, b) => sortAbc(a.title, b.title)
if (file.slug === 'articles') {
sort = (a, b) => sortInv(a.date, b.date)
}
file.content = file.content.sort(sort)
return file
})
.sort((a, b) => sortAbc(a.title, b.title))

View File

@ -1,72 +0,0 @@
const chokidar = require('chokidar')
const path = require('path')
const runAll = require('npm-run-all')
const dataFolder = path.join(__dirname, '../data')
const srcFolder = path.join(__dirname, '../src')
const cssPath = path.join(__dirname, '../src/css')
const jsPath = path.join(__dirname, '../src/js')
const http = require('http')
const options = {
stdout: process.stdout,
stderr: process.stderr
}
const runHugo = () => {
return runAll(['build:hugo'], options).catch(() => {})
}
const handler = (path) => {
if (path.startsWith(dataFolder)) {
runAll(['build:data'], options).then(runHugo)
} else if (path.startsWith(cssPath)) {
runAll(['build:css'], options).then(runHugo)
} else if (path.startsWith(jsPath)) {
runAll(['build:js'], options).then(runHugo)
} else {
runHugo()
}
}
async function run () {
console.log('Preparing fonts, css, js and data...')
await runAll(['build:fonts', 'build:css', 'build:js', 'build:icons', 'build:data'], {
stdout: process.stdout,
stderr: process.stderr,
parallel: true
})
await runHugo()
console.log('Starting server...')
const ecstatic = require('ecstatic')({
root: `${__dirname}/../public`,
showDir: true,
autoIndex: true
})
const port = process.env.PORT || 8080
http.createServer(ecstatic).listen(port)
const watcher = chokidar.watch([dataFolder, srcFolder], {
ignored: (string) => string.indexOf('src/content') !== -1 ||
string.indexOf('src/data') !== -1 ||
string.indexOf('src/resources') !== -1 ||
string.indexOf('src/layouts/partials/indexes') !== -1 ||
string.indexOf('src/static/fonts') !== -1 ||
string.indexOf('src/static/app.css') !== -1 ||
string.indexOf('src/static/app.js') !== -1,
persistent: true,
ignoreInitial: true,
awaitWriteFinish: true
})
watcher
.on('ready', () => console.log('Listening on :' + port))
.on('add', handler)
.on('change', handler)
.on('unlink', handler)
}
run()

View File

@ -1,50 +0,0 @@
const lunr = require('lunr')
const fs = require('fs-extra')
const { join } = require('path')
function getData () {
const data = require('./data')
data.push({
title: 'Awesome IPFS',
slug: '_index',
content: data
.reduce((arr, cat) => arr.concat(cat.content), [])
.map((el, i) => ({
...el,
index: i
}))
})
data.forEach(makeIndex)
return data
}
function makeIndex (category) {
const data = category.content.map(({ index, title, description = '', tags = [], category = '' }) => ({
ref: index,
data: `${title} ${description} ${tags.join(' ')} ${category}`
}))
category.index = lunr(function () {
this.ref('ref')
this.field('data')
data.forEach(this.add.bind(this))
})
}
const process = () => {
const dir = join(__dirname, '../src/content')
fs.ensureDirSync(dir)
fs.emptyDirSync(dir)
const data = getData()
for (const { index, slug, ...meta } of data) {
const filename = join(dir, slug + '.md')
fs.writeFileSync(filename, `${JSON.stringify(meta)}
<script>var idx = JSON.parse(\`${JSON.stringify(index).replace(`'`, `\\'`)}\`);</script>`)
}
}
process()

View File

@ -1,43 +0,0 @@
const fs = require('fs')
const path = require('path')
const files = require('./data')
const readme = path.join(__dirname, '../README.md')
const template = path.join(__dirname, 'readme-template.md')
const { slugify } = require('./utils')
const toc = files.map(cat => `- [${cat.title}](#${slugify(cat.title)})`).join('\n')
const sections = files.map(category => {
const content = category.content.map(item => {
let block = '- '
let mainUrl = ''
if (item.website) {
mainUrl = item.website
} else if (item.source) {
mainUrl = item.source
} else if (item.demo) {
mainUrl = item.demo
}
if (item.date) block += item.date + ': '
block += `[${item.title}](${mainUrl}) `
if (item.description) block += `- ${item.description.trim()}`
if (item.demo && mainUrl !== item.demo) {
if (!item.description) block += '-'
block += ` [Demo](${item.demo})`
}
if (item.source && mainUrl !== item.source) {
block += ` [Source](${item.source})`
}
return block
}).join('\n')
return `## ${category.title}\n\n${content}`
}).join('\n\n')
fs.writeFileSync(readme, fs.readFileSync(template)
.toString()
.replace('#PLACEHOLDER_TOC#', toc)
.replace('#PLACEHOLDER_CATEGORIES#', sections))

View File

@ -1,43 +0,0 @@
# Awesome IPFS [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
> Useful resources for using [IPFS](https://ipfs.tech) and building things on top of it
_This list is for projects, tools, or pretty much any things related to IPFS that are totally_ **awesome**_. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in [our IPFS Discuss Forums](https://discuss.ipfs.io)._
## Table of Contents
- [Maintainers](#maintainers)
- [Contribute](#contribute-to-this-list)
- [Collab-Cluster](#collab-cluster)
#PLACEHOLDER_TOC#
- [Discussions](#discussions)
- [Want to hack on IPFS?](#want-to-hack-on-ipfs)
- [License](#license)
## Maintainers
Maintainers requested! This repo is not currently under active development nor maintenance and requires more support from the community.
## Contribute to this list!
Everyone is welcome to submit their new awesome-ipfs item, but it will be accepted only if it meets our [content policy](https://github.com/ipfs/awesome-ipfs/blob/master/POLICY.md).
Readme and the website are automatically generated. In order to add an element to this list, you need to modify the files in `/data` and then run `make build` before publishing your pull request. Read [contributing guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md) to learn how to do so.
## Collab-Cluster
[Collaborative clusters](https://collab.ipfscluster.io/) are public IPFS Clusters that anyone can join to help replicating and re-distributing content on the IPFS network. Instead of datasets cluster content is usually updated.
#PLACEHOLDER_CATEGORIES#
## Discussions
* [CRDTs discussion](https://github.com/ipfs/notes/issues/23)
## Want to hack on IPFS?
[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
## License
[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)

View File

@ -1,30 +0,0 @@
/**
* This file assumes that awesome_bot has already been ran.
*/
const markdownTable = require('../ab-results-README.md-markdown-table.json')
const fs = require('fs').promises
const { join } = require('path')
const dir = join(__dirname, '../data')
if (markdownTable.error) {
const brokenLinks = require('../ab-results-README.md-filtered.json').map((resultsData) => resultsData.link);
(async () => {
const files = (await fs.readdir(dir)).map(file => join(dir, file))
for await (const filePath of files) {
let fileContents = await fs.readFile(filePath, 'utf8')
brokenLinks.forEach((brokenLink) => {
console.log('Searching for "' + brokenLink + '" in ' + filePath)
const regex = new RegExp(brokenLink, 'g')
if (fileContents.match(regex)) {
fileContents = fileContents.replace(regex, '')
console.log('Removed "' + brokenLink + '" from ' + filePath)
}
})
await fs.writeFile(filePath, fileContents, 'utf8')
}
})()
} else {
console.log('No errors reported by awesome_bot.')
}

View File

@ -1,28 +0,0 @@
const sort = (a, b) => {
if (a < b) return -1
if (a > b) return 1
return 0
}
const sortInv = (a, b) => -sort(a, b)
const sortAbc = (a, b) => {
a = a.toLowerCase()
b = b.toLowerCase()
return sort(a, b)
}
const slugify = (text) => text.toString()
.toLowerCase()
.replace(/\s+/g, '-')
.replace(/[^\w-]+/g, '')
.replace(/--+/g, '-')
.replace(/^-+/, '')
.replace(/-+$/, '')
module.exports = {
sort,
sortInv,
sortAbc,
slugify
}

View File

@ -1,15 +0,0 @@
baseurl: 'https://awesome.ipfs.tech'
relativeurls: true
languageCode: en
pluralizelisttitles: false
removePathAccents: true
canonifyURLs: true
title: Awesome IPFS
disableKinds:
- taxonomyTerm
params:
Description: >-
Useful resources for using IPFS and building things on top of it
image: /images/banner.png

View File

@ -1,56 +0,0 @@
@import "../../node_modules/tachyons/css/tachyons.css";
@import "../../node_modules/ipfs-css/ipfs.css";
body {
background: url('./images/starfield.png') no-repeat;
background-size: cover;
background-attachment: fixed;
overflow-y: scroll;
}
.focus-outline:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(201, 210, 215, .4);
}
.mt-auto {
margin-top: auto;
}
.fill-blue {
fill: #357edd;
}
.fill-white {
fill: white;
}
.CardContainer {
column-count: 4;
column-gap: 1em;
}
.Card {
margin: 0 0 1em 0;
width: 100%;
page-break-inside: avoid;
break-inside: avoid;
}
@media (max-width: 1000px) {
.CardContainer {
column-count: 3;
}
}
@media (max-width: 800px) {
.CardContainer {
column-count: 2;
}
}
@media (max-width: 600px) {
.CardContainer {
column-count: 1;
}
}

View File

@ -1,63 +0,0 @@
const lunr = require('lunr')
const idx = lunr.Index.load(window.idx)
const search = document.getElementById('search')
const cards = Array.from(document.querySelectorAll('.Card'))
.sort((a, b) => {
const aId = parseInt(a.dataset.ref)
const bId = parseInt(b.dataset.ref)
if (aId < bId) {
return -1
}
if (aId > bId) {
return 1
}
return 0
})
function randomizr () {
const cards = document.querySelector('.CardContainer')
for (var i = cards.children.length; i >= 0; i--) {
cards.appendChild(cards.children[Math.random() * i | 0])
}
}
function update (display) {
cards.forEach((c) => {
if (display.indexOf(c.dataset.ref) >= 0) {
c.classList.remove('dn')
c.classList.add('dib')
} else {
c.classList.add('dn')
c.classList.remove('dib')
}
})
}
randomizr()
if (search) {
search.classList.remove('dn')
const input = search.querySelector('input')
input.addEventListener('keyup', () => {
let search = input.value
if (search === '') {
cards.forEach((c) => c.classList.remove('dn'))
return
}
if (!search.endsWith('*')) {
search = `${search} ${search}*`
}
try {
update(idx.search(search).map(s => s.ref))
} catch (e) {
console.log(e)
}
})
}

View File

@ -1,34 +0,0 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>
{{ partial "head" . }}
{{ partial "analytics" . }}
</head>
<body>
<div class="charcoal sans-serif w-90 mw9 center">
<nav class="montserrat mv4 fw6 flex-wrap ttu tracked sans-serif flex flex-between">
<a href="{{ .Site.BaseURL }}/" class="w-100 w-auto-l flex items-center pv3 pv0-l mr3 flex-grow-1 flex items-center justify-center justify-start-l no-underline" >
<img alt="IPFS" src="{{ .Site.BaseURL }}/images/logo.png" class="w3 h3 mr3">
<h1 class="f3 white">Awesome IPFS</h1>
</a>
{{ range (where .Site.Pages "Type" "category") }}
<a href="{{ .RelPermalink }}"
class="flex-grow-1 flex items-center justify-center white no-underline pa2 bg-animate dib bg-{{ .Params.color }}-muted hover-bg-{{ .Params.color }}">
<span class="w2 h2 fill-white mr2">{{ partial (print "icons/" .Params.icon ".svg" ) }}</span>
{{ .Title }}
</a>
{{ end }}
</nav>
{{ template "main" . }}
<footer class="mv4 montserrat ttu tc snow tracked b">
<a target="_blank" href="https://github.com/ipfs/awesome-ipfs" class="snow no-underline">GitHub</a> |
<a target="_blank" href="https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md" class="snow no-underline"> Suggest a new item</a> |
<a target="_blank" href="https://discuss.ipfs.io/c/ecosystem" class="snow no-underline">Discuss</a>
</footer>
</div>
<script src='{{ .Site.BaseURL }}/app.js'></script>
</body>
</html>

View File

@ -1,3 +0,0 @@
{{ define "main" }}
{{ partial "list" . }}
{{ end }}

View File

@ -1,3 +0,0 @@
{{ define "main" }}
{{ partial "list" . }}
{{ end }}

View File

@ -1,70 +0,0 @@
<!-- Google Analytics -->
<script>
// https://github.com/schalkneethling/dnt-helper/blob/master/js/dnt-helper.js
function _dntEnabled(dnt, userAgent) {
"use strict";
var dntStatus =
dnt ||
navigator.doNotTrack ||
window.doNotTrack ||
navigator.msDoNotTrack;
var ua = userAgent || navigator.userAgent;
var anomalousWinVersions = [
"Windows NT 6.1",
"Windows NT 6.2",
"Windows NT 6.3"
];
var fxMatch = ua.match(/Firefox\/(\d+)/);
var ieRegEx = /MSIE|Trident/i;
var isIE = ieRegEx.test(ua);
var platform = ua.match(/Windows.+?(?=;)/g);
if (isIE && typeof Array.prototype.indexOf !== "function") {
return false;
} else if (fxMatch && parseInt(fxMatch[1], 10) < 32) {
dntStatus = "Unspecified";
} else if (
isIE &&
platform &&
anomalousWinVersions.indexOf(platform.toString()) !== -1
) {
dntStatus = "Unspecified";
} else {
dntStatus =
{ "0": "Disabled", "1": "Enabled" }[dntStatus] || "Unspecified";
}
return dntStatus === "Enabled";
}
(function() {
if (!_dntEnabled() && location.hostname !== "localhost") {
!(function(n, o, d, e, j, s) {
n.GoogleAnalyticsObject = d;
n[d] ||
(n[d] = function() {
(n[d].q = n[d].q || []).push(arguments);
});
n[d].l = +new Date();
j = o.createElement(e);
s = o.getElementsByTagName(e)[0];
j.async = 1;
j.src = "//www.google-analytics.com/analytics.js";
s.parentNode.insertBefore(j, s);
})(window, document, "ga", "script");
if (!ga) return;
ga("create", "UA-96910779-8", "auto");
ga("send", "pageview");
// track outbound project clicks
document.addEventListener(
"click",
function(e) {
var href = e.target.closest("a") && e.target.closest("a").href;
if (href && href.indexOf("http") > -1) {
ga("send", "event", "outbound", "click", href);
}
},
false
);
}
})();
</script>

View File

@ -1,28 +0,0 @@
{{- $title := or .Title .Site.Title -}}
{{- $description := or .Description .Site.Params.Description -}}
{{- $image := print .Site.BaseURL (or .Params.image .Site.Params.Image) -}}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ $title }}</title>
<meta name="description" content="{{ $description }}">
<link rel="canonical" href="{{ .Permalink }}">
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="{{ $title }}"/>
<meta name="twitter:description" content="{{ $description }}"/>
<meta name="twitter:image:src" content="{{ $image }}"/>
<meta property="og:locale" content="{{ .Site.LanguageCode }}" />
<meta property="og:title" content="{{ $title }}" />
<meta property="og:description" content="{{ $description }}" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ .Site.Title }}" />
<meta property="og:image" content="{{ $image }}" />
<meta name="msapplication-TileColor" content="#0b3a53">
<meta name="theme-color" content="#0b3a53">
<link rel="manifest" href="{{ .Site.BaseURL }}/manifest.json">
<link rel="shortcut icon" href="{{ .Site.BaseURL }}/favicon.ico">
<link rel="stylesheet" href="{{ .Site.BaseURL }}/app.css" >

View File

@ -1 +0,0 @@
<svg class="w1 h1 mr2 fill-blue" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"/></svg>

Before

Width:  |  Height:  |  Size: 649 B

View File

@ -1 +0,0 @@
<svg class="w1 h1 mr2 fill-blue" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"/></svg>

Before

Width:  |  Height:  |  Size: 407 B

View File

@ -1 +0,0 @@
<svg class="w1 h1 mr2 fill-blue" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"/></svg>

Before

Width:  |  Height:  |  Size: 847 B

View File

@ -1 +0,0 @@
<svg class="w1 h1 mr2 fill-blue" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><path d="M524.5 34.5c-171.5 0-323.4 93.1-401.8 235.2L10 157v318.5h318.5L191.3 338.3C255 215.8 377.5 132.5 524.5 132.5 725.4 132.5 892 299.1 892 500S725.4 867.5 524.5 867.5c-161.7 0-294-102.9-347.9-245H73.7c53.9 196 235.2 343 450.8 343C784.2 965.5 990 754.8 990 500S779.3 34.5 524.5 34.5zm-73.5 245v249.9l230.3 137.2 39.2-63.7-196-117.6V279.5H451z"/></svg>

Before

Width:  |  Height:  |  Size: 447 B

View File

@ -1,95 +0,0 @@
{{ define "text" }}
<p class="f6 lh-copy mt2 mb0 mid-gray" style="word-break: break-word">
{{- markdownify . -}}
</p>
{{ end }}
{{ define "hash" }}
<a href="https://ipfs.io{{ . }}" target="_blank" alt="Website" title="Website" class="aqua hover-teal">
<abbr title="{{ . }}">
{{ $length := sub (len .) 5 }}
<code>{{ substr . 0 10 }}...{{ substr . $length 5 }}</code>
</abbr>
</a>
{{ end }}
<div class="mv2 dn" id="search">
<input
placeholder="Find your awesome app..."
class="input-reset outline-0 bn pa3 mb2 db w-100 center focus-outline dn"
type="text" />
</div>
<main class="CardContainer mv4" >
{{ range (sort .Params.content "index") -}}
<article data-ref="{{ .index }}" class="Card dib bg-white shadow-4 br1 dark-gray b--black-10 ma2">
<div class="bg-navy ttu fw6 tracked montserrat bg-{{ .color }}-muted br1 br--top white pv1 ph2 ph3-ns f7 b w-100">
{{ humanize .category }}
</div>
<div class="pa2 ph3-ns pb3-ns flex flex-column flex-grow-1">
<div class="dt w-100 mt1">
<div class="dtc">
<a target="_blank" class="no-underline charcoal" href="{{ if .website }}{{ .website }}{{ else if .source }}{{ .source }}{{ else if .demo }}{{ .demo }}{{ end }}">
<h1 class="f5 f4-ns mv0">{{- .title -}}</h1>
</a>
</div>
</div>
{{- if isset . "date" -}}
{{ template "text" dateFormat "January 2, 2006" .date }}
{{- end -}}
{{- if isset . "description" -}}
{{ template "text" .description }}
{{- end -}}
{{- if isset . "size" -}}
{{ template "text" (print "Size: " .size) }}
{{- end -}}
{{- if isset . "hash" -}}
<div class="mt2">
{{ template "hash" .hash }}
</div>
{{- end -}}
{{- if isset . "picture" -}}
<div class="mt2">
<a target="_blank" class="no-underline charcoal" href="{{ if .website }}{{ .website }}{{ else if .source }}{{ .source }}{{ else if .demo }}{{ .demo }}{{ end }}">
<img class="br2" src="{{ .picture | relURL }}" >
</a>
</div>
{{ end }}
<div class="flex pt2 mt-auto align-center justify-begin">
{{- if isset . "website" -}}
<a href="{{ .website }}" target="_blank" alt="Website" title="Website">
{{ partial "icons/globe.svg" }}
</a>
{{- end -}}
{{- if isset . "snapshot" -}}
<a href="http://ipfs.io/{{ .snapshot.hash }}" target="_blank" alt="Snapshot as of {{ .snapshot.date }}" title="Snapshot as of {{ .snapshot.date }}">
{{ partial "icons/history.svg" }}
</a>
{{- end -}}
{{- if isset . "source" -}}
<a href="{{ .source }}" target="_blank" alt="Source Code" title="Source Code">
{{ partial "icons/code.svg" }}
</a>
{{- end -}}
{{- if isset . "demo" -}}
<a href="{{ .demo }}" target="_blank" alt="Demo" title="Demo">
{{ partial "icons/flask.svg" }}
</a>
{{- end -}}
</div>
</div>
</article>
{{ end }}
</main>
{{ .Content }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -1,83 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="13.520844mm" height="13.520844mm" viewBox="0 0 47.908501 47.908501" id="svg2" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="Button - Share.svg" inkscape:export-filename="/Users/jgillanders/Development/Games/Colibrium/Pictures/Button - Share.png" inkscape:export-xdpi="961.83002" inkscape:export-ydpi="961.83002">
<defs id="defs4">
<marker inkscape:isstock="true" inkscape:stockid="DistanceStart" orient="auto" refY="0" refX="0" id="DistanceStart" style="overflow:visible">
<g id="g2300">
<path id="path2306" d="M 0,0 2,0" style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square" inkscape:connector-curvature="0"/>
<path id="path2302" d="M 0,0 13,4 9,0 13,-4 0,0 Z" style="fill:#000000;fill-rule:evenodd;stroke:none" inkscape:connector-curvature="0"/>
<path id="path2304" d="M 0,-4 0,40" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square" inkscape:connector-curvature="0"/>
</g>
</marker>
<linearGradient x1="14.66" y1="7.0243001" x2="24.031" gradientUnits="userSpaceOnUse" y2="34.826" id="G3">
<stop offset="0" stop-color="#fcf9fb" id="s3"/>
<stop offset="1" stop-opacity="0" stop-color="#fcf9fb" id="s4"/>
</linearGradient>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0">
<stop offset="0" stop-color="#e6cf00" id="s1"/>
<stop offset="1" stop-color="#fde94a" id="s2"/>
</radialGradient>
<radialGradient r="9.6875" gradientTransform="matrix(2.4,0,0,0.67,-17.1,22.4)" cx="17.312" cy="25.531" gradientUnits="userSpaceOnUse" id="R1">
<stop offset="0" stop-opacity=".63" id="s5"/>
<stop offset="1" stop-opacity="0" id="s6"/>
</radialGradient>
<linearGradient gradientTransform="matrix(0.31170768,-0.14537193,0.14537193,0.31170768,-216.07743,565.35148)" y2="34.826" x2="24.031" y1="7.0243001" x1="14.66" gradientUnits="userSpaceOnUse" id="linearGradient2995" xlink:href="#G3" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3011" xlink:href="#R0" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3018-9" xlink:href="#R0-4" inkscape:collect="always"/>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0-4">
<stop offset="0" stop-color="#e6cf00" id="s1-8"/>
<stop offset="1" stop-color="#fde94a" id="s2-8"/>
</radialGradient>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3028-2" xlink:href="#R0-45" inkscape:collect="always"/>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0-45">
<stop offset="0" stop-color="#e6cf00" id="s1-5"/>
<stop offset="1" stop-color="#fde94a" id="s2-1"/>
</radialGradient>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3986" xlink:href="#R0-45" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3986-5" xlink:href="#R0-45-7" inkscape:collect="always"/>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0-45-7">
<stop offset="0" stop-color="#e6cf00" id="s1-5-6"/>
<stop offset="1" stop-color="#fde94a" id="s2-1-1"/>
</radialGradient>
<radialGradient inkscape:collect="always" xlink:href="#R0-45-7" id="radialGradient4007" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" cx="28.935429" cy="32.797306" fx="28.935429" fy="32.797306" r="22"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient3986-5-2" xlink:href="#R0-45-7-7" inkscape:collect="always"/>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0-45-7-7">
<stop offset="0" stop-color="#e6cf00" id="s1-5-6-9"/>
<stop offset="1" stop-color="#fde94a" id="s2-1-1-5"/>
</radialGradient>
<radialGradient inkscape:collect="always" xlink:href="#R0-45-7-7" id="radialGradient4041" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" cx="28.935429" cy="32.797306" fx="28.935429" fy="32.797306" r="22"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient4065" xlink:href="#R0-45" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient4065-4" xlink:href="#R0-45-3" inkscape:collect="always"/>
<radialGradient fy="32.797306" fx="28.935429" r="22" gradientTransform="matrix(1,-0.2,0.2,1,-3.8,6.8)" cx="28.935429" cy="32.797306" gradientUnits="userSpaceOnUse" id="R0-45-3">
<stop offset="0" stop-color="#e6cf00" id="s1-5-1"/>
<stop offset="1" stop-color="#fde94a" id="s2-1-2"/>
</radialGradient>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1.0439725,-0.20879451,0.20879451,1.0439725,-147.8058,553.72738)" gradientUnits="userSpaceOnUse" id="radialGradient4113" xlink:href="#R0-45-7-7" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(1,-0.2,0.2,1,78.2,6.8)" gradientUnits="userSpaceOnUse" id="radialGradient4117" xlink:href="#R0-45" inkscape:collect="always"/>
<radialGradient r="22" fy="32.797306" fx="28.935429" cy="32.797306" cx="28.935429" gradientTransform="matrix(0.61925922,-1.4303233,1.4303233,0.61925922,-39.346374,44.502008)" gradientUnits="userSpaceOnUse" id="radialGradient4120" xlink:href="#R0-45" inkscape:collect="always"/>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="3.959798" inkscape:cx="21.898881" inkscape:cy="30.152565" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:window-width="1440" inkscape:window-height="815" inkscape:window-x="0" inkscape:window-y="1" inkscape:window-maximized="1"/>
<metadata id="metadata7">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(229.66854,-548.40793)">
<path id="hl" d="m -206.82877,565.402 2.03199,0.91795 c 1.54237,0.71307 0.75483,0.33719 2.36782,1.12659 -4.12683,1.94063 -0.28812,2.61772 -4.43562,5.1369 l 0.0102,-0.70185 c 0.0502,-4.01163 -0.32955,1.92558 0.0256,-6.47959 z" style="opacity:0.8;fill:url(#linearGradient2995)" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccc"/>
<circle r="22.95425" cy="572.36218" cx="-205.71429" id="path3932" style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#radialGradient4113);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"/>
<circle r="20.743464" cy="572.36218" cx="-205.71429" style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.68999999;fill:none;stroke:#ffffff;stroke-width:2.53080082;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="path4067"/>
<flowRoot style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22.5px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-align:center;letter-spacing:2.72000003px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="flowRoot3379" xml:space="preserve" transform="translate(-229.71429,548.3622)"><flowRegion id="flowRegion3381"><rect style="font-size:22.5px" y="12.076912" x="10.03369" height="29.110088" width="28.986216" id="rect3383"/></flowRegion><flowPara id="flowPara3385"/></flowRoot> <g transform="matrix(0.03231979,0,0,0.03231979,-180.85582,575.47438)" id="layer1-2">
<g transform="matrix(0,-17.254,17.254,0,10443,-2252.9)" id="g11676">
<path transform="translate(1.1045,-949.48)" style="color:#000000" d="m -134.38,309.5 c 0,4.1683 -3.3791,7.5474 -7.5474,7.5474 -4.1683,0 -7.5474,-3.3791 -7.5474,-7.5474 0,-4.1683 3.3791,-7.5474 7.5474,-7.5474 4.1683,0 7.5474,3.3791 7.5474,7.5474 z" id="path11666" inkscape:connector-curvature="0"/>
<path transform="translate(32.767,-949.48)" style="color:#000000" d="m -134.38,309.5 c 0,4.1683 -3.3791,7.5474 -7.5474,7.5474 -4.1683,0 -7.5474,-3.3791 -7.5474,-7.5474 0,-4.1683 3.3791,-7.5474 7.5474,-7.5474 4.1683,0 7.5474,3.3791 7.5474,7.5474 z" id="path11668" inkscape:connector-curvature="0"/>
<path transform="translate(16.936,-976.35)" style="color:#000000" d="m -134.38,309.5 c 0,4.1683 -3.3791,7.5474 -7.5474,7.5474 -4.1683,0 -7.5474,-3.3791 -7.5474,-7.5474 0,-4.1683 3.3791,-7.5474 7.5474,-7.5474 4.1683,0 7.5474,3.3791 7.5474,7.5474 z" id="path11670" inkscape:connector-curvature="0"/>
<rect x="488.22" y="-443.73001" width="27.691999" height="3" transform="matrix(0.49998488,-0.86603413,0.86603413,0.49998488,0,0)" style="color:#000000" id="rect11672"/>
<rect x="613.15997" y="-226.89999" width="27.691999" height="3" transform="matrix(-0.5,-0.86603,-0.86603,0.5,0,0)" style="color:#000000" id="rect11674"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -1,65 +0,0 @@
<svg
version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewbox="0 0 666 666"
width="666"
height="666"
>
<style>
#outline {
stroke: #111;
stroke-width: 31.66235665441778;
fill: none;
}
.dot {
fill: #111;
}
.point {
fill: #111;
}
/*.point:nth-child(odd) {
fill: rgb(165, 24, 201);
}*/
.ray {
stroke: #111;
stroke-width: 31.66235665441778;
}
/*.ray:nth-child(even) {
stroke: rgb(165, 24, 201);
}*/
#background {
fill: #FCFCFC;
stroke: none;
}
#pupil {
fill: rgb(165, 24, 201);
}
</style>
<g transform="translate(333, 333)">
<circle id="background" r="333.000000"/>
<circle id="outline" r="164.644255"/>
<circle id="pupil" r="25.615385"/>
<line class="ray" x1="250.106874" y1="0.000000" x2="51.230769" y2="0.000000" />
<line class="ray" x1="176.852267" y1="176.852267" x2="36.225624" y2="36.225624" />
<line class="ray" x1="0.000000" y1="250.106874" x2="0.000000" y2="51.230769" />
<line class="ray" x1="-176.852267" y1="176.852267" x2="-36.225624" y2="36.225624" />
<line class="ray" x1="-250.106874" y1="0.000000" x2="-51.230769" y2="0.000000" />
<line class="ray" x1="-176.852267" y1="-176.852267" x2="-36.225624" y2="-36.225624" />
<line class="ray" x1="-0.000000" y1="-250.106874" x2="-0.000000" y2="-51.230769" />
<line class="ray" x1="176.852267" y1="-176.852267" x2="36.225624" y2="-36.225624" />
<path class="point" d="M 264.493552 -52.611039 L 333.000000 0.000000 L 264.493552 52.611039 Z" />
<path class="point" d="M 224.226806 149.823562 L 235.466558 235.466558 L 149.823562 224.226806 Z" />
<path class="point" d="M 52.611039 264.493552 L 0.000000 333.000000 L -52.611039 264.493552 Z" />
<path class="point" d="M -149.823562 224.226806 L -235.466558 235.466558 L -224.226806 149.823562 Z" />
<path class="point" d="M -264.493552 52.611039 L -333.000000 0.000000 L -264.493552 -52.611039 Z" />
<path class="point" d="M -224.226806 -149.823562 L -235.466558 -235.466558 L -149.823562 -224.226806 Z" />
<path class="point" d="M -52.611039 -264.493552 L -0.000000 -333.000000 L 52.611039 -264.493552 Z" />
<path class="point" d="M 149.823562 -224.226806 L 235.466558 -235.466558 L 224.226806 -149.823562 Z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

View File

@ -1,33 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="1280.000000pt" height="1116.000000pt" viewBox="0 0 1280.000000 1116.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,1116.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M7460 10700 c-144 -18 -243 -62 -336 -151 l-61 -59 -59 15 c-82 21
-186 20 -213 -2 -11 -10 -80 -124 -152 -253 -72 -129 -137 -241 -143 -248 -10
-11 -35 -4 -132 34 -852 332 -1743 411 -2639 233 -1679 -333 -3061 -1608
-3534 -3260 -96 -333 -144 -621 -177 -1055 -17 -220 -17 -243 0 -455 9 -123
24 -280 32 -349 101 -828 428 -1614 948 -2285 170 -219 393 -458 591 -635 231
-206 417 -344 905 -674 608 -410 1671 -718 2870 -830 398 -38 489 -41 1095
-41 621 0 714 4 1141 45 745 73 1481 230 2023 432 808 301 1301 687 1423 1115
18 63 22 103 22 203 -1 113 -4 134 -32 221 -111 337 -437 634 -987 900 -313
151 -547 235 -1007 364 -38 10 -58 21 -58 31 0 8 27 103 61 212 75 245 132
467 165 642 223 1194 -16 2410 -672 3410 -270 412 -630 807 -998 1095 -47 38
-86 73 -86 78 0 6 63 122 140 259 77 136 142 259 146 273 13 52 -77 175 -201
273 -53 43 -43 57 76 104 152 60 259 81 386 76 199 -8 276 -57 489 -314 148
-177 211 -236 305 -284 92 -47 430 -126 663 -155 240 -30 352 -16 542 65 52
22 99 38 105 35 16 -11 37 -59 54 -125 22 -89 35 -120 50 -120 15 0 26 32 50
145 14 64 24 86 50 112 44 44 90 44 201 -2 88 -37 124 -43 124 -23 0 7 -26 46
-58 88 -73 94 -82 110 -82 154 0 50 43 95 139 145 43 22 84 47 90 55 20 24
-22 39 -94 34 -91 -8 -164 6 -194 37 -23 22 -26 33 -25 93 0 37 4 100 9 140 7
63 6 72 -8 72 -9 0 -41 -31 -71 -68 -75 -94 -110 -122 -153 -122 -48 0 -87 26
-161 109 -95 106 -109 95 -72 -54 24 -95 24 -115 6 -159 -20 -48 -69 -67 -186
-73 -54 -3 -104 -9 -111 -14 -19 -12 4 -34 62 -60 27 -13 49 -26 49 -31 0 -12
-96 -70 -159 -97 -88 -37 -141 -51 -222 -58 -100 -8 -154 6 -312 78 -70 33
-130 59 -133 59 -21 0 -199 143 -434 350 -102 89 -198 173 -215 185 -27 21
-59 27 -300 54 -315 35 -445 42 -535 31z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

View File

@ -1 +0,0 @@
<svg width="1922" height="400" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><path d="M156.083 244.045l33.654 33.653c-19.78 18.749-45.942 30.093-75.474 30.093C49.151 307.791.259 252.639.259 184.684c0-67.965 48.638-119.326 113.75-119.326 27.264 0 51.702 9.015 70.896 24.473l-34.127 34.127c-10.031-6.932-22.338-10.879-36.394-10.879-39.457 0-65.61 31.098-65.61 72.288 0 41.181 26.153 74.563 65.61 74.563 16.64 0 30.845-5.933 41.699-15.885z" fill="#8C63FF"/><path fill="#4A4A4A" d="M248.153 220.07l-45.444 45.444-34.162-34.16 45.444-45.446-50.004-50.004 34.162-34.153 49.996 49.996 49.776-49.777 34.162 34.163-49.777 49.775 45.216 45.217-34.152 34.162z"/><path d="M495.593 184.684c0 67.955-48.736 123.107-113.847 123.107-29.559 0-55.781-11.362-75.598-30.137l33.733-33.732c10.958 10.021 25.277 16.008 41.986 16.008 39.457 0 65.199-33.383 65.199-74.563 0-41.19-25.742-72.288-65.199-72.288-14.127 0-26.556 3.991-36.683 11.002l-34.346-34.347c19.116-15.404 43.439-24.376 70.652-24.376 65.113-.001 114.103 51.361 114.103 119.326zM796.37 136.184c-6.547-13.276-17.82-22.03-30.634-22.03-20.219 0-40.402 21.917-40.402 48.901l.14 125.786h-47.265V145.365c-5.322-18.23-18.6-31.141-34.136-31.141-20.219 0-40.263 21.881-40.263 48.875V288.84l-47.265.001V76.15h47.265v17.443c13.996-14.196 33.69-23.134 53.4-23.134 23.257 0 43.72 12.438 55.563 31.257 14.415-18.818 38.563-31.257 62.738-31.257 34.373 0 62.862 25.13 68.122 58.014v160.368l-47.265-.001V136.184h.002zM959.171 155.782v53.96c9.277 25.085 31.089 42.696 56.507 42.696 33.829 0 61.261-31.196 61.261-69.689 0-38.485-27.432-69.681-61.261-69.681-25.435 0-47.246 17.62-56.507 42.714zm0 109.128V400h-47.265V76.15h47.265v24.445c17.61-18.669 41.251-30.091 67.229-30.091 54.503 0 98.678 50.258 98.678 112.244 0 61.995-44.175 112.254-98.678 112.254-25.986.001-49.619-11.422-67.229-30.092zM1358.294 76.15v130.345c0 49.348-39.973 89.348-89.32 89.348-49.347 0-89.234-40-89.234-89.348V76.15h47.265v132.97c0 23.239 18.767 42.084 42.014 42.084 23.246 0 42.013-18.845 42.013-42.084V76.15h47.262zM1466.828 123.415v165.426h-47.265V123.415h-22.756V77.024h22.756V0h47.265v77.024h38.512v46.391zM1580.569 194.312c4.43 31.921 26.583 56.166 58.249 56.166 26.259 0 48.832-16.657 58.836-40.534l38.03 21.821c-17.505 38.03-54.318 64.228-96.971 64.228-59.632 0-104.419-51.213-104.419-114.373 0-63.168 44.865-110.869 104.497-110.869s97.619 47.701 97.619 110.869v12.692h-155.841zm110.478-42.888c-8.866-21.243-27.37-35.16-52.229-35.16-24.848 0-43.842 13.907-53.015 35.16h105.244zM1921.348 219.125c2.556 23.178-7.483 46.984-26.188 62.109-11.3 9.139-27.887 14.171-44.779 14.171-6.494 0-13.041-.744-19.344-2.284-24.998-6.109-45.006-23.781-56.35-49.76l40.778-17.803c5.821 13.33 14.608 21.522 26.127 24.332 11.702 2.862 22.433-.708 25.585-3.256 7.037-5.699 10.853-14.371 9.942-22.651-.472-4.29-2.478-10.109-9.348-13.522-2.521-1.253-4.911-2.434-7.212-3.572-12.35-6.117-23.02-11.396-41.131-21.146-19.604-10.555-31.719-27.527-34.117-47.799-2.275-19.229 4.92-38.87 18.784-51.265 14.976-13.399 34.94-18.687 54.774-14.511 22.705 4.778 42.311 20.962 52.446 43.281l-40.517 18.397c-4.244-9.339-12.324-16.288-21.094-18.134-6.084-1.279-11.449.112-15.948 4.139-2.599 2.319-4.894 7.484-4.253 12.859.656 5.609 4.367 10.266 11.02 13.846 17.443 9.392 27.291 14.275 39.771 20.445 2.32 1.148 4.728 2.337 7.273 3.607 19.128 9.497 31.444 27.187 33.781 48.517z" fill="#4A4A4A"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@ -1 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><defs><style>.cls-1{fill:#00261b;}.cls-2{fill:#008c62;}.cls-3{fill:#00e6a0;}.cls-4{fill:#fff;}</style></defs><title>Artboard 1</title><rect class="cls-1" width="600" height="600"/><g id="Request_Green_Logo_for_Background" data-name="Request Green Logo for Background"><path class="cls-2" d="M360.36,265.6l93.88-93.53a37.26,37.26,0,0,0,11-26.41L465.39,70a15.18,15.18,0,0,0-4.21-10.43L281.06,239.13A37.38,37.38,0,0,0,281,292l.08.07,127,126.59a37.36,37.36,0,1,0,52.75-52.93Z"/><path class="cls-3" d="M450.69,55.35H167.87c-23,0-39.87,17.28-39.87,40.89V391.4a37.58,37.58,0,0,0,38.06,38.06h0c21,0,38.06-16,38.06-38.06V128.18H392.35l68.83-68.6A14.53,14.53,0,0,0,450.69,55.35Z"/><path class="cls-4" d="M138.57,503.45v22.8H128V465.5h27.54c14.4,0,21.72,6.83,21.72,17.39,0,8.76-6.32,15.15-15.81,16.9a16.09,16.09,0,0,1,6.66,2.24c3.5,2.25,5.33,6.33,7.32,13.32l3.16,10.9H167.36l-2.82-10.74c-2.58-9.89-5-12.06-15.57-12.06Zm0-28.8v21.14h14c9.15,0,14.23-4.16,14.23-10.9,0-6.49-4.08-10.24-13.81-10.24Z"/><path class="cls-4" d="M206.05,527.08c-16.06,0-24.29-10.23-24.29-23.88,0-13.23,9.07-24.47,24-24.47,15.23,0,22.39,10.9,22.39,23.39v3.66H191.91c.83,7.9,5.57,12.65,14,12.65,6.09,0,9.57-2.5,12.31-7.33l8.75,4.75C223,522.42,216.46,527.08,206.05,527.08Zm-14-27.78h25.8c-.42-6.92-4.08-12-12.23-12-7.74,0-12.4,4.49-13.57,12Z"/><path class="cls-4" d="M255.23,479.07c7.57,0,12.65,3.33,15.56,10v-9.4h10.32v64.57H270.63V516.61c-3.08,6.58-8.74,10.24-16.23,10.24-11.07,0-20.06-7.91-20.06-23.64C234.34,487.14,244.58,479.07,255.23,479.07Zm16.31,23.8c0-8.91-4.07-15.4-13.32-15.4-8.65,0-13.23,6.24-13.23,15.56s4.33,15.22,13.23,15.22c9.25,0,13.32-6.48,13.32-15.38Z"/><path class="cls-4" d="M334.2,526.25H323.8v-11c-3.16,7.9-8.91,11.89-16,11.89-11.24,0-16.65-7.49-16.65-18.88V479.65h10.41v25.8c0,7.9,2.75,13,10.57,13,7.15,0,11.57-6.16,11.57-15.9V479.65H334.2Z"/><path class="cls-4" d="M366.65,527.08c-16.06,0-24.3-10.23-24.3-23.88,0-13.23,9.08-24.47,24-24.47,15.22,0,22.38,10.9,22.38,23.39v3.66h-36.2c.83,7.9,5.57,12.65,14,12.65,6.09,0,9.58-2.5,12.32-7.33l8.75,4.75C383.55,522.42,377.05,527.08,366.65,527.08Zm-14-27.78h25.8c-.43-6.92-4.08-12-12.23-12-7.74,0-12.4,4.49-13.57,12Z"/><path class="cls-4" d="M400.85,510.86c3.83,5,8.49,7.66,15.31,7.66,6.41,0,9.07-3.08,9.07-6.32,0-4.75-7.32-5.08-15.64-6.5-8.24-1.25-14.57-4.07-14.57-12.48,0-8.16,6.83-14.65,18.56-14.65,9.49,0,16.15,2.83,21.8,9.49l-8,6.83c-3.57-5.08-8-7.58-14.39-7.58s-8.82,2.91-8.82,6c0,4.16,5.49,4.91,13.23,6.09,8.82,1.33,17.06,3.43,17.06,12.82,0,8.75-7,15.06-18.56,15.06-10.57,0-18.06-3.49-22.64-9.24Z"/><path class="cls-4" d="M472,525.17a18.22,18.22,0,0,1-8.65,1.9c-10.16,0-14.32-5.41-14.32-15.73v-23H438.38v-8.65h10.73v-11.8l9.74-5.82v17.64H472v8.65H458.85v21.8c0,5.83,2.41,8,7,8a14.34,14.34,0,0,0,6.16-1.34Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 KiB

Some files were not shown because too many files have changed in this diff Show More