Rayfish, Iroh and Yggdrasil
(rayfish.xyz)
from altphoto@lemmy.today to selfhosted@lemmy.world on 12 Jul 00:53
https://lemmy.today/post/56391614
from altphoto@lemmy.today to selfhosted@lemmy.world on 12 Jul 00:53
https://lemmy.today/post/56391614
Today I fumbled thru the install of Rayfish and Yggdrasil. Both are awesome, but Rayfish was so much easier to install and use.
Have you tried these yet?
Here’s the Yggdrasil link:
Yggdrasil has Android, Windows, Linux, Apple installers.
Rayfish only works on desktop right now, but hopefully soon they will be able to get it on Android.
#selfhosted
threaded - newest
But rayfish is vibe coded. I’d not trust it.
Hmm 🤔
Evidence?
Well aside from the obvious giveaways in the presentation format of the README.md, and .gitignore, the very first question of its FAQ is:
Yes. Heavily. Claude and GLM-5.2 wrote a lot of this repo.
Oooh. I can’t believe I missed that. Thanks!
https://github.com/rayfish/rayfish?tab=readme-ov-file#faq
Well, at least they tell you to not trust it for production in it’s current stage I guess.
Agreed, it’s not for production. For me, as an engineer, LLMs are a couple of things. One is they are killing the planet by consuming energy, dumping the smog into our communities and consuming the water we need to survive. The other way to see it is…uhh give me a funny ass picture of a cat driving a taxi with a donkey and a giraffe riding in the back…make it a 5 minute video… probably uses way more resources than… write a program that gives me network freedom, here are the specs…
Once I get this initial bit and I study it, then I should be able to develop it like any other piece of software. It’s that initial kick that helps a lot. In my experience, if you keep asking the LLM for more, your program will just suck ass more and more until you’re left with nothing working. The other problem is it makes you lazy. Why should I debug if the LLM can do it?..debug this! But instead of a debug you get a full re-write and you don’t know what changed.
So I hope they are using the LLM in a structured way. Remember, no matter what the LLM does, if you’re not a programmer who would otherwise have understood the program enough to write it, you will still not understand it. Same for the cryptography.
But LLMs are basically a librarian who can parse thru many books and predict the next word or sentence. It’s locally correct. So imagine using Google maps street view to drive your car. First you have to get the big thing…where are you at? Now, with no windows just a gps signal telling you how far you are, you turn left or right based on your own knowledge of where you want to go. Finally, you crash on obstacles like other cars, pedestrians and buildings. Each time you crash you can get out to see where you are and start again. That’s LLMs in a nutshell. But if you finally get to where you wanted to go, you have a full program for anyone else to use. Lol
Never heard of it. Why should I use it instead of established systems?
Because, specially rayfish, both are encrypted peer to peer and have their own DNS and are decentralized. So no company in the middle collecting everything you do in a data center and giving it to your enemies while charging you for it.
With Rayfish you don’t even need a dynamic DNS or FQN so my FQN cost and it’s never ending complications go away. The only problem is that they don’t have an android app yet for Rayfish. For now I’m using Yggdrasil.
So no advantage over something known like Netbird and Wireguard, then
Both Rayfish and Yggdrasil are serverless and can traverse a NAT. So you can’t block them unless you unplug.
No, they are trivial to block using techniques like deep package inspection.
In addition to that, they aren’t truly decentralized (no decentralized network really is), both rely on relay/bootstrap servers to start up the connection. So, if you block the public relay/bootstrap servers, you effectively block access to the network.
Tailscale, netbird also can traverse NAT.
Iroh (the actually pretty interesting software which the vibecoded rayfish is based on) and Yggdrassil do have their uses, but evading blocks isn’t one of them.
I suppose they don’t work without having
Like, if the IPs keep changing, and a device goes offline and then online, how does yggdrasil know how to reach that system?
My phone gets a new IP when I hop from wifi to cell but it’s still able to communicate. Supposedly rayfish has this solved too although I cannot test that since the computer is on my network but maybe I could tether something to my cellphone and test that way.
If you’re using ipv6 supposedly you don’t need to forward ports. So that means that regardless of what IP your ISP gives you, your network should survive.
Been using Yggdrasil for quite a while at this point, both for encrypted service communication and also as unbreakable VPN links to various places where I don’t want to have to mess about with NAT traversal.
It’s been nice to be able to just drop it onto my router, add an ALFIS DNS entry, and have all my devices just work with Yggdrasil with no additional configuration.
I’m thinking about doing BGP+Wireguard
So…this is kind of like Tor, but different?
No, this is not tor. This is networking. Imagine two computers where you can plug one to the other with an Ethernet cable that’s it. Except that you connect one at your house and I connect the other at my house. They think they are in the same network so I could browse through your files or use a local website you serve. The benefit being that I could be you and I just traveled to your country yesterday. So I plug in my computer and I can see all my files back home from your country. Neither country can spy into my system or see what I’m doing. All they can do is decide that it’s not worth having a national connection if I’m on the network. So they can unplug the entire Internet just to block me watching YouTube from Tampa while I’m in Italy.
Interesting. Never heard of it. I’ll have to do some reading.