TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Zrok: Open-source peer to peer

289 pointsby whackover 2 years ago

17 comments

kerkeslagerover 2 years ago
This... sounds like something I would be interested in, but I cannot for the life of me understand what this does.<p>Is this decentralized file sharing?
评论 #34713294 未加载
评论 #34712240 未加载
评论 #34713795 未加载
评论 #34712399 未加载
Uptrendaover 2 years ago
It says it uses an over-lay network? If the topology is just like:<p>peer A &lt;---&gt; overlay (server N ...) &lt;---&gt; Peer B<p>And your design is to try get packets between the peers then this is going to be very slow. They will have to go via the routes on the overlay network which may have multiple virtual hops to reach their destination. This is a massive increase in round trip time. I&#x27;m not sure if I understand the solution right though as I took a brief look. But I don&#x27;t see how this solves port forwarding or NAT issues as the actual instances still need to be publicly reachable.<p>I wrote a library for peer-to-peer networking recently and unlike libraries like Libp2p -- my emphasis was on getting direct connectivity to work between peers. I&#x27;m not using an overlay for this. I use a range of techniques [direct cons, reverse con, tcp hole punching, TURN] to make the connections happens. With some minor signalling traffic happening over public MQTT servers.<p>My software is at <a href="https:&#x2F;&#x2F;github.com&#x2F;robertsdotpm&#x2F;p2pd">https:&#x2F;&#x2F;github.com&#x2F;robertsdotpm&#x2F;p2pd</a> if anyone finds it interesting. Sorry for the shameless self-plug but I figure it is related. We&#x27;re both free open source projects. I don&#x27;t provide a tunnelling solution but you could easily build something like ngrok with this software without relying on proxying as the primary solution. Currently the software has no way to easily get another peers &#x27;address&#x27; so using this will need to solve that problem. But a simple key-value store would be enough tbh. Going to improve usability when I next have time.
评论 #34721819 未加载
apitmanover 2 years ago
Always happy to see more open source options in this space. I maintain a list of similar tools (including OpenZiti) here:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;anderspitman&#x2F;awesome-tunneling">https:&#x2F;&#x2F;github.com&#x2F;anderspitman&#x2F;awesome-tunneling</a>
评论 #34778758 未加载
评论 #34721960 未加载
AlbertoGPover 2 years ago
There was a post one day ago, apparently from the creator of Zrok, giving more context on this: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34693988" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=34693988</a><p>&gt; <i>In the discussions about v0.2, the (now obvious) idea came up to implement something that we&#x27;re calling &quot;private sharing&quot;. It works a lot like the traditional on-demand reverse proxy, except instead of exposing the private endpoint through a public HTTP listener, it binds the shared resource onto an OpenZiti network, where it can be accessed securely by another zrok client. This &quot;other&quot; zrok client exposes an HTTP listener wherever the user wants... but it&#x27;s usually put on the loopback interface of that user&#x27;s system. This allows the user to securely access the shared resource on their system as if it&#x27;s local, even though it&#x27;s somewhere else on a zero-trust network.</i><p>&gt; <i>As we&#x27;ve started working through the development of v0.3, we&#x27;ve realized that we can incorporate other useful capabilities, like streamlined file sharing (elegant WebDAV integration is coming).</i><p>From a quick look, it seems that the self-hostable part (<a href="https:&#x2F;&#x2F;github.com&#x2F;openziti&#x2F;zrok&#x2F;blob&#x2F;main&#x2F;docs&#x2F;guides&#x2F;v0.3_self_hosting_guide.md">https:&#x2F;&#x2F;github.com&#x2F;openziti&#x2F;zrok&#x2F;blob&#x2F;main&#x2F;docs&#x2F;guides&#x2F;v0.3_...</a>) is written in Go, and there are SDKs for connecting to it from a variety of languages.<p>Oracle has an article on the underlying network layer which is called OpenZiti, which defines ZeroTrust:<p>&gt; <i>Zero trust assumes there is no implicit trust granted to assets or user accounts based solely on their physical or network location (i.e., local area networks versus the internet) or based on asset ownership (enterprise or personally owned). Authentication and authorization (both subject and device) are discrete functions performed before a session to an enterprise resource is established.</i><p>All of this sounds very interesting to me, but I have no experience with these kinds of network stacks. Has anyone here evaluated it?<p>Would this be useful for adding document sharing to applications I write, for instance, a hypothetical word processor? I mean sharing with other people working on a document. The SDKs seem to be clients, so to interchange files between two applications with an embedded SDK, does it still need a third machine running an API server?
评论 #34713084 未加载
codethiefover 2 years ago
How does this compare to Tailscale, beyond being based on OpenZiti instead of Wireguard?
评论 #34713131 未加载
评论 #34712103 未加载
评论 #34714123 未加载
评论 #34712260 未加载
squarefootover 2 years ago
Seems interesting, but I think it needs some use case examples to show how it differentiates from a tunnel, VPN etc. As an example, would it be the right tool to access IoT data from small sensors (and actuators, therefore two ways) in a private LAN from external machines, including mobile, on untrusted public networks? Or what if I wanted on all my laptops a shared directory that replicated on all machines what is being written on one, no matter which networks they&#x27;re connected to, NAT etc. etc...
评论 #34718497 未加载
Maursaultover 2 years ago
I doubt Activision cares, but what does this have to do with Infocom and Z-machine?
评论 #34724699 未加载
评论 #34715778 未加载
p4bl0over 2 years ago
The file sharing part of this project made me think of RetroShare (<a href="https:&#x2F;&#x2F;retroshare.cc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;retroshare.cc&#x2F;</a>). Too bad this project never really had traction. It was really file sharing + social network in a truly decentralized fashion.
评论 #34721297 未加载
byteshockover 2 years ago
Very interesting product! How does this compare to something like Nebula? Have you done benchmarks against other solutions? If i remember correctly, Nebula implements its own protocol and underperforms compared to Wireguard. Is this the same case?<p>Looking forward to trying it out!
评论 #34721988 未加载
aidenn0over 2 years ago
What does &quot;zero trust&quot; mean in this context? I assume the network isn&#x27;t trusted, but is anything else trusted? How are peers authenticated and&#x2F;or authorized to access a zrok end-point?
评论 #34718414 未加载
parenthesesover 2 years ago
How is this establish a route to an IP that cannot be routed directly to?<p>Sounds like there’s a central server to coordinate and transmit piped data.<p>If so, does the central server have to transmit all data?
评论 #34718514 未加载
robtherobberover 2 years ago
I hope a GUI will emerge from this, enabling the comfortable, the less knowledgeable and the less technical to avoid fiddling with terminal commands and all that.
评论 #34723074 未加载
jhoechtlover 2 years ago
Can this be used for a P2P pair editing session?
评论 #34716057 未加载
评论 #34715930 未加载
edpichlerover 2 years ago
So is it like Tailscale (amazing btw) but, instead of secure connecting computers, I can secure connect services?
评论 #34722043 未加载
fellellorover 2 years ago
So it’s like cloudflared or localtunnel?
评论 #34718391 未加载
whiskover 2 years ago
Okay, after reading the homepage of OpenZiti, now I have a zero-trust-phobia.
StopHammoTimeover 2 years ago
Is this hitatchi
评论 #34722377 未加载