@ -1,66 +0,0 @@
|
||||
version: 2
|
||||
jobs:
|
||||
awesome:
|
||||
docker:
|
||||
- image: circleci/ruby:2.4.2-jessie-node
|
||||
steps:
|
||||
- checkout
|
||||
- run: gem install awesome_bot
|
||||
- run: awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md
|
||||
|
||||
build:
|
||||
docker:
|
||||
- image: circleci/node:10.15.1-browsers
|
||||
environment:
|
||||
NO_SANDBOX: true
|
||||
steps:
|
||||
- checkout
|
||||
- run: npm ci
|
||||
- run: npm run build
|
||||
- persist_to_workspace:
|
||||
root: .
|
||||
paths:
|
||||
- public
|
||||
|
||||
deploy:
|
||||
docker:
|
||||
- image: olizilla/ipfs-dns-deploy
|
||||
environment:
|
||||
DOMAIN: awesome.ipfs.io
|
||||
BUILD_DIR: public
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: /tmp/workspace
|
||||
- run:
|
||||
name: Deploy website to IPFS
|
||||
command: |
|
||||
pin_name="$DOMAIN build $CIRCLE_BUILD_NUMBER"
|
||||
|
||||
hash=$(pin-to-cluster.sh "$pin_name" /tmp/workspace/$BUILD_DIR)
|
||||
|
||||
echo "Website added to IPFS: https://ipfs.io/ipfs/$hash"
|
||||
|
||||
if [ "$CIRCLE_BRANCH" == "master" ] ; then
|
||||
dnslink-dnsimple -d $DOMAIN -r _dnslink -l /ipfs/$hash
|
||||
fi
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
check-links:
|
||||
triggers:
|
||||
- schedule:
|
||||
cron: "0 0 * * *"
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
jobs:
|
||||
- awesome
|
||||
build-deploy:
|
||||
jobs:
|
||||
- awesome
|
||||
- build
|
||||
- deploy:
|
||||
context: ipfs-dns-deploy
|
||||
requires:
|
||||
- build
|
2
.github/ISSUE_TEMPLATE/open_an_issue.md
vendored
@ -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.
|
||||
|
||||
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)
|
||||
-->
|
||||
|
2
.github/config.yml
vendored
@ -20,7 +20,7 @@ newIssueWelcomeComment: >
|
||||
- "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.
|
||||
|
||||
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.
|
||||
|
||||
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
|
||||
|
36
.github/workflows/data.yml
vendored
@ -1,36 +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]')"
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
- uses: actions/setup-node@v1.4.4
|
||||
with:
|
||||
node-version: 13
|
||||
- name: build
|
||||
# env:
|
||||
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()
|
||||
uses: ad-m/github-push-action@v0.6.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
43
.github/workflows/pull_requests.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
name: Pull request workflow
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [ opened, synchronize, reopened ]
|
||||
branches: [ master, main ]
|
||||
|
||||
jobs:
|
||||
run-awesome-bot:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 13
|
||||
- name: Set up Ruby 3.1.2
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 3.1.2
|
||||
- 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.
|
||||
run: |
|
||||
gem install awesome_bot
|
||||
# Only fail the pull request if $DANGER_GITHUB_API_TOKEN is empty
|
||||
awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || [ -n $DANGER_GITHUB_API_TOKEN ]
|
||||
env:
|
||||
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
|
||||
- name: Run danger
|
||||
if: always()
|
||||
# see https://github.com/danger/danger/issues/1103
|
||||
# see https://github.com/danger/danger/blob/master/.github/workflows/CI.yml#L38-L41
|
||||
run: |
|
||||
TOKEN='7469b4e94ce21b43e3ab7a'
|
||||
TOKEN+='79960c12a1e067f2ec'
|
||||
SECRET_TOKEN="${DANGER_GITHUB_API_TOKEN:-$GITHUB_TOKEN}"
|
||||
DANGER_GITHUB_API_TOKEN=${SECRET_TOKEN:-$TOKEN} RUNNING_IN_ACTIONS=true npm run ci:danger || echo "Skipping Danger for External Contributor"
|
||||
env:
|
||||
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
13
.github/workflows/stale.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
name: Close and mark stale issue
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
uses: pl-strflt/.github/.github/workflows/reusable-stale-issue.yml@v0.3
|
6
.gitignore
vendored
@ -30,3 +30,9 @@ dist
|
||||
/src/static/fonts
|
||||
/src/static/app.css
|
||||
/src/static/app.js
|
||||
|
||||
# awesome_bot output
|
||||
ab-results-README.md-filtered.json
|
||||
ab-results-README.md.json
|
||||
ab-results-README.md-markdown-table.json
|
||||
links.txt
|
||||
|
1
CODEOWNERS
Normal file
@ -0,0 +1 @@
|
||||
* @2color @meandavejustice @bmann
|
@ -1,26 +1,35 @@
|
||||
# Contribution Guidelines
|
||||
|
||||
Thanks for submitting your entry to Awesome IPFS!
|
||||
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
|
||||
|
||||
- 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.
|
||||
- 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
|
||||
|
||||
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.
|
||||
Make an **individual pull request for each suggestion**:
|
||||
|
||||
Style tips:
|
||||
- New categories, or improvements to the existing categorization are welcome.
|
||||
|
||||
- Keep descriptions short and simple, but descriptive.
|
||||
- Don't mention `IPFS` in the description as it's implied.
|
||||
- Start the description with a capital and end with a full stop/period.
|
||||
- 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
|
||||
|
||||
@ -29,6 +38,4 @@ Style tips:
|
||||
|
||||
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!
|
||||
---
|
||||
|
6
Makefile
@ -1,6 +0,0 @@
|
||||
build:
|
||||
npm --version
|
||||
node --version
|
||||
npm ci
|
||||
npm run lint
|
||||
npm run build
|
15
POLICY.md
@ -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.
|
||||
|
300
README.md
@ -1,258 +1,140 @@
|
||||
# Awesome IPFS [](https://github.com/sindresorhus/awesome)
|
||||
|
||||
[](http://ipn.io)
|
||||
[](http://ipfs.io/)
|
||||
[](http://webchat.freenode.net/?channels=%23ipfs)
|
||||
This is a community list of awesome projects, apps, tools, and services related to IPFS.
|
||||
|
||||
> Useful resources for using [IPFS](https://ipfs.io) 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)._
|
||||
To submit your project, read the [Content Policy](https://github.com/ipfs/awesome-ipfs/blob/main/CONTRIBUTING.md#content-policy), and [**submit a PR**](https://github.com/ipfs/awesome-ipfs/edit/main/README.md)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Contribute](#contribute-to-this-list)
|
||||
- [Collab-Cluster](#collab-cluster)
|
||||
- [Implementations](#implementations)
|
||||
- [Apps](#apps)
|
||||
- [Articles](#articles)
|
||||
- [Datasets](#datasets)
|
||||
- [Services](#services)
|
||||
- [Browsers](#browsers)
|
||||
- [Tools](#tools)
|
||||
- [Videos](#videos)
|
||||
- [Discussions](#discussions)
|
||||
- [Want to hack on IPFS?](#want-to-hack-on-ipfs)
|
||||
- [Services & Platforms](#services--platforms)
|
||||
- [Pinning Services](#pinning-services)
|
||||
- [Stale Projects](#stale-projects)
|
||||
- [Contribute](#contribute)
|
||||
- [License](#license)
|
||||
|
||||
## Contribute to this list!
|
||||
## Implementations
|
||||
IPFS is an open-source project that encourages the development of multiple implementations of the protocol, each of which seeks to optimize for various use cases.
|
||||
|
||||
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.
|
||||
Check out the list of [IPFS implementations](https://docs.ipfs.tech/concepts/ipfs-implementations/#popular-or-actively-maintained) in the IPFS docs.
|
||||
|
||||
## 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
|
||||
- [AirSecure](https://github.com/airsecure/airsecure) - Decentralized two factor authentication app built on Textile & 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.
|
||||
- [Anytype](https://github.com/anyproto) - Anytype is a no-code, modular web builder designed to give ownership back to creators. It's built on our private, local-first, p2p-synced and open Anysync protocol.
|
||||
- [archiveweb.page](https://github.com/webrecorder/archiveweb.page) - A High-Fidelity Web Archiving Extension for Chrome and Chromium based browsers with support for 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.
|
||||
- [beets](https://github.com/beetbox/beets) - Beets has a plugin which allows for easy sharing of music libraries using IPFS
|
||||
- [Blokaly](https://github.com/blokaly) - A badge issuing, sharing and display platform based on IPFS.
|
||||
- [Boards](https://ipfs.io/ipns/boards.ydns.eu) - Distributed social platform that runs in the browser. [Source](https://github.com/fazo96/ipfs-boards)
|
||||
- [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.
|
||||
- [Cyber](https://cyber.page) - A decentralized Google alternative, built with the help of IPFS. [Source](https://github.com/cybercongress)
|
||||
- [dapple](https://github.com/nexusdev/dapple) - Dapple is a Solidity developer multitool designed to manage the growing complexity of interconnected smart contract systems.
|
||||
- [Diffuse](https://diffuse.sh) - Play music from your IPFS node, or any other cloud/distributed storage service you use.
|
||||
- [digx](https://www.dgx.io/) - Digix is an asset-tokenisation platform built on Ethereum and IPFS.
|
||||
- [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.
|
||||
- [gogo.tattoo](http://gogo.tattoo) - Gogo Tattoo Project uses IPFS, DLTs and other modern technologies to offer tattoo artists and wearers an unbreakable lifetime record of their portfolios. gogo.tattoo app already has a feature to share works directly to IPFS.
|
||||
- [Gorilla REPL viewer](https://github.com/keorn/ipfs-gorilla-repl) - Gorilla is a rich REPL for Clojure in the notebook style.
|
||||
- [brig](https://github.com/sahib/brig) - File synchronization with git like interface and FUSE filesystem.
|
||||
- [Diffuse](https://github.com/icidasset/diffuse) - Play music from your IPFS node, or any other cloud/distributed storage service you use.
|
||||
- [Durin](https://durin.site/) - Mobile app for accessing and uploading content on the IPFS network.
|
||||
- [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.
|
||||
- [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 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.
|
||||
- [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 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-forum](https://hub.textile.io/ipns/bafzbeib2jvsythibag52rncf56qflqye6iekponbt3u7txcbv2oz45sy5e/index.html) - 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)
|
||||
- [IPFS-FPS](http://ipfs-fps.zil.sh/) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata. [Source](https://github.com/IPFS-FPS)
|
||||
- [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://ipfs.ink) - Publish and render markdown essays to and from ipfs. [Source](https://github.com/kpcyrd/ipfs.ink)
|
||||
- [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
|
||||
- [IpJot](https://ipjot.herokuapp.com/) - Creates short notes, stories, books, poems, conversations on IPFS.
|
||||
- [IPSE](https://www.ipse.io/) - A search engine for the IPFS network.
|
||||
- [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.
|
||||
- [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)
|
||||
- [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.
|
||||
- [OpenBazaar](https://www.openbazaar.org/) - This new version(v2.0) is built on IPFS, Openbazaar stores can now be accessible to buyers even when they are offline.
|
||||
- [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)
|
||||
- [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)
|
||||
- [Philes](https://philes.co) - A simple browser-based IPFS notepad app. [Source](https://github.com/chrismatthieu/philes)
|
||||
- [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
|
||||
- [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-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-FPS](https://github.com/underscoredLabs/webgl-ipfs-fps) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata.
|
||||
- [killcord](https://github.com/nomasters/killcord) - A censorship resistant deadman's switch
|
||||
- [Mintter](https://github.com/MintterHypermedia/mintter) - Mintter Hypermedia is an open system, built on IPFS, that allows communities to collaborate on content that is structured and deeply linked. All content in the system is cryptographically signed, versioned, and made permanent with IPFS.
|
||||
- [orbitchat.dev](https://github.com/cppshane/orbit-chat) - Ultra simple chatrooms on the web.
|
||||
- [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.
|
||||
- [Peergos](https://github.com/Peergos/Peergos) - End-to-end encrypted, peer-to-peer file storage and sharing.
|
||||
- [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). [Source](https://github.com/qri-io/qri)
|
||||
- [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://simpleaswater.com/ipfs-cluster-twitter-pinbot/) - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster. [Source](https://github.com/simpleaswater/twitter-pinbot)
|
||||
- [SimpleID](https://simpleid.xyz/) - Developer tools for adding Ethereum authentication and content pinning to your app. [Source](https://github.com/simplesecure/)
|
||||
- [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
|
||||
- [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)
|
||||
- [Tree3 Network](https://tree3.network/) - A decentralized platform for micropayments, offchain data and blogging powered by Stellar and IPFS. [Source](https://github.com/tree3network/tree3)
|
||||
- [ujo](http://ujomusic.com/) - A blockchain marketplace for musicians.
|
||||
- [uport](https://www.uport.me) - Uport is a mobile, self-sovereign identity and key management system, built on the Ethereum blockchain.
|
||||
- [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!
|
||||
- [Quiet](https://tryquiet.org/) - Privacy focused, end-to-end encrypted chat app that runs a private IPFS network over Tor connections. Desktop and mobile iOS and Android apps available.
|
||||
- [Skiff](https://github.com/skiff-org/skiff-mail) - Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage.
|
||||
|
||||
## Articles
|
||||
|
||||
- 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)
|
||||
- 2020-01-22: [Building a Twitter Bot using IPFS Cluster](https://simpleaswater.com/ipfs-cluster-twitter-pinbot/?ref=awesomeipfs)
|
||||
- 2020-01-04: [Hands-on IPLD Tutorial in Golang Series](https://simpleaswater.com/hands-on-ipld-tutorial-in-golang?ref=awesomeipfs)
|
||||
- 2019-10-01: [InterPlanetary Chat Application using Libp2p](http://simpleaswater.com/libp2p/tutorials/nodejs/getting_started?ref=awesomeipfs)
|
||||
- 2019-08-14: [Managing storage in a Java application with IPFS](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926)
|
||||
- 2019-07-22: [10+ Resources Every IPFS Developer Should Know About](https://medium.com/@vaibhavsaini_67863/10-resources-to-get-started-with-ipfs-5f429dc8a841)
|
||||
- 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)
|
||||
- [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/)
|
||||
- [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)
|
||||
- [Operating Systems Mirror & Archive (OSMA)](http://www.fleschutz.de/Service/OSMA.html) - Mirror and archive of 29 established operating systems with 192 releases. [Source](https://github.com/fleschutz/awesome-ipfs)
|
||||
- [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.
|
||||
- [DWS](https://dws.datochain.com/) - Deploy modern static websites with DWS and Enjoy secure and decentralized storage on 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.
|
||||
- [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 Pinata’s 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
|
||||
## Browsers
|
||||
A list of web browsers with IPFS integrations
|
||||
- [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
|
||||
- [Brave](https://brave.com/ipfs-support/) - A privacy-focused browser with many future forward features.
|
||||
- [galacteek](https://github.com/pinnaculum/galacteek) - A multi-platform Qt5-based browser for the distributed web.
|
||||
- [Opera](https://blogs.opera.com/tips-and-tricks/2021/02/opera-crypto-files-for-keeps-ipfs-unstoppable-domains/) - Opera browser added support for `ipfs://` in 2021
|
||||
|
||||
## 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)
|
||||
- [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)
|
||||
- [cachewarmer](https://github.com/BrendanBenshoof/cachewarmer) - Donate ipfs gateways to cache other people's content
|
||||
- [dillo-ipfs](https://git.scuttlebot.io/%25C35b%2BMlZ%2Fy5TT1e7SG66eNKEIdX5DRl9PRUxbhvO89k%3D.sha256) - IPFS integration for the Dillo web browser.
|
||||
- [galacteek](https://galacteek.github.io) - A multi-platform Qt5-based browser for the distributed web [Source](https://github.com/pinnaculum/galacteek)
|
||||
- [bifrost-gateway](https://github.com/ipfs/bifrost-gateway) - [EXPERIMENTAL] A lightweight IPFS Gateway daemon backed by a remote data store.
|
||||
- [create-ipfs-app](https://github.com/alexbakers/create-ipfs-app) - Set up a decentralized web3 app by running one command.
|
||||
- [dScan](https://github.com/p2plabsxyz/dscan) - A browser extension that uploads the content to Web3.Storage and generates QR codes for CIDs.
|
||||
- [dump-ipfs](https://github.com/quasarch/dump-ipfs) - A decentralized encrypted backup agent for popular databases supported by IPFS and Filecoin.
|
||||
- [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-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.
|
||||
- [Image Sever](https://imageserver.link) - Upload Images via JSON HTTP API; URI, URL, File and Base64 [Source](https://github.com/ekumahost/ImageServer)
|
||||
- [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
|
||||
- [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)
|
||||
- [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-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-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-add-from-encrypted](https://github.com/TroyWilson1/ipfs-add-from-encrypted) - Encrypt a file or directory with AES256 then add to IPFS.
|
||||
- [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-gui](https://github.com/marcin212/ipfs-gui) - Windows UI integration and IPFS installer
|
||||
- [ipfs-linux-service](https://github.com/dylanPowers/ipfs-linux-service) - IPFS Linux Init Daemon
|
||||
- [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-encrypted-share](https://github.com/whs/ipfs-encrypted-share) - Easy to use encrypted file uploader.
|
||||
- [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-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-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)
|
||||
- [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
|
||||
- [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.
|
||||
- [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.
|
||||
- [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.
|
||||
- [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.
|
||||
- [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).
|
||||
- [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.
|
||||
- [pinbot](https://github.com/whyrusleeping/pinbot) - Pin content via IRC
|
||||
- [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)
|
||||
- [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
|
||||
- [Siderus Orion](https://orion.siderus.io) - Easy to use IPFS desktop client for macOS, Windows and Linux [Source](https://github.com/Siderus/Orion)
|
||||
- [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
|
||||
- [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 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.
|
||||
- [sourcify](https://github.com/ethereum/sourcify) - Decentralized Solidity contract source code verification service
|
||||
- [SimpleAsWater Bot](https://github.com/simpleaswater/twitter-pinbot) - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster.
|
||||
- [solid-ipfs](https://github.com/Eximua/solid-ipfs) - Using Solid to store IPFS Hash privately or publicly.
|
||||
- [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.
|
||||
- [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.
|
||||
- [IPFS Alpha - Why we must redistribute the web](https://www.youtube.com/watch?v=skMTdSEaCtA)
|
||||
- [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!
|
||||
- [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.
|
||||
- [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.
|
||||
- [Apillon](http://apillon.io/) - a Web3 development platform, offering IPFS gateways, IPFS file-pinning via Crust network and IPFS powered hosting services for websites and apps.
|
||||
- [Ceramic](https://ceramic.network/) - Ceramic combines IPFS content addressing with advanced cryptography and blockchain timestamps to guarantee security and verifiability of data.
|
||||
- [dAppling](https://www.dappling.network/) - Hosting platform with automated deployments from GitHub to IPFS
|
||||
- [Fileverse](https://fileverse.io/) - Encrypted file sharing based on IPFS. Share any files with or without a wallet
|
||||
- [Fleek](http://fleek.co/) - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer.
|
||||
- [Fission](https://fission.codes) - Fission builds open source protocols and managed solutions that empower developers to construct scalable and secure software applications.
|
||||
- [Matters.town](https://matters.town/) - Decentralized content publication ecosystem.
|
||||
- [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.
|
||||
- [Gateway3](https://gw3.app/) - A decentralized IPFS pinning service designed for developers. Supports content pinning, IPNS hosting, DAG operations, pinning tweets, and web hosting.
|
||||
- [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 Pinata’s 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.
|
||||
- [QuickNode](https://www.quicknode.com/ipfs) - IPFS gateways and pinning
|
||||
- [Scaleway](https://labs.scaleway.com/en/ipfs-pinning/) - A multi-region, multi-az redundant IPFS pinning service.
|
||||
- [Spheron](https://spheron.network) - Spheron offers IPFS pinning service and dedicated gateways.
|
||||
- [thirdweb](https://thirdweb.com/storage) - Easily upload and pin files to IPFS.
|
||||
- [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 moving the entry into [stale.md](./stale.md) and optionally add the reason why it's marked as stale with an indented comment.
|
||||
|
||||
## Want to hack on IPFS?
|
||||
[View the list of stale projects here](./stale.md)
|
||||
|
||||
[](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
|
||||
## Contribute
|
||||
|
||||
Contributions are welcome!
|
||||
|
||||
See the [**Contribution Guidelines**](./CONTRIBUTING.md).
|
||||
|
||||
## License
|
||||
|
||||
|
14
dangerfile.js
Normal file
@ -0,0 +1,14 @@
|
||||
const { danger, markdown, fail, warn, message } = require('danger')
|
||||
const awesomeBotResults = require('./ab-results-README.md-markdown-table.json')
|
||||
|
||||
const githubMetadata = danger.git.fileMatch('.github/**')
|
||||
const readme = danger.git.fileMatch('README.md')
|
||||
|
||||
if (readme.edited && awesomeBotResults.error) {
|
||||
fail(awesomeBotResults.title)
|
||||
markdown(awesomeBotResults.message)
|
||||
}
|
||||
|
||||
if (githubMetadata.edited) {
|
||||
message('Changes were made within the .github folder.')
|
||||
}
|
458
data/apps.yaml
@ -1,458 +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: http://ipfs-fps.zil.sh/
|
||||
source: https://github.com/IPFS-FPS
|
||||
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://simpleaswater.com/ipfs-cluster-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: Cyber
|
||||
website: https://cyber.page
|
||||
source: https://github.com/cybercongress
|
||||
picture: /images/cybercongress.png
|
||||
description: >
|
||||
A decentralized Google alternative, built with the help of IPFS.
|
||||
- title: SimpleID
|
||||
website: https://simpleid.xyz/
|
||||
source: https://github.com/simplesecure/
|
||||
picture: /images/simpleid.svg
|
||||
description: >
|
||||
Developer tools for adding Ethereum authentication and content pinning to your app.
|
||||
- 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: Diffuse
|
||||
source: https://diffuse.sh
|
||||
description: >
|
||||
Play music from your IPFS node, or any other cloud/distributed storage service you use.
|
||||
- title: digx
|
||||
website: https://www.dgx.io/
|
||||
description: >
|
||||
Digix is an asset-tokenisation platform built on Ethereum and IPFS.
|
||||
- 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: 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: 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
|
||||
website: https://ipfs.ink
|
||||
source: https://github.com/kpcyrd/ipfs.ink
|
||||
description: >
|
||||
Publish and render markdown essays to and from ipfs.
|
||||
- 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).
|
||||
- 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: gogo.tattoo
|
||||
website: http://gogo.tattoo
|
||||
description: >
|
||||
Gogo Tattoo Project uses IPFS, DLTs and other modern technologies to
|
||||
offer tattoo artists and wearers an unbreakable lifetime record of their portfolios.
|
||||
gogo.tattoo app already has a feature to share works directly to IPFS.
|
||||
- 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: Philes
|
||||
website: https://philes.co
|
||||
source: https://github.com/chrismatthieu/philes
|
||||
description: A simple browser-based IPFS notepad app.
|
||||
- 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://www.openbazaar.org/
|
||||
description: >
|
||||
This new version(v2.0) is built on IPFS, Openbazaar stores can now be accessible
|
||||
to buyers even when they are offline.
|
||||
- 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: Tree3 Network
|
||||
website: https://tree3.network/
|
||||
source: https://github.com/tree3network/tree3
|
||||
description: >
|
||||
A decentralized platform for micropayments, offchain data and blogging powered by Stellar and IPFS.
|
||||
- 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://hub.textile.io/ipns/bafzbeib2jvsythibag52rncf56qflqye6iekponbt3u7txcbv2oz45sy5e/index.html
|
||||
source: https://github.com/ReForum-ipfs/ReForum-ipfs
|
||||
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.
|
@ -1,69 +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: Building a Twitter Bot using IPFS Cluster
|
||||
date: "2020-01-22"
|
||||
website: https://simpleaswater.com/ipfs-cluster-twitter-pinbot/?ref=awesomeipfs
|
||||
- title: Hands-on IPLD Tutorial in Golang Series
|
||||
date: "2020-01-04"
|
||||
website: https://simpleaswater.com/hands-on-ipld-tutorial-in-golang?ref=awesomeipfs
|
||||
- title: InterPlanetary Chat Application using Libp2p
|
||||
date: "2019-10-01"
|
||||
website: http://simpleaswater.com/libp2p/tutorials/nodejs/getting_started?ref=awesomeipfs
|
||||
- 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
|
@ -1,133 +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: '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: 'Operating Systems Mirror & Archive (OSMA)'
|
||||
hash: /ipns/QmRdZ6apYBTXHJ43y3NBKe5GJqdc8q58Pnu3RHSQntXQNP
|
||||
website: http://www.fleschutz.de/Service/OSMA.html
|
||||
source: https://github.com/fleschutz/awesome-ipfs
|
||||
description: Mirror and archive of 29 established operating systems with 192 releases.
|
||||
size: 643GB
|
@ -1,53 +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 Pinata’s 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: DWS
|
||||
website: https://dws.datochain.com/
|
||||
picture: /images/dws500px.png
|
||||
description: >
|
||||
Deploy modern static websites with DWS and Enjoy secure and decentralized storage on IPFS.
|
||||
- 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.
|
187
data/tools.yaml
@ -1,187 +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: 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: 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: dillo-ipfs
|
||||
source: https://git.scuttlebot.io/%25C35b%2BMlZ%2Fy5TT1e7SG66eNKEIdX5DRl9PRUxbhvO89k%3D.sha256
|
||||
website: https://git.scuttlebot.io/%25C35b%2BMlZ%2Fy5TT1e7SG66eNKEIdX5DRl9PRUxbhvO89k%3D.sha256
|
||||
description: IPFS integration for the Dillo web browser.
|
||||
picture: /images/dillo-ipfs.png
|
||||
- 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: Image Sever
|
||||
website: https://imageserver.link
|
||||
source: https://github.com/ekumahost/ImageServer
|
||||
description: Upload Images via JSON HTTP API; URI, URL, File and Base64
|
||||
picture: /images/image-server.png
|
||||
- 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.
|
@ -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.
|
11831
package-lock.json
generated
37
package.json
@ -2,43 +2,12 @@
|
||||
"name": "awesome-ipfs",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"ipfs-css": "^0.12.0",
|
||||
"lunr": "^2.3.6",
|
||||
"tachyons": "^4.11.1"
|
||||
},
|
||||
"dependencies": {},
|
||||
"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"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-eslint": "^10.0.2",
|
||||
"browserify": "^16.3.0",
|
||||
"chokidar": "^3.0.2",
|
||||
"cssnano": "^4.1.10",
|
||||
"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"
|
||||
"danger": "^11.1.2"
|
||||
},
|
||||
"author": "Protocol Labs, Inc.",
|
||||
"license": "MIT",
|
||||
|
@ -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
|
||||
**Please confirm ALL of the following** before submitting your PR.
|
||||
|
||||
- [ ] 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 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 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.-->
|
||||
- [ ] I have followed the [Contribution Guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md).
|
||||
- [ ] 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.
|
||||
|
@ -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))
|
@ -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()
|
@ -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()
|
@ -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))
|
@ -1,42 +0,0 @@
|
||||
# Awesome IPFS [](https://github.com/sindresorhus/awesome)
|
||||
|
||||
[](http://ipn.io)
|
||||
[](http://ipfs.io/)
|
||||
[](http://webchat.freenode.net/?channels=%23ipfs)
|
||||
|
||||
> Useful resources for using [IPFS](https://ipfs.io) 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
|
||||
|
||||
- [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)
|
||||
|
||||
## 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://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
|
||||
|
||||
## License
|
||||
|
||||
[](https://creativecommons.org/publicdomain/zero/1.0/)
|
@ -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
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
baseurl: ''
|
||||
relativeurls: true
|
||||
languageCode: en
|
||||
pluralizelisttitles: false
|
||||
removePathAccents: true
|
||||
title: Awesome IPFS
|
||||
|
||||
disableKinds:
|
||||
- taxonomyTerm
|
||||
|
||||
params:
|
||||
Description: >-
|
||||
Useful resources for using IPFS and building things on top of it
|
||||
image: /images/banner.png
|
@ -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;
|
||||
}
|
||||
}
|
@ -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)
|
||||
}
|
||||
})
|
||||
}
|
@ -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>
|
@ -1,3 +0,0 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "list" . }}
|
||||
{{ end }}
|
@ -1,3 +0,0 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "list" . }}
|
||||
{{ end }}
|
@ -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>
|
@ -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" >
|
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 }}
|
Before Width: | Height: | Size: 361 KiB |
Before Width: | Height: | Size: 6.9 KiB |
@ -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 |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 14 KiB |
@ -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 |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 49 KiB |
@ -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 |
Before Width: | Height: | Size: 114 KiB |
@ -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 |
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 175 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 271 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 104 KiB |
@ -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 |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 207 KiB |