[
  {
    "path": ".gitattributes",
    "content": "## GITATTRIBUTES FOR WEB PROJECTS\n#\n# These settings are for any web project.\n#\n# Details per file setting:\n#   text    These files should be normalized (i.e. convert CRLF to LF).\n#   binary  These files are binary and should be left untouched.\n#\n# Note that binary is a macro for -text -diff.\n######################################################################\n\n## AUTO-DETECT\n##   Handle line endings automatically for files detected as\n##   text and leave all files detected as binary untouched.\n##   This will handle all files NOT defined below.\n* text=auto\n\n## SOURCE CODE\n*.bat      text eol=crlf\n*.coffee   text\n*.css      text\n*.htm      text\n*.html     text\n*.inc      text\n*.ini      text\n*.js       text\n*.json     text\n*.jsx      text\n*.less     text\n*.od       text\n*.onlydata text\n*.php      text\n*.pl       text\n*.py       text\n*.rb       text\n*.sass     text\n*.scm      text\n*.scss     text\n*.sh       text eol=lf\n*.sql      text\n*.styl     text\n*.tag      text\n*.ts       text\n*.tsx      text\n*.xml      text\n*.xhtml    text\n\n## DOCKER\n*.dockerignore    text\nDockerfile    text\n\n## DOCUMENTATION\n*.markdown   text\n*.md         text\n*.mdwn       text\n*.mdown      text\n*.mkd        text\n*.mkdn       text\n*.mdtxt      text\n*.mdtext     text\n*.txt        text\nAUTHORS      text\nCHANGELOG    text\nCHANGES      text\nCONTRIBUTING text\nCOPYING      text\ncopyright    text\n*COPYRIGHT*  text\nINSTALL      text\nlicense      text\nLICENSE      text\nNEWS         text\nreadme       text\n*README*     text\nTODO         text\n\n## TEMPLATES\n*.dot        text\n*.ejs        text\n*.haml       text\n*.handlebars text\n*.hbs        text\n*.hbt        text\n*.jade       text\n*.latte      text\n*.mustache   text\n*.njk        text\n*.phtml      text\n*.tmpl       text\n*.tpl        text\n*.twig       text\n\n## LINTERS\n.csslintrc    text\n.eslintrc     text\n.htmlhintrc   text\n.jscsrc       text\n.jshintrc     text\n.jshintignore text\n.stylelintrc  text\n\n## CONFIGS\n*.bowerrc      text\n*.cnf          text\n*.conf         text\n*.config       text\n.browserslistrc    text\n.editorconfig  text\n.gitattributes text\n.gitconfig     text\n.htaccess      text\n*.npmignore    text\n*.yaml         text\n*.yml          text\nbrowserslist   text\nMakefile       text\nmakefile       text\n\n## HEROKU\nProcfile    text\n.slugignore text\n\n## GRAPHICS\n*.ai   binary\n*.bmp  binary\n*.eps  binary\n*.gif  binary\n*.ico  binary\n*.jng  binary\n*.jp2  binary\n*.jpg  binary\n*.jpeg binary\n*.jpx  binary\n*.jxr  binary\n*.pdf  binary\n*.png  binary\n*.psb  binary\n*.psd  binary\n*.svg  text\n*.svgz binary\n*.tif  binary\n*.tiff binary\n*.wbmp binary\n*.webp binary\n\n## AUDIO\n*.kar  binary\n*.m4a  binary\n*.mid  binary\n*.midi binary\n*.mp3  binary\n*.ogg  binary\n*.ra   binary\n\n## VIDEO\n*.3gpp binary\n*.3gp  binary\n*.as   binary\n*.asf  binary\n*.asx  binary\n*.fla  binary\n*.flv  binary\n*.m4v  binary\n*.mng  binary\n*.mov  binary\n*.mp4  binary\n*.mpeg binary\n*.mpg  binary\n*.ogv  binary\n*.swc  binary\n*.swf  binary\n*.webm binary\n\n## ARCHIVES\n*.7z  binary\n*.gz  binary\n*.jar binary\n*.rar binary\n*.tar binary\n*.zip binary\n\n## FONTS\n*.ttf   binary\n*.eot   binary\n*.otf   binary\n*.woff  binary\n*.woff2 binary\n\n## EXECUTABLES\n*.exe binary\n*.pyc binary"
  },
  {
    "path": ".github/workflows/lint.yaml",
    "content": "name: lint\non: \n  pull_request:\n  push:\n    branches:\n      - main\n\njobs:\n    awesome-lint:\n      strategy:\n        fail-fast: false\n        matrix:\n          files:\n            - \"readme.md\"\n      runs-on: ubuntu-latest\n      steps:\n        - name: \"checkout repo\"\n          uses: actions/checkout@v2\n          with:\n            fetch-depth: 0\n        - name: asdf_install\n          uses: asdf-vm/actions/install@v1\n        - name: \"linting: ${{ matrix.files }}\"\n          run: npx -y awesome-lint ${{ matrix.files }}\n    awesome-bot:\n      strategy:\n        fail-fast: false\n        matrix:\n          files:\n            - \"readme.md\"\n      runs-on: ubuntu-latest\n      steps:\n        - name: \"checkout repo\"\n          uses: actions/checkout@v2.0.0\n          with:\n            fetch-depth: 0\n        - name: \"setup ruby\"\n          uses: ruby/setup-ruby@v1\n          with:\n            ruby-version: 3.0.1\n            bundler-cache: true\n        - name: \"install awesome-bot\"\n          run: gem install awesome_bot\n        - name: \"linting: ${{ matrix.files }}\"\n          run: awesome_bot --allow-redirect --white-list https://github.com/n0-computer/iroh ${{ matrix.files }} \n"
  },
  {
    "path": ".tool-versions",
    "content": "nodejs 21.6.0\n"
  },
  {
    "path": "code_of_conduct.md",
    "content": "# Code of Conduct\n\nOnline or off, Number Zero is a harassment-free environment for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion or technical skill level. We do not tolerate harassment of participants in any form.\n\nHarassment includes verbal comments that reinforce social structures of domination related to gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Participants asked to stop any harassing behavior are expected to comply immediately.\n\nIf a participant engages in harassing behaviour, the organizers may take any action they deem appropriate, including warning the offender or expulsion from events and online forums.\n\nIf you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of the organizing team immediately.\n\nAt offline events, organizers will identify themselves, and will help participants contact venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the event. We value your participation!\n\nThis document is based on a similar code from [EDGI](https://envirodatagov.org/) and [Civic Tech Toronto](http://civictech.ca/about-us/), itself derived from the [Recurse Center’s Social Rules](https://www.recurse.com/manual#sec-environment), and the [anti-harassment policy from the Geek Feminism Wiki](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).\n"
  },
  {
    "path": "contributing.md",
    "content": "# Contribution Guidelines\n\nPlease note that this project is released with a [Contributor Code of Conduct](code_of_conduct.md). By participating in this project you agree to abide by its terms.\n\n## PRs\n\nALWAYS create a new branch with your proposed changes. Thank you!\n\n## Adding an new Item\n\n- Try to fit your item into an existing sections. [Open a suggestion](https://github.com/n0-computer/awesome-iroh/issues/new) to start as discussion about any new sections.\n- Insert your item in the list in a section respecting [lexicographic ordering](https://en.wikipedia.org/wiki/Lexicographic_order) (tip: in vim visual mode: `:sort i`).\n- If a duplicate item exists, discuss why the new item should replace it.\n- Check your spelling & grammar.\n- The item must follow this format:\n  ```\n  - [item name](https link) - Description beginning with capital, ending in period.\n  ```\n"
  },
  {
    "path": "license",
    "content": "[![CC0](https://i.creativecommons.org/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nStatement of Purpose\n\nThe laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an \"owner\") of an original work of authorship and/or a database (each, a \"Work\").\n\nCertain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (\"Commons\") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.\n\nFor these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the \"Affirmer\"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.\n\n1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (\"Copyright and Related Rights\"). Copyright and Related Rights include, but are not limited to, the following:\n\n    the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;\n    moral rights retained by the original author(s) and/or performer(s);\n    publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;\n    rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;\n    rights protecting the extraction, dissemination, use and reuse of data in a Work;\n    database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and\n    other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.\n\n2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the \"Waiver\"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.\n\n3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the \"License\"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.\n\n4. Limitations and Disclaimers.\n\n    No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.\n    Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.\n    Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.\n    Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work."
  },
  {
    "path": "readme.md",
    "content": "<div align=\"center\">\n\n<!-- title -->\n\n<!--lint ignore no-dead-urls-->\n\n# Awesome Iroh [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) ![lint](https://github.com/n0-computer/awesome-iroh/actions/workflows/lint.yaml/badge.svg)\n\n<!-- subtitle -->\n\nProjects & resources building with iroh!\n\n<!-- image -->\n\n<a href=\"\" target=\"https://iroh.computer/docs\" rel=\"noopener noreferrer\">\n  <img src=\"./.img/banner.png\" />\n</a>\n\n<!-- description -->\n[iroh](https://iroh.computer) is a library for building on direct connections between devices.\n\n</div>\n\n<!-- TOC -->\n\n## Contents\n\n- [AI/ML](#aiml)\n- [Audio/Video](#audiovideo)\n- [Archiving](#archiving)\n- [Browsers](#browsers)\n- [Collaboration and Productivity](#collaboration-and-productivity)\n- [DevTools](#devtools)\n- [File Sharing](#file-sharing)\n- [Frameworks](#frameworks)\n- [Libraries and protocols](#libraries-and-protocols)\n- [Games and 3D](#games-and-3d)\n- [Internet of Things](#internet-of-things)\n- [Social Media](#social-media)\n- [Tools for Thought](#tools-for-thought)\n- [Web3](#web3)\n- [Follow](#follow)\n\n<!-- CONTENT -->\n\n## AI/ML\n\n- [Prime Intellect](https://github.com/PrimeIntellect-ai/protocol) - Decentralized Compute Infrastructure for AI.\n- [Psyche](https://github.com/PsycheFoundation/psyche/) - An open infrastructure to democratize and decentralize the development of superintelligence for humanity.\n- [Tandemn](https://github.com/Tandemn-Labs/tensor-iroh) - Iroh for tensors, used for inference over heterogeneous GPUs.\n\n## Audio/Video\n\n- [Aster](https://github.com/fractalbeauty/aster) - Local-first peer-to-peer music streaming prototype.\n\n## Archiving\n\n- [Save DWeb Backend](https://github.com/OpenArchive/save-dweb-backend) - DWeb Backend for the Save app based on Veilid and Iroh.\n\n## Browsers\n\n- [Oku](https://okubrowser.github.io/) - A Web browser with an emphasis on local-first data storage.\n\n## Collaboration and Productivity\n\n- [biter](https://github.com/LukeDSchenk/biter) - Synchronize device clipboards via iroh.\n- [Teamtype](https://github.com/teamtype/teamtype) - Editor-agnostic, real-time collaborative editing of local text files.\n- [Zeco](https://github.com/julianbuettner/zeco) - Share zellij sessions via the internet (using iroh).\n\n## DevTools\n\n- [cross.stream](https://github.com/cablehead/xs) - Local-first event streaming for reactive workflows, with P2P sharing via Iroh.\n- [do-ssh](https://github.com/doEggi/do-ssh) - Tunnels an ssh-connection over iroh.\n- [Datum](https://github.com/datum-cloud/app) - Expose local services to the internet.\n- [Dumbpipe](https://github.com/n0-computer/dumbpipe) - Cross-device unix pipe.\n- [iroh-ssh](https://github.com/rustonbsd/iroh-ssh) - SSH to any machine without ip.\n- [iroh-ssh-android](https://github.com/futpib/iroh-ssh-android) - Android SSH client for hosts running iroh-ssh (and OpenSSH too).\n- [malai](https://malai.sh) - Share your dev server (and more) over P2P.\n- [pai-sho](https://github.com/cablehead/pai-sho) - P2P TCP port forwarding: dumbpipe, but multiple ports, and it reconnects.\n\n## File Sharing\n\n- [APT Repository](https://gitlab.com/megalithic-llc/apt-repository) - A Debian APT Repository, and web console for remote administration.\n- [ARK Drop Desktop](https://github.com/ARK-Builders/ARK-Drop-Desktop) - Use QR codes to quickly send and receive files between devices.\n- [Alt-sendme](https://github.com/tonyantony300/alt-sendme) - A cross-platform desktop application for file sharing, built with Tauri.\n- [DataBeam](https://github.com/vinay-winai/DataBeam) - File sharing desktop app with features like: share via short custom code or QR code, share text, auto-retry on failure, and automatic overwrite conflict resolution.\n- [iroh_send](https://github.com/thiswillbeyourgithub/iroh-send) - Send files or directories by sharing an env variable (python).\n- [lis](https://github.com/riffcc/lis) - Life is short, but data should live forever.\n- [Quicksend](https://github.com/israelyago/QuickSend) - Send files peer to peer.\n- [Rust Patcher](https://github.com/rustonbsd/rustpatcher) - Secure Decentralized Software updates.\n- [Sendme-egui](https://github.com/zignig/sendme-egui) - Egui interface for sendme.\n- [Sendme](https://github.com/n0-computer/sendme) - A tool to send files and directories, based on iroh.\n- [Strada](https://strada.tech) - Beatiful file transfer & management with no cloud costs.\n\n## Frameworks\n\n- [Peernet](https://github.com/dvc94ch/peernet) - Easy & reliable p2p networking.\n- [p2panda](https://github.com/p2panda/p2panda) - Building blocks for peer-to-peer applications.\n\n## Libraries and protocols\n\n- [distributed-topic-tracker](https://github.com/rustonbsd/distributed-topic-tracker) - Iroh-gossip with auto discovery (no servers!)\n- [imsg](https://github.com/n0-computer/imsg) 🧪 - A base protocol providing streams of messages.\n- [iroh-gossip-discovery](https://github.com/therishidesai/iroh-gossip-discovery) - Peer discovery for iroh gossip topics.\n- [irpc](https://github.com/n0-computer/irpc) - RPC for memory, quinn or iroh connections.\n\n## Games and 3D\n\n- [Bones](https://github.com/fishfolk/bones) - An easy-to-use game engine for making real games, networked with iroh.\n- [Fish Folk: Jumpy](https://github.com/fishfolk/jumpy) - Tactical 2D shooter in fishy pixels style. Made with Rust-lang 🦀, built on Bones.\n- [Godot Iroh](https://github.com/tipragot/godot-iroh) - A peer-to-peer multiplayer extension for Godot based on iroh.\n- [iroh-lan](https://github.com/rustonbsd/iroh-lan) - Have a lan party with iroh (iroh-lan = hamachi - account - install).\n- [USD Renderer](https://github.com/expenses/usd-render) - Universal Scene Description Render, linked with iroh.\n\n## Internet of Things\n\n- [Pigg](https://github.com/andrewdavidmackenzie/pigg) - Raspberry Pi GPIO GUI.\n\n## Social Media\n\n- [Dash Chat](https://darksoil.studio) - Secure Chat for Internet Shutdowns.\n- [Delta Chat](https://delta.chat) - A decentralized and secure messenger app.\n- [Tauri + Leptos + Tailwind CSS + Iroh + Keyhive/Beelay](https://github.com/Zyell/beelay-iroh-chat) - Proof of concept chat app combining automerge keyhive/beelay, iroh and tauri.\n- [Tauri Chat Example](https://github.com/jamessizeland/peer-to-peer) - Example cross-platform chat app demo, using Tauri v2 & React.\n- [Weird](https://weird.one/) - A way to be on the web.\n\n## Tools for Thought\n\n- [Obsiroh](https://github.com/DrHongos/obsiroh) - An Obsidian sync method with iroh.\n\n## Web3\n\n- [Analog](https://github.com/Analog-Labs/timechain) - An omnichain network powered by Proof of Time.\n- [Fedimint](https://github.com/fedimint/fedimint) - Federated E-Cash Mint.\n- [Recall](https://github.com/recallnet/ipc) - Lets any agent prove, refine, and earn from their intelligence, onchain.\n- [Thresh](https://github.com/rodrigomd94/Thresh) - A Desktop Cardano Wallet.\n\n<!-- END CONTENT -->\n\n## Follow\n\n### Official\n- 📹 [number 0 YouTube](https://www.youtube.com/@n0computer)\n- 📝 [iroh Blog](https://iroh.computer/blog)\n- 🐦 [@iroh_n0](https://twitter.com/iroh_n0)\n\n- :fire: [Iroh Discord](https://iroh.computer/discord) - an open community dedicated to Iroh and its services, where you can to socialize and help other web and app developers from around the world.\n\n### Semi-official\n\n-  [@n0iroh](https://mastodon.social/@n0iroh)\n- [matrix room](https://matrix.to/#/!KRxGKHTZtCEENtOPRH:matrix.org?via=matrix.org&via=codelutin.com&via=mauve.moe)\n\n## Contributing\n\n[Contributions of any kind welcome, just follow the guidelines](contributing.md)!\n\n### Contributors\n\n[Thanks goes to these contributors](https://github.com/n0-computer/awesome-iroh/graphs/contributors)!\n"
  }
]