-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback from community members #262
Comments
It feels like I'm missing some context here. What is the ultimate goal that this user wants to achieve? For the individual points:
Does this mean a browser extension to run mycelium?
On a technical level, mycelium nodes could communicate over websockets if that is implemented. The question is why that is specifically needed, since a websocket is essentially a tcp connection with s specific frame codec on top (i.e. slightly more overhead than tcp).
Mycelium as in the application in this repo is only a network tool. Various filesystems exist which can be accessed remotely over the network, and as long as these support IPv6, they should work over mycelium.
Similar to the previous, databases (generally databases which run in cluster setups such as mongo) should be able to run using a mycelium connection out of the box, by configuring peers with the proper mycelium IP. |
To give a bit more context, the question from the community member is about the possibility of implementing Mycelium as a web browser extension. The given reasons for this were around the additional security of web browser sandboxing, some users not wanting to run the binary release directly on their own system, and the ease of install. The question regarding websockets then is related to this, as websockets are the allowed way for a web browser to carry on this kind of connection. |
Implementing websocket connections between peers should be fairly straightforward. The main issue with browser extensions is (to my knowledge) the fact that they can't create network interfaces. After all, creating a network interface requires elevated privileges, which the browser by default doesn't have, and if it could do so, allowing extension to do this would also break the sandbox. So while it would essentially be possible to run some form of (lightweight) node in a browser (extension), it would just serve as an additional node in the network which may be used for routing. As for not installing a node on the local system, if you connect more than 1 device, you could install mycelium on the router, and have the router hand out ip addresses from the /64 subnet you get to devices on the network. This obviously makes all your devices reachable on an essentially public network, and thus needs some firewalling. Alternatively, you can also run mycelium on the router, and set up an ip6 NAT rather easily. This way, other devices have no knowledge of mycelium (they won't even get an IP in the mycelium range), but can still reach services exposed on mycelium. The devices themselves will obviously not be exposed on the network. This relies on the fact that the router is the default gateway and receives all traffic for which no specific rules exists on nodes. |
Thanks for the details @LeeSmet. It certainly makes sense that a browser extension wouldn't be able to achieve a system wide enabling of Mycelium. The remaining questions for me are:
Those would be the two main use cases I could imagine. |
You'll need to run a mycelium node somewhere to join the network. One possibility would be to run mycelium on a device you can reach, and running a socks5 proxy next to it. If you configure the browser to use the provided socks5 server, it will tunnel all data through it, and the proxy can use the local mycelium node to reach the network. This of course routes all traffic through the proxy. Perhaps using an extension might allow for more granular control over what gets routed where, but I don't have any relevant experience in that matter to provide more insights.
If you mean to use an extension to run the SSH client while using a (local or otherwise routable from the machine) mycelium node, that should "just work" |
Situation
@scottyeager and I presented a demo on Mycelium. The feedback is amazing. People seem very interested.
A user asked if we were planning to add the following (see below) for Mycelium. I create this issue so we can track interest and get the POV of the dev team on this:
Scott, feel free to add more insights.
The text was updated successfully, but these errors were encountered: