Coder Social home page Coder Social logo

metaclips / irdest Goto Github PK

View Code? Open in Web Editor NEW

This project forked from irdest/irdest

0.0 1.0 0.0 37.13 MB

A mirror of the Irdest monorepo. Find the upstream at https://git.irde.st/we/irdest

License: GNU Affero General Public License v3.0

Rust 96.94% Python 0.19% Nix 2.87%

irdest's Introduction


Built with Nix

Irdest is a decentralised networking project, aiming to create easy-to-use solutions for ad-hoc wireless, and mesh networks. It supports many common desktop operating systems (Linux, Windows, MacOS, NetBSD, โ€ฆ), and Android mobile phones. iOS support is on the roadmap.

The core component of the Irdest project is Ratman, a decentralised, peer-to-peer packet router (following the gossip protocol approach), written in Rust. With Ratman you can create private overlay networks (similar to VPNs), connect to a wider community mesh of existing overlay networks, plug into specific wireless drivers for fully off-the-grid routing, or do all of them at the same time.

Following is an overview of the available components. Components have additional information in their respective README files.

Component Description
clients End-user applications using Irdest. These include both shims to traditional networking, as well as apps written specificically for Irdest
docs Manuals (for both users and developers), and tools to build and deploy documentation
licenses Set of license texts that are in use in this repository
netmods Platform-specific networking interface drivers
nix Nix related build utilities
ratman A decentralised and modular userspace frame router
utils Various utilities in use all over the repository that don't fit in anywhere else

Overview

Most traditional networking infrastructure (both the transmission layer, as well as applications) operate in a centralised way. Clients connect to servers, and devices to ISPs. This makes the infrastructure vulnerable to attacks. Natural disasters or opressive governments can easily shut down communication for millions of people, potentially putting them at risk, and slowing down or disrupting any organisation or activist movement.

Irdest aims to solve this issue by creating decentralised circuits between devices directly. These direct device-to-device connections can be imperfect and unstable. Irdest's routing approach takes these issues into account by caching undelivered messages, and carrying them towards their destination until the receipient comes back online.

Routing in an Irdest network is done via a user's ed25519 public keys, creating a 32 byte large address space (twice as lange as IPv6). Connecting devices together happens via channel-specific drivers (for example the tcp internet overlay). Therefore when creating a circuit, roaming between different connection types is normal, and no single connection technology has to work on all possible devices or platforms.

To learn more about the technical side of Irdest, check out the developer manual.

How to use

The easiest way to get started using Irdest is to download Ratman and its associated utilities. To learn how, check out the user manual!

Contributing

Social processes, code, and design guidelines are outlined in the developer manual. We have a developer chat hosted on Matrix where we would be happy to answer any questions you have.

If you want some inspiration for what you can do with irdest, check out the clients section.

License

Irdest is free software licensed under the GNU Affero General Public License version 3 or later.

Additional Permissions: For Submission to the Apple App Store:

Provided that you are otherwise in compliance with the AGPLv3 for each covered work you convey (including without limitation making the Corresponding Source available in compliance with Section 6 of the AGPLv3), the irdest developers also grant you the additional permission to convey through the Apple App Store non-source executable versions of the Program as incorporated into each applicable covered work as Executable Versions only under the Mozilla Public License version 2.0.

A copy of both the AGPL-3.0 and MPL-2.0 license texts are included in this repository, along other external licenses for third-party code, and can be found in the licenses directory.

irdest's People

Contributors

spacekookie avatar mathjud avatar saces avatar jess3jane avatar luxzeitlos avatar noracodes avatar alyssais avatar s-ayush2903 avatar spacemaniac avatar doumanash avatar yu-re-ka avatar theradioguy avatar amanjeev avatar jmvalin avatar jaromil avatar anuvazhayil avatar valleyflowerbear avatar link2xt avatar elegaanz avatar alpcentaur avatar skade avatar badboy avatar mathewv avatar quadrupleslap avatar thomcc avatar hazelnot avatar lislis avatar thelearnerofcode avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.