cjdns VS yggdrasil-go

Compare cjdns vs yggdrasil-go and see what are their differences.

cjdns

An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing. (by cjdelisle)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
cjdns yggdrasil-go
16 23
5,135 3,331
- 2.0%
2.8 8.5
13 days ago about 1 month ago
C Go
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

cjdns

Posts with mentions or reviews of cjdns. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-13.

yggdrasil-go

Posts with mentions or reviews of yggdrasil-go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-27.
  • Tinc, a GPLv2 mesh routing VPN
    4 projects | news.ycombinator.com | 27 Jun 2023
    > The next version will make it much simpler to deploy isolated networks by using TLS roots to prevent accidental peerings.

    Is that PR #1038 [1]? Any info on how to use that feature and whether it works over multicast as well?

    I noticed this PR uses SHA-1 for matching fingerprints. SHA-1 has been broken for 13 years now. Is it possible to use something more secure?

    > It's also worth noting that Yggdrasil doesn't have the equivalent of "peer exchange" — only directly connected peers would ever find out your public IP address. Yggdrasil will not form new peerings automatically, with the single exception being multicast-discovered nodes on the same LAN.

    Right, my worry is that by having a server with a public IPv4 address and Yggdrasil running on an open port (so that my other nodes can connect to it) will allow someone to connect to it (either on purpose or accidentally) and cause my traffic to route over their node(s) and/or the public mesh.

    Thanks!

    [1] https://github.com/yggdrasil-network/yggdrasil-go/pull/1038

  • Yggdrasil
    1 project | /r/DonOperInfo | 23 Dec 2022
  • Release Version 0.4.7 · yggdrasil-network/yggdrasil-go · GitHub
    1 project | /r/DonOperInfo | 18 Dec 2022
    1 project | /r/u_Accounter_of_Hanover | 18 Dec 2022
  • Tailscale/golink: A private shortlink service for tailnets
    10 projects | news.ycombinator.com | 13 Dec 2022
    From a purely networking perspective, there are far better solutions than tailscale.

    Have a look at full mesh VPNs like:

    https://github.com/cjdelisle/cjdns

    https://github.com/yggdrasil-network/yggdrasil-go

    https://github.com/gsliepen/tinc

    https://github.com/costela/wesher

    These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).

    Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.

    tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).

  • The Iran Firewall: A preliminary report
    3 projects | news.ycombinator.com | 28 Oct 2022
    The only real solution long-term is completely peer-to-peer ad-hoc networking that doesn't depend on BGP.

    A few projects are in similar territory but none I've seen are working at the layer of bypassing BGP. Many are just acting as an overlay; which works to an extent. https://github.com/yggdrasil-network/yggdrasil-go

    It's probably begging for a different model of the "internet" and where data lives.

    My requirements:

    1. Offline-first applications that sync via a pub/sub DHT of trusted peers. More details here but basically allows bypassing BGP.

  • Make the Internet Yours Again With an Instant Mesh Network
    1 project | /r/Rad_Decentralization | 11 Oct 2022
    It seems like you can limit connections to your node with AllowedPublicKeys (ref).
  • Was war vor 15 Jahren möglich, aber wäre heute undenkbar?
    1 project | /r/FragReddit | 14 Jul 2022
  • [Fanatical] Mindustry - 24 Hour Star Deal (83% off - $1.00 / £0.79 / €0.79)
    3 projects | /r/GameDeals | 9 Jul 2022
    at least on the official discord the recommended way if you don’t want to play on a public server is using yggdrasil
  • Multiplayer Between Steam Owner/Non-Steam Owners
    1 project | /r/Mindustry | 22 May 2022

What are some alternatives?

When comparing cjdns and yggdrasil-go you can also consider the following projects:

tinc - a VPN daemon

Nebula - A scalable overlay networking tool with a focus on performance, simplicity and security

ZeroTier - A Smart Ethernet Switch for Earth

mesh-networking - :globe_with_meridians: LEGO blocks for networking, a Python library to help create and test flexible network topologies across real and simulated physical links.

PJON - PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.

headscale - An open source, self-hosted implementation of the Tailscale control server

pinecone - Peer-to-peer overlay routing for the Matrix ecosystem

wg-meshconf - WireGuard full mesh configuration generator.

cdnjs - 🤖 CDN assets - The #1 free and open source CDN built to make life easier for developers.

ergo - An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.