diff --git a/.github/ISSUE_TEMPLATE/open_an_issue.md b/.github/ISSUE_TEMPLATE/open_an_issue.md index 4fcbd00..6e3c95a 100644 --- a/.github/ISSUE_TEMPLATE/open_an_issue.md +++ b/.github/ISSUE_TEMPLATE/open_an_issue.md @@ -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) --> diff --git a/.github/config.yml b/.github/config.yml index ed26646..329a52d 100644 --- a/.github/config.yml +++ b/.github/config.yml @@ -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 diff --git a/.github/workflows/broken_link_cron.yml b/.github/workflows/broken_link_cron.yml deleted file mode 100644 index 0c73a79..0000000 --- a/.github/workflows/broken_link_cron.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Open a PR to remove broken links on a schedule - -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' - -permissions: - issues: write - pull-requests: write - -jobs: - check-for-broken-links: - runs-on: ubuntu-latest - permissions: - pull-requests: write - - steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.REMOVE_BROKEN_LINKS_GH_TOKEN }} - - - uses: actions/setup-node@v3 - with: - node-version: 13 - - - uses: ipfs/aegir/actions/cache-node-modules@master - with: - directories: | - README.md - build: | - npm run build:readme - cache_name: readme - - - name: Set up Ruby 3.1.2 - uses: ruby/setup-ruby@v1 - with: - ruby-version: 3.1.2 - - # Cache the files created by awesome_bot - - name: Cache awesome_bot files - uses: actions/cache@v3 - id: awesome_bot_cache - with: - path: | - ab-results-README.md-filtered.json - ab-results-README.md-markdown-table.json - ab-results-README.md.json - key: ${{ runner.os }}-awesome_bot-${{ hashFiles('README.md') }} - - - name: Install and run awesome_bot - if: steps.awesome_bot_cache.outputs.cache-hit != 'true' - run: | - gem install awesome_bot - awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || echo - - - name: Remove broken links - id: remove-broken-links - run: | - node scripts/remove-broken-links.js - echo "Changed files:" - git ls-files -m - changed_data_files_count=$(git ls-files -m data | wc -l | tr -d ' ') - echo "changed_data_files_count='$changed_data_files_count'" - echo "changed_data_files_count=$changed_data_files_count" >> $GITHUB_OUTPUT - - - uses: EndBug/add-and-commit@d4d066316a2a85974a05efb42be78f897793c6d9 # v9.1.0 - https://github.com/EndBug/add-and-commit/commit/d4d066316a2a85974a05efb42be78f897793c6d9 - if: steps.remove-broken-links.outputs.changed_data_files_count != 0 - with: - add: 'data' - new_branch: remove-broken-links - message: 'chore: Remove broken links' - push: 'origin remove-broken-links --set-upstream --force' - author_name: 'ipfs-gui-bot' - author_email: '108953096+ipfs-gui-bot@users.noreply.github.com' - - - name: pull-request - if: steps.remove-broken-links.outputs.changed_data_files_count != 0 - uses: repo-sync/pull-request@65785d95a5a466e46a9d0708933a3bd51bbf9dde - with: - source_branch: "remove-broken-links" - destination_branch: "master" - pr_title: "chore: Remove broken links" - pr_body: "Automated PR created by .github/workflows/broken_link_cron.yml" - pr_label: "kind/maintenance" - pr_draft: false - pr_allow_empty: false - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/data.yml b/.github/workflows/data.yml deleted file mode 100644 index 3c25221..0000000 --- a/.github/workflows/data.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: auto build data - -on: - push: - branches: - - master - paths: - - data/** - -jobs: - build: - runs-on: ubuntu-latest - if: "!contains(github.event.head_commit.message, '[skip ci]') && github.repository == 'ipfs/awesome-ipfs'" - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 13 - - name: build - run: | - npm --version - node --version - npm ci - npm run lint - npm run build - - name: Commit files - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git commit -m "Rebuild" -a - - name: Push changes - if: success() - run: git push diff --git a/.github/workflows/pull_requests.yml b/.github/workflows/pull_requests.yml index c7722b5..f75a43a 100644 --- a/.github/workflows/pull_requests.yml +++ b/.github/workflows/pull_requests.yml @@ -7,27 +7,8 @@ on: branches: [ master, main ] jobs: - # Run linting and tests - build-and-lint: + run-awesome-bot: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v1 - with: - node-version: 13 - - uses: ipfs/aegir/actions/cache-node-modules@master - with: - directories: | - README.md - build: | - npm run build:readme - cache_name: readme - # aegir/actions/cache-node-modules runs build. We don't need to run it again. - - run: npm run lint - - run-danger: - runs-on: ubuntu-latest - needs: build-and-lint if: "!contains(github.event.head_commit.message, '[skip ci]')" steps: - name: Checkout @@ -40,13 +21,6 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: 3.1.2 - - uses: ipfs/aegir/actions/cache-node-modules@master - with: - directories: | - README.md - build: | - npm run build:readme - cache_name: readme - name: Install and run awesome_bot # 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: | diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..f9b6e6d --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +awesome.ipfs.tech \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 146d5e3..10d669d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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! +--- diff --git a/Makefile b/Makefile deleted file mode 100644 index 301d02e..0000000 --- a/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -build: - npm --version - node --version - npm ci - npm run lint - npm run build diff --git a/POLICY.md b/POLICY.md deleted file mode 100644 index 28d3eb0..0000000 --- a/POLICY.md +++ /dev/null @@ -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. - diff --git a/README.md b/README.md index 85efb23..d8a22d0 100644 --- a/README.md +++ b/README.md @@ -1,266 +1,120 @@ # Awesome IPFS [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) -> Useful resources for using [IPFS](https://ipfs.tech) and building things on top of it +This is a community list of awesome projects, apps, tools, and services related to IPFS. -_This list is for projects, tools, or pretty much any things related to IPFS that are totally_ **awesome**_. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in [our IPFS Discuss Forums](https://discuss.ipfs.io)._ +If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in the [IPFS Forums](https://discuss.ipfs.tech). ## Table of Contents -- [Contribute](#contribute-to-this-list) -- [Collab-Cluster](#collab-cluster) - [Apps](#apps) -- [Articles](#articles) -- [Datasets](#datasets) -- [Services](#services) - [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! - -Everyone is welcome to submit their new awesome-ipfs item, but it will be accepted only if it meets our [content policy](https://github.com/ipfs/awesome-ipfs/blob/master/POLICY.md). - -Readme and the website are automatically generated. In order to add an element to this list, you need to modify the files in `/data` and then run `make build` before publishing your pull request. Read [contributing guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md) to learn how to do so. - -## Collab-Cluster - -[Collaborative clusters](https://collab.ipfscluster.io/) are public IPFS Clusters that anyone can join to help replicating and re-distributing content on the IPFS network. Instead of datasets cluster content is usually updated. - ## Apps -- [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. +- [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. -- [CoTNetwork](http://www.cotnetwork.com) - A distributed computing network base on ipfs -- [dapple](https://github.com/nexusdev/dapple) - Dapple is a Solidity developer multitool designed to manage the growing complexity of interconnected smart contract systems. -- [DeCommerce](https://www.ivyca.com/decommerce/) - Decentralized ecommerce for Web3. Allows people to transact business without middlemen. No Middleman, no Bank, no Big Tech, no Government. -- [Diffuse](https://diffuse.sh) - Play music from your IPFS node, or any other cloud/distributed storage service you use. -- [Discussify](https://github.com/ipfs-shipyard/discussify-browser-extension) - Discussify provides a real-time, peer to peer, and permanent discussion platform for anyone to join and participate. -- [DtinyUrl](https://github.com/facert/dtinyurl) - Decentralized URL shortening service based on IPFS. -- [dtube](https://d.tube) - Distributed video sharing with steem.it integrations, using ipfs for backend storage. -- [edChain](https://www.edchain.io/) - EdChain is a global network for education and careers. It uses blockchain and distributed web technologies to deliver educational content, even to those without broadband internet. [Source](https://github.com/edchainio/edchain-client-gui) -- [enzypt.io](https://enzypt.io/) - A website to buy and sell files through Ethereum and IPFS. [Source](https://github.com/flex-dapps/enzypt) -- [Ethlance](http://ethlance.com) - First completely decentralised job market platform built on Ethereum and IPFS. [Source](https://github.com/madvas/ethlance) -- [Everforo](https://www.everforo.com) - Everforo is the next generation of online community groups build on top of IPFS. -- [git-ipfs-rehost](https://github.com/whyrusleeping/git-ipfs-rehost) - A script to rehost your git repos in ipfs. -- [Global Upload](https://globalupload.io/) - File transportation service for IPFS, upload files to the future of distributed web. -- [Gorilla REPL viewer](https://github.com/keorn/ipfs-gorilla-repl) - Gorilla is a rich REPL for Clojure in the notebook style. +- [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. -- [InfinitumX](https://infinitumx.io) - A decentralized "Reddit Place" like board with Harberger's tax as an economical concept & censorship resistance built in. -- [infura.io](https://infura.io) - An Infrastructure: use API and developer tools provide secure, reliable, and scalable access to Ethereum and IPFS to help build decentralized application easier. - [InterPlanetary Wayback](https://github.com/oduwsdl/ipwb) - Web Archive (WARC) indexing and replay using IPFS. - [Interplanetary 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 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-forum](https://github.com/ReForum-ipfs/ReForum#readme) - A web3 forum.You can get new ideas,reports,dicussions from this forum ,though you maybe are in a network-restricted area,all the contents will be updated qucikly by ipfs. [Source](https://github.com/ReForum-ipfs/ReForum) -- [IPFS-FPS](https://ipfs-fps-website.on.fleek.co/) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata. -- [ipfs-md-wiki](https://github.com/daijiale/ipfs-md-wiki) - Build your wiki system base on ipfs and markdown. -- [ipfs-search](https://ipfs-search.com) - Searching the universe since 2016. -Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available. [Source](https://github.com/ipfs-search/ipfs-search) -- [ipfs-share](https://github.com/rameshvarun/ipfs-share) - Pastebin/Image host/File sharing application -- [ipfs.ink](https://github.com/kpcyrd/ipfs.ink) - Publish and render markdown essays to and from ipfs. -- [ipfs.pics](https://github.com/ipfspics/ipfspics-server) - Upload and share pics. -- [IPFSBin](https://github.com/victorbjelkholm/ipfsbin) - Pastebin clone build. +- [IPFS-FPS](https://github.com/underscoredLabs/webgl-ipfs-fps) - A completely decentralized first person shooter. Built with Unity, Fleek, Unstoppable Domans and Pinata. - [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) -- [La Marque](https://marque.la/) - Generate & pin content from your phone. Validate "La Marque" assets by verifying received images from others. -- [markup.rocks](https://ipfs.io/ipfs/QmWPgJnUGLB1LPh9KMG9LEN4LVu5e17TwkEtcmTWdNn9V6/#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u) - Pandoc-based markup editor/previewer/converter, ported to IPFS. [Source](https://github.com/davidar/markup.rocks) -- [Minerva](https://github.com/bdchain/Minerva) - Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine. -- [Music For Programming](https://ipfs.io/ipns/mfp.jillejr.tech) - Unofficial port of musicforprogramming.net. [Source](https://github.com/jilleJr/musicforprogramming.ipfs) -- [OpenBazaar](https://github.com/OpenBazaar) - OpenBazaar was an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace. -- [Orbit](https://orbit.chat) - Distributed, peer-to-peer chat application on IPFS. [Source](https://github.com/haadcode/orbit) -- [Origin Protocol](https://demo.originprotocol.com/) - Distributed sharing economy marketplace with images, metadata, and ERC 725 data stored on IPFS. [Source](https://github.com/OriginProtocol/demo-dapp) -- [P2Pdoc](https://p2pdoc.glitch.me/) - P2Pdoc allows you to create a document and then upload it to the distributed web. [Source](https://github.com/aboutDavid/p2pdoc) -- [Partyshare](https://busterlabs.github.io/Partyshare) - A simple file sharing desktop app. [Source](https://github.com/BusterLabs/Partyshare) -- [Pathephone](https://pathephone.github.io) - Distributed music streaming app. -- [Peer Bandwidth Demo](https://ipfs.io/ipfs/QmVaVXbLdw4R5NqAiiQoTWtitxo5g7FS31PQmCLbH9p8Fu/) - An demo app that uses window.ipfs, provided by the IPFS Companion web extension to get and graph bandwidth info for your IPFS node [Source](https://github.com/tableflip/ipfs-peer-bw-example) -- [Peer Map Demo](https://ipfs.io/ipfs/QmRPGCmLKH2dQmNiPRsiuYS9EhhJL1Gmkz5F75gKY1K4Bm/) - A map of IPv4 IPFS peers that uses window.ipfs [Source](https://github.com/tableflip/ipfs-peer-map-example) -- [Peer Web Site](https://peerweb.site/) - Peer to Peer Web Site hosting at your fingertips! Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc. [Source](https://github.com/Weedshaker/PeerWebSite) -- [Peergos](https://peergos.org) - End-to-end encrypted, peer-to-peer file storage and sharing. [Source](https://github.com/Peergos/Peergos) -- [Playback](https://mafintosh.github.io/playback/) - IPFS playback support. This allows casting a video in IPFS to a Chromecast. -- [PubSub Chat Demo](https://ipfs.io/ipfs/QmWZ3u5S7RjFXKfW6dSZhj7CozcvpqJxm48RYMmKkWcmNQ/) - A ~76KB demo chat app that uses window.ipfs, provided by the IPFS Companion web extension [Source](https://github.com/tableflip/ipfs-pubsub-chat-example) -- [Pugdit](https://github.com/zbyte64/pugdit) - A bulletin board service that discovers and distributes over IPFS +- [killcord](https://github.com/nomasters/killcord) - A censorship resistant deadman's switch +- [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). [Project is winding down] [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://github.com/simpleaswater/twitter-pinbot) - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster. -- [Skiff](https://www.skiff.com) - Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage. [Source](https://github.com/skiff-org/skiff-mail) -- [Skyhook](https://github.com/deedeecx330/skyhook) - Send and receive files securely -- [TallyLab](https://tallylab.com/) - Local-first, end-to-end encrypted data diary app for capturing, analyzing, and sharing data about any and everything. -- [Temporal](https://github.com/RTradeLtd/Temporal) - Temporal is an easy to use API and platform for integrating IPFS and other distributed/decentralized storage technologies into enterprise applications -- [Terrive](https://ipfs.io/ipns/terrive.one) - A Photo and Video Sharing Platform that uses the HIVE blockchain as a database and Immutable Image/Video Hosting. [Source](https://github.com/appukuttan66/terrive) -- [Textile Photos](https://www.textile.photos) - Textile Photos is a secure, mobile digital wallet for your photos. [Source](https://github.com/textileio/textile-mobile) -- [ToDo List Demo](https://ipfs.io/ipfs/QmSGQrmvHe6fFiWdV2H8YnhLaoX4qe5nYEmJfUFx6LdUYa/) - A ToDo List demo app that uses windows.ipfs. [Source](https://github.com/ipfs-shipyard/demo-ipfs-todo) -- [ujo](http://ujomusic.com/) - A blockchain marketplace for musicians. -- [Uniswap](https://uniswap.org/) - Decentralized Trading Protocol built on Ethereum. [Source](https://github.com/Uniswap) -- [uport](https://www.uport.me) - Uport is a mobile, self-sovereign identity and key management system, built on the Ethereum blockchain. -- [Valist](https://valist.io) - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps. [Source](https://github.com/valist-io/valist) -- [Watchit](https://github.com/ZorrillosDev/watchit-desktop) - A movie platform with a decentralized network approach. -- [Wistful Books](https://wistfulbooks.com/) - Single page offline application for enjoying librivox.org audio books. [Source](https://github.com/smwa/wistfulbooks) -- [xfce-screenshooter-ipfs-support](https://github.com/amar-laksh/xfce-screenshooter-ipfs-support) - A fork of xfce-screenshooter with IPFS support! -- [youtube2ipfs](https://pypi.org/project/youtube2ipfs/) - Download videos from YouTube (and similar video platforms) and add them to IPFS. [Source](https://github.com/dokterbob/youtube2ipfs) +- [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) -- 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) -- [Brainwash Dataset](https://purl.stanford.edu/sx925dc9385) - Stewart, Russell. (2015). Brainwash dataset. -- [cdn.media.ccc.de](https://ipfs.io/ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb) [Source](https://github.com/ipfs/archives/issues/52) -- [cdnjs](https://ipfs.io/ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX) [Source](https://github.com/ipfs/archives/issues/35) -- [Cooking Recipes](https://ipfs.io/ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB) - Around 50GB of formatted and unformatted cooking recipes. [Source](https://old.reddit.com/r/opendirectories/comments/dsznin/50_gb_directory_of_cooking_recipes/) -- [CrowdHuman Dataset](http://www.crowdhuman.org/) - CrowdHuman dataset. A Benchmark for Detecting Human in a Crowd [Source](http://www.crowdhuman.org/download.html) -- [Geocities by Archive Team](https://ipfs.io/ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox) [Source](https://github.com/ipfs/archives/issues/182) -- [haveibeenpwnd.com passwords](https://ipfs.io/ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv) [Source](https://github.com/ipfs/archives/issues/157) -- [IETF RFC Archive](https://ipfs.io/ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM) [Source](https://github.com/ipfs/archives/issues/18) -- [KinoKabaret Caen, 2018 - Shortfilms](https://ipfs.io/ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39) [Source](https://github.com/ipfs/archives/issues/172) -- [MDSConnect](https://ipfs.io/ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5) [Source](https://github.com/ipfs/archives/issues/152) -- [No-Intro Collection](https://ipfs.io/ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy) [Source](https://github.com/ipfs/archives/issues/163) -- [Old Internet Files](https://ipfs.io/ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp) [Source](https://github.com/ipfs/archives/issues/176) -- [Presidential Daily Briefs](https://ipfs.io/ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89) [Source](https://github.com/ipfs/archives/issues/23) -- [Project Apollo Archives](https://ipfs.io/ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D) [Source](https://github.com/ipfs/archives/issues/143) -- [textfiles.com](https://ipfs.io/ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU) [Source](https://github.com/ipfs/archives/issues/155) -- [WistfulBooks: LibriVox Audiobook Archive](https://wistfulbooks.com) - Free public domain audiobooks from LibriVox.org packaged into a single page that lets you listen to audiobooks in your browser. [Source](https://github.com/smwa/wistfulbooks) -- [World Wide Web History Project](https://ipfs.io/ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ) [Source](https://github.com/ipfs/archives/issues/159) -- [xkcd](https://ipfs.io/ipns/xkcd.hacdias.com) [Source](https://github.com/ipfs/archives/issues/21) -- [yarchive.net](https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK) [Source](https://github.com/ipfs/archives/issues/76) - -## Services - -- [Boom.FYI](https://www.boom.fyi) - An IPFS link shortening and access control service. -- [Crust Network](https://crust.network) - Decentralized pinning and gateway service for IPFS. -- [Eternum](https://www.eternum.io/) - Paid pinning service with an easy-to-use API. -- [Fission](https://fission.codes) - App and website hosting powered by IPFS, including DNS automation, identity, and end-to-end encryption. -- [Fleek](http://fleek.co/) - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer. [Source](https://github.com/FleekHQ) -- [IPFSBay](https://www.ipfsbay.com) - Unstoppable marketplace in the IPFS network. -- [Monaparty](https://www.monaparty.me/) - Token assets platform based on Monacoin and Counterparty. Contents bound to user assets are hosted by IPFS. -- [Peergos](https://peergos.org) - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends. [Source](https://github.com/Peergos/Peergos) -- [Pinata](https://pinata.cloud) - Build and manage your dapp through 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. ## 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) -- [Bubble IPFS From URL Plugin](https://bubble.io/plugin/ipfs-add-from-uri-1616424944051x638386852081172500) - Bubble (no code platform) plugin for IPFS From URL integration -- [cachewarmer](https://github.com/BrendanBenshoof/cachewarmer) - Donate ipfs gateways to cache other people's content +- [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. -- [galacteek](https://galacteek.github.io) - A multi-platform Qt5-based browser for the distributed web [Source](https://github.com/pinnaculum/galacteek) +- [dScan](https://github.com/p2plabsxyz/dscan) - A browser extension that uploads the content to Web3.Storage and generates QR codes for CIDs. - [gatsby-plugin-ipfs](https://github.com/moxystudio/gatsby-plugin-ipfs) - Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative. -- [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. -- [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-encrypted-share](https://github.com/whs/ipfs-encrypted-share) - Easy to use encrypted file uploader. -- [ipfs-gui](https://github.com/marcin212/ipfs-gui) - Windows UI integration and IPFS installer -- [ipfs-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-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) +- [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. -- [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) +- [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. -- [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 -- [VIPFS](https://github.com/Ideea-inc/vipfs) - Publish your Vue apps easily to IPFS +- [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. +- [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 +- [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. +- [Peergos](https://peergos.org) - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends. +- [Valist](https://www.valist.io/) - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps. -## Discussions +## Pinning services +- [4EVERLAND](https://www.4everland.org/) - 4EVERLAND is a pinning service that provides IPFS infrastructure and tooling making it easier and faster to host frontends, store data/NFT/file and fetch data with IPFS. +- [Filebase](https://filebase.com/) - Pinning data to IPFS can be hard. Filebase removes that complexity. +- [NFT.Storage](https://nft.storage/) - Free decentralized storage and bandwidth for NFTs on IPFS & Filecoin. +- [Pinata](https://pinata.cloud) - Build and manage your dapp through 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. +- [Spheron](https://spheron.network) - Spheron offers IPFS pinning service and dedicated gateways. +- [Web3.storage](https://web3.storage/) - Simple file storage with IPFS & Filecoin. -* [CRDTs discussion](https://github.com/ipfs/notes/issues/23) +## Stale Projects +We maintain a list of no longer maintained projects for reference. If you see something on this list that's no longer maintained, please submit a pr and we'll get it into the right place. -## Want to hack on IPFS? +[View the list here](./stale.md) -[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) +## Contribute + +Contributions are welcome! + +See the [**Contribution Guidelines**](./CONTRIBUTING.md). ## License diff --git a/dangerfile.js b/dangerfile.js index 3088c55..4fdad09 100644 --- a/dangerfile.js +++ b/dangerfile.js @@ -2,34 +2,13 @@ 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 yamlData = danger.git.fileMatch('data/**') -const scripts = danger.git.fileMatch('scripts/**') -const src = danger.git.fileMatch('src/**') const readme = danger.git.fileMatch('README.md') -if (readme.edited) { - fail('Please do not edit the README directly. It is generated from the data in the data/ directory.') +if (readme.edited && awesomeBotResults.error) { + fail(awesomeBotResults.title) + markdown(awesomeBotResults.message) } if (githubMetadata.edited) { message('Changes were made within the .github folder.') } - -if (yamlData.edited) { - message('YAML data files were edited.') - /** - * Only display awesomeBot results if the data yaml used to generate the readme have been modified. - */ - if (awesomeBotResults.error) { - fail(awesomeBotResults.title) - markdown(awesomeBotResults.message) - } -} - -if (scripts.edited) { - warn('Changes were made to the scripts folder.') -} - -if (src.edited) { - warn('Changes were made to the src folder.') -} diff --git a/data/apps.yaml b/data/apps.yaml deleted file mode 100644 index 08b2e5b..0000000 --- a/data/apps.yaml +++ /dev/null @@ -1,498 +0,0 @@ -title: Apps -color: aqua -icon: stroke_marketing -description: Applications built with IPFS or with functionality that uses IPFS. -content: - - title: Agregore - website: https://github.com/AgregoreWeb/agregore-browser - source: https://github.com/AgregoreWeb/agregore-browser - picture: /images/agregore.svg - description: > - A minimal web browser for the distributed web. - Supports downloading/uploading data from IPFS using the browser's `fetch()` API - - title: IPFS-FPS - website: https://ipfs-fps-website.on.fleek.co/ - picture: /images/ipfs-fps.png - description: > - A completely decentralized first person shooter. - Built with Unity, Fleek, Unstoppable Domans and Pinata. - - title: Peer Web Site - website: https://peerweb.site/ - source: https://github.com/Weedshaker/PeerWebSite - picture: /images/peerWebSite.png - description: > - Peer to Peer Web Site hosting at your fingertips! - Send full featured HTML (incl. CSS, JS) sites from your browser and attach files eg. videos, images, etc. - - title: SimpleAsWater Bot - website: https://github.com/simpleaswater/twitter-pinbot - source: https://github.com/simpleaswater/twitter-pinbot - picture: /images/twitter-bot.png - description: > - A twitter bot that adds, pins, unpins your tweets to public IPFS network using IPFS Cluster. - - title: 2read - website: https://2read.net/ - source: https://github.com/meehow/2read - picture: /images/2read.svg - description: > - Convert article in current tab to readable form and upload it - to writable node(s). - - title: killcord - website: https://killcord.io/ - source: https://github.com/nomasters/killcord - picture: /images/killcord.svg - description: > - A censorship resistant deadman's switch - - title: akasha - website: http://akasha.world/ - description: > - A Next-Generation Social Media Network, powered by Ethereum and embedded - into IPFS. - - title: Alexandria - website: http://www.alexandria.io/ - description: > - Decentralized content publishing / monetization platform. - - title: Arbore - website: http://arbo.re - description: > - A friend-to-friend file-sharing app build on top of IPFS. - - title: beets - source: https://github.com/beetbox/beets - description: > - Beets has a plugin which allows for easy sharing of music libraries - using IPFS - - title: Blokaly - source: https://github.com/blokaly - description: > - A badge issuing, sharing and display platform based on IPFS. - - title: Boards - website: https://ipfs.io/ipns/boards.ydns.eu - source: https://github.com/fazo96/ipfs-boards - description: > - Distributed social platform that runs in the browser. - - title: brig - website: https://brig.readthedocs.io/en/latest - source: https://github.com/sahib/brig - description: > - File synchronization with git like interface and FUSE filesystem. - - title: Cohort - source: https://github.com/zignig/cohort - description: > - A golang app to preset a threejs interface and get all of its assets - out of IPFS. - - title: dapple - source: https://github.com/nexusdev/dapple - description: > - Dapple is a Solidity developer multitool designed to manage the growing - complexity of interconnected smart contract systems. - - title: DeCommerce - website: https://www.ivyca.com/decommerce/ - picture: /images/decommerce.jpg - description: > - Decentralized ecommerce for Web3. Allows people to transact business without middlemen. - No Middleman, no Bank, no Big Tech, no Government. - - title: Diffuse - source: https://diffuse.sh - description: > - Play music from your IPFS node, or any other cloud/distributed storage service you use. - - title: dtube - website: https://d.tube - picture: /images/dtube.png - description: > - Distributed video sharing with steem.it integrations, using ipfs for - backend storage. - - title: edChain - website: https://www.edchain.io/ - source: https://github.com/edchainio/edchain-client-gui - picture: /images/edchain.png - description: > - EdChain is a global network for education and careers. It uses blockchain - and distributed web technologies to deliver educational content, even to those without broadband internet. - - title: Ethlance - website: http://ethlance.com - source: https://github.com/madvas/ethlance - description: > - First completely decentralised job market platform built on Ethereum - and IPFS. - - title: enzypt.io - website: https://enzypt.io/ - source: https://github.com/flex-dapps/enzypt - picture: /images/enzypt.png - description: > - A website to buy and sell files through Ethereum and IPFS. - - title: git-ipfs-rehost - source: https://github.com/whyrusleeping/git-ipfs-rehost - description: > - A script to rehost your git repos in ipfs. - - title: Global Upload - website: https://globalupload.io/ - description: > - File transportation service for IPFS, upload files to the future of - distributed web. - - title: HydrusNetwork - source: https://github.com/hydrusnetwork/hydrus - description: > - A booru-style media tagging application with a multitude of features, - recently added basic ipfs support. - - title: InterPlanetary Wayback - source: https://github.com/oduwsdl/ipwb - picture: /images/interplanetarywayback.png - description: > - Web Archive (WARC) indexing and replay using IPFS. - - title: Interplanetary Wiki - source: https://github.com/jamescarlyle/ipfs-wiki - description: > - Wiki built on top of IPFS - - title: ipcoronafs - source: https://github.com/RTradeLtd/ipcoronafs - description: > - A realtime service to scrape COVID-19 and SARS-CoV-2, storing on IPFS, DNSLink, and streaming over LibP2P pubsub - - title: IPFS Event Drop - source: https://github.com/travisperson/ipfs-event-drops - description: > - An app that allows for improved visualization of ipfs events. - - title: IPFS Drive - source: https://github.com/fazo96/ipfs-drive - description: > - In browser file manager for IPFS. - - title: ipfs.ink - source: https://github.com/kpcyrd/ipfs.ink - description: > - Publish and render markdown essays to and from ipfs. - - title: ipfs-chat - source: https://github.com/SomajitDey/ipfs-chat - description: > - Terminal-based, encrypted chatrooms. Allows private messaging & secure in-chat file/directory sharing. - Server/broker-less (no signaling/rendezvous server needed). Works over LAN/internet(w/ NAT-traversal). - - title: ipfs-search - website: https://ipfs-search.com - source: https://github.com/ipfs-search/ipfs-search - description: > - Searching the universe since 2016. - - Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available. - - title: ipfs-share - source: https://github.com/rameshvarun/ipfs-share - description: > - Pastebin/Image host/File sharing application - - title: ipfs.pics - source: https://github.com/ipfspics/ipfspics-server - description: > - Upload and share pics. - - title: IPFSBin - source: https://github.com/victorbjelkholm/ipfsbin - description: > - Pastebin clone build. - - title: IPGit - source: https://github.com/meyer1994/ipgit - description: > - Remote Git repository that mirrors your code to IPFS - - title: IpJot - website: https://ipjot.herokuapp.com/ - description: > - Creates short notes, stories, books, poems, conversations on IPFS. - - title: IPSE - website: https://www.ipse.io/ - description: > - A search engine for the IPFS network. - - title: markup.rocks - website: https://ipfs.io/ipfs/QmWPgJnUGLB1LPh9KMG9LEN4LVu5e17TwkEtcmTWdNn9V6/#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u - source: https://github.com/davidar/markup.rocks - description: > - Pandoc-based markup editor/previewer/converter, ported to IPFS. - - title: Orbit - website: https://orbit.chat - source: https://github.com/haadcode/orbit - picture: /images/orbit.png - description: > - Distributed, peer-to-peer chat application on IPFS. - - title: Partyshare - website: https://busterlabs.github.io/Partyshare - source: https://github.com/BusterLabs/Partyshare - picture: /images/Partyshare_Logo.png - description: > - A simple file sharing desktop app. - - title: Playback - source: https://mafintosh.github.io/playback/ - description: > - IPFS playback support. This allows casting a video in IPFS to a Chromecast. - - title: PushToTalk - website: http://timothy.hobbs.cz/push-to-talk/index.html - description: > - Push to Talk lets you edit audio essays and publish them with IPFS. - - title: qri - website: https://qri.io - source: https://github.com/qri-io/qri - description: > - Dataset version control, discovery and collaboration tools (free, open-source). [Project is winding down] - - title: QuestNetwork Messenger - website: https://github.com/QuestNetwork/quest-messenger-js - source: https://github.com/QuestNetwork/quest-messenger-js - description: > - Multi-Platform End-To-End Encrypted Messenger on IPFS PubSub. Emulates Servers/Community with folders that can be shared using invitation codes. It's free and open source. On track to become the most comprehensive and user-friendly messenger on IPFS. - - title: ujo - website: http://ujomusic.com/ - description: > - A blockchain marketplace for musicians. - - title: uport - website: https://www.uport.me - description: > - Uport is a mobile, self-sovereign identity and key management system, - built on the Ethereum blockchain. - - title: IPFessay - website: https://gitlab.com/stavros/IPFessay - description: > - A simple way to publish uncensorable essays on IPFS. - - title: Hardbin - source: https://github.com/jes/hardbin - description: > - Hardbin is an encrypted pastebin, with the decryption key passed in - the URL fragment - - title: Gorilla REPL viewer - source: https://github.com/keorn/ipfs-gorilla-repl - description: > - Gorilla is a rich REPL for Clojure in the notebook style. - - title: a markdown renderer - source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/markdown-viewer - demo: https://ipfs.io/ipfs/QmSrCRJmzE4zE1nAfWPbzVfanKQNBhp7ZWmMnEdbiLvYNh/mdown#/ipfs/QmfQ75DjAxYzxMP2hdm6o4wFwZS5t7uorEZ2pX9AKXEg2u - - title: a js video player - source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/play - demo: https://ipfs.io/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXs - - title: a qr-code renderer - source: https://github.com/ipfs/website/tree/master/content/docs/examples/webapps/qr-render - demo: https://ipfs.io/ipfs/QmccqhJg5wm5kNjAP4k4HrYxoqaXUGNuotDUqfvYBx8jrR/qr#enter%20text%20here - - title: TallyLab - website: https://tallylab.com/ - picture: /images/tallylab.jpg - description: > - Local-first, end-to-end encrypted data diary app for capturing, analyzing, and sharing data about any and everything. - - title: Temporal - source: https://github.com/RTradeLtd/Temporal - description: > - Temporal is an easy to use API and platform for integrating IPFS and other - distributed/decentralized storage technologies into enterprise applications - - title: Textile Photos - website: https://www.textile.photos - source: https://github.com/textileio/textile-mobile - picture: /images/textilephotos.png - description: > - Textile Photos is a secure, mobile digital wallet for your photos. - - title: Pathephone - website: https://pathephone.github.io - description: Distributed music streaming app. - - title: Origin Protocol - website: https://demo.originprotocol.com/ - source: https://github.com/OriginProtocol/demo-dapp - description: > - Distributed sharing economy marketplace with images, metadata, and ERC 725 data stored on IPFS. - - title: ipfs-md-wiki - source: https://github.com/daijiale/ipfs-md-wiki - description: Build your wiki system base on ipfs and markdown. - - title: infura.io - website: https://infura.io - picture: /images/infura.png - description: > - An Infrastructure: use API and developer tools provide secure, reliable, and - scalable access to Ethereum and IPFS to help build decentralized application easier. - - title: OpenBazaar - website: https://github.com/OpenBazaar - source: https://github.com/OpenBazaar - description: > - OpenBazaar was an open source project developing a protocol for - e-commerce transactions in a fully decentralized marketplace. - - title: Peer Bandwidth Demo - website: https://ipfs.io/ipfs/QmVaVXbLdw4R5NqAiiQoTWtitxo5g7FS31PQmCLbH9p8Fu/ - source: https://github.com/tableflip/ipfs-peer-bw-example - picture: /images/peer-bandwidth-demo.jpg - description: > - An demo app that uses window.ipfs, provided by the IPFS Companion web extension to get and graph bandwidth info for your IPFS node - - title: PubSub Chat Demo - website: https://ipfs.io/ipfs/QmWZ3u5S7RjFXKfW6dSZhj7CozcvpqJxm48RYMmKkWcmNQ/ - source: https://github.com/tableflip/ipfs-pubsub-chat-example - picture: /images/pubsub-chat-demo.png - description: > - A ~76KB demo chat app that uses window.ipfs, provided by the IPFS Companion web extension - - title: Pugdit - website: https://github.com/zbyte64/pugdit - source: https://github.com/zbyte64/pugdit - description: > - A bulletin board service that discovers and distributes over IPFS - - title: Peer Map Demo - website: https://ipfs.io/ipfs/QmRPGCmLKH2dQmNiPRsiuYS9EhhJL1Gmkz5F75gKY1K4Bm/ - source: https://github.com/tableflip/ipfs-peer-map-example - picture: /images/peer-map-demo.jpg - description: > - A map of IPv4 IPFS peers that uses window.ipfs - - title: IPFS ID and Public Key QR Codes Demo - website: https://ipfs.io/ipfs/zdj7Whr8X3zah99TSuyPjENaERcBW9C7B36EaCb1DEZ5pbbL9/ - source: https://github.com/ipfs-shipyard/demo-ipfs-id-qr-codes - picture: /images/id-qr-code.png - description: > - A demo app that uses windows.ipfs to show you a QR Code of your IPNS Link and of your Public Key. - - title: ToDo List Demo - website: https://ipfs.io/ipfs/QmSGQrmvHe6fFiWdV2H8YnhLaoX4qe5nYEmJfUFx6LdUYa/ - source: https://github.com/ipfs-shipyard/demo-ipfs-todo - picture: /images/todo-demo.png - description: > - A ToDo List demo app that uses windows.ipfs. - - title: IPFS Desktop - source: https://github.com/ipfs-shipyard/ipfs-desktop - picture: /images/ipfs-desktop.png - description: > - Run your IPFS node on your machine without having to bother with command line tools. - Manage your node, add your files, easily change the settings... everything from - just one interface. - - title: 3Box - website: https://3box.io - source: https://github.com/uport-project/3box - picture: /images/3box.png - description: > - Create and manage your Ethereum Profile, and your personal data. Use the 3box-js - library to integrate profiles into your dapp. - - title: Autonomica "IPFS Social Proof" - source: https://github.com/IBM/ipfs-social-proof - description: > - Autonomica is a Keybase-like Dapp for creating an identity and proving this identity via published social media and web proofs. - - title: xfce-screenshooter-ipfs-support - source: https://github.com/amar-laksh/xfce-screenshooter-ipfs-support - description: > - A fork of xfce-screenshooter with IPFS support! - - title: Request - website: https://request.network/ - source: https://github.com/RequestNetwork/requestNetwork - picture: /images/request.svg - description: > - Decentralized network for financial transactions. - - title: KDE-DolphinServiceMenu-IPFS - source: https://github.com/amar-laksh/KDE-DolphinServiceMenu-IPFS - description: > - Service Menu for Dolphin File Manager to upload files to IPFS - The open network for transaction requests. - - title: Discussify - source: https://github.com/ipfs-shipyard/discussify-browser-extension - description: > - Discussify provides a real-time, peer to peer, and permanent discussion platform - for anyone to join and participate. - - title: AirSecure - source: https://github.com/airsecure/airsecure - description: > - Decentralized two factor authentication app built on Textile & IPFS. - - title: DtinyUrl - source: https://github.com/facert/dtinyurl - description: > - Decentralized URL shortening service based on IPFS. - - title: Wistful Books - website: https://wistfulbooks.com/ - source: https://github.com/smwa/wistfulbooks - description: > - Single page offline application for enjoying librivox.org audio books. - - title: Peergos - website: https://peergos.org - source: https://github.com/Peergos/Peergos - picture: /images/peergos.png - description: > - End-to-end encrypted, peer-to-peer file storage and sharing. - - title: Minerva - source: https://github.com/bdchain/Minerva - description: > - Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine. - - title: IPFS Image Uploader - website: https://ipfs.talaikis.com/ - source: https://github.com/TalaikisInc/ipfs-uploader - description: > - IPFS image uploader and viewer. - Minerva is a storage plugin of Apache Drill that connects IPFS's decentralized storage and Drill's flexible query engine. - - title: IPFS with TiddlyWiki - source: https://github.com/xmaysonnave/tiddlywiki-ipfs - description: > - IPFS with TiddyWiki is a TiddlyWiki plugin who aims to help developers, editors or users to save their wikis and attachments over IPFS. - - title: Kauri - source: https://kauri.io - picture: /images/kauri_io.png - description: > - A community-based knowledge platform for web3 technologies built on top of IPFS and Ethereum. Learn, share and curate on up-to-date and high-quality technical articles and series. - - title: Skyhook - source: https://github.com/deedeecx330/skyhook - description: > - Send and receive files securely - - title: Everforo - website: https://www.everforo.com - description: > - Everforo is the next generation of online community groups build on top of IPFS. - - title: IPFS-forum - website: https://github.com/ReForum-ipfs/ReForum#readme - source: https://github.com/ReForum-ipfs/ReForum - description: > - A web3 forum.You can get new ideas,reports,dicussions from this forum ,though you maybe are in a network-restricted area,all the contents will be updated qucikly by ipfs. - - title: Watchit - website: https://github.com/ZorrillosDev/watchit-desktop - source: https://github.com/ZorrillosDev/watchit-desktop - picture: /images/watchit.png - description: > - A movie platform with a decentralized network approach. - - title: La Marque - website: https://marque.la/ - picture: /images/lamarque.png - description: > - Generate & pin content from your phone. Validate "La Marque" assets by verifying received images from others. - - title: Uniswap - website: https://uniswap.org/ - source: https://github.com/Uniswap - picture: /images/UniswapCard.png - description: > - Decentralized Trading Protocol built on Ethereum. - - title: youtube2ipfs - website: https://pypi.org/project/youtube2ipfs/ - source: https://github.com/dokterbob/youtube2ipfs - description: > - Download videos from YouTube (and similar video platforms) and add them to IPFS. - - title: P2Pdoc - website: https://p2pdoc.glitch.me/ - source: https://github.com/aboutDavid/p2pdoc - picture: /images/p2pdoc.png - description: > - P2Pdoc allows you to create a document and then upload it to the distributed web. - - title: Valist - website: https://valist.io - source: https://github.com/valist-io/valist - picture: /images/valist.png - description: > - A trustless universal package repository enabling you to digitally sign and distribute software in just a few steps. - - title: Terrive - website: https://ipfs.io/ipns/terrive.one - source: https://github.com/appukuttan66/terrive - picture: /images/terrive.png - description: > - A Photo and Video Sharing Platform that uses the HIVE blockchain as a database and Immutable Image/Video Hosting. - - title: Skiff - website: https://www.skiff.com - source: https://github.com/skiff-org/skiff-mail - picture: /images/skiff.png - description: > - Privacy-first, end-to-end encrypted email, file storage, and collaboration platform using IPFS storage. - - title: CoTNetwork - website: http://www.cotnetwork.com - picture: /images/cotnetwork.png - description: > - A distributed computing network base on ipfs - - title: Music For Programming - website: https://ipfs.io/ipns/mfp.jillejr.tech - source: https://github.com/jilleJr/musicforprogramming.ipfs - picture: /images/musicforprogramming.jpg - description: > - Unofficial port of musicforprogramming.net. - - title: InfiniteBooru - source: https://infinitebooru.com - picture: /images/infinitebooru.png - description: > - A booru-style media tagging application and content aggregator - with all media backed by IPFS. - - title: InfinitumX - source: https://infinitumx.io - picture: /images/infinitumx.png - description: > - A decentralized "Reddit Place" like board with Harberger's tax as an economical concept & censorship resistance built in. - - title: OrbitChat - source: https://orbitchat.dev - picture: /images/orbitchat-dev.webp - description: > - Decentralized message client demo with OrbitDB and IPFS running on an Angular web app. \ No newline at end of file diff --git a/data/articles.yaml b/data/articles.yaml deleted file mode 100644 index 9f2c726..0000000 --- a/data/articles.yaml +++ /dev/null @@ -1,60 +0,0 @@ -title: Articles -color: navy -icon: stroke_pencil -description: Articles about the decentralized web and IPFS. -content: - - title: "How to Create a Unity Game on IPFS using Pinata" - date: "2020-08-03" - website: https://medium.com/pinata/how-to-create-a-unity-game-on-ipfs-using-pinata-d0af18a5bd44 - picture: /images/unity-game-pinata.png - - title: 10+ Resources Every IPFS Developer Should Know About - date: "2019-07-22" - website: https://medium.com/@vaibhavsaini_67863/10-resources-to-get-started-with-ipfs-5f429dc8a841 - - title: Ultimate Guide to Filecoin Breaking Down Filecoin Whitepaper & Economics - date: "2019-01-30" - website: https://medium.com/swlh/ultimate-guide-to-filecoin-breaking-down-filecoin-whitepaper-economics-9212541a5895 - - title: Using IPFS for IoT Communications - date: "2017-03-31" - website: https://medium.com/@chrismatthieu/using-ipfs-for-iot-communications-b49c2139783a - - title: "IPFS: The Internet Democratised" - date: "2016-09-12" - website: https://medium.com/@tonywillenberg/web-3-0-a-truly-democratised-internet-f4b06cb4077b - - title: Changelog Podcast - date: "2016-05-20" - website: https://changelog.com/podcast/204/ - - title: Introduction to IPFS - date: "2015-09-13" - website: http://whatdoesthequantsay.com/2015/09/13/ipfs-introduction-by-example - - title: The InterPlanetary File System Wants to Create a Permanent Web - date: "2015-09-18" - website: http://motherboard.vice.com/read/the-interplanetary-file-system-wants-to-create-a-permanent-web - - title: HTTP is obsolete. It's time for the distributed, permanent web - date: "2015-09-08" - website: https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html - - title: Downloading nodejs versions with nvm/n over IPFS - website: https://ipfs.io/ipfs/QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/example#/ipfs/QmUx363UFtgiQqkHHsPK3TSDmwoALDo2hrbMWbcxjH2vFc - - title: On future-proof cryptographic hashes - date: "2018-07-11" - website: https://pascalprecht.github.io/posts/future-proofed-hashes-with-multihash/ - - title: Content Identifiers in IPFS - date: "2018-08-06" - website: https://pascalprecht.github.io/posts/content-identifiers-in-ipfs/ - - title: Decentralized indexes for public genomic data - date: "2017-05-05" - website: https://github.com/luizirber/2017-recomb - - title: Understanding the IPFS White Paper part 1 - date: "2017-08-10" - website: https://decentralized.blog/understanding-the-ipfs-white-paper-part-1.html - - title: Understanding the IPFS White Paper part 2 - date: "2017-08-21" - website: https://decentralized.blog/understanding-the-ipfs-white-paper-part-2.html - - title: "The Complete Beginner's Guide to Deploying Your First Static Website to IPFS" - date: "2019-05-12" - website: https://dev.to/agentofuser/the-complete-beginner-s-guide-to-deploying-your-first-static-website-to-ipfs-33po - picture: /images/tutorial-ipfs-deploy.jpeg - - title: "Managing storage in a Java application with IPFS" - date: "2019-08-14" - website: https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926 - - title: The Case for a Decentralized Social Network - date: "2019-03-10" - website: https://medium.com/npfoss/the-case-for-a-decentralized-social-network-2683b727abf5 \ No newline at end of file diff --git a/data/datasets.yml b/data/datasets.yml deleted file mode 100644 index 0c40ff7..0000000 --- a/data/datasets.yml +++ /dev/null @@ -1,139 +0,0 @@ -title: Datasets -color: teal -icon: stroke_copy -description: Datasets who live or are replicated to IPFS. -content: - - title: IETF RFC Archive - hash: /ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM - website: https://ipfs.io/ipfs/QmNvTjdqEPjZVWCvRWsFJA1vK7TTw1g9JP6we1WBJTRADM - source: https://github.com/ipfs/archives/issues/18 - size: 500MB - - title: xkcd - hash: /ipns/xkcd.hacdias.com - snapshot: - hash: /ipfs/QmP7UYTMQFhsiRHfbgPgEngALzXWroSRVkEyWSbJTd23yf - date: 15/07/2019 - website: https://ipfs.io/ipns/xkcd.hacdias.com - source: https://github.com/ipfs/archives/issues/21 - description: - size: 242MB - - title: Old Internet Files - hash: /ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp - website: https://ipfs.io/ipfs/QmbsZEvJE8EU51HCUHQg2aem9JNFmFHdva3tGVYutdCXHp - source: https://github.com/ipfs/archives/issues/176 - description: - size: 207MB - - title: yarchive.net - hash: /ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK - website: https://ipfs.io/ipfs/QmdA5WkDNALetBn4iFeSepHjdLGJdxPBwZyY47ir1bZGAK - source: https://github.com/ipfs/archives/issues/76 - description: - size: 196MB - - title: World Wide Web History Project - hash: /ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ - website: https://ipfs.io/ipfs/QmRTSA1UFHSx3z7taNRwUVM8AjB2EQwKvyZu3BfJg9QRtZ - source: https://github.com/ipfs/archives/issues/159 - description: - size: 92MB - - title: haveibeenpwnd.com passwords - hash: /ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv - website: https://ipfs.io/ipfs/QmSRBDMksX7c5dfheGsYDdWrLdve5hBvXDQm7Yrov7KMJv - source: https://github.com/ipfs/archives/issues/157 - description: - size: 43.5GB - - title: MDSConnect - hash: /ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5 - website: https://ipfs.io/ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1JAA7HX5 - source: https://github.com/ipfs/archives/issues/152 - description: - size: 18.4GB - - title: arXiv - hash: /ipfs/QmfXH9XtP7xmoTH8WAp4HNSduqWMwLTH8B8TvbTkdgzNAa - website: https://ipfs.io/ipfs/QmfXH9XtP7xmoTH8WAp4HNSduqWMwLTH8B8TvbTkdgzNAa - source: https://github.com/ipfs/archives/issues/2 - description: - size: 25GB - - title: Presidential Daily Briefs - hash: /ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89 - website: https://ipfs.io/ipfs/Qme6epvZDj3vzHcFKdF1nZhbixjw8Bn4imGcKnbUyBJL89 - source: https://github.com/ipfs/archives/issues/23 - description: - size: 480MB - - title: No-Intro Collection - hash: /ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy - website: https://ipfs.io/ipfs/QmPFj6iAxUwxVyEtDJBJHXVp4SX9dkV91Mh5mjqGxTctHy - source: https://github.com/ipfs/archives/issues/163 - description: - size: 39.15 GB - - title: cdnjs - hash: /ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX - website: https://ipfs.io/ipfs/QmRrnfFUgx81KZR9ibEcxDXgevoj9e5DydB5v168yembnX - source: https://github.com/ipfs/archives/issues/35 - description: - size: 17GB - - title: alpine-linux 3.4 packages - hash: /ipfs/QmRsvEpJggeu4HhoafzRFobV4sbwVVTXMrdb2p8XWv7bCS - website: https://ipfs.io/ipfs/QmRsvEpJggeu4HhoafzRFobV4sbwVVTXMrdb2p8XWv7bCS - source: https://github.com/ipfs/archives/issues/83 - description: - size: 29GB - - title: Project Apollo Archives - hash: /ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D - website: https://ipfs.io/ipfs/QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D - source: https://github.com/ipfs/archives/issues/143 - description: - size: 61GB - - title: textfiles.com - hash: /ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU - website: https://ipfs.io/ipfs/QmNoscE3kNc83dM5rZNUC5UDXChiTdDcgf16RVtFCRWYuU - source: https://github.com/ipfs/archives/issues/155 - description: - size: 1.6GB - - title: cdn.media.ccc.de - hash: /ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb - website: https://ipfs.io/ipfs/QmW84mqTYnCkRTy6VeRJebPWuuk8b27PJ4bWm2bL4nrEWb - source: https://github.com/ipfs/archives/issues/52 - description: - size: 5.4TiB - - title: Geocities by Archive Team - hash: /ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox - website: https://ipfs.io/ipfs/QmVCjhoEFC9vwvaa8bKyJgwAByP4MXSogcyDGoz4Lkc3ox - source: https://github.com/ipfs/archives/issues/182 - description: - size: 641GiB - - title: KinoKabaret Caen, 2018 - Shortfilms - hash: /ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39 - website: https://ipfs.io/ipfs/QmajLDwZLH6bKTzd8jkq913ZbxaB2nFGRrkDAuygYNNv39 - source: https://github.com/ipfs/archives/issues/172 - description: - size: 30GB - - title: Brainwash Dataset - hash: /ipfs/QmZ8BpYCtcPeA5g6uXciNXN395WeqZYNVNvz4xvBxsfxqy - website: https://purl.stanford.edu/sx925dc9385 - source: https://purl.stanford.edu/sx925dc9385 - description: Stewart, Russell. (2015). Brainwash dataset. - size: 4GB - - title: 'WistfulBooks: LibriVox Audiobook Archive' - hash: /ipfs/QmXyNMhV8bQFp6wzoVpkz3NqDi7Fj72Deg7KphAuew3RYU - website: https://wistfulbooks.com - source: https://github.com/smwa/wistfulbooks - description: Free public domain audiobooks from LibriVox.org packaged into a single page that lets you listen to audiobooks in your browser. - size: 2.0 TiB - - title: 'Cooking Recipes' - hash: /ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB - website: https://ipfs.io/ipfs/QmTXo6GforwsuGAd8behjgvKCsMMBdG1xMZJF4qa9W7CHB - source: https://old.reddit.com/r/opendirectories/comments/dsznin/50_gb_directory_of_cooking_recipes/ - description: Around 50GB of formatted and unformatted cooking recipes. - size: 52GB - - title: '7-piece Syzygy tablebases' - hash: /ipfs/QmVgcSADsoW5w19MkL2RNKNPGtaz7UhGhU62XRm6pQmzct - website: https://syzygy-tables.info/ - source: https://github.com/syzygy1/tb - description: Solutions for all chess endgames with up to 7 pieces. - size: 16.9 TiB - - title: CrowdHuman Dataset - hash: /ipfs/QmTgBpFRM1K4gGyLKSv7tJnEkZZcEQcswnGDdBYkCRu6Vw - website: http://www.crowdhuman.org/ - source: http://www.crowdhuman.org/download.html - description: CrowdHuman dataset. A Benchmark for Detecting Human in a Crowd - size: 13GB diff --git a/data/services.yaml b/data/services.yaml deleted file mode 100644 index 8844c3e..0000000 --- a/data/services.yaml +++ /dev/null @@ -1,64 +0,0 @@ -title: Services -color: green -icon: stroke_decentralization -description: Services that make use of IPFS technologies. -content: - - title: Peergos - website: https://peergos.org - source: https://github.com/Peergos/Peergos - picture: /images/peergos.png - description: > - Your private, but social, space online. Store and edit documents and media. Share files or folders with friends. - - title: Pinata - website: https://pinata.cloud - picture: /images/pinata.png - description: > - Build and manage your dapp through 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: Monaparty - website: https://www.monaparty.me/ - picture: /images/monaparty.png - description: > - Token assets platform based on Monacoin and Counterparty. Contents bound to user assets are hosted by IPFS. - - title: Fleek - website: http://fleek.co/ - source: https://github.com/FleekHQ - picture: /images/darkfleek.png - description: > - Open Web development platform for building, hosting, and storing sites and apps on IPFS, Filecoin, and the Internet Computer. - - title: IPFSBay - website: https://www.ipfsbay.com - picture: /images/ipfsbay.png - description: > - Unstoppable marketplace in the IPFS network. - - title: Crust Network - website: https://crust.network - picture: /images/crustnetwork.png - description: > - Decentralized pinning and gateway service for IPFS. diff --git a/data/tools.yaml b/data/tools.yaml deleted file mode 100644 index d94fa31..0000000 --- a/data/tools.yaml +++ /dev/null @@ -1,199 +0,0 @@ -title: Tools -color: yellow -icon: stroke_code -description: Tools built on the top of IPFS. -content: -- title: Almonit Browser Extension - website: https://almonit.com/#/extension/ - source: https://github.com/almonit/almonit-plugin - picture: /images/almonit.jpg - description: Resolves ENS domains, this let users access .eth websites while offering maximum decentralization. -- title: Tellit - source: https://gitlab.com/terceranexus6/tellit - description: Encrypt files before uploading them using a keypair or a passphrase -- title: VIPFS - source: https://github.com/Ideea-inc/vipfs - description: Publish your Vue apps easily to IPFS -- title: Sweet IPFS - source: https://github.com/RHazDev/Sweet-IPFS - description: Full node for Android -- title: go-stellar-ipfs - source: https://github.com/aanupam23/go-stellar-ipfs - description: go-stellar-ipfs is a library that is a bridge between Stellar and IPFS. -- title: cachewarmer - source: https://github.com/BrendanBenshoof/cachewarmer - description: Donate ipfs gateways to cache other people's content -- title: create-ipfs-app - source: https://github.com/alexbakers/create-ipfs-app - description: Set up a decentralized web3 app by running one command. -- title: gatsby-plugin-ipfs - source: https://github.com/moxystudio/gatsby-plugin-ipfs - description: Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative. -- title: galacteek - website: https://galacteek.github.io - source: https://github.com/pinnaculum/galacteek - description: A multi-platform Qt5-based browser for the distributed web -- title: git-remote-ipfs - source: https://github.com/cryptix/git-remote-ipfs - description: push/pull repositories from/to IPFS -- title: http2ipfs - source: https://github.com/jbenet/http2ipfs-web - description: This is a simple webtool to add URLs to an IPFS node. -- title: IPLD Explorer - website: https://explore.ipld.io - source: https://github.com/ipfs-shipyard/ipld-explorer - picture: /images/ipld-explorer.png - description: > - Explore the Merkle Forest from the comfort of your browser -- title: ipcat - source: https://github.com/noffle/ipcat - description: ":cat2: Retrieve IPFS object data and send it to stdout." -- title: ipfs-chrome-station - source: https://github.com/fbaiodias/ipfs-chrome-station - description: Chrome extension to redirect ipfs.io traffic to local gateway -- title: ipfs-chrome-extension - source: https://github.com/dylanPowers/ipfs-chrome-extension - description: Chrome extension to redirect ipfs.io traffic to local gateway -- title: ipfs-companion - source: https://github.com/ipfs/ipfs-companion - picture: /images/companion.png - description: Browser extension that simplifies access to IPFS resources. -- title: ipfs-gui - source: https://github.com/marcin212/ipfs-gui - description: Windows UI integration and IPFS installer -- title: ipfs-paste - source: https://github.com/jbenet/ipfs-paste - description: Paste stdin and clipboard to IPFS -- title: ipfs-screencap - source: https://github.com/jbenet/ipfs-screencap - description: Capture screenshots, publish them to IPFS, and copy the link to the - clipboard. -- title: ipfscrape - source: https://github.com/victorbjelkholm/ipfscrape - description: Scrape a webpage with all assets and put it in IPFS -- title: ipget - source: https://github.com/ipfs/ipget - description: ":satellite: wget for IPFS: retrieve files over IPFS and save them - locally." -- title: IPRedirect - source: https://github.com/JayBrown/IPRedirect - description: Browser userscript for redirecting IPFS/IPNS addresses to your local - gateway. This should work on any browser that hasn't had an extension written - for it yet and has support for userscripts. -- title: iprfc - source: https://github.com/RTradeLtd/iprfc - description: IETF RFC downloader which stores RFCs on IPFS and indexes - them with RTradeLtd/Lens. -- title: ipscend - source: https://github.com/diasdavid/ipscend - description: Tool for hosting web apps and static websites in IPFS -- title: pinbot - source: https://github.com/whyrusleeping/pinbot - description: Pin content via IRC -- title: ipfs-mount - source: https://github.com/richardschneider/net-ipfs-mount - description: Mount IPFS as a mapped drive on Windows -- title: ipfs-add-from-url - source: https://github.com/maxlath/ipfs-add-from-url - description: Add a file to IPFS from a URL instead of a file path -- title: ipfs-linux-service - source: https://github.com/dylanPowers/ipfs-linux-service - description: IPFS Linux Init Daemon -- title: Siderus Orion - picture: /images/orion.png - website: https://orion.siderus.io - source: https://github.com/Siderus/Orion - description: Easy to use IPFS desktop client for macOS, Windows and Linux -- title: ipfsecret - source: https://github.com/shlemph/ipfsecret - description: Encrypt and decrypt IPFS files with a secret passphrase -- title: ipfs-add-from-encrypted - source: https://github.com/TroyWilson1/ipfs-add-from-encrypted - description: Encrypt a file or directory with AES256 then add to IPFS -- title: Blockwatch - website: https://ipfs.io/ipfs/QmdikpwcyeBuGaVzWzSzPuqvBfTGD8jPAVydcCjYHsBUxo/index.html - source: https://github.com/MidnightLightning/ethereum-blockwatch - description: > - Monitor the current block number of the Ethereum blockchain, and set alerts (stored locally using - PouchDB in your browser) for when certain block heights are passed. -- title: ipfs-common - website: https://github.com/arsyun - source: https://github.com/arsyun/ipfs-common - description: > - Some common tools, 1.CID to human readable cid, 2.cid and block name convert, 3. read the leveldb tools. -- title: ipfs-publish - picture: /images/ipfs-publish.png - website: https://ipfs-publish.uhlir.dev - source: https://github.com/AuHau/ipfs-publish - description: Continuous Delivery tool for delivery of static websites from Git providers to IPFS. -- title: mahuta - website: https://github.com/ConsenSys/Mahuta - source: https://github.com/ConsenSys/Mahuta - description: > - Mahuta is a plug and play service for your micro-service architecture allowing to collect, store and index data on IPFS and offering search functionalities (full text, query). -- title: Public gateway status checker - website: https://ipfs.fooock.com/ - source: https://github.com/fooock/ipfs-gateway-checker - description: Web app to check public states of IPFS gateways, including latency and gateway writable state. -- title: IPDR - website: https://github.com/miguelmota/ipdr - description: IPFS-backed Docker Registry -- title: 'ipfs-deploy' - website: https://github.com/agentofuser/ipfs-deploy - source: https://github.com/agentofuser/ipfs-deploy - description: 'Zero-config CLI to deploy static websites: cd my-static-website && npx @agentofuser/ipfs-deploy' - picture: /images/ipfs-deploy.png -- title: ipfs-video-gateway - website: https://ipfs.video - source: https://github.com/bneijt/ipfs-video-gateway - description: Cloud-init your own IPFS gateway on a cloud provider and easily pin content through a simple web interface. -- title: orbit-db - website: https://github.com/orbitdb/orbit-db - source: https://github.com/orbitdb/orbit-db - description: OrbitDB is a serverless, distributed, peer-to-peer database that uses IPFS as its data storage and IPFS Pubsub to automatically sync databases with peers. - picture: /images/orbit-db.png -- title: go-orbit-db - website: https://github.com/berty/go-orbit-db - source: https://github.com/berty/go-orbit-db - description: This is a Golang port of OrbitDB that intends to be fully compatible with the original JavaScript version. OrbitDB is a serverless, distributed, peer-to-peer database. -- title: ipfs-action - picture: /images/ipfs-action.png - source: https://github.com/aquiladev/ipfs-action - description: GitHub Action for delivery of static websites. -- title: IPFS Setup Action - website: https://github.com/marketplace/actions/ipfs-setup-action - source: https://github.com/ibnesayeed/setup-ipfs - description: A GitHub Action to install and initialize go-ipfs to provision a cross-platform test environment on GitHub's CI platform. -- title: ShareX integration - website: https://github.com/ShareX/CustomUploaders/blob/master/ipfs.io.sxcu - source: https://github.com/ShareX/CustomUploaders/blob/master/ipfs.io.sxcu - description: ShareX is a file upload and manipulation tool that has a custom integration with IPFS -- title: gomobile-ipfs - website: https://github.com/ipfs-shipyard/gomobile-ipfs - source: https://github.com/ipfs-shipyard/gomobile-ipfs - description: IPFS and libp2p on Mobile, with Gomobile -- title: Multiverse - source: https://github.com/multiverse-vcs/go-multiverse - description: Multiverse is a decentralized version control system that enables peer-to-peer software development. -- title: ipfs-pinner - source: https://github.com/wabarc/ipfs-pinner - description: A toolkit help upload files to IPFS pinning services. -- title: wbipfs - source: https://github.com/wabarc/wbipfs - description: A command-line tool and Go package interface for wayback webpage to IPFS. -- title: Bubble IPFS From URL Plugin - source: https://bubble.io/plugin/ipfs-add-from-uri-1616424944051x638386852081172500 - description: Bubble (no code platform) plugin for IPFS From URL integration -- title: ipns-pin - source: https://github.com/justicenode/node-ipns-pin - description: A command-line tool to pin stuff via ipns. -- title: ipfs-encrypted-share - picture: /images/ipfs-encrypted-share.png - source: https://github.com/whs/ipfs-encrypted-share - description: Easy to use encrypted file uploader. -- title: solid-ipfs - source: https://github.com/Eximua/solid-ipfs - description: Using Solid to store IPFS Hash privately or publicly. -- title: rivet - source: https://github.com/wabarc/rivet - description: A toolkit makes it easier to archive webpages to IPFS. diff --git a/data/videos.yaml b/data/videos.yaml deleted file mode 100644 index 65cc682..0000000 --- a/data/videos.yaml +++ /dev/null @@ -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. \ No newline at end of file diff --git a/package.json b/package.json index c32ec9b..e5231cd 100644 --- a/package.json +++ b/package.json @@ -2,45 +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", - "danger": "^11.1.2", - "ecstatic": "^4.1.2", - "fs-extra": "^8.1.0", - "hugo-bin": "^0.43.6", - "node-yaml": "^4.0.1", - "npm-run-all": "^4.1.5", - "postcss-cli": "^6.1.3", - "postcss-import": "^12.0.1", - "shx": "^0.3.2", - "standard": "^13.0.2", - "uglifyify": "^5.0.1", - "watch": "^1.0.2" - }, - "standard": { - "parser": "babel-eslint" + "danger": "^11.1.2" }, "author": "Protocol Labs, Inc.", "license": "MIT", diff --git a/pull_request_template.md b/pull_request_template.md index 0496291..feae820 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -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)* - - - ## 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? - - -### For new additions: What is your project's *current* size/reach? - - -### For new additions: What is your project's *potential* size/reach? - - -### For new additions: How critical is IPFS to your project? - -- [ ] Essential -- [ ] Somewhat critical -- [ ] Useful, but not critical - -### For new additions: What core goal(s) does your project address? - -- [ ] 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? - +- [ ] 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. diff --git a/scripts/data.js b/scripts/data.js deleted file mode 100644 index 6965e32..0000000 --- a/scripts/data.js +++ /dev/null @@ -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)) diff --git a/scripts/dev.js b/scripts/dev.js deleted file mode 100644 index e91c99c..0000000 --- a/scripts/dev.js +++ /dev/null @@ -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() diff --git a/scripts/make-data.js b/scripts/make-data.js deleted file mode 100644 index c8d1811..0000000 --- a/scripts/make-data.js +++ /dev/null @@ -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)} -`) - } -} - -process() diff --git a/scripts/make-readme.js b/scripts/make-readme.js deleted file mode 100644 index 34b5179..0000000 --- a/scripts/make-readme.js +++ /dev/null @@ -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)) diff --git a/scripts/readme-template.md b/scripts/readme-template.md deleted file mode 100644 index 366374f..0000000 --- a/scripts/readme-template.md +++ /dev/null @@ -1,43 +0,0 @@ -# Awesome IPFS [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) - -> Useful resources for using [IPFS](https://ipfs.tech) and building things on top of it - -_This list is for projects, tools, or pretty much any things related to IPFS that are totally_ **awesome**_. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in [our IPFS Discuss Forums](https://discuss.ipfs.io)._ - -## Table of Contents - -- [Maintainers](#maintainers) -- [Contribute](#contribute-to-this-list) -- [Collab-Cluster](#collab-cluster) -#PLACEHOLDER_TOC# -- [Discussions](#discussions) -- [Want to hack on IPFS?](#want-to-hack-on-ipfs) -- [License](#license) - -## Maintainers - -Maintainers requested! This repo is not currently under active development nor maintenance and requires more support from the community. - -## Contribute to this list! - -Everyone is welcome to submit their new awesome-ipfs item, but it will be accepted only if it meets our [content policy](https://github.com/ipfs/awesome-ipfs/blob/master/POLICY.md). - -Readme and the website are automatically generated. In order to add an element to this list, you need to modify the files in `/data` and then run `make build` before publishing your pull request. Read [contributing guidelines](https://github.com/ipfs/awesome-ipfs/blob/master/CONTRIBUTING.md) to learn how to do so. - -## Collab-Cluster - -[Collaborative clusters](https://collab.ipfscluster.io/) are public IPFS Clusters that anyone can join to help replicating and re-distributing content on the IPFS network. Instead of datasets cluster content is usually updated. - -#PLACEHOLDER_CATEGORIES# - -## Discussions - -* [CRDTs discussion](https://github.com/ipfs/notes/issues/23) - -## Want to hack on IPFS? - -[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) - -## License - -[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) diff --git a/scripts/remove-broken-links.js b/scripts/remove-broken-links.js deleted file mode 100644 index 1be90c0..0000000 --- a/scripts/remove-broken-links.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * This file assumes that awesome_bot has already been ran. - */ -const markdownTable = require('../ab-results-README.md-markdown-table.json') -const fs = require('fs').promises -const { join } = require('path') - -const dir = join(__dirname, '../data') - -if (markdownTable.error) { - const brokenLinks = require('../ab-results-README.md-filtered.json').map((resultsData) => resultsData.link); - (async () => { - const files = (await fs.readdir(dir)).map(file => join(dir, file)) - - for await (const filePath of files) { - let fileContents = await fs.readFile(filePath, 'utf8') - brokenLinks.forEach((brokenLink) => { - console.log('Searching for "' + brokenLink + '" in ' + filePath) - const regex = new RegExp(brokenLink, 'g') - if (fileContents.match(regex)) { - fileContents = fileContents.replace(regex, '') - console.log('Removed "' + brokenLink + '" from ' + filePath) - } - }) - await fs.writeFile(filePath, fileContents, 'utf8') - } - })() -} else { - console.log('No errors reported by awesome_bot.') -} diff --git a/scripts/utils.js b/scripts/utils.js deleted file mode 100644 index 3573363..0000000 --- a/scripts/utils.js +++ /dev/null @@ -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 -} diff --git a/src/config.yaml b/src/config.yaml deleted file mode 100644 index af2607f..0000000 --- a/src/config.yaml +++ /dev/null @@ -1,15 +0,0 @@ -baseurl: 'https://awesome.ipfs.tech' -relativeurls: true -languageCode: en -pluralizelisttitles: false -removePathAccents: true -canonifyURLs: true -title: Awesome IPFS - -disableKinds: - - taxonomyTerm - -params: - Description: >- - Useful resources for using IPFS and building things on top of it - image: /images/banner.png diff --git a/src/css/app.css b/src/css/app.css deleted file mode 100644 index 136ecc0..0000000 --- a/src/css/app.css +++ /dev/null @@ -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; - } -} \ No newline at end of file diff --git a/src/js/app.js b/src/js/app.js deleted file mode 100644 index d5d9560..0000000 --- a/src/js/app.js +++ /dev/null @@ -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) - } - }) -} diff --git a/src/layouts/_default/baseof.html b/src/layouts/_default/baseof.html deleted file mode 100644 index ab90111..0000000 --- a/src/layouts/_default/baseof.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - {{ partial "head" . }} - {{ partial "analytics" . }} - - -
- - - {{ template "main" . }} - - -
- - - \ No newline at end of file diff --git a/src/layouts/_default/single.html b/src/layouts/_default/single.html deleted file mode 100644 index c9f00c1..0000000 --- a/src/layouts/_default/single.html +++ /dev/null @@ -1,3 +0,0 @@ -{{ define "main" }} -{{ partial "list" . }} -{{ end }} diff --git a/src/layouts/index.html b/src/layouts/index.html deleted file mode 100644 index c9f00c1..0000000 --- a/src/layouts/index.html +++ /dev/null @@ -1,3 +0,0 @@ -{{ define "main" }} -{{ partial "list" . }} -{{ end }} diff --git a/src/layouts/partials/analytics.html b/src/layouts/partials/analytics.html deleted file mode 100644 index c34ba14..0000000 --- a/src/layouts/partials/analytics.html +++ /dev/null @@ -1,70 +0,0 @@ - - diff --git a/src/layouts/partials/head.html b/src/layouts/partials/head.html deleted file mode 100644 index b8b1421..0000000 --- a/src/layouts/partials/head.html +++ /dev/null @@ -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) -}} - - - - -{{ $title }} - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/layouts/partials/icons/code.svg b/src/layouts/partials/icons/code.svg deleted file mode 100644 index 4a76e2c..0000000 --- a/src/layouts/partials/icons/code.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/layouts/partials/icons/flask.svg b/src/layouts/partials/icons/flask.svg deleted file mode 100644 index 25584e6..0000000 --- a/src/layouts/partials/icons/flask.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/layouts/partials/icons/globe.svg b/src/layouts/partials/icons/globe.svg deleted file mode 100644 index 9328866..0000000 --- a/src/layouts/partials/icons/globe.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/layouts/partials/icons/history.svg b/src/layouts/partials/icons/history.svg deleted file mode 100644 index 45ea84d..0000000 --- a/src/layouts/partials/icons/history.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/layouts/partials/list.html b/src/layouts/partials/list.html deleted file mode 100644 index a5321a7..0000000 --- a/src/layouts/partials/list.html +++ /dev/null @@ -1,95 +0,0 @@ -{{ define "text" }} -

- {{- markdownify . -}} -

-{{ end }} - -{{ define "hash" }} - - - {{ $length := sub (len .) 5 }} - {{ substr . 0 10 }}...{{ substr . $length 5 }} - - -{{ end }} - - - -
- {{ range (sort .Params.content "index") -}} -
-
- {{ humanize .category }} -
- -
- - - {{- 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" -}} -
- {{ template "hash" .hash }} -
- {{- end -}} - - {{- if isset . "picture" -}} -
- - - -
- {{ end }} - -
- {{- if isset . "website" -}} - - {{ partial "icons/globe.svg" }} - - {{- end -}} - - {{- if isset . "snapshot" -}} - - {{ partial "icons/history.svg" }} - - {{- end -}} - - {{- if isset . "source" -}} - - {{ partial "icons/code.svg" }} - - {{- end -}} - - {{- if isset . "demo" -}} - - {{ partial "icons/flask.svg" }} - - {{- end -}} -
-
-
- {{ end }} -
- -{{ .Content }} \ No newline at end of file diff --git a/src/static/favicon.ico b/src/static/favicon.ico deleted file mode 100644 index c0f392f..0000000 Binary files a/src/static/favicon.ico and /dev/null differ diff --git a/src/static/images/1_Robonomics_logo_color.png b/src/static/images/1_Robonomics_logo_color.png deleted file mode 100644 index 9c226c9..0000000 Binary files a/src/static/images/1_Robonomics_logo_color.png and /dev/null differ diff --git a/src/static/images/2read.svg b/src/static/images/2read.svg deleted file mode 100644 index 9830a57..0000000 --- a/src/static/images/2read.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/static/images/3box.png b/src/static/images/3box.png deleted file mode 100644 index e97c6bb..0000000 Binary files a/src/static/images/3box.png and /dev/null differ diff --git a/src/static/images/Partyshare_Logo.png b/src/static/images/Partyshare_Logo.png deleted file mode 100644 index d802678..0000000 Binary files a/src/static/images/Partyshare_Logo.png and /dev/null differ diff --git a/src/static/images/UniswapCard.png b/src/static/images/UniswapCard.png deleted file mode 100644 index e8cce28..0000000 Binary files a/src/static/images/UniswapCard.png and /dev/null differ diff --git a/src/static/images/agregore.svg b/src/static/images/agregore.svg deleted file mode 100644 index 29f8c0b..0000000 --- a/src/static/images/agregore.svg +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/static/images/almonit.jpg b/src/static/images/almonit.jpg deleted file mode 100644 index 363b515..0000000 Binary files a/src/static/images/almonit.jpg and /dev/null differ diff --git a/src/static/images/banner.png b/src/static/images/banner.png deleted file mode 100644 index 2dcd4c2..0000000 Binary files a/src/static/images/banner.png and /dev/null differ diff --git a/src/static/images/boom-fyi.svg b/src/static/images/boom-fyi.svg deleted file mode 100644 index 441f44a..0000000 --- a/src/static/images/boom-fyi.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - diff --git a/src/static/images/companion.png b/src/static/images/companion.png deleted file mode 100644 index 73edf2d..0000000 Binary files a/src/static/images/companion.png and /dev/null differ diff --git a/src/static/images/computes.svg b/src/static/images/computes.svg deleted file mode 100644 index f65f34f..0000000 --- a/src/static/images/computes.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/static/images/cotnetwork.png b/src/static/images/cotnetwork.png deleted file mode 100644 index aa07237..0000000 Binary files a/src/static/images/cotnetwork.png and /dev/null differ diff --git a/src/static/images/cybercongress.png b/src/static/images/cybercongress.png deleted file mode 100644 index 6fba725..0000000 Binary files a/src/static/images/cybercongress.png and /dev/null differ diff --git a/src/static/images/darkfleek.png b/src/static/images/darkfleek.png deleted file mode 100644 index ca98f9a..0000000 Binary files a/src/static/images/darkfleek.png and /dev/null differ diff --git a/src/static/images/decommerce.jpg b/src/static/images/decommerce.jpg deleted file mode 100644 index d3563f5..0000000 Binary files a/src/static/images/decommerce.jpg and /dev/null differ diff --git a/src/static/images/dillo-ipfs.png b/src/static/images/dillo-ipfs.png deleted file mode 100644 index c1843be..0000000 Binary files a/src/static/images/dillo-ipfs.png and /dev/null differ diff --git a/src/static/images/dtube.png b/src/static/images/dtube.png deleted file mode 100644 index f744a92..0000000 Binary files a/src/static/images/dtube.png and /dev/null differ diff --git a/src/static/images/edchain.png b/src/static/images/edchain.png deleted file mode 100644 index 84704ed..0000000 Binary files a/src/static/images/edchain.png and /dev/null differ diff --git a/src/static/images/enzypt.png b/src/static/images/enzypt.png deleted file mode 100644 index 60623d6..0000000 Binary files a/src/static/images/enzypt.png and /dev/null differ diff --git a/src/static/images/eternum.png b/src/static/images/eternum.png deleted file mode 100644 index bd7c046..0000000 Binary files a/src/static/images/eternum.png and /dev/null differ diff --git a/src/static/images/fission500px.png b/src/static/images/fission500px.png deleted file mode 100644 index c4646d1..0000000 Binary files a/src/static/images/fission500px.png and /dev/null differ diff --git a/src/static/images/fullstack-fest-2016.jpg b/src/static/images/fullstack-fest-2016.jpg deleted file mode 100644 index 9e3f504..0000000 Binary files a/src/static/images/fullstack-fest-2016.jpg and /dev/null differ diff --git a/src/static/images/go-stellar-ipfs.png b/src/static/images/go-stellar-ipfs.png deleted file mode 100644 index 0d12dcd..0000000 Binary files a/src/static/images/go-stellar-ipfs.png and /dev/null differ diff --git a/src/static/images/id-qr-code.png b/src/static/images/id-qr-code.png deleted file mode 100644 index 8c66ab3..0000000 Binary files a/src/static/images/id-qr-code.png and /dev/null differ diff --git a/src/static/images/image-server.png b/src/static/images/image-server.png deleted file mode 100644 index 2eecfd6..0000000 Binary files a/src/static/images/image-server.png and /dev/null differ diff --git a/src/static/images/infinitebooru.png b/src/static/images/infinitebooru.png deleted file mode 100644 index c73ab71..0000000 Binary files a/src/static/images/infinitebooru.png and /dev/null differ diff --git a/src/static/images/infinitumx.png b/src/static/images/infinitumx.png deleted file mode 100644 index ed4f890..0000000 Binary files a/src/static/images/infinitumx.png and /dev/null differ diff --git a/src/static/images/infura.png b/src/static/images/infura.png deleted file mode 100644 index 0e24785..0000000 Binary files a/src/static/images/infura.png and /dev/null differ diff --git a/src/static/images/interplanetarywayback.png b/src/static/images/interplanetarywayback.png deleted file mode 100644 index 800a8fd..0000000 Binary files a/src/static/images/interplanetarywayback.png and /dev/null differ diff --git a/src/static/images/ipfs-action.png b/src/static/images/ipfs-action.png deleted file mode 100644 index 0144dd4..0000000 Binary files a/src/static/images/ipfs-action.png and /dev/null differ diff --git a/src/static/images/ipfs-alpha.jpg b/src/static/images/ipfs-alpha.jpg deleted file mode 100644 index 6b4930e..0000000 Binary files a/src/static/images/ipfs-alpha.jpg and /dev/null differ diff --git a/src/static/images/ipfs-deploy.png b/src/static/images/ipfs-deploy.png deleted file mode 100644 index 6dddcfc..0000000 Binary files a/src/static/images/ipfs-deploy.png and /dev/null differ diff --git a/src/static/images/ipfs-desktop.png b/src/static/images/ipfs-desktop.png deleted file mode 100644 index 8b07f77..0000000 Binary files a/src/static/images/ipfs-desktop.png and /dev/null differ diff --git a/src/static/images/ipfs-encrypted-share.png b/src/static/images/ipfs-encrypted-share.png deleted file mode 100644 index b05a932..0000000 Binary files a/src/static/images/ipfs-encrypted-share.png and /dev/null differ diff --git a/src/static/images/ipfs-fps.png b/src/static/images/ipfs-fps.png deleted file mode 100644 index e064815..0000000 Binary files a/src/static/images/ipfs-fps.png and /dev/null differ diff --git a/src/static/images/ipfs-publish.png b/src/static/images/ipfs-publish.png deleted file mode 100644 index e093229..0000000 Binary files a/src/static/images/ipfs-publish.png and /dev/null differ diff --git a/src/static/images/ipfs_simply_explained_video.jpg b/src/static/images/ipfs_simply_explained_video.jpg deleted file mode 100644 index d57ef05..0000000 Binary files a/src/static/images/ipfs_simply_explained_video.jpg and /dev/null differ diff --git a/src/static/images/ipfsbay.png b/src/static/images/ipfsbay.png deleted file mode 100644 index bdf2524..0000000 Binary files a/src/static/images/ipfsbay.png and /dev/null differ diff --git a/src/static/images/ipld-explorer.png b/src/static/images/ipld-explorer.png deleted file mode 100644 index 6e79613..0000000 Binary files a/src/static/images/ipld-explorer.png and /dev/null differ diff --git a/src/static/images/kauri_io.png b/src/static/images/kauri_io.png deleted file mode 100644 index e37563e..0000000 Binary files a/src/static/images/kauri_io.png and /dev/null differ diff --git a/src/static/images/killcord.svg b/src/static/images/killcord.svg deleted file mode 100644 index 2b5def0..0000000 --- a/src/static/images/killcord.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/static/images/lamarque.png b/src/static/images/lamarque.png deleted file mode 100644 index d15b218..0000000 Binary files a/src/static/images/lamarque.png and /dev/null differ diff --git a/src/static/images/logo.png b/src/static/images/logo.png deleted file mode 100644 index 6419d57..0000000 Binary files a/src/static/images/logo.png and /dev/null differ diff --git a/src/static/images/monaparty.png b/src/static/images/monaparty.png deleted file mode 100644 index 2dd9db2..0000000 Binary files a/src/static/images/monaparty.png and /dev/null differ diff --git a/src/static/images/musicforprogramming.jpg b/src/static/images/musicforprogramming.jpg deleted file mode 100644 index fe019d8..0000000 Binary files a/src/static/images/musicforprogramming.jpg and /dev/null differ diff --git a/src/static/images/orbit-db.png b/src/static/images/orbit-db.png deleted file mode 100644 index 20c53f7..0000000 Binary files a/src/static/images/orbit-db.png and /dev/null differ diff --git a/src/static/images/orbit.png b/src/static/images/orbit.png deleted file mode 100644 index d098e76..0000000 Binary files a/src/static/images/orbit.png and /dev/null differ diff --git a/src/static/images/orion.png b/src/static/images/orion.png deleted file mode 100644 index 5f29096..0000000 Binary files a/src/static/images/orion.png and /dev/null differ diff --git a/src/static/images/p2pdoc.png b/src/static/images/p2pdoc.png deleted file mode 100644 index 669189e..0000000 Binary files a/src/static/images/p2pdoc.png and /dev/null differ diff --git a/src/static/images/peer-bandwidth-demo.jpg b/src/static/images/peer-bandwidth-demo.jpg deleted file mode 100644 index 20edb44..0000000 Binary files a/src/static/images/peer-bandwidth-demo.jpg and /dev/null differ diff --git a/src/static/images/peer-map-demo.jpg b/src/static/images/peer-map-demo.jpg deleted file mode 100644 index 61f0768..0000000 Binary files a/src/static/images/peer-map-demo.jpg and /dev/null differ diff --git a/src/static/images/peerWebSite.png b/src/static/images/peerWebSite.png deleted file mode 100644 index a96e68c..0000000 Binary files a/src/static/images/peerWebSite.png and /dev/null differ diff --git a/src/static/images/peergos.png b/src/static/images/peergos.png deleted file mode 100644 index cc377c7..0000000 Binary files a/src/static/images/peergos.png and /dev/null differ diff --git a/src/static/images/pinata.png b/src/static/images/pinata.png deleted file mode 100644 index 099e450..0000000 Binary files a/src/static/images/pinata.png and /dev/null differ diff --git a/src/static/images/pubsub-chat-demo.png b/src/static/images/pubsub-chat-demo.png deleted file mode 100644 index ea081ad..0000000 Binary files a/src/static/images/pubsub-chat-demo.png and /dev/null differ diff --git a/src/static/images/request.svg b/src/static/images/request.svg deleted file mode 100644 index 76cf70f..0000000 --- a/src/static/images/request.svg +++ /dev/null @@ -1 +0,0 @@ -Artboard 1 \ No newline at end of file diff --git a/src/static/images/rocketpad.png b/src/static/images/rocketpad.png deleted file mode 100644 index 2aec2d0..0000000 Binary files a/src/static/images/rocketpad.png and /dev/null differ diff --git a/src/static/images/sharp-photos.png b/src/static/images/sharp-photos.png deleted file mode 100644 index 019f774..0000000 Binary files a/src/static/images/sharp-photos.png and /dev/null differ diff --git a/src/static/images/simpleid.svg b/src/static/images/simpleid.svg deleted file mode 100644 index 825cb3b..0000000 --- a/src/static/images/simpleid.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/static/images/skiff.png b/src/static/images/skiff.png deleted file mode 100644 index 6833b7c..0000000 Binary files a/src/static/images/skiff.png and /dev/null differ diff --git a/src/static/images/stanford-2015.jpg b/src/static/images/stanford-2015.jpg deleted file mode 100644 index 76998bd..0000000 Binary files a/src/static/images/stanford-2015.jpg and /dev/null differ diff --git a/src/static/images/starfield.png b/src/static/images/starfield.png deleted file mode 100644 index 1ce211b..0000000 Binary files a/src/static/images/starfield.png and /dev/null differ diff --git a/src/static/images/tallylab.jpg b/src/static/images/tallylab.jpg deleted file mode 100644 index 49ae39f..0000000 Binary files a/src/static/images/tallylab.jpg and /dev/null differ diff --git a/src/static/images/temporal.png b/src/static/images/temporal.png deleted file mode 100644 index 004bf4f..0000000 Binary files a/src/static/images/temporal.png and /dev/null differ diff --git a/src/static/images/terrive.png b/src/static/images/terrive.png deleted file mode 100644 index 8e27f32..0000000 Binary files a/src/static/images/terrive.png and /dev/null differ diff --git a/src/static/images/textile-build-series.jpg b/src/static/images/textile-build-series.jpg deleted file mode 100644 index 0d8d06a..0000000 Binary files a/src/static/images/textile-build-series.jpg and /dev/null differ diff --git a/src/static/images/textilephotos.png b/src/static/images/textilephotos.png deleted file mode 100644 index b5e9942..0000000 Binary files a/src/static/images/textilephotos.png and /dev/null differ diff --git a/src/static/images/todo-demo.png b/src/static/images/todo-demo.png deleted file mode 100644 index 04bf928..0000000 Binary files a/src/static/images/todo-demo.png and /dev/null differ diff --git a/src/static/images/tutorial-ipfs-deploy.jpeg b/src/static/images/tutorial-ipfs-deploy.jpeg deleted file mode 100644 index f9fc147..0000000 Binary files a/src/static/images/tutorial-ipfs-deploy.jpeg and /dev/null differ diff --git a/src/static/images/twitter-bot.png b/src/static/images/twitter-bot.png deleted file mode 100644 index 30da441..0000000 Binary files a/src/static/images/twitter-bot.png and /dev/null differ diff --git a/src/static/images/unity-game-pinata.png b/src/static/images/unity-game-pinata.png deleted file mode 100644 index a5d9293..0000000 Binary files a/src/static/images/unity-game-pinata.png and /dev/null differ diff --git a/src/static/images/unstoppable-domains-app.png b/src/static/images/unstoppable-domains-app.png deleted file mode 100644 index e9f4a25..0000000 Binary files a/src/static/images/unstoppable-domains-app.png and /dev/null differ diff --git a/src/static/images/valist.png b/src/static/images/valist.png deleted file mode 100644 index 730f9e5..0000000 Binary files a/src/static/images/valist.png and /dev/null differ diff --git a/src/static/images/watchit.png b/src/static/images/watchit.png deleted file mode 100644 index 671ca85..0000000 Binary files a/src/static/images/watchit.png and /dev/null differ diff --git a/src/static/manifest.json b/src/static/manifest.json deleted file mode 100644 index ac90447..0000000 --- a/src/static/manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "short_name": "Awesome IPFS", - "name": "Awesome IPFS", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - } - ], - "start_url": "./index.html", - "display": "standalone", - "theme_color": "#0b3a53", - "background_color": "#ffffff" -} diff --git a/src/static/robots.txt b/src/static/robots.txt deleted file mode 100644 index eb05362..0000000 --- a/src/static/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: diff --git a/stale.md b/stale.md new file mode 100644 index 0000000..fec132f --- /dev/null +++ b/stale.md @@ -0,0 +1,17 @@ +# Stale IPFS + +This is a list of no longer maintained awesome IPFS projects. This list is kept around as a resource for reference. If you find your project on this list and you feel it should be on the [Awesome List](./README.md), submit a pr and we'll get it in the right place. + +## Table of Contents + +- [Apps](#apps) +- [Tools](#tools) + +## Apps +- [AirSecure](https://github.com/airsecure/airsecure) - Decentralized two factor authentication app built on Textile & IPFS. +- [Arbore](https://github.com/MichaelMure/Arbore) - A friend-to-friend file-sharing app build 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 +- [ipfs-search](https://github.com/ipfs-search/ipfs-search) - IPFS search engine Sniffs the DHT gossip and indexes file and directory hashes. Metadata and search API's available. + +## Tools +- [Sweet IPFS](https://github.com/RHazDev/Sweet-IPFS) - Full node for Android.